Author: bpapez
Date: Mon Jul  2 10:42:32 2007
New Revision: 17846

URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D17846&repname=
=3Djahia
Log:
JAHIA-1965 backport enhancement to allow special characters in username/pas=
sword (configured by regular expression)

Modified:
    branches/JAHIA-4-1-BRANCH/src/java/org/jahia/services/acl/JahiaACL.java
    branches/JAHIA-4-1-BRANCH/src/java/org/jahia/services/acl/JahiaAbstract=
ACL.java
    branches/JAHIA-4-1-BRANCH/src/java/org/jahia/services/acl/JahiaBaseACL.=
java

Modified: branches/JAHIA-4-1-BRANCH/src/java/org/jahia/services/acl/JahiaAC=
L.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-4-1-BR=
ANCH/src/java/org/jahia/services/acl/JahiaACL.java&rev=3D17846&repname=3Dja=
hia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-4-1-BRANCH/src/java/org/jahia/services/acl/JahiaACL.java=
 (original)
+++ branches/JAHIA-4-1-BRANCH/src/java/org/jahia/services/acl/JahiaACL.java=
 Mon Jul  2 10:42:32 2007
@@ -79,6 +79,8 @@
      */
     private Hashtable mGroupEntries;
 =

+    private transient JahiaBaseACL mAcl =3D null;
+
     /**
      * Constructor
      *
@@ -259,6 +261,7 @@
                     return true;
                 }
             } catch (JahiaDatabaseException ex) {
+                logger.error("database exception", ex);
             }
         }
         return result;
@@ -284,6 +287,7 @@
                 }
             }
         } catch (JahiaDatabaseException ex) {
+            logger.error("database exception", ex);
         }
 =

         return result;
@@ -352,7 +356,7 @@
 =

         Vector result =3D getNameList (userTable, entry);
         for (int k =3D 0; k < result.size (); k++) {
-            logger.debug ("Name=3D" + (String) result.get (k));
+            logger.debug ("Name=3D" + result.get (k));
             ACLResourceInterface parent =3D getParent(aclResource);
             if (parent !=3D null && parent.getACL() !=3D null) {
                 JahiaUser user =3D ServicesRegistry
@@ -368,9 +372,6 @@
         }
         Vector groupList =3D getNameList (groupTable, entry);
 =

-        userTable =3D null;
-        groupTable =3D null;
-
         // add in the result all users from every group that also have this
         // access except for users that have excplicitely a NO access
         for (int i =3D 0; i < groupList.size (); i++) {
@@ -385,7 +386,7 @@
 =

             if (membersEnum !=3D null) {
 =

-                Principal p =3D null;
+                Principal p;
 =

                 while (membersEnum.hasMoreElements ()) {
 =

@@ -421,14 +422,9 @@
                                 }
                             }
                         }
-                        user =3D null;
                     }
                 }
-                p =3D null;
             }
-            groupname =3D null;
-            group =3D null;
-            membersEnum =3D null;
         }
         return result;
     }
@@ -494,9 +490,7 @@
         } catch (JahiaDatabaseException ex) {
             logger.error("Error while setting ACL entry for group " + grou=
p.getGroupKey(), ex);
             result =3D false;
-            tmp =3D null;
         }
-        tmp =3D null;
 =

         if (result) {
             mGroupEntries.put (group.getName (), entry);
@@ -532,6 +526,7 @@
                 return true;
             }
         } catch (JahiaDatabaseException ex) {
+            logger.error("database exception", ex);
         }
 =

         return false;
@@ -598,9 +593,7 @@
     public Vector getGroupnameList (ParentACLFinder parentACLFinder, ACLRe=
sourceInterface aclResource, JahiaACLEntry entry) {
         Map table =3D new HashMap(mGroupEntries.size());
         recursePermissions (parentACLFinder, aclResource, null, table);
-        Vector result =3D getNameList (table, entry);
-        table =3D null;
-        return result;
+        return getNameList (table, entry);
     }
 =

     /**
@@ -643,8 +636,6 @@
                 result =3D (entry.getPermission (permission) =3D=3D
                         JahiaACLEntry.ACL_YES);
             }
-            map =3D null;
-            entry =3D null;
         }
         if (logger.isDebugEnabled()) {
             logger.debug("JahiaACL{" + mID + ", " + mParentID + ", "
@@ -709,8 +700,8 @@
              * to retrieve the siteID from the content object.
              **/
             ParamBean paramBean =3D Jahia.getThreadParamBean();
