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

michi at wyona.com michi at wyona.com
Thu Mar 4 10:59:25 CET 2010


Author: michi
Date: 2010-03-04 10:59:24 +0100 (Thu, 04 Mar 2010)
New Revision: 47902

Modified:
   public/yanel/trunk/src/contributions/resources/policymanager/src/java/org/wyona/yanel/impl/resources/policymanager/PolicyManagerResource.java
Log:
all extra properties stuff removed, because inheritance does not work in this case

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-03-04 09:32:44 UTC (rev 47901)
+++ public/yanel/trunk/src/contributions/resources/policymanager/src/java/org/wyona/yanel/impl/resources/policymanager/PolicyManagerResource.java	2010-03-04 09:59:24 UTC (rev 47902)
@@ -172,52 +172,6 @@
     }
 
     /**
-     * Interface/template in order to get custom properties of user or group
-     */
-    public interface SecurityItemExtraPropertiesGetter<I extends Item> {
-
-        /**
-         * Get custom properties
-         * @param item User, group, host, etc.
-         */
-        Map<String, String> getExtraProperties(I item);
-    }
-
-    /**
-     * Default implementation of getter for user
-     */
-    protected SecurityItemExtraPropertiesGetter<User> getUserExtraPropertiesGetter() {
-        return userNoExtraPropertiesGetter; 
-    }
-
-    /**
-     * Default user properties which will be used by default implementation #getUserExtraPropertiesGetter
-     */
-    private static final SecurityItemExtraPropertiesGetter<User> userNoExtraPropertiesGetter = new SecurityItemExtraPropertiesGetter<User>() {
-        @Override
-        public Map<String, String> getExtraProperties(User item) {
-            return Collections.emptyMap();// no extra properties to add for standard Yanel users
-        }
-    }; 
-
-    /**
-     * Default implementation of getter for group
-     */
-    protected SecurityItemExtraPropertiesGetter<Group> getGroupExtraPropertiesGetter() {
-        return groupNoExtraPropertiesGetter; 
-    }
-
-    /**
-     * Default group properties which will be used by default implementation #getGroupExtraPropertiesGetter
-     */
-    private static final SecurityItemExtraPropertiesGetter<Group> groupNoExtraPropertiesGetter = new SecurityItemExtraPropertiesGetter<Group>() {
-        @Override
-        public Map<String, String> getExtraProperties(Group item) {
-            return Collections.emptyMap();// no extra properties to add for standard Yanel users
-        }
-    }; 
-
-    /**
      * Get users, groups and rights as XML
      */
     private String getIdentitiesAndRightsAsXML(IdentityManager im, PolicyManager pm, String language) {
@@ -237,11 +191,11 @@
 
             User[] users = um.getUsers(refreshUsers);
             Arrays.sort(users, new ItemIDComparator());
-            appendSecurityItemsAsXML(users, getUserExtraPropertiesGetter(), "user", sb);
+            appendSecurityItemsAsXML(users, "user", sb);
 
             Group[] groups = gm.getGroups();
             Arrays.sort(groups, new ItemIDComparator());
-            appendSecurityItemsAsXML(groups, getGroupExtraPropertiesGetter(), "group", sb);
+            appendSecurityItemsAsXML(groups, "group", sb);
 
             sb.append("<rights>");
             String[] rights = pm.getUsecases();
@@ -260,32 +214,19 @@
     }
 
     /**
-     * Overwrite this method in order to get namespaces
-     */
-    protected Map<String, String> getExtraXMLnamespaceDeclarations() throws Exception {
-        return Collections.emptyMap();// no extra XML namespace declarations to add for standard Yanel groups
-    }
-
-    /**
      * Get XML for all users or groups
      * @param items Users or groups
-     * @param itemExtraPropertiesGetter Custom properties getter
      * @param itemXMLelementQName Element name, either user or group
      * @param a Appendable in order to write XML
      */
-    private <I extends Item> void appendSecurityItemsAsXML(I[] items, SecurityItemExtraPropertiesGetter<I> itemExtraPropertiesGetter, String itemXMLelementQName, Appendable a) throws Exception {
+    private <I extends Item> void appendSecurityItemsAsXML(I[] items, String itemXMLelementQName, Appendable a) throws Exception {
         log.debug("Users or Groups ...");
-        Map<String, String> extraXMLnamespaceDeclarations = getExtraXMLnamespaceDeclarations();
         a.append("<"+itemXMLelementQName+"s ");
-        for (Map.Entry<String, String> declaration : extraXMLnamespaceDeclarations.entrySet()) {
-            a.append("xmlns:"+declaration.getKey());
-            a.append("=\""+declaration.getValue()+"\"");
-        }
         a.append(">");
         for (int i = 0; i < items.length; i++) {
             I item = items[i];
             log.debug("User/Group: " + item.getName());
-            appendSecurityItemAsXML(item, itemExtraPropertiesGetter.getExtraProperties(item), itemXMLelementQName, a);
+            appendSecurityItemAsXML(item, itemXMLelementQName, a);
         }
         a.append("</"+itemXMLelementQName+"s>");
     }
@@ -293,12 +234,8 @@
     /**
      * Get XML for one user or one group
      */
-    private void appendSecurityItemAsXML(Item item, Map<String, String> extraItemProperties, String itemXMLelementQName, Appendable a) throws Exception {
+    private void appendSecurityItemAsXML(Item item, String itemXMLelementQName, Appendable a) throws Exception {
         a.append("<"+itemXMLelementQName+" id=\"" + item.getID() + "\"");
-        for (Map.Entry<String, String> property : extraItemProperties.entrySet()) {
-            a.append(property.getKey());//XXX: the name should be safe, so don't escape it
-            a.append("=\""+XMLHelper.replaceEntities(property.getValue())+"\"");
-        }
         a.append(">" + item.getName() + "</"+itemXMLelementQName+">");
     }
 



More information about the Yanel-commits mailing list