You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by ch...@apache.org on 2012/10/31 20:40:13 UTC

svn commit: r1404314 - in /airavata/sandbox/airavata-registry-rest: ./ src/main/java/org/apache/airavata/services/registry/rest/resourcemappings/ src/main/java/org/apache/airavata/services/registry/rest/resources/ src/main/java/org/apache/airavata/serv...

Author: chathuri
Date: Wed Oct 31 19:40:13 2012
New Revision: 1404314

URL: http://svn.apache.org/viewvc?rev=1404314&view=rev
Log:
updated application save methods

Modified:
    airavata/sandbox/airavata-registry-rest/README.txt
    airavata/sandbox/airavata-registry-rest/src/main/java/org/apache/airavata/services/registry/rest/resourcemappings/HostDescriptor.java
    airavata/sandbox/airavata-registry-rest/src/main/java/org/apache/airavata/services/registry/rest/resources/RegistryResource.java
    airavata/sandbox/airavata-registry-rest/src/main/java/org/apache/airavata/services/registry/rest/utils/RegistryListener.java

Modified: airavata/sandbox/airavata-registry-rest/README.txt
URL: http://svn.apache.org/viewvc/airavata/sandbox/airavata-registry-rest/README.txt?rev=1404314&r1=1404313&r2=1404314&view=diff
==============================================================================
--- airavata/sandbox/airavata-registry-rest/README.txt (original)
+++ airavata/sandbox/airavata-registry-rest/README.txt Wed Oct 31 19:40:13 2012
@@ -37,8 +37,7 @@ To test
     ############## Host descriptrors ##########################
 
     curl --request GET http://localhost:9080/airavata-services/registry/api/hostdescriptor/exist?descriptorName=ember
-    curl -H "Accept: text/plain" -X POST -H "Content-Type: text/xml" -d '<type:hostDescription xmlns:type="http://schemas.airavata.apache.org/gfac/type"><type:hostName>LocalHost111</type:hostName><type:hostAddress>127.0.0.1</type:hostAddress></type:hostDescription>' http://localhost:9080/airavata-services/registry/api/hostdescriptor/save
-    curl -H "Accept: text/plain" -X POST -H "Content-Type: text/xml" -d '<type:hostDescription xmlns:type="http://schemas.airavata.apache.org/gfac/type"><type:hostName>aaaaa</type:hostName><type:hostAddress>dsdddssdd</type:hostAddress></type:hostDescription>' http://localhost:9080/airavata-services/registry/api/hostdescriptor/update    curl --request GET http://localhost:9080/airavata-services/registry/api/host/description?hostName=testHost1
+    curl -H "Accept:application/json"  -X POST -H "Content-Type:application/json" -d '{"hostname":"testHost1", "hostAddress":"testHostAddress" }' http://localhost:9080/airavata-services/registry/api/hostdescriptor/save    curl -H "Accept: text/plain" -X POST -H "Content-Type: text/xml" -d '<type:hostDescription xmlns:type="http://schemas.airavata.apache.org/gfac/type"><type:hostName>aaaaa</type:hostName><type:hostAddress>dsdddssdd</type:hostAddress></type:hostDescription>' http://localhost:9080/airavata-services/registry/api/hostdescriptor/update    curl --request GET http://localhost:9080/airavata-services/registry/api/host/description?hostName=testHost1
     curl --request DELETE http://localhost:9080/airavata-services/registry/api/hostdescriptor/delete?hostName=testHost1
     curl --request GET http://localhost:9080/airavata-services/registry/api/get/hostdescriptors
 
@@ -52,8 +51,7 @@ To test
 
     ############## Application descriptrors ##########################
     curl --request GET 'http://localhost:9080/airavata-services/registry/api/applicationdescriptor/exist?serviceName=echo&hostName=LocalHost&descriptorName=LocalHost_application'
-    curl -H "Accept: text/plain" -X POST -H "Content-Type: text/xml" -d '<type:serviceDescription xmlns:type="http://schemas.airavata.apache.org/gfac/type"><type:name>echo</type:name><type:inputParameters><type:parameterName>echo_input</type:parameterName><type:parameterDescription xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/><type:parameterType type="String"><name>String</name></type:parameterType></type:inputParameters><type:outputParameters><type:parameterName>echo_output</type:parameterName><type:parameterDescription xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/><type:parameterType type="String"><name>String</name></type:parameterType></type:outputParameters></type:serviceDescription>&host=<type:hostDescription xmlns:type="http://schemas.airavata.apache.org/gfac/type"><type:hostName>LocalHost</type:hostName><type:hostAddress>127.0.0.1</type:hostAddress></type:hostDescription>&application=<type:applicationDeploymentDescript
 ion xmlns:type="http://schemas.airavata.apache.org/gfac/type"><type:applicationName>LocalHost_application1</type:applicationName><type:executableLocation>/Users/chathuri/airavata/source/trunk_new/samples/echo.sh</type:executableLocation><type:scratchWorkingDirectory>/tmp1</type:scratchWorkingDirectory></type:applicationDeploymentDescription>' http://localhost:9080/airavata-services/registry/api/applicationdescriptor/build/save
