[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