rollback change from Bug 128416 - Open LCD on Targets tab performance regression
diff --git a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntElementNode.java b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntElementNode.java
index 28af5e3..eccc57d 100644
--- a/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntElementNode.java
+++ b/ant/org.eclipse.ant.ui/Ant Tools Support/org/eclipse/ant/internal/ui/model/AntElementNode.java
@@ -320,6 +320,10 @@
buffer.append(getParentNode() != null ? getParentNode().getElementPath() : ""); //$NON-NLS-1$
buffer.append('/');
buffer.append(getElementIdentifier());
+ buffer.append('[');
+ buffer.append(getParentNode() != null ? getParentNode().getElementIndexOf(this) : 0);
+ buffer.append(']');
+
fElementPath= buffer.toString();
}
return fElementPath;
@@ -346,6 +350,28 @@
return sb;
}
+ private int getElementIndexOf(AntElementNode child) {
+ if (getChildNodes() == null) {
+ return -1;
+ }
+
+ int result= -1;
+
+ Iterator iter= getChildNodes().iterator();
+ AntElementNode current= null;
+ while (current != child && iter.hasNext()) {
+ current= (AntElementNode) iter.next();
+ if (child.getElementIdentifier().equals(current.getElementIdentifier()))
+ result++;
+ }
+
+ if (current != child) {
+ return -1;
+ }
+
+ return result;
+ }
+
/* (non-Javadoc)
* @see java.lang.Object#equals(java.lang.Object)
*/