-    curl -H "Accept: text/plain" -X POST -H "Content-Type: text/xml" -d 'serviceName=echo&hostName=LocalHost&<type:applicationDeploymentDescription xmlns:type="http://schemas.airavata.apache.org/gfac/type"><type:applicationName>LocalHost_application2</type:applicationName><type:executableLocation>/Users/chathuri/airavata/source/trunk_new/samples/echo.sh</type:executableLocation><type:scratchWorkingDirectory>/tmp1</type:scratchWorkingDirectory></type:applicationDeploymentDescription>' http://localhost:9080/airavata-services/registry/api/applicationdescriptor/save
+    curl -H "Accept:application/json"  -X POST -H "Content-Type:application/json" -d '{"applicationName":"abc", "hostdescName":"LocalHost", "serviceName":"echo", "executablePath":"cccc", "workingDir":"dddd" }' http://localhost:9080/airavata-services/registry/api/applicationdescriptor/build/save    curl -H "Accept: text/plain" -X POST -H "Content-Type: text/xml" -d 'serviceName=echo&hostName=LocalHost&<type:applicationDeploymentDescription xmlns:type="http://schemas.airavata.apache.org/gfac/type"><type:applicationName>LocalHost_application2</type:applicationName><type:executableLocation>/Users/chathuri/airavata/source/trunk_new/samples/echo.sh</type:executableLocation><type:scratchWorkingDirectory>/tmp1</type:scratchWorkingDirectory></type:applicationDeploymentDescription>' http://localhost:9080/airavata-services/registry/api/applicationdescriptor/save
     curl -H "Accept: text/plain" -X POST -H "Content-Type: text/xml" -d 'service=<type:serviceDescription xmlns:type="http://schemas.airavata.apache.org/gfac/type"><type:name>echo</type:name><type:inputParameters><type:parameterName>echo_input</type:parameterName><type:parameterDescription xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/><type:parameterType type="String"><name>String</name></type:parameterType></type:inputParameters><type:outputParameters><type:parameterName>echo_output</type:parameterName><type:parameterDescription xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/><type:parameterType type="String"><name>String</name></type:parameterType></type:outputParameters></type:serviceDescription>&host=<type:hostDescription xmlns:type="http://schemas.airavata.apache.org/gfac/type"><type:hostName>LocalHost</type:hostName><type:hostAddress>127.0.0.1</type:hostAddress></type:hostDescription>&application=<type:applicationDeployment
 Description xmlns:type="http://schemas.airavata.apache.org/gfac/type"><type:applicationName>LocalHost_application2</type:applicationName><type:executableLocation>xccccccccxc</type:executableLocation><type:scratchWorkingDirectory>/sdddsdsds</type:scratchWorkingDirectory></type:applicationDeploymentDescription>' http://localhost:9080/airavata-services/registry/api/applicationdescriptor/update/descriptor
     curl -H "Accept: text/plain" -X POST -H "Content-Type: text/xml" -d 'serviceName=echo&hostName=LocalHost&application=<type:applicationDeploymentDescription xmlns:type="http://schemas.airavata.apache.org/gfac/type"><type:applicationName>LocalHost_application2</type:applicationName><type:executableLocation>xccccccccxc11111</type:executableLocation><type:scratchWorkingDirectory>/sdddsdsds1111</type:scratchWorkingDirectory></type:applicationDeploymentDescription>' http://localhost:9080/airavata-services/registry/api/applicationdescriptor/update
     curl --request GET 'http://localhost:9080/airavata-services/registry/api/applicationdescriptor/description?serviceName=echo&hostName=LocalHost&applicationName=LocalHost_application2'

Modified: airavata/sandbox/airavata-registry-rest/src/main/java/org/apache/airavata/services/registry/rest/resourcemappings/HostDescriptor.java
URL: http://svn.apache.org/viewvc/airavata/sandbox/airavata-registry-rest/src/main/java/org/apache/airavata/services/registry/rest/resourcemappings/HostDescriptor.java?rev=1404314&r1=1404313&r2=1404314&view=diff
==============================================================================
--- airavata/sandbox/airavata-registry-rest/src/main/java/org/apache/airavata/services/registry/rest/resourcemappings/HostDescriptor.java (original)
+++ airavata/sandbox/airavata-registry-rest/src/main/java/org/apache/airavata/services/registry/rest/resourcemappings/HostDescriptor.java Wed Oct 31 19:40:13 2012
@@ -28,54 +28,68 @@ import javax.xml.bind.annotation.XmlRoot
 @XmlRootElement(name = "host")
 public class HostDescriptor {
 
-	private String hostname;
-	private String hostAddress;
-	private List<String> hostType;
-	private List<String> gridFTPEndPoint;
-	private List<String> globusGateKeeperEndPoint;
-	private List<String> imageID;
-	private List<String> instanceID;
-	public String getHostname() {
-		return hostname;
-	}
-	public void setHostname(String hostname) {
-		this.hostname = hostname;
-	}
-	public String getHostAddress() {
-		return hostAddress;
-	}
-	public void setHostAddress(String hostAddress) {
-		this.hostAddress = hostAddress;
-	}
-	public List<String> getHostType() {
-		return hostType;
-	}
-	public void setHostType(List<String> hostType) {
-		this.hostType = hostType;
-	}
-	public List<String> getGridFTPEndPoint() {
-		return gridFTPEndPoint;
-	}
-	public void setGridFTPEndPoint(List<String> gridFTPEndPoint) {
-		this.gridFTPEndPoint = gridFTPEndPoint;
-	}
-	public List<String> getGlobusGateKeeperEndPoint() {
-		return globusGateKeeperEndPoint;
-	}
-	public void setGlobusGateKeeperEndPoint(List<String> globusGateKeeperEndPoint) {
-		this.globusGateKeeperEndPoint = globusGateKeeperEndPoint;
-	}
-	public List<String> getImageID() {
-		return imageID;
-	}
-	public void setImageID(List<String> imageID) {
-		this.imageID = imageID;
-	}
-	public List<String> getInstanceID() {
-		return instanceID;
-	}
-	public void setInstanceID(List<String> instanceID) {
-		this.instanceID = instanceID;
-	}
+    private String hostname;
+    private String hostAddress;
+    private List<String> hostType;
+    private List<String> gridFTPEndPoint;
+    private List<String> globusGateKeeperEndPoint;
+    private List<String> imageID;
+    private List<String> instanceID;
+
+    public String getHostname() {
+        return hostname;
+    }
+
+    public void setHostname(String hostname) {
+        this.hostname = hostname;
+    }
+
+    public String getHostAddress() {
+        return hostAddress;
+    }
+
+    public void setHostAddress(String hostAddress) {
+        this.hostAddress = hostAddress;
+    }
+
+    public List<String> getHostType() {
+        return hostType;
+    }
+
+    public void setHostType(List<String> hostType) {
+        this.hostType = hostType;
+    }
+
+    public List<String> getGridFTPEndPoint() {
+        return gridFTPEndPoint;
+    }
+
+    public void setGridFTPEndPoint(List<String> gridFTPEndPoint) {
+        this.gridFTPEndPoint = gridFTPEndPoint;
+    }
+
+    public List<String> getGlobusGateKeeperEndPoint() {
+        return globusGateKeeperEndPoint;
+    }
+
+    public void setGlobusGateKeeperEndPoint(List<String> globusGateKeeperEndPoint) {
+        this.globusGateKeeperEndPoint = globusGateKeeperEndPoint;
+    }
+
+    public List<String> getImageID() {
+        return imageID;
+    }
+
+    public void setImageID(List<String> imageID) {
+        this.imageID = imageID;
+    }
+
+    public List<String> getInstanceID() {
+        return instanceID;
+    }
+
+    public void setInstanceID(List<String> instanceID) {
+        this.instanceID = instanceID;
+    }
 
 }

