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/30 20:09:45 UTC
svn commit: r1403817 - in
/airavata/sandbox/airavata-registry-rest/src/main/java/org/apache/airavata/services/registry/rest:
resourcemappings/ApplicationDescriptor.java
resources/ApplicationRegistration.java resources/RegistryResource.java
Author: chathuri
Date: Tue Oct 30 19:09:44 2012
New Revision: 1403817
URL: http://svn.apache.org/viewvc?rev=1403817&view=rev
Log:
updating methods to get JSON messages
Modified:
airavata/sandbox/airavata-registry-rest/src/main/java/org/apache/airavata/services/registry/rest/resourcemappings/ApplicationDescriptor.java
airavata/sandbox/airavata-registry-rest/src/main/java/org/apache/airavata/services/registry/rest/resources/ApplicationRegistration.java
airavata/sandbox/airavata-registry-rest/src/main/java/org/apache/airavata/services/registry/rest/resources/RegistryResource.java
Modified: airavata/sandbox/airavata-registry-rest/src/main/java/org/apache/airavata/services/registry/rest/resourcemappings/ApplicationDescriptor.java
URL: http://svn.apache.org/viewvc/airavata/sandbox/airavata-registry-rest/src/main/java/org/apache/airavata/services/registry/rest/resourcemappings/ApplicationDescriptor.java?rev=1403817&r1=1403816&r2=1403817&view=diff
==============================================================================
--- airavata/sandbox/airavata-registry-rest/src/main/java/org/apache/airavata/services/registry/rest/resourcemappings/ApplicationDescriptor.java (original)
+++ airavata/sandbox/airavata-registry-rest/src/main/java/org/apache/airavata/services/registry/rest/resourcemappings/ApplicationDescriptor.java Tue Oct 30 19:09:44 2012
@@ -27,7 +27,7 @@ import javax.xml.bind.annotation.XmlRoot
public class ApplicationDescriptor {
private String applicationName;
private String hostdescName;
- private ServiceDescriptor serviceDesc;
+ private String serviceName;
private String executablePath;
private String workingDir;
private String jobType;
@@ -58,12 +58,12 @@ public class ApplicationDescriptor {
this.hostdescName = hostdescName;
}
- public ServiceDescriptor getServiceDesc() {
- return serviceDesc;
+ public String getServiceName() {
+ return serviceName;
}
- public void setServiceDesc(ServiceDescriptor serviceDesc) {
- this.serviceDesc = serviceDesc;
+ public void setServiceName(String serviceName) {
+ this.serviceName = serviceName;
}
public String getExecutablePath() {
Modified: airavata/sandbox/airavata-registry-rest/src/main/java/org/apache/airavata/services/registry/rest/resources/ApplicationRegistration.java
URL: http://svn.apache.org/viewvc/airavata/sandbox/airavata-registry-rest/src/main/java/org/apache/airavata/services/registry/rest/resources/ApplicationRegistration.java?rev=1403817&r1=1403816&r2=1403817&view=diff
==============================================================================
--- airavata/sandbox/airavata-registry-rest/src/main/java/org/apache/airavata/services/registry/rest/resources/ApplicationRegistration.java (original)
+++ airavata/sandbox/airavata-registry-rest/src/main/java/org/apache/airavata/services/registry/rest/resources/ApplicationRegistration.java Tue Oct 30 19:09:44 2012
@@ -14,12 +14,10 @@ import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-import org.apache.airavata.commons.gfac.type.ServiceDescription;
import org.apache.airavata.registry.api.AiravataRegistry2;
import org.apache.airavata.services.registry.rest.resourcemappings.ApplicationDescriptor;
import org.apache.airavata.services.registry.rest.resourcemappings.ServiceDescriptor;
import org.apache.airavata.services.registry.rest.resourcemappings.ServiceParameters;
-import org.apache.airavata.services.registry.rest.utils.RestServicesConstants;
@Path("/api/application")
public class ApplicationRegistration {
@@ -92,7 +90,7 @@ public class ApplicationRegistration {
descriptor.setInputParams(inputlist);
descriptor.setOutputParams(outputlist);
- application.setServiceDesc(descriptor);
+ application.setServiceName(descriptor);
application.setHostdescName("localhost");
return application;
} catch (Exception e) {
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=1403817&r1=1403816&r2=1403817&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 Tue Oct 30 19:09:44 2012
@@ -10,16 +10,13 @@ import org.apache.airavata.registry.api.
import org.apache.airavata.registry.api.exception.worker.*;
import org.apache.airavata.registry.api.workflow.*;
import org.apache.airavata.schemas.gfac.*;
-import org.apache.airavata.schemas.gfac.impl.InputParameterTypeImpl;
import org.apache.airavata.services.registry.rest.resourcemappings.*;
import org.apache.airavata.registry.api.AiravataExperiment;
import org.apache.airavata.services.registry.rest.resourcemappings.WorkflowInstanceMapping;
+import org.apache.airavata.services.registry.rest.utils.ApplicationDescriptorTypes;
import org.apache.airavata.services.registry.rest.utils.DescriptorUtil;
import org.apache.airavata.services.registry.rest.utils.HostTypes;
import org.apache.airavata.services.registry.rest.utils.RestServicesConstants;
-import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.impl.llom.util.AXIOMUtil;
-import org.apache.xmlbeans.XmlException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -28,7 +25,6 @@ import javax.ws.rs.*;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-import javax.xml.stream.XMLStreamException;
import java.net.URI;
import java.text.DateFormat;
import java.text.ParseException;
@@ -540,7 +536,7 @@ import java.util.*;
}
@POST
- @Path("hostdescriptor/save")
+ @Path("hostdescriptor/save/test")
@Produces(MediaType.TEXT_PLAIN)
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
public Response addHostDescriptor(@FormParam("hostName") String hostName,
@@ -564,10 +560,10 @@ import java.util.*;
}
@POST
- @Path("hostdescriptor/save/jason")
+ @Path("hostdescriptor/save")
@Consumes({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
@Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
- public Response addJasonHostDescriptor(HostDescriptor host) {
+ public Response addJSONHostDescriptor(HostDescriptor host) {
airavataRegistry = (AiravataRegistry2) context.getAttribute(RestServicesConstants.AIRAVATA_REGISTRY);
try{
HostDescription hostDescription = new HostDescription();
@@ -831,7 +827,7 @@ import java.util.*;
@Path("servicedescriptor/save")
@Consumes({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
@Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
- public Response addServiceDescriptor(ServiceDescriptor service){
+ public Response addJSONServiceDescriptor(ServiceDescriptor service){
airavataRegistry = (AiravataRegistry2) context.getAttribute(RestServicesConstants.AIRAVATA_REGISTRY);
try{
ServiceDescription serviceDescription = new ServiceDescription();
@@ -1080,7 +1076,7 @@ import java.util.*;
@Path("applicationdescriptor/build/save")
@Consumes({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
@Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
- public Response addApplicationDescriptor(ApplicationDescriptor applicationDescriptor){
+ public Response addJSONApplicationDescriptor(ApplicationDescriptor applicationDescriptor){
airavataRegistry = (AiravataRegistry2) context.getAttribute(RestServicesConstants.AIRAVATA_REGISTRY);
try{
String hostdescName = applicationDescriptor.getHostdescName();
@@ -1094,9 +1090,27 @@ import java.util.*;
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());
+ }
-
- String serviceName = applicationDescriptor.getServiceDesc().getServiceName();
+ String serviceName = applicationDescriptor.getServiceName();
airavataRegistry.addApplicationDescriptor(serviceName, hostdescName, applicationDeploymentDescription);
Response.ResponseBuilder builder = Response.status(Response.Status.NO_CONTENT);
return builder.build();
@@ -1110,54 +1124,78 @@ import java.util.*;
}
+//
+// @POST
+// @Path("applicationdescriptor/save")
+// @Consumes(MediaType.TEXT_XML)
+// @Produces(MediaType.TEXT_PLAIN)
+// public Response addApplicationDesc(@FormParam("serviceName") String serviceName,
+// @FormParam("hostName") String hostName,
+// String application) {
+// airavataRegistry = (AiravataRegistry2) context.getAttribute(RestServicesConstants.AIRAVATA_REGISTRY);
+// try{
+// ApplicationDeploymentDescription applicationDeploymentDescription = ApplicationDeploymentDescription.fromXML(application);
+// airavataRegistry.addApplicationDescriptor(serviceName, hostName, applicationDeploymentDescription);
+// Response.ResponseBuilder builder = Response.status(Response.Status.NO_CONTENT);
+// return builder.build();
+// } catch (DescriptorAlreadyExistsException e){
+// Response.ResponseBuilder builder = Response.status(Response.Status.BAD_REQUEST);
+// return builder.build();
+// } catch (XmlException e) {
+// Response.ResponseBuilder builder = Response.status(Response.Status.BAD_REQUEST);
+// return builder.build();
+// } catch (RegistryException e) {
+// Response.ResponseBuilder builder = Response.status(Response.Status.INTERNAL_SERVER_ERROR);
+// return builder.build();
+// }
+//
+// }
@POST
- @Path("applicationdescriptor/save")
- @Consumes(MediaType.TEXT_XML)
- @Produces(MediaType.TEXT_PLAIN)
- public Response addApplicationDesc(@FormParam("serviceName") String serviceName,
- @FormParam("hostName") String hostName,
- String application) {
+ @Path("applicationdescriptor/update")
+ @Consumes({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
+ @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
+ public Response udpateApplicationDescriptorByDescriptors(ApplicationDescriptor applicationDescriptor) {
airavataRegistry = (AiravataRegistry2) context.getAttribute(RestServicesConstants.AIRAVATA_REGISTRY);
try{
- ApplicationDeploymentDescription applicationDeploymentDescription = ApplicationDeploymentDescription.fromXML(application);
- airavataRegistry.addApplicationDescriptor(serviceName, hostName, applicationDeploymentDescription);
- Response.ResponseBuilder builder = Response.status(Response.Status.NO_CONTENT);
- return builder.build();
- } catch (DescriptorAlreadyExistsException e){
- Response.ResponseBuilder builder = Response.status(Response.Status.BAD_REQUEST);
- return builder.build();
- } catch (XmlException e) {
- Response.ResponseBuilder builder = Response.status(Response.Status.BAD_REQUEST);
- return builder.build();
- } catch (RegistryException e) {
- Response.ResponseBuilder builder = Response.status(Response.Status.INTERNAL_SERVER_ERROR);
- return builder.build();
- }
+ String hostdescName = applicationDescriptor.getHostdescName();
+ if(!airavataRegistry.isHostDescriptorExists(hostdescName)){
+ Response.ResponseBuilder builder = Response.status(Response.Status.INTERNAL_SERVER_ERROR);
+ return builder.build();
+ }
+ ApplicationDeploymentDescription applicationDeploymentDescription = new ApplicationDeploymentDescription();
+ applicationDeploymentDescription.getType().getApplicationName().setStringValue(applicationDescriptor.getApplicationName());
+ 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());
+ }
- @POST
- @Path("applicationdescriptor/update/descriptor")
- @Consumes(MediaType.TEXT_XML)
- @Produces(MediaType.TEXT_PLAIN)
- public Response udpateApplicationDescriptorByDescriptors(String service,
- String host,
- String application) {
- airavataRegistry = (AiravataRegistry2) context.getAttribute(RestServicesConstants.AIRAVATA_REGISTRY);
- try{
- ServiceDescription serviceDescription = ServiceDescription.fromXML(service);
- HostDescription hostDescription = HostDescription.fromXML(host);
- ApplicationDeploymentDescription applicationDeploymentDescription = ApplicationDeploymentDescription.fromXML(application);
- airavataRegistry.udpateApplicationDescriptor(serviceDescription, hostDescription, applicationDeploymentDescription);
+ String serviceName = applicationDescriptor.getServiceName();
+ airavataRegistry.updateApplicationDescriptor(serviceName, hostdescName, applicationDeploymentDescription);
Response.ResponseBuilder builder = Response.status(Response.Status.NO_CONTENT);
return builder.build();
} catch (DescriptorAlreadyExistsException e){
Response.ResponseBuilder builder = Response.status(Response.Status.BAD_REQUEST);
return builder.build();
- } catch (XmlException e) {
- Response.ResponseBuilder builder = Response.status(Response.Status.BAD_REQUEST);
- return builder.build();
} catch (RegistryException e) {
Response.ResponseBuilder builder = Response.status(Response.Status.INTERNAL_SERVER_ERROR);
return builder.build();
@@ -1165,30 +1203,30 @@ import java.util.*;
}
- @POST
- @Path("applicationdescriptor/update")
- @Consumes(MediaType.TEXT_XML)
- @Produces(MediaType.TEXT_PLAIN)
- public Response updateApplicationDescriptor(@FormParam("serviceName") String serviceName,
- @FormParam("hostName")String hostName,
- String application){
- airavataRegistry = (AiravataRegistry2) context.getAttribute(RestServicesConstants.AIRAVATA_REGISTRY);
- try{
- ApplicationDeploymentDescription applicationDeploymentDescription = ApplicationDeploymentDescription.fromXML(application);
- airavataRegistry.updateApplicationDescriptor(serviceName, hostName, applicationDeploymentDescription);
- Response.ResponseBuilder builder = Response.status(Response.Status.NO_CONTENT);
- return builder.build();
- } catch (DescriptorAlreadyExistsException e){
- Response.ResponseBuilder builder = Response.status(Response.Status.BAD_REQUEST);
- return builder.build();
- } catch (XmlException e) {
- Response.ResponseBuilder builder = Response.status(Response.Status.BAD_REQUEST);
- return builder.build();
- } catch (RegistryException e) {
- Response.ResponseBuilder builder = Response.status(Response.Status.INTERNAL_SERVER_ERROR);
- return builder.build();
- }
- }
+// @POST
+// @Path("applicationdescriptor/update")
+// @Consumes(MediaType.TEXT_XML)
+// @Produces(MediaType.TEXT_PLAIN)
+// public Response updateApplicationDescriptor(@FormParam("serviceName") String serviceName,
+// @FormParam("hostName")String hostName,
+// String application){
+// airavataRegistry = (AiravataRegistry2) context.getAttribute(RestServicesConstants.AIRAVATA_REGISTRY);
+// try{
+// ApplicationDeploymentDescription applicationDeploymentDescription = ApplicationDeploymentDescription.fromXML(application);
+// airavataRegistry.updateApplicationDescriptor(serviceName, hostName, applicationDeploymentDescription);
+// Response.ResponseBuilder builder = Response.status(Response.Status.NO_CONTENT);
+// return builder.build();
+// } catch (DescriptorAlreadyExistsException e){
+// Response.ResponseBuilder builder = Response.status(Response.Status.BAD_REQUEST);
+// return builder.build();
+// } catch (XmlException e) {
+// Response.ResponseBuilder builder = Response.status(Response.Status.BAD_REQUEST);
+// return builder.build();
+// } catch (RegistryException e) {
+// Response.ResponseBuilder builder = Response.status(Response.Status.INTERNAL_SERVER_ERROR);
+// return builder.build();
+// }
+// }
@GET
@Path("applicationdescriptor/description")
@@ -1198,10 +1236,31 @@ import java.util.*;
@QueryParam("applicationName") String applicationName) {
airavataRegistry = (AiravataRegistry2) context.getAttribute(RestServicesConstants.AIRAVATA_REGISTRY);
try{
- String result = airavataRegistry.getApplicationDescriptor(serviceName, hostName, applicationName).toXML();
- if (result != null) {
+ ApplicationDeploymentDescription applicationDeploymentDescription = airavataRegistry.getApplicationDescriptor(serviceName, hostName, applicationName);
+ ApplicationDescriptor applicationDescriptor = new ApplicationDescriptor();
+ 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 (applicationDescriptor != null) {
Response.ResponseBuilder builder = Response.status(Response.Status.OK);
- builder.entity(result);
+ builder.entity(applicationDescriptor);
return builder.build();
} else {
Response.ResponseBuilder builder = Response.status(Response.Status.BAD_REQUEST);
@@ -1220,10 +1279,31 @@ import java.util.*;
@QueryParam("hostName") String hostName) {
airavataRegistry = (AiravataRegistry2) context.getAttribute(RestServicesConstants.AIRAVATA_REGISTRY);
try{
- String result = airavataRegistry.getApplicationDescriptors(serviceName, hostName).toXML();
- if (result != null) {
+ ApplicationDeploymentDescription applicationDeploymentDescription = airavataRegistry.getApplicationDescriptors(serviceName, hostName);
+ ApplicationDescriptor applicationDescriptor = new ApplicationDescriptor();
+ 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 (applicationDescriptor != null) {
Response.ResponseBuilder builder = Response.status(Response.Status.OK);
- builder.entity(result);
+ builder.entity(applicationDescriptor);
return builder.build();
} else {
Response.ResponseBuilder builder = Response.status(Response.Status.BAD_REQUEST);
@@ -1235,78 +1315,116 @@ import java.util.*;
}
}
-// @GET
-// @Path("applicationdescriptor/alldescriptors/service")
-// @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
-// public Response getApplicationDescriptors(@QueryParam("serviceName") String serviceName) {
-// airavataRegistry = (AiravataRegistry2) context.getAttribute(RestServicesConstants.AIRAVATA_REGISTRY);
-// try{
-// Map<String, ApplicationDeploymentDescription> applicationDeploymentDescriptionMap = airavataRegistry.getApplicationDescriptors(serviceName);
-// ApplicationDescriptorList applicationDescriptorList = new ApplicationDescriptorList();
-// ApplicationDescriptor[] applicationDescriptors = new ApplicationDescriptor[applicationDeploymentDescriptionMap.size()];
-// int i = 0;
-// for(String hostName : applicationDeploymentDescriptionMap.keySet()){
-// ApplicationDeploymentDescription applicationDeploymentDescription = applicationDeploymentDescriptionMap.get(hostName);
-// ApplicationDescriptor applicationDescriptor = new ApplicationDescriptor();
-// applicationDescriptor.setHostdescName(hostName);
-// applicationDescriptor.setAppDocument(applicationDeploymentDescription.toXML());
-// applicationDescriptors[i] = applicationDescriptor;
-// i++;
-// }
-// applicationDescriptorList.setApplicationDescriptors(applicationDescriptors);
-// if(applicationDeploymentDescriptionMap.size() != 0){
-// Response.ResponseBuilder builder = Response.status(Response.Status.OK);
-// builder.entity(applicationDescriptorList);
-// return builder.build();
-// } else {
-// Response.ResponseBuilder builder = Response.status(Response.Status.NO_CONTENT);
-// return builder.build();
-// }
-// } catch (MalformedDescriptorException e) {
-// Response.ResponseBuilder builder = Response.status(Response.Status.INTERNAL_SERVER_ERROR);
-// return builder.build();
-// } catch (RegistryException e) {
-// Response.ResponseBuilder builder = Response.status(Response.Status.INTERNAL_SERVER_ERROR);
-// return builder.build();
-// }
-// }
+ @GET
+ @Path("applicationdescriptor/alldescriptors/service")
+ @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
+ public Response getApplicationDescriptors(@QueryParam("serviceName") String serviceName) {
+ airavataRegistry = (AiravataRegistry2) context.getAttribute(RestServicesConstants.AIRAVATA_REGISTRY);
+ try{
+ Map<String, ApplicationDeploymentDescription> applicationDeploymentDescriptionMap = airavataRegistry.getApplicationDescriptors(serviceName);
+ ApplicationDescriptorList applicationDescriptorList = new ApplicationDescriptorList();
+ ApplicationDescriptor[] applicationDescriptors = new ApplicationDescriptor[applicationDeploymentDescriptionMap.size()];
+ int i = 0;
+ for(String hostName : applicationDeploymentDescriptionMap.keySet()){
+ ApplicationDeploymentDescription applicationDeploymentDescription = applicationDeploymentDescriptionMap.get(hostName);
+ ApplicationDescriptor applicationDescriptor = new ApplicationDescriptor();
+ applicationDescriptor.setHostdescName(hostName);
+ 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());
+ }
+ applicationDescriptors[i] = applicationDescriptor;
+ i++;
+ }
+ applicationDescriptorList.setApplicationDescriptors(applicationDescriptors);
+ if(applicationDeploymentDescriptionMap.size() != 0){
+ Response.ResponseBuilder builder = Response.status(Response.Status.OK);
+ builder.entity(applicationDescriptorList);
+ return builder.build();
+ } else {
+ Response.ResponseBuilder builder = Response.status(Response.Status.NO_CONTENT);
+ return builder.build();
+ }
+ } catch (MalformedDescriptorException e) {
+ Response.ResponseBuilder builder = Response.status(Response.Status.INTERNAL_SERVER_ERROR);
+ return builder.build();
+ } catch (RegistryException e) {
+ Response.ResponseBuilder builder = Response.status(Response.Status.INTERNAL_SERVER_ERROR);
+ return builder.build();
+ }
+ }
-// @GET
-// @Path("applicationdescriptor/alldescriptors")
-// @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
-// public Response getApplicationDescriptors(){
-// airavataRegistry = (AiravataRegistry2) context.getAttribute(RestServicesConstants.AIRAVATA_REGISTRY);
-// try{
-// Map<String[], ApplicationDeploymentDescription> applicationDeploymentDescriptionMap = airavataRegistry.getApplicationDescriptors();
-// ApplicationDescriptorList applicationDescriptorList = new ApplicationDescriptorList();
-// ApplicationDescriptor[] applicationDescriptors = new ApplicationDescriptor[applicationDeploymentDescriptionMap.size()];
-// int i = 0;
-// for (String[] descriptors : applicationDeploymentDescriptionMap.keySet()){
-// ApplicationDescriptor applicationDescriptor = new ApplicationDescriptor();
-// ApplicationDeploymentDescription applicationDeploymentDescription = applicationDeploymentDescriptionMap.get(descriptors);
-// applicationDescriptor.setServiceDescName(descriptors[0]);
-// applicationDescriptor.setHostdescName(descriptors[1]);
-// applicationDescriptor.setAppDocument(applicationDeploymentDescription.toXML());
-// applicationDescriptors[i] = applicationDescriptor;
-// i++;
-// }
-// applicationDescriptorList.setApplicationDescriptors(applicationDescriptors);
-// if(applicationDeploymentDescriptionMap.size() != 0){
-// Response.ResponseBuilder builder = Response.status(Response.Status.OK);
-// builder.entity(applicationDescriptorList);
-// return builder.build();
-// } else {
-// Response.ResponseBuilder builder = Response.status(Response.Status.NO_CONTENT);
-// return builder.build();
-// }
-// } catch (MalformedDescriptorException e) {
-// Response.ResponseBuilder builder = Response.status(Response.Status.INTERNAL_SERVER_ERROR);
-// return builder.build();
-// } catch (RegistryException e) {
-// Response.ResponseBuilder builder = Response.status(Response.Status.INTERNAL_SERVER_ERROR);
-// return builder.build();
-// }
-// }
+ @GET
+ @Path("applicationdescriptor/alldescriptors")
+ @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
+ public Response getApplicationDescriptors(){
+ airavataRegistry = (AiravataRegistry2) context.getAttribute(RestServicesConstants.AIRAVATA_REGISTRY);
+ try{
+ Map<String[], ApplicationDeploymentDescription> applicationDeploymentDescriptionMap = airavataRegistry.getApplicationDescriptors();
+ ApplicationDescriptorList applicationDescriptorList = new ApplicationDescriptorList();
+ ApplicationDescriptor[] applicationDescriptors = new ApplicationDescriptor[applicationDeploymentDescriptionMap.size()];
+ int i = 0;
+ for (String[] descriptors : applicationDeploymentDescriptionMap.keySet()){
+ ApplicationDescriptor applicationDescriptor = new ApplicationDescriptor();
+ ApplicationDeploymentDescription applicationDeploymentDescription = applicationDeploymentDescriptionMap.get(descriptors);
+ applicationDescriptor.setServiceName(descriptors[0]);
+ applicationDescriptor.setHostdescName(descriptors[1]);
+ 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());
+ }
+ applicationDescriptors[i] = applicationDescriptor;
+ i++;
+ }
+ applicationDescriptorList.setApplicationDescriptors(applicationDescriptors);
+ if(applicationDeploymentDescriptionMap.size() != 0){
+ Response.ResponseBuilder builder = Response.status(Response.Status.OK);
+ builder.entity(applicationDescriptorList);
+ return builder.build();
+ } else {
+ Response.ResponseBuilder builder = Response.status(Response.Status.NO_CONTENT);
+ return builder.build();
+ }
+ } catch (MalformedDescriptorException e) {
+ Response.ResponseBuilder builder = Response.status(Response.Status.INTERNAL_SERVER_ERROR);
+ return builder.build();
+ } catch (RegistryException e) {
+ Response.ResponseBuilder builder = Response.status(Response.Status.INTERNAL_SERVER_ERROR);
+ return builder.build();
+ }
+ }
@DELETE
@Path("applicationdescriptor/delete")