You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by an...@apache.org on 2011/08/10 08:41:51 UTC

svn commit: r1156046 - in /tuscany/collaboration/GSoC-2011-Nirmal/CompositeDiagramShellPlugin/src/main/java/org/apache/tuscany/sca/diagram/shell: DrawShellCommand.java SVGViewer.java

Author: antelder
Date: Wed Aug 10 06:41:51 2011
New Revision: 1156046

URL: http://svn.apache.org/viewvc?rev=1156046&view=rev
Log:
Remove the use of the intermediate file

Modified:
    tuscany/collaboration/GSoC-2011-Nirmal/CompositeDiagramShellPlugin/src/main/java/org/apache/tuscany/sca/diagram/shell/DrawShellCommand.java
    tuscany/collaboration/GSoC-2011-Nirmal/CompositeDiagramShellPlugin/src/main/java/org/apache/tuscany/sca/diagram/shell/SVGViewer.java

Modified: tuscany/collaboration/GSoC-2011-Nirmal/CompositeDiagramShellPlugin/src/main/java/org/apache/tuscany/sca/diagram/shell/DrawShellCommand.java
URL: http://svn.apache.org/viewvc/tuscany/collaboration/GSoC-2011-Nirmal/CompositeDiagramShellPlugin/src/main/java/org/apache/tuscany/sca/diagram/shell/DrawShellCommand.java?rev=1156046&r1=1156045&r2=1156046&view=diff
==============================================================================
--- tuscany/collaboration/GSoC-2011-Nirmal/CompositeDiagramShellPlugin/src/main/java/org/apache/tuscany/sca/diagram/shell/DrawShellCommand.java (original)
+++ tuscany/collaboration/GSoC-2011-Nirmal/CompositeDiagramShellPlugin/src/main/java/org/apache/tuscany/sca/diagram/shell/DrawShellCommand.java Wed Aug 10 06:41:51 2011
@@ -19,22 +19,12 @@
 
 package org.apache.tuscany.sca.diagram.shell;
 
-import java.io.ByteArrayInputStream;
-import java.io.File;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-
 import jline.Completor;
 import jline.NullCompletor;
 
 import org.apache.tuscany.sca.assembly.Composite;
-import org.apache.tuscany.sca.assembly.xml.Utils;
-import org.apache.tuscany.sca.impl.NodeImpl;
 import org.apache.tuscany.sca.impl.diagram.DiagramGenerator;
-import org.apache.tuscany.sca.impl.io.XMLWriter;
 import org.apache.tuscany.sca.impl.layout.CompositeEntity;
-import org.apache.tuscany.sca.impl.layout.EntityBuilder;
 import org.apache.tuscany.sca.impl.layout.TuscanyCompositeEntityBuilder;
 import org.apache.tuscany.sca.shell.Command;
 import org.apache.tuscany.sca.shell.Shell;
@@ -70,26 +60,13 @@ public class DrawShellCommand implements
 
     public boolean invoke(String[] args) throws Exception {
 
-        NodeImpl node = (NodeImpl)shell.getNode();
-        Composite composite = node.getContribution(args[0]).getArtifactModel(args[1]);
-        
-        //TODO: really all we want is to pass the Tuscany Composite object to the SVG drawing code,
-        //      but for now as that requires an XML file to the Composite to XML:
-        
-//        String compositeXML = Utils.modelToXML(composite, false, node.getExtensionPointRegistry());
-//        DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder();
-//        Document doc = db.parse(new ByteArrayInputStream(compositeXML.getBytes()));
-//        EntityBuilder eb = new EntityBuilder(doc);
-        
+        Composite composite = shell.getNode().getContribution(args[0]).getArtifactModel(args[1]);
         TuscanyCompositeEntityBuilder eb = new TuscanyCompositeEntityBuilder(composite);
         CompositeEntity comp = eb.buildCompositeEntity();
         DiagramGenerator dg = new DiagramGenerator(comp);
         Document svg = dg.buildSVGDocument();
-        File outFile = File.createTempFile("tmp", ".svg");
-        XMLWriter writer = new XMLWriter();
-        writer.fileWriter(svg, outFile);
 
-        new SVGViewer(outFile.toURI().toURL().toString());
+        new SVGViewer(svg);
 
         return true;
     }

Modified: tuscany/collaboration/GSoC-2011-Nirmal/CompositeDiagramShellPlugin/src/main/java/org/apache/tuscany/sca/diagram/shell/SVGViewer.java
URL: http://svn.apache.org/viewvc/tuscany/collaboration/GSoC-2011-Nirmal/CompositeDiagramShellPlugin/src/main/java/org/apache/tuscany/sca/diagram/shell/SVGViewer.java?rev=1156046&r1=1156045&r2=1156046&view=diff
==============================================================================
--- tuscany/collaboration/GSoC-2011-Nirmal/CompositeDiagramShellPlugin/src/main/java/org/apache/tuscany/sca/diagram/shell/SVGViewer.java (original)
+++ tuscany/collaboration/GSoC-2011-Nirmal/CompositeDiagramShellPlugin/src/main/java/org/apache/tuscany/sca/diagram/shell/SVGViewer.java Wed Aug 10 06:41:51 2011
@@ -37,20 +37,23 @@ import org.apache.batik.swing.svg.GVTTre
 import org.apache.batik.swing.svg.GVTTreeBuilderEvent;
 import org.apache.batik.swing.svg.SVGDocumentLoaderAdapter;
 import org.apache.batik.swing.svg.SVGDocumentLoaderEvent;
+import org.w3c.dom.Document;
 
 public class SVGViewer {
 
         public static void main(String[] args) {
-            new SVGViewer("../CompositeDiagramGeneratorUsingBatik/output/Calculator_diagram.svg");
+//            new SVGViewer("../CompositeDiagramGeneratorUsingBatik/output/Calculator_diagram.svg");
         }
         
         protected JFrame frame;
         protected JLabel label = new JLabel();
         protected JSVGCanvas svgCanvas = new JSVGCanvas();
         protected String svgFile;
+        private Document doc;
 
-        public SVGViewer(String svgFile) {
-            this.svgFile = svgFile;
+        public SVGViewer(Document doc) {
+//            this.svgFile = svgFile;
+            this.doc = doc;
             this.frame = new JFrame("Batik");
             frame.getContentPane().add(createComponents());
             frame.addWindowListener(new WindowAdapter() {
@@ -65,11 +68,13 @@ public class SVGViewer {
         public JComponent createComponents() {
             final JPanel panel = new JPanel(new BorderLayout());
             panel.add("Center", svgCanvas);
-            try {
-                svgCanvas.setURI(new File(svgFile).toURI().toURL().toString());
-            } catch (MalformedURLException e) {
-                e.printStackTrace();
-            }
+//            try {
+//                svgCanvas.setURI(new File(svgFile).toURI().toURL().toString());
+//            } catch (MalformedURLException e) {
+//                e.printStackTrace();
+//            }
+            
+            svgCanvas.setDocument(doc);
             
             svgCanvas.addSVGDocumentLoaderListener(new SVGDocumentLoaderAdapter() {
                 public void documentLoadingStarted(SVGDocumentLoaderEvent e) {