-            JahiaGroup adminGroup =3D null;
-            int contextSiteID =3D -1;
+            JahiaGroup adminGroup;
+            int contextSiteID;
             if (paramBean !=3D null) {
                 contextSiteID =3D paramBean.getSiteID();
             } else {
@@ -733,8 +724,6 @@
             //logger.debug("step1 result=3D" + result);
 =

             if (result =3D=3D -1) {
-                adminGroup =3D null;
-
                 // Compute recursively the user and group permission accor=
ding to
                 // the ACL entries flags.
                 Map userMap =3D new HashMap(mUserEntries.size());
@@ -797,8 +786,8 @@
      */
     public String toString () {
         StringBuffer buffer =3D new StringBuffer ();
-        String key =3D null;
-        JahiaACLEntry entry =3D null;
+        String key;
+        JahiaACLEntry entry;
 =

         buffer.append ("\n");
         buffer.append ("Detail of ACL object [");
@@ -828,8 +817,7 @@
                 entry =3D (JahiaACLEntry) mUserEntries.get (key);
                 int state =3D entry.getState ();
                 int triState =3D entry.getTriState ();
-                buffer.append ("    -" + key + " : [" + Integer.toBinarySt=
ring (state) +
-                        "] [" + Integer.toBinaryString (triState) + "]\n");
+                buffer.append("    -").append(key).append(" : [").append(I=
nteger.toBinaryString(state)).append("] [").append(Integer.toBinaryString(t=
riState)).append("]\n");
             }
         } else {
             buffer.append ("-no users-\n");
@@ -845,8 +833,7 @@
                 entry =3D (JahiaACLEntry) mGroupEntries.get (key);
                 int state =3D entry.getState ();
                 int triState =3D entry.getTriState ();
-                buffer.append ("    -" + key + " : [" + Integer.toBinarySt=
ring (state) +
-                        "] [" + Integer.toBinaryString (triState) + "]\n");
+                buffer.append("    -").append(key).append(" : [").append(I=
nteger.toBinaryString(state)).append("] [").append(Integer.toBinaryString(t=
riState)).append("]\n");
             }
         } else {
             buffer.append ("-no groups-\n");
@@ -866,8 +853,7 @@
                 entry =3D (JahiaACLEntry) userTable.get (key);
                 int state =3D entry.getState ();
                 int triState =3D entry.getTriState ();
-                buffer.append ("    -" + key + " : [" + Integer.toBinarySt=
ring (state) +
-                        "] [" + Integer.toBinaryString (triState) + "]\n");
+                buffer.append("    -").append(key).append(" : [").append(I=
nteger.toBinaryString(state)).append("] [").append(Integer.toBinaryString(t=
riState)).append("]\n");
             }
         } else {
             buffer.append ("-no users-\n");
@@ -882,20 +868,12 @@
                 entry =3D (JahiaACLEntry) groupTable.get (key);
                 int state =3D entry.getState ();
                 int triState =3D entry.getTriState ();
-                buffer.append ("    -" + key + " : [" + Integer.toBinarySt=
ring (state) +
-                        "] [" + Integer.toBinaryString (triState) + "]\n");
+                buffer.append("    -").append(key).append(" : [").append(I=
nteger.toBinaryString(state)).append("] [").append(Integer.toBinaryString(t=
riState)).append("]\n");
             }
         } else {
             buffer.append ("-no groups-\n");
         }
 =

-        usernames =3D null;
-        groupnames =3D null;
-        userTable =3D null;
-        groupTable =3D null;
-        key =3D null;
-        entry =3D null;
-
         return buffer.toString ();
     }
 =

@@ -904,7 +882,7 @@
      *
      * @param user the user for which to test the permission
      * @param permission the permission we wish to find
-     * @param table the table containing userKeys as keys, and JahiaACLEnt=
ry
+     * @param map the table containing userKeys as keys, and JahiaACLEntry
      * objects as values.
      *
      * @return Return 1 if the user has the requested permission, 0 if the=
 user
@@ -927,8 +905,7 @@
                     break;
             }
         }
-        entry =3D null;
-
+        =

         return result;
     }
 =

@@ -938,7 +915,7 @@
      *
      * @param user the user for which to test the permission
      * @param permission the permission we wish to find
