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();
         }


Reply via email to