[Yanel-commits] rev 48905 - public/yanel/trunk/src/contributions/resources/policymanager/src/java/org/wyona/yanel/impl/resources/policymanager

michi at wyona.com michi at wyona.com
Tue Apr 20 09:13:18 CEST 2010


Author: michi
Date: 2010-04-20 09:13:18 +0200 (Tue, 20 Apr 2010)
New Revision: 48905

Modified:
   public/yanel/trunk/src/contributions/resources/policymanager/src/java/org/wyona/yanel/impl/resources/policymanager/PolicyManagerResource.java
Log:
more illustrative example added and moved into separate method

Modified: public/yanel/trunk/src/contributions/resources/policymanager/src/java/org/wyona/yanel/impl/resources/policymanager/PolicyManagerResource.java
===================================================================
--- public/yanel/trunk/src/contributions/resources/policymanager/src/java/org/wyona/yanel/impl/resources/policymanager/PolicyManagerResource.java	2010-04-20 07:11:19 UTC (rev 48904)
+++ public/yanel/trunk/src/contributions/resources/policymanager/src/java/org/wyona/yanel/impl/resources/policymanager/PolicyManagerResource.java	2010-04-20 07:13:18 UTC (rev 48905)
@@ -118,18 +118,7 @@
 
                 if (viewId != null && viewId.equals("get-xml")) {
                     log.warn("DEBUG: Get XML version of policy ...");
-                    sb.append("<?xml version=\"1.0\"?><policy-viewer xmlns=\"http://www.wyona.org/security/1.0\"><usecases><usecase id=\"r\">Read</usecase><usecase id=\"w\">Write</usecase></usecases>");
-                    sb.append("<policies>");
-                    sb.append("<node local-name=\"/\">");
-                    sb.append("<policy use-inherited-policies=\"true\">");
-                    sb.append("<usecase id=\"r\">");
-                    sb.append("<user id=\"test-user\" permission=\"false\" naz-blocked=\"true\" naz-permission-unlike-group=\"true\"/>");
-                    sb.append("<group id=\"test-group\" permission=\"true\" naz-permission-unlike-members=\"true\"/>");
-                    sb.append("</usecase>");
-                    sb.append("</policy>");
-                    sb.append("</node>");
-                    sb.append("</policies>");
-                    sb.append("</policy-viewer>");
+                    sb.append(getPoliciesAsXML(getPath(), null, orderedBy, showParents));
                 } else {
                     log.warn("DEBUG: Get XHTML version of policy ...");
                     sb.append(PolicyViewer.getXHTMLView(getRealm().getPolicyManager(), getRealm().getIdentityManager().getGroupManager(), getPath(), null, orderedBy, showParents, showTabs, showAbbreviatedLabels));
@@ -463,4 +452,42 @@
         str = str.replaceAll("<", "&lt;");
         return str;
     }
+
+    /**
+     * Get policies as XML
+     *
+     * @param path Content path which is associated with an access policy
+     * @param contentItemId Content Item ID which allows a unique association with an access policy and an item within the content
+     * @param orderedBy Allows ordering by usecases or identities
+     * @param showParents Show the policies of the parent nodes, which allows to figure out how the policy has been aggregated
+     */
+    private StringBuilder getPoliciesAsXML(String path, String contentItemId, int orderedBy, boolean showParents) {
+        StringBuilder sb = new StringBuilder();
+                    sb.append("<?xml version=\"1.0\"?><policy-viewer xmlns=\"http://www.wyona.org/security/1.0\"><usecases><usecase id=\"r\">Read</usecase><usecase id=\"w\">Write</usecase></usecases>");
+                    sb.append("<policies>");
+
+                    sb.append("<node local-name=\"/\">");
+                    sb.append("<policy use-inherited-policies=\"true\">");
+                    sb.append("<usecase id=\"r\">");
+                    sb.append("<user id=\"test-user\" permission=\"false\" naz-blocked=\"true\" naz-permission-unlike-group=\"true\"/>");
+                    sb.append("<group id=\"test-group\" permission=\"true\" naz-permission-unlike-members=\"true\"/>");
+                    sb.append("</usecase>");
+                    sb.append("</policy>");
+                    sb.append("</node>");
+
+                    sb.append("<node local-name=\"foo\"/>");
+
+                    sb.append("<node local-name=\"bar\">");
+                    sb.append("<policy use-inherited-policies=\"true\">");
+                    sb.append("<usecase id=\"w\">");
+                    sb.append("<user id=\"test-user\" permission=\"false\" naz-blocked=\"true\" naz-permission-unlike-group=\"true\"/>");
+                    sb.append("<group id=\"test-group\" permission=\"true\"/>");
+                    sb.append("</usecase>");
+                    sb.append("</policy>");
+                    sb.append("</node>");
+
+                    sb.append("</policies>");
+                    sb.append("</policy-viewer>");
+        return sb;
+    }
 }



More information about the Yanel-commits mailing list