You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by he...@apache.org on 2012/10/30 20:10:37 UTC
svn commit: r1403819 -
/airavata/sandbox/airavata-registry-rest/src/main/java/org/apache/airavata/services/registry/rest/resources/RegistryResource.java
Author: heshan
Date: Tue Oct 30 19:10:37 2012
New Revision: 1403819
URL: http://svn.apache.org/viewvc?rev=1403819&view=rev
Log:
Adding app registration method.
Modified:
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/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=1403819&r1=1403818&r2=1403819&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:10:37 2012
@@ -1073,6 +1073,51 @@ import java.util.*;
}
@POST
+ @Path("applicationdescriptor/build/save/test")
+ @Produces(MediaType.TEXT_PLAIN)
+ @Consumes(MediaType.APPLICATION_FORM_URLENCODED)
+ public Response addApplicationDescriptorTest(@FormParam("appName") String appName, @FormParam("exeuctableLocation") String exeuctableLocation, @FormParam("scratchWorkingDirectory") String scratchWorkingDirectory, @FormParam("hostName") String hostName,
+ @FormParam("projAccNumber") String projAccNumber, @FormParam("queueName") String queueName, @FormParam("cpuCount") String cpuCount, @FormParam("nodeCount") String nodeCount, @FormParam("maxMemory") String maxMemory,
+ @FormParam("serviceName") String serviceName, @FormParam("inputName1") String inputName1, @FormParam("inputType1") String inputType1, @FormParam("outputName") String outputName, @FormParam("outputType") String outputType) throws Exception {
+ airavataRegistry = (AiravataRegistry2) context.getAttribute(RestServicesConstants.AIRAVATA_REGISTRY);
+
+ ServiceDescription serv = DescriptorUtil.getServiceDescription(serviceName, inputName1, inputType1, outputName, outputType);
+ // Creating the descriptor as a temporary measure.
+ ApplicationDeploymentDescription app = DescriptorUtil.registerApplication(appName, exeuctableLocation, scratchWorkingDirectory,
+ hostName, projAccNumber, queueName, cpuCount, nodeCount, maxMemory);
+ try{
+ if(!airavataRegistry.isHostDescriptorExists(hostName)){
+ Response.ResponseBuilder builder = Response.status(Response.Status.INTERNAL_SERVER_ERROR);
+ return builder.build();
+ }
+
+ if (!airavataRegistry.isServiceDescriptorExists(serv.getType().getName())) {
+ airavataRegistry.addServiceDescriptor(serv);
+ } else {
+ airavataRegistry.updateServiceDescriptor(serv);
+ }
+
+ if (!airavataRegistry.isApplicationDescriptorExists(serv.getType().getName(), hostName, app.getType().getApplicationName().getStringValue())) {
+ Response.ResponseBuilder builder = Response.status(Response.Status.INTERNAL_SERVER_ERROR);
+ return builder.build();
+ } else {
+ airavataRegistry.addApplicationDescriptor(serv.getType().getName(), hostName, app);
+ }
+
+ airavataRegistry.addApplicationDescriptor(serviceName, hostName, app);
+ 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 (RegistryException e) {
+ Response.ResponseBuilder builder = Response.status(Response.Status.INTERNAL_SERVER_ERROR);
+ return builder.build();
+ }
+ }
+
+
+ @POST
@Path("applicationdescriptor/build/save")
@Consumes({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
@Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})