svn commit: r17960 - trunk/src/argouml-app/src/org/argouml/persistence/PGMLStackParser.java
Thomas Neustupny <[email protected]>
| Newsgroups | gmane.comp.lang.uml.argouml.cvs |
|---|---|
| Message-ID | <[email protected]> |
Author: thn
Date: 2010-02-04 04:46:25-0800
New Revision: 17960
Modified:
trunk/src/argouml-app/src/org/argouml/persistence/PGMLStackParser.java
Log:
make readArgoDiagram working for zip entries too (for issue 5960)
Modified: trunk/src/argouml-app/src/org/argouml/persistence/PGMLStackParser.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/persistence/PGMLStackParser.java?view=diff&pathrev=17960&r1=17959&r2=17960
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/persistence/PGMLStackParser.java (original)
+++ trunk/src/argouml-app/src/org/argouml/persistence/PGMLStackParser.java 2010-02-04 04:46:25-0800
@@ -42,6 +42,7 @@
import java.io.InputStream;
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
+import java.net.URL;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.LinkedHashMap;
@@ -354,7 +355,18 @@
public ArgoDiagram readArgoDiagram(InputSource is, boolean closeStream)
throws SAXException {
- return (ArgoDiagram) readDiagram(is.getByteStream(), closeStream);
+ InputStream stream = is.getByteStream();
+ if (stream == null) {
+ try {
+ // happens when 'is' comes from a zip file
+ URL url = new URL(is.getSystemId());
+ stream = url.openStream();
+ closeStream = true;
+ } catch (Exception e) {
+ // continue with null stream, readDiagram(...) will take care of it
+ }
+ }
+ return (ArgoDiagram) readDiagram(stream, closeStream);
}
/**
------------------------------------------------------
http://argouml.tigris.org/ds/viewMessage.do?dsForumId=5905&dsMessageId=2444829
To unsubscribe from this discussion, e-mail: [[email protected]].