[exo-jcr-commits] exo-jcr SVN: r3476 - in jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr: impl/core and 1 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Thu Nov 18 04:32:31 EST 2010


Author: tolusha
Date: 2010-11-18 04:32:30 -0500 (Thu, 18 Nov 2010)
New Revision: 3476

Modified:
   jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/access/AccessControlList.java
   jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/NodeImpl.java
   jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/SessionDataManager.java
   jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/CacheableWorkspaceDataManager.java
Log:
JCR-1505: Avoid iterating over a List thanks to its iterator when it is possible

Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/access/AccessControlList.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/access/AccessControlList.java	2010-11-17 15:40:05 UTC (rev 3475)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/access/AccessControlList.java	2010-11-18 09:32:30 UTC (rev 3476)
@@ -159,8 +159,9 @@
    public List<AccessControlEntry> getPermissionEntries()
    {
       List<AccessControlEntry> list = new ArrayList<AccessControlEntry>();
-      for (AccessControlEntry entry : accessList)
+      for (int i = 0, length = accessList.size(); i < length; i++)
       {
+         AccessControlEntry entry = accessList.get(i);
          list.add(new AccessControlEntry(entry.getIdentity(), entry.getPermission()));
       }
       return list;
@@ -169,8 +170,9 @@
    public List<String> getPermissions(String identity)
    {
       List<String> permissions = new ArrayList<String>();
-      for (AccessControlEntry entry : accessList)
+      for (int i = 0, length = accessList.size(); i < length; i++)
       {
+         AccessControlEntry entry = accessList.get(i);
          if (entry.getIdentity().equals(identity))
             permissions.add(entry.getPermission());
       }

Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/NodeImpl.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/NodeImpl.java	2010-11-17 15:40:05 UTC (rev 3475)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/NodeImpl.java	2010-11-18 09:32:30 UTC (rev 3476)
@@ -1046,8 +1046,9 @@
          {
             // full iterator 
             List<NodeImpl> nodes = new ArrayList<NodeImpl>();
-            for (NodeData child : childs)
+            for (int i = 0, length = childs.size(); i < length; i++)
             {
+               NodeData child = childs.get(i);
                if (session.getAccessManager().hasPermission(child.getACL(), new String[]{PermissionType.READ},
                   session.getUserState().getIdentity()))
                {
@@ -1097,8 +1098,9 @@
          {
             // full iterator 
             List<NodeImpl> nodes = new ArrayList<NodeImpl>();
-            for (NodeData child : childs)
+            for (int i = 0, length = childs.size(); i < length; i++)
             {
+               NodeData child = childs.get(i);
                if (filter.accept(child)
                   && session.getAccessManager().hasPermission(child.getACL(), new String[]{PermissionType.READ},
                      session.getUserState().getIdentity()))
@@ -1198,8 +1200,9 @@
             {
                // full iterator 
                List<PropertyImpl> props = new ArrayList<PropertyImpl>();
-               for (PropertyData child : childs)
+               for (int i = 0, length = childs.size(); i < length; i++)
                {
+                  PropertyData child = childs.get(i);
                   PropertyImpl item = (PropertyImpl)dataManager.readItem(child, nodeData(), true, false);
                   session.getActionHandler().postRead(item);
                   props.add(item);
@@ -1254,8 +1257,9 @@
             {
                // full iterator 
                List<PropertyImpl> props = new ArrayList<PropertyImpl>();
-               for (PropertyData child : childs)
+               for (int i = 0, length = childs.size(); i < length; i++)
                {
+                  PropertyData child = childs.get(i);
                   if (filter.accept(child))
                   {
                      PropertyImpl item = (PropertyImpl)dataManager.readItem(child, nodeData(), true, false);

Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/SessionDataManager.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/SessionDataManager.java	2010-11-17 15:40:05 UTC (rev 3475)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/SessionDataManager.java	2010-11-18 09:32:30 UTC (rev 3476)
@@ -792,8 +792,9 @@
    {
       List<PropertyData> refDatas = transactionableManager.getReferencesData(identifier, true);
       List<PropertyImpl> refs = new ArrayList<PropertyImpl>(refDatas.size());
-      for (PropertyData data : refDatas)
+      for (int i = 0, length = refDatas.size(); i < length; i++)
       {
+         PropertyData data = refDatas.get(i);
          ItemState state = changesLog.getItemState(data.getIdentifier());
          if (state != null)
          {
@@ -2082,8 +2083,9 @@
          if (action != MERGE_PROPS)
          {
             List<NodeData> childNodes = dataManager.getChildNodesData((NodeData)parent);
-            for (NodeData childNode : childNodes)
+            for (int i = 0, length = childNodes.size(); i < length; i++)
             {
+               NodeData childNode = childNodes.get(i);
                ret.put(childNode.getIdentifier(), childNode);
             }
          }
@@ -2092,8 +2094,9 @@
             List<PropertyData> childProps =
                listOnly ? dataManager.listChildPropertiesData((NodeData)parent) : dataManager
                   .getChildPropertiesData((NodeData)parent);
-            outer : for (PropertyData childProp : childProps)
+            outer : for (int i = 0, length = childProps.size(); i < length; i++) 
             {
+               PropertyData childProp = childProps.get(i);
                for (ItemState transientState : transientDescendants)
                {
                   if (!transientState.isNode() && !transientState.isDeleted()

Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/CacheableWorkspaceDataManager.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/CacheableWorkspaceDataManager.java	2010-11-17 15:40:05 UTC (rev 3475)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/CacheableWorkspaceDataManager.java	2010-11-18 09:32:30 UTC (rev 3476)
@@ -38,7 +38,6 @@
 import org.exoplatform.services.transaction.TransactionService;
 
 import java.util.ArrayList;
-import java.util.Iterator;
 import java.util.List;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentMap;
@@ -537,11 +536,9 @@
       if (skipVersionStorage)
       {
          List<PropertyData> result = new ArrayList<PropertyData>();
-
-         Iterator<PropertyData> iterator = props.iterator();
-         while (iterator.hasNext())
+         for (int i = 0, length = props.size(); i < length; i++)
          {
-            PropertyData prop = iterator.next();
+            PropertyData prop = props.get(i);
             if (!prop.getQPath().isDescendantOf(Constants.JCR_VERSION_STORAGE_PATH))
             {
                result.add(prop);



More information about the exo-jcr-commits mailing list