-     * @param table the table containing groupKeys as keys, and JahiaACLEn=
try
+     * @param map the table containing groupKeys as keys, and JahiaACLEntry
      * objects as values.
      *
      * @return Return 1 if the user has the requested permission, 0 if the=
 user
@@ -954,35 +931,31 @@
             String groupKey =3D (String) keys.next();
             JahiaGroup group =3D ServicesRegistry.getInstance ().
                     getJahiaGroupManagerService ().lookupGroup (groupKey);
-
-            if (group !=3D null) {
-                //System.out.println (group.toString());
-
-                // Check if the user is member of the group
-
-                if (group.isMember (user)) {
-                    //System.out.println ("FH : user ["+user.getUsername()=
+"::"+user.getName()+"] is member of group ["+group.getName()+"::"+group.ge=
tGroupname()+"]");
-
-                    // if it's the first time the user is found in a group=
, set by default
-                    // the "deny" permission. If the user has the permissi=
on, it will be
-                    // given later.
-                    if (result < 0) {
-                        result =3D 0;
-                    }
-
-                    // Get the permission entries for the group and check =
it.
-                    JahiaACLEntry entry =3D (JahiaACLEntry) map.get (group=
Key);
-                    if (entry.getPermission (permission) =3D=3D
-                            JahiaACLEntry.ACL_YES) {
-                        result =3D 1;
-                    }
-                    entry =3D null;
-                } else {
-                    //System.out.println ("FH : user ["+user.getUsername()=
+"::"+user.getName()+"] is not member of group ["+group.getName()+"::"+grou=
p.getGroupname()+"]");
+            // Check if the user is member of the group
+            if (group !=3D null && group.isMember (user)) {
+                //System.out.println ("FH : user ["+user.getUsername()+"::=
"+user.getName()+"] is member of group ["+group.getName()+"::"+group.getGro=
upname()+"]");
+
+                // if it's the first time the user is found in a group, se=
t by default
+                // the "deny" permission. If the user has the permission, =
it will be
+                // given later.
+                if (result < 0) {
+                    result =3D 0;
                 }
 =

+                // Get the permission entries for the group and check it.
+                JahiaACLEntry entry =3D (JahiaACLEntry) map.get(groupKey);
+                if (entry.getPermission(permission) =3D=3D
+                        JahiaACLEntry.ACL_YES) {
+                    result =3D 1;
+                }
+                if (result =3D=3D 1) {
+                    if (logger.isDebugEnabled())
+                        logger.debug("Permission for " + user.getName()
+                                + " found in group " + group.getName());
+                    break;
+                }
             } // if
-        } // while
+        } // for
 =

         return result;
     }
@@ -996,26 +969,29 @@
      * passed as the aclResource parameter.
      * @param aclResource the object on which we are working on, to be pas=
sed
      * to the parent ACL finder implementation when looking for it's paren=
t.
-     * @param userTable the hashtable containing userKeys as keys, and
+     * @param userMap the hashtable containing userKeys as keys, and
      * JahiaACLEntry objects as values. This table contains the permissions
      * for users on the current object.
-     * @param groupTable the hashtable containing groupKeys as keys, and
+     * @param groupMap the hashtable containing groupKeys as keys, and
      * JahiaACLEntry objects as values. This table contains the permissions
      * for groups on the current object.
      */
