You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by la...@apache.org on 2011/10/28 21:31:23 UTC

svn commit: r1190516 - in /incubator/airavata/trunk/modules: test-suite/ xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/gui/ xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/registry/ xbaya-gui/src/main/java/org/apache/airavata/...

Author: lahiru
Date: Fri Oct 28 19:31:22 2011
New Revision: 1190516

URL: http://svn.apache.org/viewvc?rev=1190516&view=rev
Log:
https://issues.apache.org/jira/browse/AIRAVATA-173

Modified:
    incubator/airavata/trunk/modules/test-suite/   (props changed)
    incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/gui/ComponentMenu.java
    incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/gui/ComponentSelector.java
    incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/gui/JCRRegistryWindow.java
    incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/registry/ComponentRegistry.java
    incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/registry/ComponentRegistryLoader.java
    incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/ws/WSComponent.java

Propchange: incubator/airavata/trunk/modules/test-suite/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Fri Oct 28 19:31:22 2011
@@ -0,0 +1 @@
+target

Modified: incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/gui/ComponentMenu.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/gui/ComponentMenu.java?rev=1190516&r1=1190515&r2=1190516&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/gui/ComponentMenu.java (original)
+++ incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/gui/ComponentMenu.java Fri Oct 28 19:31:22 2011
@@ -273,7 +273,7 @@ public class ComponentMenu {
     }
 
     private JMenuItem createJCRRegistryItem() {
-        JMenuItem item = new JMenuItem("Add Registry");
+        JMenuItem item = new JMenuItem("Set Registry");
         item.setMnemonic(KeyEvent.VK_J);
         item.addActionListener(new AbstractAction() {
             private JCRRegistryWindow window;

Modified: incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/gui/ComponentSelector.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/gui/ComponentSelector.java?rev=1190516&r1=1190515&r2=1190516&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/gui/ComponentSelector.java (original)
+++ incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/gui/ComponentSelector.java Fri Oct 28 19:31:22 2011
@@ -120,6 +120,15 @@ public class ComponentSelector implement
         addComponentTree(-1, componentTree);
     }
 
+    public void removeComponentTree(final ComponentTreeNode componentTree) {
+    	SwingUtilities.invokeLater(new Runnable() {
+            public void run() {
+                ComponentSelector.this.treeModel.removeNodeFromParent(componentTree);
+            }
+
+        });
+    }
+    
     /**
      * Adds a new selectedComponent registry to the specified location.
      * 

Modified: incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/gui/JCRRegistryWindow.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/gui/JCRRegistryWindow.java?rev=1190516&r1=1190515&r2=1190516&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/gui/JCRRegistryWindow.java (original)
+++ incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/gui/JCRRegistryWindow.java Fri Oct 28 19:31:22 2011
@@ -113,7 +113,7 @@ public class JCRRegistryWindow {
         configuration.setRegistryURL(url);
         hide();
 
-        this.loader.load(registry);
+//        this.loader.load(registry);
     }
 
     private void createNewUser() {

Modified: incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/registry/ComponentRegistry.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/registry/ComponentRegistry.java?rev=1190516&r1=1190515&r2=1190516&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/registry/ComponentRegistry.java (original)
+++ incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/registry/ComponentRegistry.java Fri Oct 28 19:31:22 2011
@@ -21,6 +21,7 @@
 
 package org.apache.airavata.xbaya.component.registry;
 
+import org.apache.airavata.registry.api.Registry;
 import org.apache.airavata.xbaya.component.gui.ComponentTreeNode;
 
 public abstract class ComponentRegistry {
@@ -47,4 +48,5 @@ public abstract class ComponentRegistry 
      * @return The name to show in the tree.
      */
     public abstract String getName();
+    
 }
\ No newline at end of file

Modified: incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/registry/ComponentRegistryLoader.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/registry/ComponentRegistryLoader.java?rev=1190516&r1=1190515&r2=1190516&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/registry/ComponentRegistryLoader.java (original)
+++ incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/registry/ComponentRegistryLoader.java Fri Oct 28 19:31:22 2011
@@ -21,6 +21,13 @@
 
 package org.apache.airavata.xbaya.component.registry;
 
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Observable;
+import java.util.Observer;
+
+import org.apache.airavata.registry.api.Registry;
+import org.apache.airavata.xbaya.XBayaConfiguration;
 import org.apache.airavata.xbaya.XBayaEngine;
 import org.apache.airavata.xbaya.component.gui.ComponentTreeNode;
 import org.apache.airavata.xbaya.gui.Cancelable;
@@ -29,7 +36,7 @@ import org.apache.airavata.xbaya.gui.Wai
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public class ComponentRegistryLoader implements Cancelable {
+public class ComponentRegistryLoader implements Cancelable, Observer {
 
     private static final Logger logger = LoggerFactory.getLogger(ComponentRegistryLoader.class);
 
@@ -40,17 +47,24 @@ public class ComponentRegistryLoader imp
     private boolean canceled;
 
     private WaitDialog loadingDialog;
+    
+    private ComponentTreeNode componentTree;
 
+    private Observable observableRegistry;
+    
+    private Map<String,ComponentTreeNode> componentTreeNodesMap;
+    
     /**
      * Constructs a WorkflowLoader.
      * 
      * @param engine
      */
     public ComponentRegistryLoader(XBayaEngine engine) {
-        this.engine = engine;
+        this.setEngine(engine);
 
         this.loadingDialog = new WaitDialog(this, "Loading a Component List.", "Loading a Component List. "
-                + "Please wait for a moment.", this.engine);
+                + "Please wait for a moment.", this.getEngine());
+        getEngine().getConfiguration().addObserver(this);
     }
 
     /**
@@ -69,7 +83,7 @@ public class ComponentRegistryLoader imp
      */
     public void load(final ComponentRegistry registry) {
         this.canceled = false;
-
+        
         this.loadThread = new Thread() {
             @Override
             public void run() {
@@ -87,29 +101,69 @@ public class ComponentRegistryLoader imp
      */
     private void runInThread(ComponentRegistry registry) {
         try {
-            ComponentTreeNode componentTree = registry.getComponentTree();
+        	if (getComponentTreeNodesMap().containsKey(registry.getName())){
+        		this.getEngine().getGUI().getComponentSelector().removeComponentTree(getComponentTreeNodesMap().get(registry.getName()));
+        		getComponentTreeNodesMap().remove(registry.getName());
+        	}
+            componentTree = registry.getComponentTree();
             if (this.canceled) {
                 return;
             }
-            this.engine.getGUI().getComponentSelector().addComponentTree(componentTree);
+            this.getEngine().getGUI().getComponentSelector().addComponentTree(componentTree);
+            getComponentTreeNodesMap().put(registry.getName(),componentTree);
             this.loadingDialog.hide();
         } catch (ComponentRegistryException e) {
             if (this.canceled) {
                 logger.error(e.getMessage(), e);
             } else {
-                this.engine.getErrorWindow().error(ErrorMessages.COMPONENT_LIST_LOAD_ERROR, e);
+                this.getEngine().getErrorWindow().error(ErrorMessages.COMPONENT_LIST_LOAD_ERROR, e);
                 this.loadingDialog.hide();
             }
         } catch (RuntimeException e) {
             if (this.canceled) {
                 logger.error(e.getMessage(), e);
             } else {
-                this.engine.getErrorWindow().error(ErrorMessages.COMPONENT_LIST_LOAD_ERROR, e);
+                this.getEngine().getErrorWindow().error(ErrorMessages.COMPONENT_LIST_LOAD_ERROR, e);
                 this.loadingDialog.hide();
             }
         } catch (Error e) {
-            this.engine.getErrorWindow().error(ErrorMessages.UNEXPECTED_ERROR, e);
+            this.getEngine().getErrorWindow().error(ErrorMessages.UNEXPECTED_ERROR, e);
             this.loadingDialog.hide();
         }
     }
+
+	@Override
+	public void update(Observable observable, Object o) {
+		if ((observable instanceof XBayaConfiguration) && (o instanceof ComponentRegistry)){
+			ComponentRegistry componentRegistry=(ComponentRegistry)o;
+			if (observableRegistry!=null){
+				observableRegistry.deleteObserver(this);
+			}
+			if (componentRegistry instanceof JCRComponentRegistry){
+				Registry registry = ((JCRComponentRegistry)componentRegistry).getRegistry();
+				if (registry!=null && registry instanceof Observable){
+					(observableRegistry=(Observable)registry).addObserver(this);
+				}
+			}
+			load(componentRegistry);
+		}else if (observable instanceof Registry){
+			load(getEngine().getConfiguration().getJcrComponentRegistry());
+		}
+	}
+	
+	public XBayaEngine getEngine() {
+		return engine;
+	}
+
+	public void setEngine(XBayaEngine engine) {
+		this.engine = engine;
+	}
+
+	public Map<String,ComponentTreeNode> getComponentTreeNodesMap() {
+		if (componentTreeNodesMap==null){
+			componentTreeNodesMap=new HashMap<String, ComponentTreeNode>();
+		}
+		return componentTreeNodesMap;
+	}
+
 }
\ No newline at end of file

Modified: incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/ws/WSComponent.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/ws/WSComponent.java?rev=1190516&r1=1190515&r2=1190516&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/ws/WSComponent.java (original)
+++ incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/ws/WSComponent.java Fri Oct 28 19:31:22 2011
@@ -274,13 +274,15 @@ public class WSComponent extends Compone
 
         buf.append("<h2>Operation: " + this.operationName + "</h2>\n");
 
-        buf.append("<h3>Input parameter(s)</h3>\n");
-        messageToHtml(getInputPorts(), buf);
-
-        buf.append("<h3>Output parameter(s)</h3>\n");
-        messageToHtml(getOutputPorts(), buf);
-
-        buf.append("</html>\n");
+        if (getInputPorts().size()>0) {
+			buf.append("<h3>Input parameter(s)</h3>\n");
+			messageToHtml(getInputPorts(), buf);
+		}
+		if (getOutputPorts().size()>0) {
+			buf.append("<h3>Output parameter(s)</h3>\n");
+			messageToHtml(getOutputPorts(), buf);
+		}
+		buf.append("</html>\n");
         return buf.toString();
     }