Author: b00__1
Date: 2007-08-18 04:21:56-0700
New Revision: 13393
Modified:
branches/gsoc2007/b00__1/model-euml/src/org/argouml/model/euml/ModelManagementFactoryEUMLImpl.java
branches/gsoc2007/b00__1/model-euml/src/org/argouml/model/euml/UMLUtil.java
branches/gsoc2007/b00__1/model-euml/src/org/argouml/model/euml/UmlFactoryEUMLImpl.java
branches/gsoc2007/b00__1/model-euml/src/org/argouml/model/euml/XmiReaderEUMLImpl.java
Log:
Refactored the URIs and fixed some issues with creating always new resources and not reusing the existing ones
Modified: branches/gsoc2007/b00__1/model-euml/src/org/argouml/model/euml/ModelManagementFactoryEUMLImpl.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2007/b00__1/model-euml/src/org/argouml/model/euml/ModelManagementFactoryEUMLImpl.java?view=diff&rev=13393&p1=branches/gsoc2007/b00__1/model-euml/src/org/argouml/model/euml/ModelManagementFactoryEUMLImpl.java&p2=branches/gsoc2007/b00__1/model-euml/src/org/argouml/model/euml/ModelManagementFactoryEUMLImpl.java&r1=13392&r2=13393
==============================================================================
--- branches/gsoc2007/b00__1/model-euml/src/org/argouml/model/euml/ModelManagementFactoryEUMLImpl.java (original)
+++ branches/gsoc2007/b00__1/model-euml/src/org/argouml/model/euml/ModelManagementFactoryEUMLImpl.java 2007-08-18 04:21:56-0700
@@ -137,8 +137,7 @@
}
theRootModel = (org.eclipse.uml2.uml.Package) rootModel;
if (rootModel != null) {
- Resource r = editingDomain.createResource(
- "http://argouml.tigris.org/euml/resource/default_uri.xmi"); //$NON-NLS-1$
+ Resource r = UMLUtil.getResource(modelImpl, UMLUtil.DEFAULT_URI);
r.getContents().add(theRootModel);
}
modelImpl.getModelEventPump().setRootContainer(theRootModel);
Modified: branches/gsoc2007/b00__1/model-euml/src/org/argouml/model/euml/UMLUtil.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2007/b00__1/model-euml/src/org/argouml/model/euml/UMLUtil.java?view=diff&rev=13393&p1=branches/gsoc2007/b00__1/model-euml/src/org/argouml/model/euml/UMLUtil.java&p2=branches/gsoc2007/b00__1/model-euml/src/org/argouml/model/euml/UMLUtil.java&r1=13392&r2=13393
==============================================================================
--- branches/gsoc2007/b00__1/model-euml/src/org/argouml/model/euml/UMLUtil.java (original)
+++ branches/gsoc2007/b00__1/model-euml/src/org/argouml/model/euml/UMLUtil.java 2007-08-18 04:21:56-0700
@@ -29,6 +29,8 @@
import org.eclipse.emf.common.command.Command;
import org.eclipse.emf.common.command.StrictCompoundCommand;
import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.edit.command.CopyToClipboardCommand;
import org.eclipse.emf.edit.command.PasteFromClipboardCommand;
import org.eclipse.uml2.uml.Association;
@@ -48,6 +50,16 @@
public class UMLUtil extends org.eclipse.uml2.uml.util.UMLUtil {
/**
+ * The default URI used for eUML
+ */
+ public static final URI DEFAULT_URI = URI.createURI("http://argouml.tigris.org/euml/resource/default_uri.xmi"); //$NON-NLS-1$
+
+ /**
+ * A temporary URI used when the DEFAULT_URI is not used yet
+ */
+ public static final URI TEMPORARY_URI = URI.createURI("http://argouml.tigris.org/euml/resource/temporary_uri.xmi"); //$NON-NLS-1$
+
+ /**
* Getter for the attributes of a Type
*
* @param type
@@ -156,5 +168,26 @@
return sb.toString();
}
+
+ /**
+ * Returns the Resource associated with an URI or creates the resource if it
+ * does not exist
+ *
+ * @param modelImplementation
+ * the eUML implementation
+ * @param uri
+ * the URI which identifies the resource
+ * @return the retrieved or created resource
+ */
+ public static Resource getResource(
+ EUMLModelImplementation modelImplementation, URI uri) {
+ Resource r = modelImplementation.getEditingDomain().getResourceSet().getResource(
+ uri, false);
+ if (r == null) {
+ r = modelImplementation.getEditingDomain().getResourceSet().createResource(
+ uri);
+ }
+ return r;
+ }
}
Modified: branches/gsoc2007/b00__1/model-euml/src/org/argouml/model/euml/UmlFactoryEUMLImpl.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2007/b00__1/model-euml/src/org/argouml/model/euml/UmlFactoryEUMLImpl.java?view=diff&rev=13393&p1=branches/gsoc2007/b00__1/model-euml/src/org/argouml/model/euml/UmlFactoryEUMLImpl.java&p2=branches/gsoc2007/b00__1/model-euml/src/org/argouml/model/euml/UmlFactoryEUMLImpl.java&r1=13392&r2=13393
==============================================================================
--- branches/gsoc2007/b00__1/model-euml/src/org/argouml/model/euml/UmlFactoryEUMLImpl.java (original)
+++ branches/gsoc2007/b00__1/model-euml/src/org/argouml/model/euml/UmlFactoryEUMLImpl.java 2007-08-18 04:21:56-0700
@@ -36,8 +36,8 @@
import org.argouml.model.IllegalModelElementConnectionException;
import org.argouml.model.MetaTypes;
import org.argouml.model.UmlFactory;
-import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.uml2.uml.Abstraction;
import org.eclipse.uml2.uml.AggregationKind;
@@ -307,9 +307,8 @@
"Attempted to create unsupported model element type: " //$NON-NLS-1$
+ elementType);
}
- modelImpl.getEditingDomain().getResourceSet().getResource(
- URI.createURI("http://argouml.tigris.org/euml/resource/default_uri.xmi"),
- false).getContents().add((EObject) o);
+ Resource r = UMLUtil.getResource(modelImpl, UMLUtil.TEMPORARY_URI);
+ r.getContents().add((EObject) o);
return o;
}
Modified: branches/gsoc2007/b00__1/model-euml/src/org/argouml/model/euml/XmiReaderEUMLImpl.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/gsoc2007/b00__1/model-euml/src/org/argouml/model/euml/XmiReaderEUMLImpl.java?view=diff&rev=13393&p1=branches/gsoc2007/b00__1/model-euml/src/org/argouml/model/euml/XmiReaderEUMLImpl.java&p2=branches/gsoc2007/b00__1/model-euml/src/org/argouml/model/euml/XmiReaderEUMLImpl.java&r1=13392&r2=13393
==============================================================================
--- branches/gsoc2007/b00__1/model-euml/src/org/argouml/model/euml/XmiReaderEUMLImpl.java (original)
+++ branches/gsoc2007/b00__1/model-euml/src/org/argouml/model/euml/XmiReaderEUMLImpl.java 2007-08-18 04:21:56-0700
@@ -118,10 +118,12 @@
for (Resource resource : editingDomain.getResourceSet().getResources()) {
resource.unload();
}
-
- Resource r = editingDomain.createResource("http://argouml.tigris.org/euml/resource/default_uri.xmi"); //$NON-NLS-1$
+
+ Resource r = UMLUtil.getResource(modelImpl, UMLUtil.DEFAULT_URI);
try {
+ modelImpl.getModelEventPump().stopPumpingEvents();
r.load(is, null);
+ modelImpl.getModelEventPump().startPumpingEvents();
} catch (IOException e) {
throw new UmlException(e);
} finally {
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.