-    private void recursePermissions (ParentACLFinder parentACLFinder, ACLR=
esourceInterface aclResource, Map userTable, Map groupTable) {
+    private void recursePermissions (ParentACLFinder parentACLFinder, ACLR=
esourceInterface aclResource, Map userMap, Map groupMap) {
+        assert (userMap !=3D null || groupMap !=3D null);
+        for (JahiaACL acl =3D this; acl !=3D null;) {
+            if (userMap !=3D null) {
+                buildPermissions(userMap, acl.mUserEntries);
+            }
+            if (groupMap !=3D null) {
+                buildPermissions(groupMap, acl.mGroupEntries);
+            }
+            if (acl.mInheritance !=3D 0)
+                break;
+            aclResource =3D parentACLFinder.getParent(aclResource);
+            if (aclResource =3D=3D null)
+                break;
 =

-        if (userTable !=3D null) {
-            buildPermissions (userTable, mUserEntries);
-        }
-        if (groupTable !=3D null) {
-            buildPermissions (groupTable, mGroupEntries);
-        }
-        ACLResourceInterface parentACLResource =3D parentACLFinder.getPare=
nt(aclResource);
-        if (parentACLResource !=3D null &&
-            getInternalACL(parentACLResource) !=3D null &&
-            mInheritance =3D=3D 0) {
-            getInternalACL(parentACLResource).recursePermissions (parentAC=
LFinder, parentACLResource, userTable, groupTable);
+            acl =3D getInternalACL(aclResource);
         }
     }
 =

@@ -1024,13 +1000,13 @@
      * This is used during recursive ACL visiting in order to gather all
      * permissions from ACLs into a single user or group permission hashta=
ble
      *
-     * @param table the table in which we will insert the permissions copi=
ed
+     * @param map the table in which we will insert the permissions copied
      * from the local permission table
-     * @param localTable the local permission table to copy the values from
+     * @param localMap the local permission table to copy the values from
      * (provided they augment the permission, otherwise we don't copy).
      *
      */
-    private static final void buildPermissions (Map map, Map localMap) {
+    private static void buildPermissions (Map map, Map localMap) {
         // for each ACL user/group entry check if it doesn't already exist=
 in the
         // global user entries hashtable. If it does, add only permission =
that
         // should be herited by the current user entry.
@@ -1079,7 +1055,7 @@
      * Get the user/group name list from the hashtable according to a set =
of
      * permissions.
      *
-     * @param hashtable the hashtable containing the user/group keys and
+     * @param map the hashtable containing the user/group keys and
      * JahiaACLEntry objects
      * @param entry the JahiaACLEntry object to match with the values of t=
he
      * hashtable.
@@ -1087,18 +1063,15 @@
      * @return a vector of user/group name.
      */
     private Vector getNameList (Map map, JahiaACLEntry entry) {
-        Vector result;
-
         if (entry =3D=3D null) {
             return getKeysFromHashMap (map);
-        } else {
-            result =3D new Vector ();
-            for (Iterator keys =3D map.keySet().iterator(); keys.hasNext()=
;) {
-                String name =3D (String) keys.next();
-                JahiaACLEntry hashtableEntry =3D (JahiaACLEntry) map.get (=
name);
-                if (hashtableEntry.hasSameBitsActivated (entry)) {
-                    result.add (name);
-                }
+        }
+        Vector result =3D new Vector ();
+        for (Iterator keys =3D map.keySet().iterator(); keys.hasNext();) {
+            String name =3D (String) keys.next();
+            JahiaACLEntry hashtableEntry =3D (JahiaACLEntry) map.get (name=
);
+            if (hashtableEntry.hasSameBitsActivated (entry)) {
+                result.add (name);
             }
         }
         return result;
@@ -1146,7 +1119,7 @@
      * @param parentACL Reference of the parent ACL. Set to <code>null</co=
de> if the ACL
      *                  has no parent.
      *
-     * @throws JahiaDatabaseException
+     * @throws JahiaDatabaseException  database exception
      */
     public void setParentACL (JahiaACL parentACL)
             throws JahiaDatabaseException {
@@ -1160,7 +1133,7 @@
      *                  has no parent.
      * @param update    true if the setted parent has to be updated into t=
he database.
      *
-     * @throws JahiaDatabaseException
+     * @throws JahiaDatabaseException database exception
      */
     protected void setParentACL (JahiaACL parentACL, boolean update)
             throws JahiaDatabaseException {
@@ -1200,22 +1173,19 @@
      */
     public boolean isAclInParents (int aclId) {
         JahiaACL parentAcl =3D getInternalACL(this.getParent (this));
-        if (parentAcl =3D=3D null) {
-            return false;
-        }
-        if (parentAcl.getID () =3D=3D aclId) {
-            return true;
-        }
-        return parentAcl.isAclInParents (aclId);
+        return parentAcl !=3D null && (parentAcl.getID() =3D=3D aclId || p=
arentAcl.isAclInParents(aclId));
     }
 =

     /* below are methods that implement the ACLResourceInterface */
 =

     public JahiaBaseACL getACL() {
         try {
-            return new JahiaBaseACL(getID());
+            if (mAcl =3D=3D null) {
+                mAcl =3D new JahiaBaseACL(getID());
+            }
+            return mAcl;
         } catch (Throwable t) {
-            // this should never happen
+            logger.error("Unexpected excpetion", t); // this should never =
happen
             return null;
         }
     }
@@ -1225,9 +1195,7 @@
     }
 =

     private JahiaACL getInternalACL(ACLResourceInterface aclResource) {
-        if (aclResource.getACL() =3D=3D null) {
-            return null;
-        }
-        return aclResource.getACL().getACL();
+        JahiaBaseACL baseAcl =3D aclResource.getACL();
+        return baseAcl !=3D null ? baseAcl.getACL() : null;
     }
 }

Modified: branches/JAHIA-4-1-BRANCH/src/java/org/jahia/services/acl/JahiaAb=
stractACL.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-4-1-BR=
ANCH/src/java/org/jahia/services/acl/JahiaAbstractACL.java&rev=3D17846&repn=
ame=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-4-1-BRANCH/src/java/org/jahia/services/acl/JahiaAbstract=
ACL.java (original)
+++ branches/JAHIA-4-1-BRANCH/src/java/org/jahia/services/acl/JahiaAbstract=
ACL.java Mon Jul  2 10:42:32 2007
@@ -120,13 +120,12 @@
      *             Throws a JahiaException if the ACL Proxy could not be
      *             initialized properly.
      */
-    public JahiaAbstractACL(int aclID) throws ACLNotFoundException,
-            JahiaException {
+    public JahiaAbstractACL(int aclID) throws JahiaException {
         init();
         load(aclID);
     }
 =

-    protected static final char[] getSharedActions() {
+    protected static char[] getSharedActions() {
         if (sharedActions =3D=3D null) {
             sharedActionsNames =3D Collections.unmodifiableList(Arrays.asL=
ist(new String[]{"Read", "Write", "Admin"}));
             sharedActions =3D new char[]{'r', 'w', 'A'};            =

@@ -168,7 +167,9 @@
      *         return false on any failure.
      * =

      * @throws ACLNotFoundException
-     * @throws JahiaDatabaseException
+     *             Throws an exception if the current ACL object was not
+     *             initialized correctly.
+     * @throws JahiaDatabaseException   database exception
      */
     public synchronized boolean create(int parentID)
             throws ACLNotFoundException, JahiaDatabaseException {
@@ -219,9 +220,9 @@
      * @throws ACLNotFoundException
      *             Raise this exception when the specified acl could not be
      *             found.
-     * @throws JahiaDatabaseException
+     * @throws JahiaDatabaseException database exception
      */
-    public synchronized void load(int aclID) throws ACLNotFoundException,
+    public void load(int aclID) throws ACLNotFoundException,
             JahiaDatabaseException {
         mACL =3D getService().lookupACL(aclID);
     }
@@ -259,7 +260,7 @@
      * =

      * @return the parent ID from the current ACL.
      * =

-     * @throws JahiaACLException
+     * @throws JahiaACLException ACL exception
      */
     public int getParentID() throws JahiaACLException {
         testProxy();
@@ -271,7 +272,7 @@
      * =

      * @return the ACL inheritance status.
      * =

-     * @throws JahiaACLException
+     * @throws JahiaACLException ACL exception
      */
     public final int getInheritance() throws JahiaACLException {
         testProxy();
@@ -286,7 +287,7 @@
      * =

      * @return true if flag set whithout problem.
      * =

-     * @throws JahiaACLException
+     * @throws JahiaACLException ACL exception
      */
     public final boolean setInheritance(int inheritance)
             throws JahiaACLException {
@@ -310,7 +311,7 @@
      * @return The user entry clone, or null if the user has no entry in t=
he
      *         ACL.
      * =

-     * @throws JahiaACLException
+     * @throws JahiaACLException  ACL exception
      */
     public JahiaACLEntry getUserEntry(JahiaUser user) throws JahiaACLExcep=
tion {
         testProxy();
@@ -456,7 +457,7 @@
      * @return The user entry clone, or null if the user has no entry in t=
he
      *         ACL.
      * =

-     * @throws JahiaACLException
+     * @throws JahiaACLException  ACL exception
      */
     public JahiaACLEntry getGroupEntry(JahiaGroup group)
             throws JahiaACLException {
@@ -604,7 +605,7 @@
      * @return Return a Vector holding all the String representation of the
      *         groupnames. The returned Vector is never null, but if no gr=
oup is
      *         present in the ACL, it will be empty.
-     * @throws JahiaACLException
+     * @throws JahiaACLException   ACL exception
      */
     public Vector getGroupnameListNoAdmin(JahiaACLEntry entry)
             throws JahiaACLException {
@@ -630,7 +631,7 @@
      * @return Return a Vector holding all the String representation of the
      *         groups' usernames. The returned Vector is never null, but i=
f no
      *         group is present in the ACL, it will be empty.
-     * @throws JahiaACLException
+     * @throws JahiaACLException ACL exception
      */
     public Vector getGroupnameListNoAdmin(ParentACLFinder parentACLFinder,
             ACLResourceInterface aclResource, JahiaACLEntry entry)
@@ -645,7 +646,7 @@
      * Same as the other getPermission method except that it uses the curr=
ent
      * ACL as ParentACLFinder implementation and as the ACLResource
      * =

-     * @see #getPermission(ParentACLFinder, ACLResourceInterface, JahiaACL=
Entry,
+     * @see #getPermission(ParentACLFinder, ACLResourceInterface,
      *      JahiaUser, int)
      * =

      * @param user
@@ -701,7 +702,7 @@
      * Same as the other getPermission method except that it uses the curr=
ent
      * ACL as ParentACLFinder implementation and as the ACLResource
      * =

-     * @see #getPermission(ParentACLFinder, ACLResourceInterface, JahiaACL=
Entry,
+     * @see #getPermission(ParentACLFinder, ACLResourceInterface,
      *      JahiaUser, int, boolean)
      * =

      * @param user
@@ -745,8 +746,8 @@
                     hasPermission =3D true;
                 } else {
                     int size =3D v.size();
-                    String grpName =3D null;
-                    JahiaGroup grp =3D null;
+                    String grpName;
+                    JahiaGroup grp;
                     for (int i =3D 0; i < size; i++) {
                         grpName =3D (String) v.get(i);
                         grp =3D ServicesRegistry.getInstance()
@@ -832,8 +833,8 @@
                     hasPermission =3D true;
                 } else {
                     int size =3D v.size();
-                    String grpName =3D null;
-                    JahiaGroup grp =3D null;
+                    String grpName;
+                    JahiaGroup grp;
                     for (int i =3D 0; i < size; i++) {
                         grpName =3D (String) v.get(i);
                         grp =3D ServicesRegistry.getInstance()
@@ -864,8 +865,8 @@
      * Same as the other getPermission method except that it uses the curr=
ent
      * ACL as ParentACLFinder implementation and as the ACLResource
      * =

-     * @see #getPermission(ParentACLFinder, ACLResourceInterface, JahiaACL=
Entry,
-     *      JahiaGroup, int, boolean)
+     * @see #getPermission(ParentACLFinder, ACLResourceInterface,
+     *      JahiaGroup, int)
      * =

      * @param group
      *            Reference to a non-null group object.
@@ -1022,7 +1023,7 @@
      * =

      * @return the clone Object
      */
-    public Object clone() {
+    public Object clone() throws CloneNotSupportedException {
         return mACL.clone();
     }
 =


Modified: branches/JAHIA-4-1-BRANCH/src/java/org/jahia/services/acl/JahiaBa=
seACL.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-4-1-BR=
ANCH/src/java/org/jahia/services/acl/JahiaBaseACL.java&rev=3D17846&repname=
=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-4-1-BRANCH/src/java/org/jahia/services/acl/JahiaBaseACL.=
java (original)
+++ branches/JAHIA-4-1-BRANCH/src/java/org/jahia/services/acl/JahiaBaseACL.=
java Mon Jul  2 10:42:32 2007
@@ -53,16 +53,15 @@
      * =

      * @param aclID
      *            ACL ID to construct
-     * @throws ACLNotFoundException
-     * @throws JahiaException
+     * @throws JahiaException        general Jahia exception
      */
-    public JahiaBaseACL(int aclID) throws ACLNotFoundException, JahiaExcep=
tion {
+    public JahiaBaseACL(int aclID) throws JahiaException {
         super(aclID);
     }
 =

     // -------------------------------------------------------------------=
------
     /**
-     * @throws JahiaException
+     * @throws JahiaException general Jahia exception
      */
     public JahiaBaseACL() throws JahiaException {
         super();
@@ -96,12 +95,12 @@
      * @return The new ACL cloned, null if unsuccessfull.
      */
     public Object clone() {
-
         try {
             JahiaBaseACL baseACL =3D new JahiaBaseACL();
             baseACL.mACL =3D (JahiaACL) mACL.clone();
             return baseACL;
         } catch (JahiaException ex) {
+            logger.error("clone exception", ex);
         }
         return null;
     }

_______________________________________________
cvs_list mailing list
[email protected]
http://lists.jahia.org/cgi-bin/mailman/listinfo/cvs_list

Reply via email to