[215714] The specialized semi-derived classes for Ends might cause concurrent modification exceptions
diff --git a/plugins/org.eclipse.uml2.uml/META-INF/MANIFEST.MF b/plugins/org.eclipse.uml2.uml/META-INF/MANIFEST.MF
index 23d6f17..e4b6bd4 100644
--- a/plugins/org.eclipse.uml2.uml/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.uml2.uml/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.uml2.uml; singleton:=true
-Bundle-Version: 2.0.4.qualifier
+Bundle-Version: 2.0.5.qualifier
Bundle-ClassPath: uml2.uml.jar
Bundle-Activator: org.eclipse.uml2.uml.UMLPlugin$Implementation
Bundle-Vendor: %providerName
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ConnectableElementImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ConnectableElementImpl.java
index 7d08b8f..dc7f245 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ConnectableElementImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ConnectableElementImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2008 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -8,7 +8,7 @@
* Contributors:
* IBM - initial API and implementation
*
- * $Id: ConnectableElementImpl.java,v 1.15.2.2 2007/07/04 19:41:56 khussey Exp $
+ * $Id: ConnectableElementImpl.java,v 1.15.2.3 2008/02/25 17:50:58 jbruck Exp $
*/
package org.eclipse.uml2.uml.internal.impl;
@@ -320,17 +320,20 @@
protected static EndEList getEnds(ConnectableElement connectableElement,
EndEList ends) {
- for (Iterator nnir = UML2Util.getNonNavigableInverseReferences(
- connectableElement).iterator(); nnir.hasNext();) {
-
- EStructuralFeature.Setting setting = (EStructuralFeature.Setting) nnir
- .next();
-
- if (setting.getEStructuralFeature() == UMLPackage.Literals.CONNECTOR_END__ROLE) {
- EObject eObject = setting.getEObject();
-
- if (!ends.contains(eObject)) {
- ends.doAddUnique(eObject);
+ if(!connectableElement.eIsProxy()){
+
+ for (Iterator nnir = UML2Util.getNonNavigableInverseReferences(
+ connectableElement).iterator(); nnir.hasNext();) {
+
+ EStructuralFeature.Setting setting = (EStructuralFeature.Setting) nnir
+ .next();
+
+ if (setting.getEStructuralFeature() == UMLPackage.Literals.CONNECTOR_END__ROLE) {
+ EObject eObject = setting.getEObject();
+
+ if (!ends.contains(eObject)) {
+ ends.doAddUnique(eObject);
+ }
}
}
}
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/VertexImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/VertexImpl.java
index f88ceed..7d56125 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/VertexImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/VertexImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2008 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -8,7 +8,7 @@
* Contributors:
* IBM - initial API and implementation
*
- * $Id: VertexImpl.java,v 1.16.2.2 2007/07/04 19:41:56 khussey Exp $
+ * $Id: VertexImpl.java,v 1.16.2.3 2008/02/25 17:50:58 jbruck Exp $
*/
package org.eclipse.uml2.uml.internal.impl;
@@ -128,17 +128,20 @@
protected static OutgoingEList getOutgoings(Vertex vertex,
OutgoingEList outgoings) {
- for (Iterator nnir = UML2Util.getNonNavigableInverseReferences(vertex)
- .iterator(); nnir.hasNext();) {
-
- EStructuralFeature.Setting setting = (EStructuralFeature.Setting) nnir
- .next();
-
- if (setting.getEStructuralFeature() == UMLPackage.Literals.TRANSITION__SOURCE) {
- EObject eObject = setting.getEObject();
-
- if (!outgoings.contains(eObject)) {
- outgoings.doAddUnique(eObject);
+ if(!vertex.eIsProxy()){
+
+ for (Iterator nnir = UML2Util.getNonNavigableInverseReferences(vertex)
+ .iterator(); nnir.hasNext();) {
+
+ EStructuralFeature.Setting setting = (EStructuralFeature.Setting) nnir
+ .next();
+
+ if (setting.getEStructuralFeature() == UMLPackage.Literals.TRANSITION__SOURCE) {
+ EObject eObject = setting.getEObject();
+
+ if (!outgoings.contains(eObject)) {
+ outgoings.doAddUnique(eObject);
+ }
}
}
}
@@ -204,17 +207,20 @@
protected static IncomingEList getIncomings(Vertex vertex, IncomingEList incomings) {
- for (Iterator nnir = UML2Util.getNonNavigableInverseReferences(vertex)
- .iterator(); nnir.hasNext();) {
-
- EStructuralFeature.Setting setting = (EStructuralFeature.Setting) nnir
- .next();
-
- if (setting.getEStructuralFeature() == UMLPackage.Literals.TRANSITION__TARGET) {
- EObject eObject = setting.getEObject();
-
- if (!incomings.contains(eObject)) {
- incomings.doAddUnique(eObject);
+ if(!vertex.eIsProxy()){
+
+ for (Iterator nnir = UML2Util.getNonNavigableInverseReferences(vertex)
+ .iterator(); nnir.hasNext();) {
+
+ EStructuralFeature.Setting setting = (EStructuralFeature.Setting) nnir
+ .next();
+
+ if (setting.getEStructuralFeature() == UMLPackage.Literals.TRANSITION__TARGET) {
+ EObject eObject = setting.getEObject();
+
+ if (!incomings.contains(eObject)) {
+ incomings.doAddUnique(eObject);
+ }
}
}
}