[exo-jcr-commits] exo-jcr SVN: r3537 - in jcr/branches/1.12.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl: dataflow/session and 1 other directory.
do-not-reply at jboss.org
do-not-reply at jboss.org
Wed Nov 24 08:59:40 EST 2010
Author: tolusha
Date: 2010-11-24 08:59:40 -0500 (Wed, 24 Nov 2010)
New Revision: 3537
Modified:
jcr/branches/1.12.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/ItemImpl.java
jcr/branches/1.12.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/session/SessionChangesLog.java
Log:
JCR-1523: Avoid iterating over a List thanks to its iterator when it is possible [Part #2]
Modified: jcr/branches/1.12.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/ItemImpl.java
===================================================================
--- jcr/branches/1.12.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/ItemImpl.java 2010-11-24 13:43:49 UTC (rev 3536)
+++ jcr/branches/1.12.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/ItemImpl.java 2010-11-24 13:59:40 UTC (rev 3537)
@@ -629,8 +629,9 @@
List<NodeData> refNodes = new ArrayList<NodeData>();
- for (ItemState changedItem : changes)
+ for (int i = 0, length = changes.size(); i < length; i++)
{
+ ItemState changedItem = changes.get(i);
if (changedItem.isNode())
{
NodeData refNode = (NodeData)changedItem.getData();
@@ -651,11 +652,13 @@
}
// check ref changes
- for (NodeData refNode : refNodes)
+ for (int i = 0, length = refNodes.size(); i < length; i++)
{
+ NodeData refNode = refNodes.get(i);
List<PropertyData> nodeRefs = dataManager.getReferencesData(refNode.getIdentifier(), true);
- for (PropertyData refProp : nodeRefs)
+ for (int j = 0, length2 = nodeRefs.size(); j < length2; j++)
{
+ PropertyData refProp = nodeRefs.get(j);
// if ref property is deleted in this session
ItemState refState = dataManager.getChangesLog().getItemState(refProp.getIdentifier());
if (refState != null && refState.isDeleted())
Modified: jcr/branches/1.12.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/session/SessionChangesLog.java
===================================================================
--- jcr/branches/1.12.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/session/SessionChangesLog.java 2010-11-24 13:43:49 UTC (rev 3536)
+++ jcr/branches/1.12.x/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/session/SessionChangesLog.java 2010-11-24 13:59:40 UTC (rev 3537)
@@ -85,9 +85,11 @@
public SessionChangesLog(List<ItemState> items, String sessionId)
{
super(items, sessionId);
-
- for (ItemState change : items)
+ for (int i = 0, length = items.size(); i < length; i++)
+ {
+ ItemState change = items.get(i);
addItem(change);
+ }
}
/**
@@ -109,9 +111,11 @@
public PlainChangesLog addAll(List<ItemState> changes)
{
super.addAll(changes);
- for (ItemState change : changes)
+ for (int i = 0, length = changes.size(); i < length; i++)
+ {
+ ItemState change = changes.get(i);
addItem(change);
-
+ }
return this;
}
@@ -200,8 +204,9 @@
private void traverseChangesByIdentifier(String identifier, List<ItemState> changesList)
{
- for (ItemState item : items)
+ for (int i = 0, length = items.size(); i < length; i++)
{
+ ItemState item = items.get(i);
if (item.getData().getIdentifier().equals(identifier))
{
changesList.add(item);
@@ -221,8 +226,9 @@
*/
public void eraseEventFire(String identifier)
{
- for (ItemState item : items)
+ for (int i = 0, length = items.size(); i < length; i++)
{
+ ItemState item = items.get(i);
if (item.getData().getIdentifier().equals(identifier))
{
// erase flag
@@ -242,11 +248,12 @@
public List<ItemState> getDescendantsChanges(QPath rootPath)
{
List<ItemState> list = new ArrayList<ItemState>();
- for (int i = 0; i < items.size(); i++)
+ for (int i = 0, length = items.size(); i < length; i++)
{
- if (items.get(i).isDescendantOf(rootPath))
+ ItemState item = items.get(i);
+ if (item.isDescendantOf(rootPath))
{
- list.add(items.get(i));
+ list.add(item);
}
}
return list;
@@ -261,8 +268,10 @@
public List<ItemState> getItemStates(String itemIdentifier)
{
List<ItemState> states = new ArrayList<ItemState>();
- for (ItemState state : getAllStates())
+ List<ItemState> currentStates = getAllStates();
+ for (int i = 0, length = currentStates.size(); i < length; i++)
{
+ ItemState state = currentStates.get(i);
if (state.getData().getIdentifier().equals(itemIdentifier))
{
states.add(state);
More information about the exo-jcr-commits
mailing list