Repository: airavata
Updated Branches:
  refs/heads/master 47e821489 -> 3b330c0d3


http://git-wip-us.apache.org/repos/asf/airavata/blob/6e42be78/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/core/generators/WorkflowFiler.java
----------------------------------------------------------------------
diff --git 
a/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/core/generators/WorkflowFiler.java
 
b/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/core/generators/WorkflowFiler.java
index 46c567c..167671c 100644
--- 
a/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/core/generators/WorkflowFiler.java
+++ 
b/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/core/generators/WorkflowFiler.java
@@ -28,6 +28,8 @@ import java.util.List;
 import javax.swing.JFileChooser;
 import javax.swing.filechooser.FileFilter;
 
+import com.google.gson.JsonObject;
+import org.apache.airavata.common.utils.JSONUtil;
 import org.apache.airavata.common.utils.XMLUtil;
 import org.apache.airavata.workflow.model.component.ComponentException;
 import org.apache.airavata.workflow.model.graph.GraphException;
@@ -106,8 +108,10 @@ public class WorkflowFiler {
                     WSGraph graph = WSGraphFactory.createGraph(file);
                     workflow = Workflow.graphToWorkflow(graph);
                 } else {
-                    XmlElement workflowElement = XMLUtil.loadXML(file);
-                    workflow = new Workflow(workflowElement);
+                    JsonObject workflowObject = JSONUtil.loadJSON(file);
+//                    XmlElement workflowElement = XMLUtil.loadXML(file);
+//                    workflow = new Workflow(workflowElement);
+                    workflow = new Workflow(workflowObject);
                 }
                 GraphCanvas newGraphCanvas = 
engine.getGUI().newGraphCanvas(true);
                 newGraphCanvas.setWorkflow(workflow);