Modified: airavata/sandbox/airavata-registry-rest/src/main/java/org/apache/airavata/services/registry/rest/resources/RegistryResource.java
URL: http://svn.apache.org/viewvc/airavata/sandbox/airavata-registry-rest/src/main/java/org/apache/airavata/services/registry/rest/resources/RegistryResource.java?rev=1404314&r1=1404313&r2=1404314&view=diff
==============================================================================
--- airavata/sandbox/airavata-registry-rest/src/main/java/org/apache/airavata/services/registry/rest/resources/RegistryResource.java (original)
+++ airavata/sandbox/airavata-registry-rest/src/main/java/org/apache/airavata/services/registry/rest/resources/RegistryResource.java Wed Oct 31 19:40:13 2012
@@ -565,23 +565,26 @@ import java.util.*;
     @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
     public Response addJSONHostDescriptor(HostDescriptor host) {
         airavataRegistry = (AiravataRegistry2) context.getAttribute(RestServicesConstants.AIRAVATA_REGISTRY);
-        try{
+        try {
             HostDescription hostDescription = new HostDescription();
             hostDescription.getType().setHostAddress(host.getHostAddress());
             hostDescription.getType().setHostName(host.getHostname());
-            if(host.getHostType().equals(HostTypes.GLOBUS_HOST_TYPE)){
-                ((GlobusHostType)hostDescription.getType()).addGlobusGateKeeperEndPoint(host.getGlobusGateKeeperEndPoint().get(0));
-                ((GlobusHostType)hostDescription.getType()).addGridFTPEndPoint(host.getGridFTPEndPoint().get(0));
-            }else if (host.getHostType().equals(HostTypes.GSISSH_HOST_TYPE)){
-                ((GsisshHostType)hostDescription).addGridFTPEndPoint(host.getGridFTPEndPoint().get(0));
-            } else if (host.getHostType().equals(HostTypes.EC2_HOST_TYPE)){
-                ((Ec2HostType)hostDescription).addImageID(host.getImageID().get(0));
-                ((Ec2HostType)hostDescription).addInstanceID(host.getInstanceID().get(0));
+
+            if (host.getHostType() != null && !host.getHostType().isEmpty()) {
+                if (host.getHostType().equals(HostTypes.GLOBUS_HOST_TYPE)) {
+                    ((GlobusHostType) hostDescription.getType()).addGlobusGateKeeperEndPoint(host.getGlobusGateKeeperEndPoint().get(0));
+                    ((GlobusHostType) hostDescription.getType()).addGridFTPEndPoint(host.getGridFTPEndPoint().get(0));
+                } else if (host.getHostType().equals(HostTypes.GSISSH_HOST_TYPE)) {
+                    ((GsisshHostType) hostDescription).addGridFTPEndPoint(host.getGridFTPEndPoint().get(0));
+                } else if (host.getHostType().equals(HostTypes.EC2_HOST_TYPE)) {
+                    ((Ec2HostType) hostDescription).addImageID(host.getImageID().get(0));
+                    ((Ec2HostType) hostDescription).addInstanceID(host.getInstanceID().get(0));
+                }
             }
             airavataRegistry.addHostDescriptor(hostDescription);
             Response.ResponseBuilder builder = Response.status(Response.Status.NO_CONTENT);
             return builder.build();
-        } catch (DescriptorAlreadyExistsException e){
+        } catch (DescriptorAlreadyExistsException e) {
             Response.ResponseBuilder builder = Response.status(Response.Status.BAD_REQUEST);
             return builder.build();
         } catch (RegistryException e) {
@@ -600,15 +603,18 @@ import java.util.*;
             HostDescription hostDescription = new HostDescription();
             hostDescription.getType().setHostAddress(host.getHostAddress());
             hostDescription.getType().setHostName(host.getHostname());
-            if(host.getHostType().equals(HostTypes.GLOBUS_HOST_TYPE)){
-                ((GlobusHostType)hostDescription.getType()).addGlobusGateKeeperEndPoint(host.getGlobusGateKeeperEndPoint().get(0));
-                ((GlobusHostType)hostDescription.getType()).addGridFTPEndPoint(host.getGridFTPEndPoint().get(0));
-            }else if (host.getHostType().equals(HostTypes.GSISSH_HOST_TYPE)){
-                ((GsisshHostType)hostDescription).addGridFTPEndPoint(host.getGridFTPEndPoint().get(0));
-            } else if (host.getHostType().equals(HostTypes.EC2_HOST_TYPE)){
-                ((Ec2HostType)hostDescription).addImageID(host.getImageID().get(0));
-                ((Ec2HostType)hostDescription).addInstanceID(host.getInstanceID().get(0));
+            if (host.getHostType() != null && !host.getHostType().isEmpty()) {
+                if(host.getHostType().equals(HostTypes.GLOBUS_HOST_TYPE)){
+                    ((GlobusHostType)hostDescription.getType()).addGlobusGateKeeperEndPoint(host.getGlobusGateKeeperEndPoint().get(0));
+                    ((GlobusHostType)hostDescription.getType()).addGridFTPEndPoint(host.getGridFTPEndPoint().get(0));
+                }else if (host.getHostType().equals(HostTypes.GSISSH_HOST_TYPE)){
+                    ((GsisshHostType)hostDescription).addGridFTPEndPoint(host.getGridFTPEndPoint().get(0));
+                } else if (host.getHostType().equals(HostTypes.EC2_HOST_TYPE)){
+                    ((Ec2HostType)hostDescription).addImageID(host.getImageID().get(0));
+                    ((Ec2HostType)hostDescription).addInstanceID(host.getInstanceID().get(0));
+                }
             }
+
             airavataRegistry.updateHostDescriptor(hostDescription);
             Response.ResponseBuilder builder = Response.status(Response.Status.NO_CONTENT);
             return builder.build();
@@ -1136,31 +1142,34 @@ import java.util.*;
                 return builder.build();
             }
             ApplicationDeploymentDescription applicationDeploymentDescription = new ApplicationDeploymentDescription();
-            applicationDeploymentDescription.getType().getApplicationName().setStringValue(applicationDescriptor.getApplicationName());
+            ApplicationDeploymentDescriptionType.ApplicationName name = ApplicationDeploymentDescriptionType.ApplicationName.Factory.newInstance();
+            name.setStringValue(applicationDescriptor.getApplicationName());
+            applicationDeploymentDescription.getType().setApplicationName(name);
             applicationDeploymentDescription.getType().setExecutableLocation(applicationDescriptor.getExecutablePath());
             applicationDeploymentDescription.getType().setOutputDataDirectory(applicationDescriptor.getWorkingDir());
 
             //set advanced options according app desc type
-            if (applicationDescriptor.getApplicationDescType().equals(ApplicationDescriptorTypes.GRAM_APP_DEP_DESC_TYPE)){
-                GramApplicationDeploymentType applicationDeploymentType = (GramApplicationDeploymentType)applicationDeploymentDescription.getType();
-                applicationDeploymentType.setCpuCount(applicationDescriptor.getCpuCount());
-                applicationDeploymentType.setJobType(JobTypeType.Enum.forString(applicationDescriptor.getJobType()));
-                applicationDeploymentType.setMaxMemory(applicationDescriptor.getMaxMemory());
-                applicationDeploymentType.setMinMemory(applicationDescriptor.getMinMemory());
-                applicationDeploymentType.setMaxWallTime(applicationDescriptor.getMaxWallTime());
-                applicationDeploymentType.setNodeCount(applicationDescriptor.getNodeCount());
-                applicationDeploymentType.setProcessorsPerNode(applicationDescriptor.getProcessorsPerNode());
-            } else if (applicationDescriptor.getApplicationDescType().equals(ApplicationDescriptorTypes.BATCH_APP_DEP_DESC_TYPE)){
-               BatchApplicationDeploymentDescriptionType applicationDeploymentType = (BatchApplicationDeploymentDescriptionType)applicationDeploymentDescription.getType();
-                applicationDeploymentType.setCpuCount(applicationDescriptor.getCpuCount());
-                applicationDeploymentType.setJobType(JobTypeType.Enum.forString(applicationDescriptor.getJobType()));
-                applicationDeploymentType.setMaxMemory(applicationDescriptor.getMaxMemory());
-                applicationDeploymentType.setMinMemory(applicationDescriptor.getMinMemory());
-                applicationDeploymentType.setMaxWallTime(applicationDescriptor.getMaxWallTime());
-                applicationDeploymentType.setNodeCount(applicationDescriptor.getNodeCount());
-                applicationDeploymentType.setProcessorsPerNode(applicationDescriptor.getProcessorsPerNode());
+            if(applicationDescriptor.getApplicationDescType() != null && !applicationDescriptor.getApplicationDescType().isEmpty()){
+                if (applicationDescriptor.getApplicationDescType().equals(ApplicationDescriptorTypes.GRAM_APP_DEP_DESC_TYPE)){
+                    GramApplicationDeploymentType applicationDeploymentType = (GramApplicationDeploymentType)applicationDeploymentDescription.getType();
+                    applicationDeploymentType.setCpuCount(applicationDescriptor.getCpuCount());
+                    applicationDeploymentType.setJobType(JobTypeType.Enum.forString(applicationDescriptor.getJobType()));
+                    applicationDeploymentType.setMaxMemory(applicationDescriptor.getMaxMemory());
+                    applicationDeploymentType.setMinMemory(applicationDescriptor.getMinMemory());
+                    applicationDeploymentType.setMaxWallTime(applicationDescriptor.getMaxWallTime());
+                    applicationDeploymentType.setNodeCount(applicationDescriptor.getNodeCount());
+                    applicationDeploymentType.setProcessorsPerNode(applicationDescriptor.getProcessorsPerNode());
+                } else if (applicationDescriptor.getApplicationDescType().equals(ApplicationDescriptorTypes.BATCH_APP_DEP_DESC_TYPE)){
+                    BatchApplicationDeploymentDescriptionType applicationDeploymentType = (BatchApplicationDeploymentDescriptionType)applicationDeploymentDescription.getType();
+                    applicationDeploymentType.setCpuCount(applicationDescriptor.getCpuCount());
+                    applicationDeploymentType.setJobType(JobTypeType.Enum.forString(applicationDescriptor.getJobType()));
+                    applicationDeploymentType.setMaxMemory(applicationDescriptor.getMaxMemory());
+                    applicationDeploymentType.setMinMemory(applicationDescriptor.getMinMemory());
+                    applicationDeploymentType.setMaxWallTime(applicationDescriptor.getMaxWallTime());
+                    applicationDeploymentType.setNodeCount(applicationDescriptor.getNodeCount());
+                    applicationDeploymentType.setProcessorsPerNode(applicationDescriptor.getProcessorsPerNode());
+                }
             }
-
             String serviceName = applicationDescriptor.getServiceName();
             airavataRegistry.addApplicationDescriptor(serviceName, hostdescName, applicationDeploymentDescription);
             Response.ResponseBuilder builder = Response.status(Response.Status.NO_CONTENT);
@@ -1215,31 +1224,36 @@ import java.util.*;
                 return builder.build();
             }
             ApplicationDeploymentDescription applicationDeploymentDescription = new ApplicationDeploymentDescription();
-            applicationDeploymentDescription.getType().getApplicationName().setStringValue(applicationDescriptor.getApplicationName());
+            ApplicationDeploymentDescriptionType.ApplicationName name = ApplicationDeploymentDescriptionType.ApplicationName.Factory.newInstance();
+            name.setStringValue(applicationDescriptor.getApplicationName());
+            applicationDeploymentDescription.getType().setApplicationName(name);
             applicationDeploymentDescription.getType().setExecutableLocation(applicationDescriptor.getExecutablePath());
             applicationDeploymentDescription.getType().setOutputDataDirectory(applicationDescriptor.getWorkingDir());
 
             //set advanced options according app desc type
-            if (applicationDescriptor.getApplicationDescType().equals(ApplicationDescriptorTypes.GRAM_APP_DEP_DESC_TYPE)){
-                GramApplicationDeploymentType applicationDeploymentType = (GramApplicationDeploymentType)applicationDeploymentDescription.getType();
-                applicationDeploymentType.setCpuCount(applicationDescriptor.getCpuCount());
-                applicationDeploymentType.setJobType(JobTypeType.Enum.forString(applicationDescriptor.getJobType()));
-                applicationDeploymentType.setMaxMemory(applicationDescriptor.getMaxMemory());
-                applicationDeploymentType.setMinMemory(applicationDescriptor.getMinMemory());
-                applicationDeploymentType.setMaxWallTime(applicationDescriptor.getMaxWallTime());
-                applicationDeploymentType.setNodeCount(applicationDescriptor.getNodeCount());
-                applicationDeploymentType.setProcessorsPerNode(applicationDescriptor.getProcessorsPerNode());
-            } else if (applicationDescriptor.getApplicationDescType().equals(ApplicationDescriptorTypes.BATCH_APP_DEP_DESC_TYPE)){
-                BatchApplicationDeploymentDescriptionType applicationDeploymentType = (BatchApplicationDeploymentDescriptionType)applicationDeploymentDescription.getType();
-                applicationDeploymentType.setCpuCount(applicationDescriptor.getCpuCount());
-                applicationDeploymentType.setJobType(JobTypeType.Enum.forString(applicationDescriptor.getJobType()));
-                applicationDeploymentType.setMaxMemory(applicationDescriptor.getMaxMemory());
-                applicationDeploymentType.setMinMemory(applicationDescriptor.getMinMemory());
-                applicationDeploymentType.setMaxWallTime(applicationDescriptor.getMaxWallTime());
-                applicationDeploymentType.setNodeCount(applicationDescriptor.getNodeCount());
-                applicationDeploymentType.setProcessorsPerNode(applicationDescriptor.getProcessorsPerNode());
+            if(applicationDescriptor.getApplicationDescType() != null && !applicationDescriptor.getApplicationDescType().isEmpty()){
+                if (applicationDescriptor.getApplicationDescType().equals(ApplicationDescriptorTypes.GRAM_APP_DEP_DESC_TYPE)){
+                    GramApplicationDeploymentType applicationDeploymentType = (GramApplicationDeploymentType)applicationDeploymentDescription.getType();
+                    applicationDeploymentType.setCpuCount(applicationDescriptor.getCpuCount());
+                    applicationDeploymentType.setJobType(JobTypeType.Enum.forString(applicationDescriptor.getJobType()));
+                    applicationDeploymentType.setMaxMemory(applicationDescriptor.getMaxMemory());
+                    applicationDeploymentType.setMinMemory(applicationDescriptor.getMinMemory());
+                    applicationDeploymentType.setMaxWallTime(applicationDescriptor.getMaxWallTime());
+                    applicationDeploymentType.setNodeCount(applicationDescriptor.getNodeCount());
+                    applicationDeploymentType.setProcessorsPerNode(applicationDescriptor.getProcessorsPerNode());
+                } else if (applicationDescriptor.getApplicationDescType().equals(ApplicationDescriptorTypes.BATCH_APP_DEP_DESC_TYPE)){
+                    BatchApplicationDeploymentDescriptionType applicationDeploymentType = (BatchApplicationDeploymentDescriptionType)applicationDeploymentDescription.getType();
+                    applicationDeploymentType.setCpuCount(applicationDescriptor.getCpuCount());
+                    applicationDeploymentType.setJobType(JobTypeType.Enum.forString(applicationDescriptor.getJobType()));
+                    applicationDeploymentType.setMaxMemory(applicationDescriptor.getMaxMemory());
+                    applicationDeploymentType.setMinMemory(applicationDescriptor.getMinMemory());
+                    applicationDeploymentType.setMaxWallTime(applicationDescriptor.getMaxWallTime());
+                    applicationDeploymentType.setNodeCount(applicationDescriptor.getNodeCount());
+                    applicationDeploymentType.setProcessorsPerNode(applicationDescriptor.getProcessorsPerNode());
+                }
             }
 
+
             String serviceName = applicationDescriptor.getServiceName();
             airavataRegistry.updateApplicationDescriptor(serviceName, hostdescName, applicationDeploymentDescription);
             Response.ResponseBuilder builder = Response.status(Response.Status.NO_CONTENT);
@@ -1292,23 +1306,26 @@ import java.util.*;
             applicationDescriptor.setApplicationName(applicationDeploymentDescription.getType().getApplicationName().getStringValue());
             applicationDescriptor.setExecutablePath(applicationDeploymentDescription.getType().getExecutableLocation());
             applicationDescriptor.setWorkingDir(applicationDeploymentDescription.getType().getOutputDataDirectory());
-            if(applicationDescriptor.getApplicationDescType().equals(ApplicationDescriptorTypes.GRAM_APP_DEP_DESC_TYPE)){
-                GramApplicationDeploymentType gramApplicationDeploymentType = (GramApplicationDeploymentType)applicationDeploymentDescription.getType();
-                applicationDescriptor.setCpuCount(gramApplicationDeploymentType.getCpuCount());
-                applicationDescriptor.setNodeCount(gramApplicationDeploymentType.getNodeCount());
-                applicationDescriptor.setMaxMemory(gramApplicationDeploymentType.getMaxMemory());
-                applicationDescriptor.setMinMemory(gramApplicationDeploymentType.getMinMemory());
-                applicationDescriptor.setMaxWallTime(gramApplicationDeploymentType.getMaxWallTime());
-                applicationDescriptor.setQueueName(gramApplicationDeploymentType.getQueue().getQueueName());
-            } else if (applicationDescriptor.getApplicationDescType().equals(ApplicationDescriptorTypes.BATCH_APP_DEP_DESC_TYPE)){
-                BatchApplicationDeploymentDescriptionType batchApplicationDeploymentDescriptionType = (BatchApplicationDeploymentDescriptionType)applicationDeploymentDescription.getType();
-                applicationDescriptor.setCpuCount(batchApplicationDeploymentDescriptionType.getCpuCount());
-                applicationDescriptor.setNodeCount(batchApplicationDeploymentDescriptionType.getNodeCount());
-                applicationDescriptor.setMaxMemory(batchApplicationDeploymentDescriptionType.getMaxMemory());
-                applicationDescriptor.setMinMemory(batchApplicationDeploymentDescriptionType.getMinMemory());
-                applicationDescriptor.setMaxWallTime(batchApplicationDeploymentDescriptionType.getMaxWallTime());
-                applicationDescriptor.setQueueName(batchApplicationDeploymentDescriptionType.getQueue().getQueueName());
+            if(applicationDeploymentDescription.getType() != null){
+                if(applicationDeploymentDescription.getType() instanceof GramApplicationDeploymentType){
+                    GramApplicationDeploymentType gramApplicationDeploymentType = (GramApplicationDeploymentType)applicationDeploymentDescription.getType();
+                    applicationDescriptor.setCpuCount(gramApplicationDeploymentType.getCpuCount());
+                    applicationDescriptor.setNodeCount(gramApplicationDeploymentType.getNodeCount());
+                    applicationDescriptor.setMaxMemory(gramApplicationDeploymentType.getMaxMemory());
+                    applicationDescriptor.setMinMemory(gramApplicationDeploymentType.getMinMemory());
+                    applicationDescriptor.setMaxWallTime(gramApplicationDeploymentType.getMaxWallTime());
+                    applicationDescriptor.setQueueName(gramApplicationDeploymentType.getQueue().getQueueName());
+                } else if (applicationDeploymentDescription.getType() instanceof BatchApplicationDeploymentDescriptionType){
+                    BatchApplicationDeploymentDescriptionType batchApplicationDeploymentDescriptionType = (BatchApplicationDeploymentDescriptionType)applicationDeploymentDescription.getType();
+                    applicationDescriptor.setCpuCount(batchApplicationDeploymentDescriptionType.getCpuCount());
+                    applicationDescriptor.setNodeCount(batchApplicationDeploymentDescriptionType.getNodeCount());
+                    applicationDescriptor.setMaxMemory(batchApplicationDeploymentDescriptionType.getMaxMemory());
+                    applicationDescriptor.setMinMemory(batchApplicationDeploymentDescriptionType.getMinMemory());
+                    applicationDescriptor.setMaxWallTime(batchApplicationDeploymentDescriptionType.getMaxWallTime());
+                    applicationDescriptor.setQueueName(batchApplicationDeploymentDescriptionType.getQueue().getQueueName());
+                }
             }
+
             if (applicationDescriptor != null) {
                 Response.ResponseBuilder builder = Response.status(Response.Status.OK);
                 builder.entity(applicationDescriptor);
@@ -1335,23 +1352,26 @@ import java.util.*;
             applicationDescriptor.setApplicationName(applicationDeploymentDescription.getType().getApplicationName().getStringValue());
             applicationDescriptor.setExecutablePath(applicationDeploymentDescription.getType().getExecutableLocation());
             applicationDescriptor.setWorkingDir(applicationDeploymentDescription.getType().getOutputDataDirectory());
-            if(applicationDescriptor.getApplicationDescType().equals(ApplicationDescriptorTypes.GRAM_APP_DEP_DESC_TYPE)){
-                GramApplicationDeploymentType gramApplicationDeploymentType = (GramApplicationDeploymentType)applicationDeploymentDescription.getType();
-                applicationDescriptor.setCpuCount(gramApplicationDeploymentType.getCpuCount());
-                applicationDescriptor.setNodeCount(gramApplicationDeploymentType.getNodeCount());
-                applicationDescriptor.setMaxMemory(gramApplicationDeploymentType.getMaxMemory());
-                applicationDescriptor.setMinMemory(gramApplicationDeploymentType.getMinMemory());
-                applicationDescriptor.setMaxWallTime(gramApplicationDeploymentType.getMaxWallTime());
-                applicationDescriptor.setQueueName(gramApplicationDeploymentType.getQueue().getQueueName());
-            } else if (applicationDescriptor.getApplicationDescType().equals(ApplicationDescriptorTypes.BATCH_APP_DEP_DESC_TYPE)){
-                BatchApplicationDeploymentDescriptionType batchApplicationDeploymentDescriptionType = (BatchApplicationDeploymentDescriptionType)applicationDeploymentDescription.getType();
-                applicationDescriptor.setCpuCount(batchApplicationDeploymentDescriptionType.getCpuCount());
-                applicationDescriptor.setNodeCount(batchApplicationDeploymentDescriptionType.getNodeCount());
-                applicationDescriptor.setMaxMemory(batchApplicationDeploymentDescriptionType.getMaxMemory());
-                applicationDescriptor.setMinMemory(batchApplicationDeploymentDescriptionType.getMinMemory());
-                applicationDescriptor.setMaxWallTime(batchApplicationDeploymentDescriptionType.getMaxWallTime());
-                applicationDescriptor.setQueueName(batchApplicationDeploymentDescriptionType.getQueue().getQueueName());
+            if(applicationDeploymentDescription.getType() != null){
+                if(applicationDeploymentDescription.getType() instanceof GramApplicationDeploymentType){
+                    GramApplicationDeploymentType gramApplicationDeploymentType = (GramApplicationDeploymentType)applicationDeploymentDescription.getType();
+                    applicationDescriptor.setCpuCount(gramApplicationDeploymentType.getCpuCount());
+                    applicationDescriptor.setNodeCount(gramApplicationDeploymentType.getNodeCount());
+                    applicationDescriptor.setMaxMemory(gramApplicationDeploymentType.getMaxMemory());
+                    applicationDescriptor.setMinMemory(gramApplicationDeploymentType.getMinMemory());
+                    applicationDescriptor.setMaxWallTime(gramApplicationDeploymentType.getMaxWallTime());
+                    applicationDescriptor.setQueueName(gramApplicationDeploymentType.getQueue().getQueueName());
+                } else if (applicationDeploymentDescription.getType() instanceof BatchApplicationDeploymentDescriptionType){
+                    BatchApplicationDeploymentDescriptionType batchApplicationDeploymentDescriptionType = (BatchApplicationDeploymentDescriptionType)applicationDeploymentDescription.getType();
+                    applicationDescriptor.setCpuCount(batchApplicationDeploymentDescriptionType.getCpuCount());
+                    applicationDescriptor.setNodeCount(batchApplicationDeploymentDescriptionType.getNodeCount());
+                    applicationDescriptor.setMaxMemory(batchApplicationDeploymentDescriptionType.getMaxMemory());
+                    applicationDescriptor.setMinMemory(batchApplicationDeploymentDescriptionType.getMinMemory());
+                    applicationDescriptor.setMaxWallTime(batchApplicationDeploymentDescriptionType.getMaxWallTime());
+                    applicationDescriptor.setQueueName(batchApplicationDeploymentDescriptionType.getQueue().getQueueName());
+                }
             }
+
             if (applicationDescriptor != null) {
                 Response.ResponseBuilder builder = Response.status(Response.Status.OK);
                 builder.entity(applicationDescriptor);
@@ -1383,23 +1403,26 @@ import java.util.*;
                 applicationDescriptor.setApplicationName(applicationDeploymentDescription.getType().getApplicationName().getStringValue());
                 applicationDescriptor.setExecutablePath(applicationDeploymentDescription.getType().getExecutableLocation());
                 applicationDescriptor.setWorkingDir(applicationDeploymentDescription.getType().getOutputDataDirectory());
-                if(applicationDescriptor.getApplicationDescType().equals(ApplicationDescriptorTypes.GRAM_APP_DEP_DESC_TYPE)){
-                    GramApplicationDeploymentType gramApplicationDeploymentType = (GramApplicationDeploymentType)applicationDeploymentDescription.getType();
-                    applicationDescriptor.setCpuCount(gramApplicationDeploymentType.getCpuCount());
-                    applicationDescriptor.setNodeCount(gramApplicationDeploymentType.getNodeCount());
-                    applicationDescriptor.setMaxMemory(gramApplicationDeploymentType.getMaxMemory());
-                    applicationDescriptor.setMinMemory(gramApplicationDeploymentType.getMinMemory());
-                    applicationDescriptor.setMaxWallTime(gramApplicationDeploymentType.getMaxWallTime());
-                    applicationDescriptor.setQueueName(gramApplicationDeploymentType.getQueue().getQueueName());
-                } else if (applicationDescriptor.getApplicationDescType().equals(ApplicationDescriptorTypes.BATCH_APP_DEP_DESC_TYPE)){
-                    BatchApplicationDeploymentDescriptionType batchApplicationDeploymentDescriptionType = (BatchApplicationDeploymentDescriptionType)applicationDeploymentDescription.getType();
-                    applicationDescriptor.setCpuCount(batchApplicationDeploymentDescriptionType.getCpuCount());
-                    applicationDescriptor.setNodeCount(batchApplicationDeploymentDescriptionType.getNodeCount());
-                    applicationDescriptor.setMaxMemory(batchApplicationDeploymentDescriptionType.getMaxMemory());
-                    applicationDescriptor.setMinMemory(batchApplicationDeploymentDescriptionType.getMinMemory());
-                    applicationDescriptor.setMaxWallTime(batchApplicationDeploymentDescriptionType.getMaxWallTime());
-                    applicationDescriptor.setQueueName(batchApplicationDeploymentDescriptionType.getQueue().getQueueName());
+                if(applicationDeploymentDescription.getType() != null){
+                    if(applicationDeploymentDescription.getType() instanceof GramApplicationDeploymentType){
+                        GramApplicationDeploymentType gramApplicationDeploymentType = (GramApplicationDeploymentType)applicationDeploymentDescription.getType();
+                        applicationDescriptor.setCpuCount(gramApplicationDeploymentType.getCpuCount());
+                        applicationDescriptor.setNodeCount(gramApplicationDeploymentType.getNodeCount());
+                        applicationDescriptor.setMaxMemory(gramApplicationDeploymentType.getMaxMemory());
+                        applicationDescriptor.setMinMemory(gramApplicationDeploymentType.getMinMemory());
+                        applicationDescriptor.setMaxWallTime(gramApplicationDeploymentType.getMaxWallTime());
+                        applicationDescriptor.setQueueName(gramApplicationDeploymentType.getQueue().getQueueName());
+                    } else if (applicationDeploymentDescription.getType() instanceof BatchApplicationDeploymentDescriptionType){
+                        BatchApplicationDeploymentDescriptionType batchApplicationDeploymentDescriptionType = (BatchApplicationDeploymentDescriptionType)applicationDeploymentDescription.getType();
+                        applicationDescriptor.setCpuCount(batchApplicationDeploymentDescriptionType.getCpuCount());
+                        applicationDescriptor.setNodeCount(batchApplicationDeploymentDescriptionType.getNodeCount());
+                        applicationDescriptor.setMaxMemory(batchApplicationDeploymentDescriptionType.getMaxMemory());
+                        applicationDescriptor.setMinMemory(batchApplicationDeploymentDescriptionType.getMinMemory());
+                        applicationDescriptor.setMaxWallTime(batchApplicationDeploymentDescriptionType.getMaxWallTime());
+                        applicationDescriptor.setQueueName(batchApplicationDeploymentDescriptionType.getQueue().getQueueName());
+                    }
                 }
+
                 applicationDescriptors[i] = applicationDescriptor;
                 i++;
             }
@@ -1439,23 +1462,26 @@ import java.util.*;
                 applicationDescriptor.setApplicationName(applicationDeploymentDescription.getType().getApplicationName().getStringValue());
                 applicationDescriptor.setExecutablePath(applicationDeploymentDescription.getType().getExecutableLocation());
                 applicationDescriptor.setWorkingDir(applicationDeploymentDescription.getType().getOutputDataDirectory());
-                if(applicationDescriptor.getApplicationDescType().equals(ApplicationDescriptorTypes.GRAM_APP_DEP_DESC_TYPE)){
-                    GramApplicationDeploymentType gramApplicationDeploymentType = (GramApplicationDeploymentType)applicationDeploymentDescription.getType();
-                    applicationDescriptor.setCpuCount(gramApplicationDeploymentType.getCpuCount());
-                    applicationDescriptor.setNodeCount(gramApplicationDeploymentType.getNodeCount());
-                    applicationDescriptor.setMaxMemory(gramApplicationDeploymentType.getMaxMemory());
-                    applicationDescriptor.setMinMemory(gramApplicationDeploymentType.getMinMemory());
-                    applicationDescriptor.setMaxWallTime(gramApplicationDeploymentType.getMaxWallTime());
-                    applicationDescriptor.setQueueName(gramApplicationDeploymentType.getQueue().getQueueName());
-                } else if (applicationDescriptor.getApplicationDescType().equals(ApplicationDescriptorTypes.BATCH_APP_DEP_DESC_TYPE)){
-                    BatchApplicationDeploymentDescriptionType batchApplicationDeploymentDescriptionType = (BatchApplicationDeploymentDescriptionType)applicationDeploymentDescription.getType();
-                    applicationDescriptor.setCpuCount(batchApplicationDeploymentDescriptionType.getCpuCount());
-                    applicationDescriptor.setNodeCount(batchApplicationDeploymentDescriptionType.getNodeCount());
-                    applicationDescriptor.setMaxMemory(batchApplicationDeploymentDescriptionType.getMaxMemory());
-                    applicationDescriptor.setMinMemory(batchApplicationDeploymentDescriptionType.getMinMemory());
-                    applicationDescriptor.setMaxWallTime(batchApplicationDeploymentDescriptionType.getMaxWallTime());
-                    applicationDescriptor.setQueueName(batchApplicationDeploymentDescriptionType.getQueue().getQueueName());
+                if(applicationDeploymentDescription.getType() != null){
+                    if(applicationDeploymentDescription.getType() instanceof GramApplicationDeploymentType){
+                        GramApplicationDeploymentType gramApplicationDeploymentType = (GramApplicationDeploymentType)applicationDeploymentDescription.getType();
+                        applicationDescriptor.setCpuCount(gramApplicationDeploymentType.getCpuCount());
+                        applicationDescriptor.setNodeCount(gramApplicationDeploymentType.getNodeCount());
+                        applicationDescriptor.setMaxMemory(gramApplicationDeploymentType.getMaxMemory());
+                        applicationDescriptor.setMinMemory(gramApplicationDeploymentType.getMinMemory());
+                        applicationDescriptor.setMaxWallTime(gramApplicationDeploymentType.getMaxWallTime());
+                        applicationDescriptor.setQueueName(gramApplicationDeploymentType.getQueue().getQueueName());
+                    } else if (applicationDeploymentDescription.getType() instanceof BatchApplicationDeploymentDescriptionType){
+                        BatchApplicationDeploymentDescriptionType batchApplicationDeploymentDescriptionType = (BatchApplicationDeploymentDescriptionType)applicationDeploymentDescription.getType();
+                        applicationDescriptor.setCpuCount(batchApplicationDeploymentDescriptionType.getCpuCount());
+                        applicationDescriptor.setNodeCount(batchApplicationDeploymentDescriptionType.getNodeCount());
+                        applicationDescriptor.setMaxMemory(batchApplicationDeploymentDescriptionType.getMaxMemory());
+                        applicationDescriptor.setMinMemory(batchApplicationDeploymentDescriptionType.getMinMemory());
+                        applicationDescriptor.setMaxWallTime(batchApplicationDeploymentDescriptionType.getMaxWallTime());
+                        applicationDescriptor.setQueueName(batchApplicationDeploymentDescriptionType.getQueue().getQueueName());
+                    }
                 }
+
                 applicationDescriptors[i] = applicationDescriptor;
                 i++;
             }

Modified: airavata/sandbox/airavata-registry-rest/src/main/java/org/apache/airavata/services/registry/rest/utils/RegistryListener.java
URL: http://svn.apache.org/viewvc/airavata/sandbox/airavata-registry-rest/src/main/java/org/apache/airavata/services/registry/rest/utils/RegistryListener.java?rev=1404314&r1=1404313&r2=1404314&view=diff
==============================================================================
--- airavata/sandbox/airavata-registry-rest/src/main/java/org/apache/airavata/services/registry/rest/utils/RegistryListener.java (original)
+++ airavata/sandbox/airavata-registry-rest/src/main/java/org/apache/airavata/services/registry/rest/utils/RegistryListener.java Wed Oct 31 19:40:13 2012
@@ -5,9 +5,9 @@ import org.apache.airavata.registry.api.
 import org.apache.airavata.registry.api.AiravataUser;
 import org.apache.airavata.registry.api.Gateway;
 
-import org.apache.airavata.client.AiravataClient;
-import org.apache.airavata.client.AiravataClientUtils;
-import org.apache.airavata.client.api.AiravataAPI;
+//import org.apache.airavata.client.AiravataClient;
+//import org.apache.airavata.client.AiravataClientUtils;
+//import org.apache.airavata.client.api.AiravataAPI;
 
 import javax.servlet.ServletContext;
 import javax.servlet.ServletContextEvent;
@@ -41,8 +41,8 @@ public class RegistryListener implements
             servletContext.setAttribute(RestServicesConstants.GATEWAY, gateway);
             servletContext.setAttribute(RestServicesConstants.REGISTRY_USER, airavataUser);
 
-            AiravataAPI airavataAPI = AiravataClientUtils.getAPI(url.getPath());
-            servletContext.setAttribute(RestServicesConstants.AIRAVATA_API, airavataAPI);
+//            AiravataAPI airavataAPI = AiravataClientUtils.getAPI(url.getPath());
+//            servletContext.setAttribute(RestServicesConstants.AIRAVATA_API, airavataAPI);
         } catch (Exception e) {
             e.printStackTrace();
         }