svn commit: r13322 - trunk/src/model-mdr/src/org/argouml/model/mdr/XmiReaderImpl.java
[email protected] 14 Aug 2007 02:22:22 -0000
Newsgroups
gmane.comp.lang.uml.argouml.cvs
Message-ID
<[email protected] >
Author: tfmorris
Date: 2007-08-13 19:22:22-0700
New Revision: 13322
Modified:
trunk/src/model-mdr/src/org/argouml/model/mdr/XmiReaderImpl.java
Log:
Only copy input source during upgrade if necessary
Modified: trunk/src/model-mdr/src/org/argouml/model/mdr/XmiReaderImpl.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/model-mdr/src/org/argouml/model/mdr/XmiReaderImpl.java?view=diff&rev=13322&p1=trunk/src/model-mdr/src/org/argouml/model/mdr/XmiReaderImpl.java&p2=trunk/src/model-mdr/src/org/argouml/model/mdr/XmiReaderImpl.java&r1=13321&r2=13322
==============================================================================
--- trunk/src/model-mdr/src/org/argouml/model/mdr/XmiReaderImpl.java (original)
+++ trunk/src/model-mdr/src/org/argouml/model/mdr/XmiReaderImpl.java 2007-08-13 19:22:22-0700
@@ -185,10 +185,11 @@
try {
String systemId = inputSource.getSystemId();
-// if (systemId == null) {
-// File file = copySource(inputSource);
-// systemId = file.toURL().toExternalForm();
-// }
+ if (systemId == null) {
+ File file = copySource(inputSource);
+ systemId = file.toURL().toExternalForm();
+ inputSource = new InputSource(systemId);
+ }
newElements =
xmiReader.read(inputSource.getByteStream(), systemId, extent);
@@ -201,10 +202,8 @@
resolver.clearIdMaps();
startTopElements = modelImpl.getFacade().getRootElements();
- File tmpFile = copySource(inputSource);
newElements = convertAndLoadUml13(inputSource.getSystemId(),
- extent, xmiReader, tmpFile);
- tmpFile.delete();
+ extent, xmiReader, inputSource);
}
numElements = modelImpl.getFacade().getRootElements().size()
@@ -261,7 +260,7 @@
}
private Collection<RefObject> convertAndLoadUml13(String systemId,
- RefPackage extent, XMIReader xmiReader, File file)
+ RefPackage extent, XMIReader xmiReader, InputSource input)
throws FileNotFoundException, UmlException, IOException,
MalformedXMIException {
@@ -273,13 +272,8 @@
unknownElement = false;
// InputSource xformedInput = chainedTransform(transformFiles, pIs);
- InputSource originalInput = new InputSource(
- new FileInputStream(file));
- // Use the original file for the system ID
- // so any references resolve correctly
- originalInput.setSystemId(systemId);
InputSource xformedInput = serialTransform(transformFiles,
- originalInput);
+ input);
return xmiReader.read(xformedInput.getByteStream(), xformedInput
.getSystemId(), extent);
}