@@ -148,7 +152,7 @@ public class WorkflowFiler {
                File saveAsWorkflowFile = saveAsWorkflow(graphCanvas);
                graphCanvas.setWorkflowFile(saveAsWorkflowFile);
         }else{
-               saveWorkflow(graphCanvas.getWorkflow(), 
graphCanvas.getWorkflowFile());
+               saveWorkflow(graphCanvas.getWorkflowWithImage(), 
graphCanvas.getWorkflowFile());
         }
                if (graphCanvas.getWorkflowFile()!=null){
                        graphCanvas.workflowSaved();
@@ -173,7 +177,7 @@ public class WorkflowFiler {
             if (!path.endsWith(XBayaConstants.WORKFLOW_FILE_SUFFIX)) {
                 file = new File(path + XBayaConstants.WORKFLOW_FILE_SUFFIX);
             }
-            saveWorkflow(graphCanvas.getWorkflow(),file);
+            saveWorkflow(graphCanvas.getWorkflowWithImage(),file);
             return file;
         }
         return null;
@@ -181,8 +185,9 @@ public class WorkflowFiler {
 
        private void saveWorkflow(Workflow workflow, File file) {
                try {
-                   XMLUtil.saveXML(workflow.toXML(), file);
-               } catch (IOException e) {
+//                 XMLUtil.saveXML(workflow.toXML(), file);
+            JSONUtil.saveJSON(workflow.toJSON(), file);
+        } catch (IOException e) {
                    
this.engine.getGUI().getErrorWindow().error(ErrorMessages.WRITE_FILE_ERROR, e);
                } catch (RuntimeException e) {
                    
this.engine.getGUI().getErrorWindow().error(ErrorMessages.GRAPH_SAVE_ERROR, e);

http://git-wip-us.apache.org/repos/asf/airavata/blob/6e42be78/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/ui/dialogs/workflow/ParameterPropertyWindow.java
----------------------------------------------------------------------
diff --git 
a/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/ui/dialogs/workflow/ParameterPropertyWindow.java
 
b/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/ui/dialogs/workflow/ParameterPropertyWindow.java
index 4be2ed8..a5bbdc2 100644
--- 
a/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/ui/dialogs/workflow/ParameterPropertyWindow.java
+++ 
b/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/ui/dialogs/workflow/ParameterPropertyWindow.java
@@ -79,9 +79,9 @@ public class ParameterPropertyWindow {
         this.outputNodes = GraphUtil.getOutputNodes(this.graph);
 
         this.inputPanel.setParameterNodes(this.inputNodes);
-        this.inputPanel.setMetadata(this.graph.getInputMetadata());
+//        this.inputPanel.setMetadata(this.graph.getInputMetadata());
         this.outputPanel.setParameterNodes(this.outputNodes);
-        this.outputPanel.setMetadata(this.graph.getOutputMetadata());
+//        this.outputPanel.setMetadata(this.graph.getOutputMetadata());
 
         this.dialog.show();
     }
@@ -121,8 +121,8 @@ public class ParameterPropertyWindow {
 
         // Check is done at this point.
 
-        this.graph.setInputMetadata(inputMetadata);
-        this.graph.setOutputMetadata(outputMetadata);
+//        this.graph.setInputMetadata(inputMetadata);
+//        this.graph.setOutputMetadata(outputMetadata);
 
         // Sort the nodes in the graph in the order of sorted inputs, sorted
         // outputs, and the rest.

http://git-wip-us.apache.org/repos/asf/airavata/blob/6e42be78/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/ui/dialogs/workflow/WorkflowPropertyWindow.java
----------------------------------------------------------------------
diff --git 
a/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/ui/dialogs/workflow/WorkflowPropertyWindow.java
 
b/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/ui/dialogs/workflow/WorkflowPropertyWindow.java
index 9043d76..aad4141 100644
--- 
a/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/ui/dialogs/workflow/WorkflowPropertyWindow.java
+++ 
b/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/ui/dialogs/workflow/WorkflowPropertyWindow.java
@@ -30,6 +30,10 @@ import javax.swing.JButton;
 import javax.swing.JOptionPane;
 import javax.swing.JPanel;
 
+import com.google.gson.Gson;
+import com.google.gson.GsonBuilder;
+import com.google.gson.JsonObject;
+import org.apache.airavata.common.utils.JSONUtil;
 import org.apache.airavata.common.utils.StringUtil;
 import org.apache.airavata.common.utils.WSConstants;
 import org.apache.airavata.common.utils.XMLUtil;
@@ -65,7 +69,7 @@ public class WorkflowPropertyWindow {
 
     
     /**
-     * @param engine
+     * @param
      */
     public WorkflowPropertyWindow(XBayaGUI xbayaGUI) {
         this.xbayaGUI = xbayaGUI;
@@ -98,14 +102,14 @@ public class WorkflowPropertyWindow {
             this.instanceIDField.setText(instanceID.toString());
         }
 
-        XmlElement metadata = this.workflow.getMetadata();
-        String metadataText;
-        if (metadata == null) {
-            metadataText = WSConstants.EMPTY_APPINFO;
-        } else {
-            metadataText = XMLUtil.xmlElementToString(metadata);
-        }
-        this.metadataTextArea.setText(metadataText);
+//        XmlElement metadata = this.workflow.getMetadata();
+//        String metadataText;
+//        if (metadata == null) {
+//            metadataText = WSConstants.EMPTY_APPINFO;
+//        } else {
+//            metadataText = XMLUtil.xmlElementToString(metadata);
+//        }
+//        this.metadataTextArea.setText(metadataText);
 
         this.dialog.show();
     }
@@ -134,24 +138,29 @@ public class WorkflowPropertyWindow {
         String name = this.nameTextField.getText();
         if (name != null && 
name.equals(StringUtil.convertToJavaIdentifier(name)) && 
(!isWorkflowNameAlreadyPresent(name))) {
             String description = this.descriptionTextArea.getText();
-            String metadataText = this.metadataTextArea.getText();
-
-            XmlElement metadata;
-            if (metadataText.length() == 0) {
-                metadata = null;
-            } else {
-                try {
-                    metadata = XMLUtil.stringToXmlElement(metadataText);
-                } catch (RuntimeException e) {
-                    String warning = "The metadata is ill-formed.";
-                    this.xbayaGUI.getErrorWindow().error(warning, e);
-                    return;
-                }
-            }
+//            String metadataText = this.metadataTextArea.getText();
+
+//            XmlElement metadata;
+//            if (metadataText.length() == 0) {
+//                metadata = null;
+//            } else {
+//                try {
+////                    metadata = XMLUtil.stringToXmlElement(metadataText);
+//                    JsonObject metadataObject = new JsonObject();
+//                    JsonObject appInfoObject = new JsonObject();
+//                    appInfoObject.add("data", 
JSONUtil.stringToJSONObject(metadataText));
+//
+//                    metadata = XMLUtil.stringToXmlElement(metadataText);
+//                } catch (RuntimeException e) {
+//                    String warning = "The metadata is ill-formed.";
+//                    this.xbayaGUI.getErrorWindow().error(warning, e);
+//                    return;
+//                }
+//            }
 
             GraphCanvas graphCanvas = this.xbayaGUI.getGraphCanvas();
             graphCanvas.setNameAndDescription(name, description);
-            graphCanvas.getWorkflow().setMetadata(metadata);
+//            graphCanvas.getWorkflow().setMetadata(metadata);
             hide();
         } else {
             
this.nameTextField.setText(StringUtil.convertToJavaIdentifier(name));
@@ -175,8 +184,8 @@ public class WorkflowPropertyWindow {
         this.descriptionTextArea = new XBayaTextArea();
         XBayaLabel descriptionLabel = new XBayaLabel("Description", 
this.descriptionTextArea);
 
-        this.metadataTextArea = new XBayaTextArea();
-        XBayaLabel metadataLabel = new XBayaLabel("Metadata", 
this.metadataTextArea);
+//        this.metadataTextArea = new XBayaTextArea();
+//        XBayaLabel metadataLabel = new XBayaLabel("Metadata", 
this.metadataTextArea);
 
         GridPanel mainPanel = new GridPanel();
         mainPanel.add(nameLabel);
@@ -187,9 +196,9 @@ public class WorkflowPropertyWindow {
         mainPanel.add(this.instanceIDField);
         mainPanel.add(descriptionLabel);
         mainPanel.add(this.descriptionTextArea);
-        mainPanel.add(metadataLabel);
-        mainPanel.add(this.metadataTextArea);
-        mainPanel.layout(new double[] { 0, 0, 0, 0.5, 0.5 }, new double[] { 0, 
1 });
+//        mainPanel.add(metadataLabel);
+//        mainPanel.add(this.metadataTextArea);
+        mainPanel.layout(new double[] { 0, 0, 0, 0.5}, new double[] { 0, 1 });
 
         this.okButton = new JButton("OK");
         this.okButton.addActionListener(new AbstractAction() {

http://git-wip-us.apache.org/repos/asf/airavata/blob/6e42be78/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/ui/graph/GraphCanvas.java
----------------------------------------------------------------------
diff --git 
a/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/ui/graph/GraphCanvas.java
 
b/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/ui/graph/GraphCanvas.java
index de960c2..fa7b8eb 100644
--- 
a/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/ui/graph/GraphCanvas.java
+++ 
b/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/ui/graph/GraphCanvas.java
@@ -56,6 +56,9 @@ import javax.swing.JPanel;
 import javax.swing.JPopupMenu;
 import javax.swing.JScrollPane;
 
+import com.google.gson.JsonElement;
+import com.google.gson.JsonObject;
+import org.apache.airavata.common.utils.JSONUtil;
 import org.apache.airavata.common.utils.SwingUtil;
 import org.apache.airavata.common.utils.XMLUtil;
 import org.apache.airavata.workflow.model.component.Component;
@@ -149,7 +152,8 @@ public class GraphCanvas implements 
XBayaExecutionModeListener{
 
     private List<Node> multipleSelectedNodes;
 
-    private XmlElement originalWorkflowElement;
+//    private XmlElement originalWorkflowElement;
+    private JsonObject originalWorkflowElementJson;
     
     boolean editable=false;
     /**
@@ -1347,10 +1351,11 @@ public class GraphCanvas implements 
XBayaExecutionModeListener{
        
        public boolean isWorkflowChanged(){
                try {
-                       if (originalWorkflowElement==null){
+                       if (originalWorkflowElementJson==null){
                                updateOriginalWorkflowElement();
                        }
-                       return !XMLUtil.isEqual(originalWorkflowElement, 
getWorkflow().toXML());
+//                     return !XMLUtil.isEqual(originalWorkflowElement, 
getWorkflow().toXML());
+                       return !JSONUtil.isEqual(originalWorkflowElementJson, 
getWorkflow().toJSON());
                } catch (Exception e) {
                        e.printStackTrace();
                        return true;
@@ -1363,7 +1368,8 @@ public class GraphCanvas implements 
XBayaExecutionModeListener{
        }
 
        private void updateOriginalWorkflowElement() {
-               originalWorkflowElement = getWorkflow().toXML();
+//             originalWorkflowElement = getWorkflow().toXML();
+        originalWorkflowElementJson = getWorkflow().toJSON();
        }
 
        @Override

http://git-wip-us.apache.org/repos/asf/airavata/blob/6e42be78/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 2bdd42b..4b844e1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -93,6 +93,7 @@
         <thrift.version>0.9.1</thrift.version>
         <mysql.connector.version>5.1.31</mysql.connector.version>
         <skipTests>false</skipTests>
+        <google.gson.version>2.3</google.gson.version>
     </properties>
 
     <developers>
@@ -394,6 +395,12 @@
                 <artifactId>airavata-client-configuration</artifactId>
                 <version>${project.version}</version>
             </dependency>
+
+            <dependency>
+                <groupId>com.google.code.gson</groupId>
+                <artifactId>gson</artifactId>
+                <version>${google.gson.version}</version>
+            </dependency>
         </dependencies>
     </dependencyManagement>
 

Reply via email to