You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sa...@apache.org on 2014/04/14 20:30:36 UTC

[34/90] [abbrv] [partial] AIRAVATA-1124

http://git-wip-us.apache.org/repos/asf/airavata/blob/0e2c10f5/modules/rest/service/src/main/java/org/apache/airavata/services/registry/rest/resources/DescriptorRegistryResource.java
----------------------------------------------------------------------
diff --git a/modules/rest/service/src/main/java/org/apache/airavata/services/registry/rest/resources/DescriptorRegistryResource.java b/modules/rest/service/src/main/java/org/apache/airavata/services/registry/rest/resources/DescriptorRegistryResource.java
deleted file mode 100644
index f111cbe..0000000
--- a/modules/rest/service/src/main/java/org/apache/airavata/services/registry/rest/resources/DescriptorRegistryResource.java
+++ /dev/null
@@ -1,889 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-package org.apache.airavata.services.registry.rest.resources;
-
-import org.apache.airavata.commons.gfac.type.ApplicationDescription;
-import org.apache.airavata.commons.gfac.type.HostDescription;
-import org.apache.airavata.commons.gfac.type.ServiceDescription;
-import org.apache.airavata.registry.api.AiravataRegistry2;
-import org.apache.airavata.registry.api.exception.gateway.DescriptorAlreadyExistsException;
-import org.apache.airavata.registry.api.exception.gateway.DescriptorDoesNotExistsException;
-import org.apache.airavata.registry.api.exception.gateway.MalformedDescriptorException;
-import org.apache.airavata.rest.mappings.resourcemappings.*;
-import org.apache.airavata.rest.mappings.utils.DescriptorUtil;
-import org.apache.airavata.rest.mappings.utils.ResourcePathConstants;
-import org.apache.airavata.rest.mappings.utils.RegPoolUtils;
-import org.apache.airavata.services.registry.rest.utils.WebAppUtil;
-
-import javax.servlet.ServletContext;
-import javax.ws.rs.*;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-/**
- * This class is the REST interface for all the operation regarding descriptors that are
- * exposed from Airavatas Registry API
- */
-@Path(ResourcePathConstants.DecResourcePathConstants.DESC_RESOURCE_PATH)
-public class DescriptorRegistryResource {
-
-    @Context
-    ServletContext context;
-
-    /**
-     * ---------------------------------Descriptor Registry----------------------------------*
-     */
-
-
-    /**
-     * This method will check whether the host descriptor exists
-     *
-     * @param hostDescriptorName host descriptor name
-     * @return HTTP response
-     */
-    @GET
-    @Path(ResourcePathConstants.DecResourcePathConstants.HOST_DESC_EXISTS)
-    @Produces({MediaType.TEXT_PLAIN, MediaType.APPLICATION_JSON})
-    public Response isHostDescriptorExists(@QueryParam("hostDescriptorName") String hostDescriptorName) {
-        AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
-        boolean state;
-        try {
-            state = airavataRegistry.isHostDescriptorExists(hostDescriptorName);
-            if (state) {
-                Response.ResponseBuilder builder = Response.status(Response.Status.OK);
-                builder.entity("True");
-                return builder.build();
-            } else {
-                Response.ResponseBuilder builder = Response.status(Response.Status.NO_CONTENT);
-                builder.entity("False");
-                return builder.build();
-            }
-        } catch (Throwable e) {
-            return WebAppUtil.reportInternalServerError(ResourcePathConstants.DecResourcePathConstants.HOST_DESC_EXISTS, e);
-        } finally {
-            if (airavataRegistry != null) {
-                RegPoolUtils.releaseRegistry(context, airavataRegistry);
-            }
-        }
-    }
-
-    /**
-     * This method will save the host descriptor
-     *
-     * @param host JSON message send according to HostDescriptor class
-     * @return HTTP response
-     */
-    @POST
-    @Path(ResourcePathConstants.DecResourcePathConstants.HOST_DESC_SAVE)
-    @Consumes({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
-    @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
-    public Response addHostDescriptor(HostDescriptor host) {
-        AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
-        try {
-            HostDescription hostDescription = DescriptorUtil.createHostDescription(host);
-            airavataRegistry.addHostDescriptor(hostDescription);
-            Response.ResponseBuilder builder = Response.status(Response.Status.OK);
-            builder.entity("Host descriptor saved successfully...");
-            return builder.build();
-        } catch (DescriptorAlreadyExistsException e) {
-            Response.ResponseBuilder builder = Response.status(Response.Status.BAD_REQUEST);
-            builder.entity(e.getMessage());
-            return builder.build();
-        } catch (Throwable e) {
-            return WebAppUtil.reportInternalServerError(ResourcePathConstants.DecResourcePathConstants.HOST_DESC_SAVE, e);
-        } finally {
-            if (airavataRegistry != null) {
-                RegPoolUtils.releaseRegistry(context, airavataRegistry);
-            }
-        }
-    }
-
-    /**
-     * This method will update the host descriptor
-     *
-     * @param host JSON message send according to HostDescriptor class
-     * @return HTTP response
-     */
-    @POST
-    @Path(ResourcePathConstants.DecResourcePathConstants.HOST_DESC_UPDATE)
-    @Consumes({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
-    @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
-    public Response updateHostDescriptor(HostDescriptor host) {
-        AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
-        try {
-            HostDescription hostDescription = DescriptorUtil.createHostDescription(host);
-            airavataRegistry.updateHostDescriptor(hostDescription);
-            Response.ResponseBuilder builder = Response.status(Response.Status.OK);
-            builder.entity("Host descriptor updated successfully...");
-            return builder.build();
-        } catch (DescriptorDoesNotExistsException e) {
-            Response.ResponseBuilder builder = Response.status(Response.Status.BAD_REQUEST);
-            builder.entity(e.getMessage());
-            return builder.build();
-        } catch (Throwable e) {
-            return WebAppUtil.reportInternalServerError(ResourcePathConstants.DecResourcePathConstants.HOST_DESC_UPDATE, e);
-        } finally {
-            if (airavataRegistry != null) {
-                RegPoolUtils.releaseRegistry(context, airavataRegistry);
-            }
-        }
-    }
-
-    /**
-     * This method will retrieve host descriptor. Clients will get a JSON message that is generated
-     * according to HostDescriptor class
-     *
-     * @param hostName host name
-     * @return HTTP response
-     */
-    @GET
-    @Path(ResourcePathConstants.DecResourcePathConstants.HOST_DESC)
-    @Consumes({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
-    @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
-    public Response getHostDescriptor(@QueryParam("hostName") String hostName) {
-        AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
-        try {
-            HostDescription hostDescription = airavataRegistry.getHostDescriptor(hostName);
-            if (hostDescription != null) {
-                HostDescriptor hostDescriptor = DescriptorUtil.createHostDescriptor(hostDescription);
-                Response.ResponseBuilder builder = Response.status(Response.Status.OK);
-                builder.entity(hostDescriptor);
-                return builder.build();
-            } else {
-                Response.ResponseBuilder builder = Response.status(Response.Status.BAD_REQUEST);
-                builder.entity("Host Descriptor does not exist...");
-                return builder.build();
-            }
-        } catch (Throwable e) {
-            return WebAppUtil.reportInternalServerError(ResourcePathConstants.DecResourcePathConstants.HOST_DESC, e);
-        } finally {
-            if (airavataRegistry != null) {
-                RegPoolUtils.releaseRegistry(context, airavataRegistry);
-            }
-        }
-
-    }
-
-    /**
-     * This method will delete the given host descriptor
-     *
-     * @param hostName host descriptor name
-     * @return HTTP response
-     */
-    @DELETE
-    @Path(ResourcePathConstants.DecResourcePathConstants.HOST_DESC_DELETE)
-    @Produces({MediaType.TEXT_PLAIN, MediaType.APPLICATION_JSON})
-    public Response removeHostDescriptor(@QueryParam("hostName") String hostName) {
-        AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
-        try {
-            airavataRegistry.removeHostDescriptor(hostName);
-            Response.ResponseBuilder builder = Response.status(Response.Status.OK);
-            builder.entity("Host descriptor deleted successfully...");
-            return builder.build();
-        } catch (DescriptorDoesNotExistsException e) {
-            Response.ResponseBuilder builder = Response.status(Response.Status.INTERNAL_SERVER_ERROR);
-            builder.entity(e.getMessage());
-            return builder.build();
-        } catch (Throwable e) {
-            return WebAppUtil.reportInternalServerError(ResourcePathConstants.DecResourcePathConstants.HOST_DESC_DELETE, e);
-        } finally {
-            if (airavataRegistry != null) {
-                RegPoolUtils.releaseRegistry(context, airavataRegistry);
-            }
-        }
-    }
-
-    /**
-     * This method will retrieve all the host descriptors available.
-     *
-     * @return HTTP response
-     */
-    @GET
-    @Path(ResourcePathConstants.DecResourcePathConstants.GET_HOST_DESCS)
-    @Consumes({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
-    @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
-    public Response getHostDescriptors() {
-        AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
-        try {
-            List<HostDescription> hostDescriptionList = airavataRegistry.getHostDescriptors();
-            HostDescriptionList list = new HostDescriptionList();
-            HostDescriptor[] hostDescriptions = new HostDescriptor[hostDescriptionList.size()];
-            for (int i = 0; i < hostDescriptionList.size(); i++) {
-                HostDescriptor hostDescriptor = DescriptorUtil.createHostDescriptor(hostDescriptionList.get(i));
-                hostDescriptions[i] = hostDescriptor;
-            }
-            list.setHostDescriptions(hostDescriptions);
-            if (hostDescriptionList.size() != 0) {
-                Response.ResponseBuilder builder = Response.status(Response.Status.OK);
-                builder.entity(list);
-                return builder.build();
-            } else {
-                Response.ResponseBuilder builder = Response.status(Response.Status.NO_CONTENT);
-                return builder.build();
-            }
-        } catch (Throwable e) {
-            return WebAppUtil.reportInternalServerError(ResourcePathConstants.DecResourcePathConstants.GET_HOST_DESCS, e);
-        } finally {
-            if (airavataRegistry != null) {
-                RegPoolUtils.releaseRegistry(context, airavataRegistry);
-            }
-        }
-    }
-
-    /**
-     * This method will return all the host descriptor names available
-     *
-     * @return HTTP response
-     */
-    @GET
-    @Path(ResourcePathConstants.DecResourcePathConstants.GET_HOST_DESCS_NAMES)
-    @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
-    public Response getHostDescriptorNames() {
-        AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
-        try {
-            List<HostDescription> hostDescriptionList = airavataRegistry.getHostDescriptors();
-            List<String> hostDescriptorNames = new ArrayList<String>();
-            DescriptorNameList descriptorNameList = new DescriptorNameList();
-            for (HostDescription aHostDescriptionList : hostDescriptionList) {
-                hostDescriptorNames.add(aHostDescriptionList.getType().getHostName());
-            }
-            descriptorNameList.setDescriptorNames(hostDescriptorNames);
-            if (hostDescriptionList.size() != 0) {
-                Response.ResponseBuilder builder = Response.status(Response.Status.OK);
-                builder.entity(descriptorNameList);
-                return builder.build();
-            } else {
-                Response.ResponseBuilder builder = Response.status(Response.Status.NO_CONTENT);
-                return builder.build();
-            }
-        } catch (Throwable e) {
-            return WebAppUtil.reportInternalServerError(ResourcePathConstants.DecResourcePathConstants.GET_HOST_DESCS_NAMES, e);
-        } finally {
-            if (airavataRegistry != null) {
-                RegPoolUtils.releaseRegistry(context, airavataRegistry);
-            }
-        }
-    }
-
-    /**
-     * This method will check whether the service descriptor available
-     *
-     * @param serviceDescriptorName service descriptor name
-     * @return HTTP response
-     */
-    @GET
-    @Path(ResourcePathConstants.DecResourcePathConstants.SERVICE_DESC_EXISTS)
-    @Produces({MediaType.TEXT_PLAIN, MediaType.APPLICATION_JSON})
-    public Response isServiceDescriptorExists(@QueryParam("serviceDescriptorName") String serviceDescriptorName) {
-        AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
-        boolean state;
-        try {
-            state = airavataRegistry.isServiceDescriptorExists(serviceDescriptorName);
-            if (state) {
-                Response.ResponseBuilder builder = Response.status(Response.Status.OK);
-                builder.entity("True");
-                return builder.build();
-            } else {
-                Response.ResponseBuilder builder = Response.status(Response.Status.NO_CONTENT);
-                builder.entity("False");
-                return builder.build();
-            }
-        } catch (Throwable e) {
-            return WebAppUtil.reportInternalServerError(ResourcePathConstants.DecResourcePathConstants.SERVICE_DESC_EXISTS, e);
-        } finally {
-            if (airavataRegistry != null) {
-                RegPoolUtils.releaseRegistry(context, airavataRegistry);
-            }
-        }
-    }
-
-    /**
-     * This method will save the service descriptor
-     *
-     * @param service this is a JSON message created according to ServiceDescriptor class
-     * @return HTTP response
-     */
-    @POST
-    @Path(ResourcePathConstants.DecResourcePathConstants.SERVICE_DESC_SAVE)
-    @Consumes({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
-    @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
-    public Response addServiceDescriptor(ServiceDescriptor service) {
-        AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
-        try {
-            ServiceDescription serviceDescription = DescriptorUtil.createServiceDescription(service);
-            airavataRegistry.addServiceDescriptor(serviceDescription);
-            Response.ResponseBuilder builder = Response.status(Response.Status.OK);
-            builder.entity("Service descriptor saved successfully...");
-            return builder.build();
-        } catch (DescriptorAlreadyExistsException e) {
-            Response.ResponseBuilder builder = Response.status(Response.Status.BAD_REQUEST);
-            builder.entity(e.getMessage());
-            return builder.build();
-        } catch (Throwable e) {
-            return WebAppUtil.reportInternalServerError(ResourcePathConstants.DecResourcePathConstants.SERVICE_DESC_SAVE, e);
-        } finally {
-            if (airavataRegistry != null) {
-                RegPoolUtils.releaseRegistry(context, airavataRegistry);
-            }
-        }
-    }
-
-    /**
-     * This method will update the service descriptor
-     *
-     * @param service this is a JSON message generated according to Service Descriptor class
-     * @return HTTP response
-     */
-    @POST
-    @Path(ResourcePathConstants.DecResourcePathConstants.SERVICE_DESC_UPDATE)
-    @Consumes({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
-    @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
-    public Response updateServiceDescriptor(ServiceDescriptor service) {
-        AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
-        try {
-            ServiceDescription serviceDescription = DescriptorUtil.createServiceDescription(service);
-            airavataRegistry.updateServiceDescriptor(serviceDescription);
-            Response.ResponseBuilder builder = Response.status(Response.Status.OK);
-            builder.entity("Service descriptor updated successfully...");
-            return builder.build();
-        } catch (DescriptorAlreadyExistsException e) {
-            Response.ResponseBuilder builder = Response.status(Response.Status.BAD_REQUEST);
-            builder.entity(e.getMessage());
-            return builder.build();
-        } catch (Throwable e) {
-            return WebAppUtil.reportInternalServerError(ResourcePathConstants.DecResourcePathConstants.SERVICE_DESC_UPDATE, e);
-        } finally {
-            if (airavataRegistry != null) {
-                RegPoolUtils.releaseRegistry(context, airavataRegistry);
-            }
-        }
-    }
-
-    /**
-     * This method will retrieve service descriptor for a given service descriptor name. Clients
-     * will get a JSON message that is generated according to Service Descriptor class
-     *
-     * @param serviceName service name
-     * @return HTTP response
-     */
-    @GET
-    @Path(ResourcePathConstants.DecResourcePathConstants.SERVICE_DESC)
-    @Consumes({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
-    @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
-    public Response getServiceDescriptor(@QueryParam("serviceName") String serviceName) {
-        AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
-        try {
-            ServiceDescription serviceDescription = airavataRegistry.getServiceDescriptor(serviceName);
-            if (serviceDescription != null) {
-                ServiceDescriptor serviceDescriptor = DescriptorUtil.createServiceDescriptor(serviceDescription);
-                Response.ResponseBuilder builder = Response.status(Response.Status.OK);
-                builder.entity(serviceDescriptor);
-                return builder.build();
-            } else {
-                Response.ResponseBuilder builder = Response.status(Response.Status.BAD_REQUEST);
-                builder.entity("No service descriptor available with given service name...");
-                return builder.build();
-            }
-        } catch (Throwable e) {
-            return WebAppUtil.reportInternalServerError(ResourcePathConstants.DecResourcePathConstants.SERVICE_DESC, e);
-        } finally {
-            if (airavataRegistry != null) {
-                RegPoolUtils.releaseRegistry(context, airavataRegistry);
-            }
-        }
-    }
-
-    /**
-     * This method will delete a given service descriptor
-     *
-     * @param serviceName service descriptor name
-     * @return HTTP response
-     */
-    @DELETE
-    @Path(ResourcePathConstants.DecResourcePathConstants.SERVICE_DESC_DELETE)
-    @Produces({MediaType.TEXT_PLAIN, MediaType.APPLICATION_JSON})
-    public Response removeServiceDescriptor(@QueryParam("serviceName") String serviceName) {
-        AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
-        try {
-            airavataRegistry.removeServiceDescriptor(serviceName);
-            Response.ResponseBuilder builder = Response.status(Response.Status.OK);
-            builder.entity("Service descriptor deleted successfully...");
-            return builder.build();
-        } catch (DescriptorDoesNotExistsException e) {
-            Response.ResponseBuilder builder = Response.status(Response.Status.INTERNAL_SERVER_ERROR);
-            builder.entity(e.getMessage());
-            return builder.build();
-        } catch (Throwable e) {
-            return WebAppUtil.reportInternalServerError(ResourcePathConstants.DecResourcePathConstants.SERVICE_DESC_DELETE, e);
-        } finally {
-            if (airavataRegistry != null) {
-                RegPoolUtils.releaseRegistry(context, airavataRegistry);
-            }
-        }
-    }
-
-    /**
-     * This method will retrieve all the service descriptors
-     *
-     * @return HTTP response
-     */
-    @GET
-    @Path(ResourcePathConstants.DecResourcePathConstants.GET_SERVICE_DESCS)
-    @Consumes({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
-    @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
-    public Response getServiceDescriptors() {
-        AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
-        try {
-            List<ServiceDescription> serviceDescriptors = airavataRegistry.getServiceDescriptors();
-            ServiceDescriptionList list = new ServiceDescriptionList();
-            ServiceDescriptor[] serviceDescriptions = new ServiceDescriptor[serviceDescriptors.size()];
-            for (int i = 0; i < serviceDescriptors.size(); i++) {
-                ServiceDescriptor serviceDescriptor = DescriptorUtil.createServiceDescriptor(serviceDescriptors.get(i));
-                serviceDescriptions[i] = serviceDescriptor;
-            }
-            list.setServiceDescriptions(serviceDescriptions);
-            if (serviceDescriptors.size() != 0) {
-                Response.ResponseBuilder builder = Response.status(Response.Status.OK);
-                builder.entity(list);
-                return builder.build();
-            } else {
-                Response.ResponseBuilder builder = Response.status(Response.Status.NO_CONTENT);
-                return builder.build();
-            }
-        } catch (Throwable e) {
-            return WebAppUtil.reportInternalServerError(ResourcePathConstants.DecResourcePathConstants.GET_SERVICE_DESCS, e);
-        } finally {
-            if (airavataRegistry != null) {
-                RegPoolUtils.releaseRegistry(context, airavataRegistry);
-            }
-        }
-    }
-
-
-    /**
-     * This method will check whether the given application descriptor exists
-     *
-     * @param serviceName       service descriptor name
-     * @param hostName          host descriptor name
-     * @param appDescriptorName application descriptor name
-     * @return HTTP response
-     */
-    @GET
-    @Path(ResourcePathConstants.DecResourcePathConstants.APPL_DESC_EXIST)
-    @Produces({MediaType.TEXT_PLAIN, MediaType.APPLICATION_JSON})
-    public Response isApplicationDescriptorExists(@QueryParam("serviceName") String serviceName,
-                                                  @QueryParam("hostName") String hostName,
-                                                  @QueryParam("appDescName") String appDescriptorName) {
-        AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
-        boolean state;
-        try {
-            state = airavataRegistry.isApplicationDescriptorExists(serviceName, hostName, appDescriptorName);
-            if (state) {
-                Response.ResponseBuilder builder = Response.status(Response.Status.OK);
-                builder.entity("True");
-                return builder.build();
-            } else {
-                Response.ResponseBuilder builder = Response.status(Response.Status.NO_CONTENT);
-                builder.entity("False");
-                return builder.build();
-            }
-        } catch (Throwable e) {
-            return WebAppUtil.reportInternalServerError(ResourcePathConstants.DecResourcePathConstants.APPL_DESC_EXIST, e);
-        } finally {
-            if (airavataRegistry != null) {
-                RegPoolUtils.releaseRegistry(context, airavataRegistry);
-            }
-        }
-    }
-
-    /**
-     * This method will save given application descriptor
-     *
-     * @param applicationDescriptor this is a JSON message created according to
-     *                              ApplicationDescriptor class
-     * @return HTTP response
-     */
-    @POST
-    @Path(ResourcePathConstants.DecResourcePathConstants.APP_DESC_BUILD_SAVE)
-    @Consumes({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
-    @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
-    public Response addApplicationDescriptor(ApplicationDescriptor applicationDescriptor) {
-        AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
-        try {
-            String hostdescName = applicationDescriptor.getHostdescName();
-            if (!airavataRegistry.isHostDescriptorExists(hostdescName)) {
-                Response.ResponseBuilder builder = Response.status(Response.Status.INTERNAL_SERVER_ERROR);
-                builder.entity("Given host does not exist...");
-                return builder.build();
-            }
-            ApplicationDescription applicationDescription = DescriptorUtil.createApplicationDescription(applicationDescriptor);
-            ServiceDescriptor serviceDescriptor = applicationDescriptor.getServiceDescriptor();
-            String serviceName;
-            if (serviceDescriptor != null) {
-                if (serviceDescriptor.getServiceName() == null) {
-                    serviceName = applicationDescriptor.getName();
-                    serviceDescriptor.setServiceName(serviceName);
-                } else {
-                    serviceName = serviceDescriptor.getServiceName();
-                }
-//                ServiceDescription serviceDescription = DescriptorUtil.createServiceDescription(serviceDescriptor);
-//                if (!airavataRegistry.isServiceDescriptorExists(serviceName)) {
-//                    airavataRegistry.addServiceDescriptor(serviceDescription);
-//                }
-            } else {
-                serviceName = applicationDescriptor.getName();
-            }
-            airavataRegistry.addApplicationDescriptor(serviceName, hostdescName, applicationDescription);
-
-
-            Response.ResponseBuilder builder = Response.status(Response.Status.OK);
-            builder.entity("Application descriptor saved successfully...");
-            return builder.build();
-        } catch (DescriptorAlreadyExistsException e) {
-            Response.ResponseBuilder builder = Response.status(Response.Status.BAD_REQUEST);
-            builder.entity(e.getMessage());
-            return builder.build();
-        } catch (Throwable e) {
-            return WebAppUtil.reportInternalServerError(ResourcePathConstants.DecResourcePathConstants.APP_DESC_BUILD_SAVE, e);
-        } finally {
-            if (airavataRegistry != null) {
-                RegPoolUtils.releaseRegistry(context, airavataRegistry);
-            }
-        }
-    }
-
-    /**
-     * This method will update the application descriptor
-     *
-     * @param applicationDescriptor JSON message of ApplicationDescriptor class
-     * @return HTTP response
-     */
-    @POST
-    @Path(ResourcePathConstants.DecResourcePathConstants.APP_DESC_UPDATE)
-    @Consumes({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
-    @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
-    public Response udpateApplicationDescriptor(ApplicationDescriptor applicationDescriptor) {
-        AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
-        try {
-            String hostdescName = applicationDescriptor.getHostdescName();
-            if (!airavataRegistry.isHostDescriptorExists(hostdescName)) {
-                Response.ResponseBuilder builder = Response.status(Response.Status.INTERNAL_SERVER_ERROR);
-                builder.entity("Host does not available...");
-                return builder.build();
-            }
-            ApplicationDescription applicationDescription = DescriptorUtil.createApplicationDescription(applicationDescriptor);
-            ServiceDescriptor serviceDescriptor = applicationDescriptor.getServiceDescriptor();
-            String serviceName;
-            if (serviceDescriptor != null) {
-                if (serviceDescriptor.getServiceName() == null) {
-                    serviceName = applicationDescriptor.getName();
-                    serviceDescriptor.setServiceName(serviceName);
-                } else {
-                    serviceName = serviceDescriptor.getServiceName();
-                }
-//                ServiceDescription serviceDescription = DescriptorUtil.createServiceDescription(serviceDescriptor);
-//                if (airavataRegistry.isServiceDescriptorExists(serviceName)) {
-//                    airavataRegistry.updateServiceDescriptor(serviceDescription);
-//                } else {
-//                    airavataRegistry.addServiceDescriptor(serviceDescription);
-//                }
-
-            } else {
-                serviceName = applicationDescriptor.getName();
-            }
-            airavataRegistry.updateApplicationDescriptor(serviceName, hostdescName, applicationDescription);
-            Response.ResponseBuilder builder = Response.status(Response.Status.OK);
-            builder.entity("Application descriptor updated successfully...");
-            return builder.build();
-        } catch (DescriptorAlreadyExistsException e) {
-            Response.ResponseBuilder builder = Response.status(Response.Status.BAD_REQUEST);
-            builder.entity(e.getMessage());
-            return builder.build();
-        } catch (Throwable e) {
-            return WebAppUtil.reportInternalServerError(ResourcePathConstants.DecResourcePathConstants.APP_DESC_UPDATE, e);
-        } finally {
-            if (airavataRegistry != null) {
-                RegPoolUtils.releaseRegistry(context, airavataRegistry);
-            }
-        }
-    }
-
-    /**
-     * This method will retrieve an application descriptor according to given service name, host name
-     * and application name
-     *
-     * @param serviceName     service name
-     * @param hostName        host name
-     * @param applicationName application name
-     * @return HTTP response
-     */
-    @GET
-    @Path(ResourcePathConstants.DecResourcePathConstants.APP_DESC_DESCRIPTION)
-    @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
-    public Response getApplicationDescriptor(@QueryParam("serviceName") String serviceName,
-                                             @QueryParam("hostName") String hostName,
-                                             @QueryParam("applicationName") String applicationName) {
-        AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
-        try {
-            ApplicationDescription applicationDescription = airavataRegistry.getApplicationDescriptor(serviceName, hostName, applicationName);
-            if (applicationDescription != null) {
-                ApplicationDescriptor applicationDescriptor = DescriptorUtil.createApplicationDescriptor(applicationDescription);
-                applicationDescriptor.setHostdescName(hostName);
-                ServiceDescription serviceDescription = airavataRegistry.getServiceDescriptor(serviceName);
-                ServiceDescriptor serviceDescriptor = DescriptorUtil.createServiceDescriptor(serviceDescription);
-                applicationDescriptor.setServiceDescriptor(serviceDescriptor);
-
-                Response.ResponseBuilder builder = Response.status(Response.Status.OK);
-                builder.entity(applicationDescriptor);
-                return builder.build();
-            } else {
-                Response.ResponseBuilder builder = Response.status(Response.Status.BAD_REQUEST);
-                builder.entity("Application descriptor does not exist...");
-                return builder.build();
-            }
-        } catch (Throwable e) {
-            return WebAppUtil.reportInternalServerError(ResourcePathConstants.DecResourcePathConstants.APP_DESC_DESCRIPTION, e);
-        } finally {
-            if (airavataRegistry != null) {
-                RegPoolUtils.releaseRegistry(context, airavataRegistry);
-            }
-        }
-    }
-
-    /**
-     * This method will retrieve application descriptors for a given service and host
-     *
-     * @param serviceName service name
-     * @param hostName    host name
-     * @return HTTP response
-     */
-    @GET
-    @Path(ResourcePathConstants.DecResourcePathConstants.APP_DESC_PER_HOST_SERVICE)
-    @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
-    public Response getApplicationDescriptorPerServiceHost(@QueryParam("serviceName") String serviceName,
-                                                           @QueryParam("hostName") String hostName) {
-        AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
-        try {
-            ApplicationDescription applicationDescription = airavataRegistry.getApplicationDescriptors(serviceName, hostName);
-            ApplicationDescriptor applicationDescriptor = DescriptorUtil.createApplicationDescriptor(applicationDescription);
-            applicationDescriptor.setHostdescName(hostName);
-            ServiceDescription serviceDescription = airavataRegistry.getServiceDescriptor(serviceName);
-            ServiceDescriptor serviceDescriptor = DescriptorUtil.createServiceDescriptor(serviceDescription);
-            applicationDescriptor.setServiceDescriptor(serviceDescriptor);
-
-            if (applicationDescription != null) {
-                Response.ResponseBuilder builder = Response.status(Response.Status.OK);
-                builder.entity(applicationDescriptor);
-                return builder.build();
-            } else {
-                Response.ResponseBuilder builder = Response.status(Response.Status.BAD_REQUEST);
-                builder.entity("Application descriptor does not exist...");
-                return builder.build();
-            }
-        } catch (Throwable e) {
-            return WebAppUtil.reportInternalServerError(ResourcePathConstants.DecResourcePathConstants.APP_DESC_PER_HOST_SERVICE, e);
-        } finally {
-            if (airavataRegistry != null) {
-                RegPoolUtils.releaseRegistry(context, airavataRegistry);
-            }
-        }
-    }
-
-    /**
-     * This method will get all the application descriptors for a given service
-     *
-     * @param serviceName service name
-     * @return HTTP response
-     */
-    @GET
-    @Path(ResourcePathConstants.DecResourcePathConstants.APP_DESC_ALL_DESCS_SERVICE)
-    @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
-    public Response getApplicationDescriptors(@QueryParam("serviceName") String serviceName) {
-        AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
-        try {
-            Map<String, ApplicationDescription> applicationDeploymentDescriptionMap = airavataRegistry.getApplicationDescriptors(serviceName);
-            ApplicationDescriptorList applicationDescriptorList = new ApplicationDescriptorList();
-            ApplicationDescriptor[] applicationDescriptors = new ApplicationDescriptor[applicationDeploymentDescriptionMap.size()];
-            int i = 0;
-            for (String hostName : applicationDeploymentDescriptionMap.keySet()) {
-                ApplicationDescription applicationDescription = applicationDeploymentDescriptionMap.get(hostName);
-                ApplicationDescriptor applicationDescriptor = DescriptorUtil.createApplicationDescriptor(applicationDescription);
-                applicationDescriptor.setHostdescName(hostName);
-
-                ServiceDescription serviceDescription = airavataRegistry.getServiceDescriptor(serviceName);
-                ServiceDescriptor serviceDescriptor = DescriptorUtil.createServiceDescriptor(serviceDescription);
-                applicationDescriptor.setServiceDescriptor(serviceDescriptor);
-
-                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);
-            builder.entity(e.getMessage());
-            return builder.build();
-        } catch (Throwable e) {
-            return WebAppUtil.reportInternalServerError(ResourcePathConstants.DecResourcePathConstants.APP_DESC_ALL_DESCS_SERVICE, e);
-        } finally {
-            if (airavataRegistry != null) {
-                RegPoolUtils.releaseRegistry(context, airavataRegistry);
-            }
-        }
-    }
-
-    /**
-     * This method will retrieve all the application descriptors available
-     *
-     * @return HTTP response
-     */
-    @GET
-    @Path(ResourcePathConstants.DecResourcePathConstants.APP_DESC_ALL_DESCRIPTORS)
-    @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
-    public Response getApplicationDescriptors() {
-        AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
-        try {
-            Map<String[], ApplicationDescription> applicationDeploymentDescriptionMap = airavataRegistry.getApplicationDescriptors();
-            ApplicationDescriptorList applicationDescriptorList = new ApplicationDescriptorList();
-            ApplicationDescriptor[] applicationDescriptors = new ApplicationDescriptor[applicationDeploymentDescriptionMap.size()];
-            int i = 0;
-            for (String[] descriptors : applicationDeploymentDescriptionMap.keySet()) {
-                ApplicationDescription applicationDescription = applicationDeploymentDescriptionMap.get(descriptors);
-                ApplicationDescriptor applicationDescriptor = DescriptorUtil.createApplicationDescriptor(applicationDescription);
-                applicationDescriptor.setHostdescName(descriptors[1]);
-                ServiceDescription serviceDescription = airavataRegistry.getServiceDescriptor(descriptors[0]);
-                if (serviceDescription == null) {
-                    Response.ResponseBuilder builder = Response.status(Response.Status.NO_CONTENT);
-                    return builder.build();
-                }
-                ServiceDescriptor serviceDescriptor = DescriptorUtil.createServiceDescriptor(serviceDescription);
-                applicationDescriptor.setServiceDescriptor(serviceDescriptor);
-                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);
-            builder.entity(e.getMessage());
-            return builder.build();
-        } catch (Throwable e) {
-            return WebAppUtil.reportInternalServerError(ResourcePathConstants.DecResourcePathConstants.APP_DESC_ALL_DESCRIPTORS, e);
-        } finally {
-            if (airavataRegistry != null) {
-                RegPoolUtils.releaseRegistry(context, airavataRegistry);
-            }
-        }
-    }
-
-    /**
-     * This method will return all the application names available
-     *
-     * @return HTTP response
-     */
-    @GET
-    @Path(ResourcePathConstants.DecResourcePathConstants.APP_DESC_NAMES)
-    @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
-    public Response getApplicationDescriptorNames() {
-        AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
-        try {
-            Map<String[], ApplicationDescription> applicationDeploymentDescriptionMap = airavataRegistry.getApplicationDescriptors();
-            DescriptorNameList descriptorNameList = new DescriptorNameList();
-            List<String> appDesNames = new ArrayList<String>();
-            for (String[] descriptors : applicationDeploymentDescriptionMap.keySet()) {
-                ApplicationDescription applicationDescription = applicationDeploymentDescriptionMap.get(descriptors);
-                appDesNames.add(applicationDescription.getType().getApplicationName().getStringValue());
-            }
-            descriptorNameList.setDescriptorNames(appDesNames);
-            if (applicationDeploymentDescriptionMap.size() != 0) {
-                Response.ResponseBuilder builder = Response.status(Response.Status.OK);
-                builder.entity(descriptorNameList);
-                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);
-            builder.entity(e.getMessage());
-            return builder.build();
-        } catch (Throwable e) {
-            return WebAppUtil.reportInternalServerError(ResourcePathConstants.DecResourcePathConstants.APP_DESC_NAMES, e);
-        } finally {
-            if (airavataRegistry != null) {
-                RegPoolUtils.releaseRegistry(context, airavataRegistry);
-            }
-        }
-    }
-
-    /**
-     * This method wil remove an application descriptor according to given service name, host name
-     * and application name
-     *
-     * @param serviceName service name
-     * @param hostName    host name
-     * @param appName     application name
-     * @return HTTP response
-     */
-    @DELETE
-    @Path(ResourcePathConstants.DecResourcePathConstants.APP_DESC_DELETE)
-    @Produces(MediaType.TEXT_PLAIN)
-    public Response removeApplicationDescriptor(@QueryParam("serviceName") String serviceName,
-                                                @QueryParam("hostName") String hostName,
-                                                @QueryParam("appName") String appName) {
-        AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
-        try {
-            airavataRegistry.removeApplicationDescriptor(serviceName, hostName, appName);
-            Response.ResponseBuilder builder = Response.status(Response.Status.OK);
-            builder.entity("Application descriptor deleted successfully...");
-            return builder.build();
-        } catch (DescriptorDoesNotExistsException e) {
-            Response.ResponseBuilder builder = Response.status(Response.Status.INTERNAL_SERVER_ERROR);
-            builder.entity(e.getMessage());
-            return builder.build();
-        } catch (Throwable e) {
-            return WebAppUtil.reportInternalServerError(ResourcePathConstants.DecResourcePathConstants.APP_DESC_DELETE, e);
-        } finally {
-            if (airavataRegistry != null) {
-                RegPoolUtils.releaseRegistry(context, airavataRegistry);
-            }
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/0e2c10f5/modules/rest/service/src/main/java/org/apache/airavata/services/registry/rest/resources/ExperimentRegistryResource.java
----------------------------------------------------------------------
diff --git a/modules/rest/service/src/main/java/org/apache/airavata/services/registry/rest/resources/ExperimentRegistryResource.java b/modules/rest/service/src/main/java/org/apache/airavata/services/registry/rest/resources/ExperimentRegistryResource.java
deleted file mode 100644
index 1b667f1..0000000
--- a/modules/rest/service/src/main/java/org/apache/airavata/services/registry/rest/resources/ExperimentRegistryResource.java
+++ /dev/null
@@ -1,364 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-package org.apache.airavata.services.registry.rest.resources;
-
-import org.apache.airavata.registry.api.AiravataExperiment;
-import org.apache.airavata.registry.api.AiravataRegistry2;
-import org.apache.airavata.registry.api.AiravataUser;
-import org.apache.airavata.registry.api.Gateway;
-import org.apache.airavata.registry.api.exception.worker.ExperimentDoesNotExistsException;
-import org.apache.airavata.registry.api.exception.worker.WorkspaceProjectDoesNotExistsException;
-import org.apache.airavata.rest.mappings.resourcemappings.ExperimentList;
-import org.apache.airavata.rest.mappings.utils.ResourcePathConstants;
-import org.apache.airavata.rest.mappings.utils.RegPoolUtils;
-import org.apache.airavata.services.registry.rest.utils.WebAppUtil;
-
-import javax.servlet.ServletContext;
-import javax.ws.rs.*;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import java.text.DateFormat;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.List;
-
-/**
- * This class is a REST interface all the methods related to experiments that are exposed by
- * Airavata Registry API
- */
-@Path(ResourcePathConstants.ExperimentResourcePathConstants.EXP_RESOURCE_PATH)
-public class ExperimentRegistryResource {
-
-    @Context
-    ServletContext context;
-
-    /**
-     * ---------------------------------Experiments----------------------------------*
-     */
-
-    /**
-     * This method will delete an experiment with given experiment ID
-     *
-     * @param experimentId experiment ID
-     * @return HTTP response
-     */
-    @DELETE
-    @Path(ResourcePathConstants.ExperimentResourcePathConstants.DELETE_EXP)
-    @Produces(MediaType.TEXT_PLAIN)
-    public Response removeExperiment(@QueryParam("experimentId") String experimentId) {
-        AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
-        try {
-            airavataRegistry.removeExperiment(experimentId);
-            Response.ResponseBuilder builder = Response.status(Response.Status.OK);
-            builder.entity("Experiment removed successfully...");
-            return builder.build();
-        } catch (ExperimentDoesNotExistsException e) {
-            Response.ResponseBuilder builder = Response.status(Response.Status.NOT_FOUND);
-            builder.entity(e.getMessage());
-            return builder.build();
-        } catch (Throwable e) {
-            return WebAppUtil.reportInternalServerError(ResourcePathConstants.ExperimentResourcePathConstants.DELETE_EXP, e);
-        } finally {
-            if (airavataRegistry != null) {
-                RegPoolUtils.releaseRegistry(context, airavataRegistry);
-            }
-        }
-    }
-
-    /**
-     * This method will return all the experiments available
-     *
-     * @return HTTP response
-     */
-    @GET
-    @Path(ResourcePathConstants.ExperimentResourcePathConstants.GET_ALL_EXPS)
-    @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
-    public Response getExperiments() {
-        AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
-        try {
-            List<AiravataExperiment> airavataExperimentList = airavataRegistry.getExperiments();
-            ExperimentList experimentList = new ExperimentList();
-            AiravataExperiment[] experiments = new AiravataExperiment[airavataExperimentList.size()];
-            for (int i = 0; i < airavataExperimentList.size(); i++) {
-                experiments[i] = airavataExperimentList.get(i);
-            }
-            experimentList.setExperiments(experiments);
-            if (airavataExperimentList.size() != 0) {
-                Response.ResponseBuilder builder = Response.status(Response.Status.OK);
-                builder.entity(experimentList);
-                return builder.build();
-            } else {
-                Response.ResponseBuilder builder = Response.status(Response.Status.NO_CONTENT);
-                return builder.build();
-            }
-        } catch (Throwable e) {
-            return WebAppUtil.reportInternalServerError(ResourcePathConstants.ExperimentResourcePathConstants.GET_ALL_EXPS, e);
-        } finally {
-            if (airavataRegistry != null) {
-                RegPoolUtils.releaseRegistry(context, airavataRegistry);
-            }
-        }
-    }
-
-    /**
-     * This method will return all the experiments for a given project
-     *
-     * @param projectName project name
-     * @return HTTP response
-     */
-    @GET
-    @Path(ResourcePathConstants.ExperimentResourcePathConstants.GET_EXPS_BY_PROJECT)
-    @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
-    public Response getExperimentsByProject(@QueryParam("projectName") String projectName) {
-        AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
-        try {
-            List<AiravataExperiment> airavataExperimentList = airavataRegistry.getExperiments(projectName);
-            ExperimentList experimentList = new ExperimentList();
-            AiravataExperiment[] experiments = new AiravataExperiment[airavataExperimentList.size()];
-            for (int i = 0; i < airavataExperimentList.size(); i++) {
-                experiments[i] = airavataExperimentList.get(i);
-            }
-            experimentList.setExperiments(experiments);
-            if (airavataExperimentList.size() != 0) {
-                Response.ResponseBuilder builder = Response.status(Response.Status.OK);
-                builder.entity(experimentList);
-                return builder.build();
-            } else {
-                Response.ResponseBuilder builder = Response.status(Response.Status.NO_CONTENT);
-                return builder.build();
-            }
-        } catch (Throwable e) {
-            return WebAppUtil.reportInternalServerError(ResourcePathConstants.ExperimentResourcePathConstants.GET_EXPS_BY_PROJECT, e);
-        } finally {
-            if (airavataRegistry != null) {
-                RegPoolUtils.releaseRegistry(context, airavataRegistry);
-            }
-        }
-    }
-
-    /**
-     * This method will return all the experiments in a given period of time
-     *
-     * @param fromDate starting date
-     * @param toDate   end date
-     * @return HTTP response
-     */
-    @GET
-    @Path(ResourcePathConstants.ExperimentResourcePathConstants.GET_EXPS_BY_DATE)
-    @Consumes({MediaType.APPLICATION_FORM_URLENCODED, MediaType.APPLICATION_JSON})
-    @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
-    public Response getExperimentsByDate(@QueryParam("fromDate") String fromDate,
-                                         @QueryParam("toDate") String toDate) {
-        AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
-        try {
-            DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-            Date formattedFromDate = dateFormat.parse(fromDate);
-            Date formattedToDate = dateFormat.parse(toDate);
-            List<AiravataExperiment> airavataExperimentList = airavataRegistry.getExperiments(formattedFromDate, formattedToDate);
-            ExperimentList experimentList = new ExperimentList();
-            AiravataExperiment[] experiments = new AiravataExperiment[airavataExperimentList.size()];
-            for (int i = 0; i < airavataExperimentList.size(); i++) {
-                experiments[i] = airavataExperimentList.get(i);
-            }
-            experimentList.setExperiments(experiments);
-            if (airavataExperimentList.size() != 0) {
-                Response.ResponseBuilder builder = Response.status(Response.Status.OK);
-                builder.entity(experimentList);
-                return builder.build();
-            } else {
-                Response.ResponseBuilder builder = Response.status(Response.Status.NO_CONTENT);
-                return builder.build();
-            }
-        } catch (ParseException e) {
-            Response.ResponseBuilder builder = Response.status(Response.Status.BAD_REQUEST);
-            builder.entity(e.getMessage());
-            return builder.build();
-        } catch (Throwable e) {
-            return WebAppUtil.reportInternalServerError(ResourcePathConstants.ExperimentResourcePathConstants.GET_EXPS_BY_DATE, e);
-        } finally {
-            if (airavataRegistry != null) {
-                RegPoolUtils.releaseRegistry(context, airavataRegistry);
-            }
-        }
-    }
-
-    /**
-     * This method will return all the experiments for a given project in a given period of time
-     *
-     * @param projectName project name
-     * @param fromDate    starting date
-     * @param toDate      end date
-     * @return HTTP response
-     */
-    @GET
-    @Path(ResourcePathConstants.ExperimentResourcePathConstants.GET_EXPS_PER_PROJECT_BY_DATE)
-    @Consumes({MediaType.APPLICATION_FORM_URLENCODED, MediaType.APPLICATION_JSON})
-    @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
-    public Response getExperimentsByProjectDate(@QueryParam("projectName") String projectName,
-                                                @QueryParam("fromDate") String fromDate,
-                                                @QueryParam("toDate") String toDate) {
-        AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
-        try {
-            DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-            Date formattedFromDate = dateFormat.parse(fromDate);
-            Date formattedToDate = dateFormat.parse(toDate);
-            List<AiravataExperiment> airavataExperimentList = airavataRegistry.getExperiments(projectName, formattedFromDate, formattedToDate);
-            ExperimentList experimentList = new ExperimentList();
-            AiravataExperiment[] experiments = new AiravataExperiment[airavataExperimentList.size()];
-            for (int i = 0; i < airavataExperimentList.size(); i++) {
-                experiments[i] = airavataExperimentList.get(i);
-            }
-            experimentList.setExperiments(experiments);
-            if (airavataExperimentList.size() != 0) {
-                Response.ResponseBuilder builder = Response.status(Response.Status.OK);
-                builder.entity(experimentList);
-                return builder.build();
-            } else {
-                Response.ResponseBuilder builder = Response.status(Response.Status.NO_CONTENT);
-                return builder.build();
-            }
-        } catch (ParseException e) {
-            Response.ResponseBuilder builder = Response.status(Response.Status.BAD_REQUEST);
-            builder.entity(e.getMessage());
-            return builder.build();
-        } catch (Throwable e) {
-            return WebAppUtil.reportInternalServerError(ResourcePathConstants.ExperimentResourcePathConstants.GET_EXPS_PER_PROJECT_BY_DATE, e);
-        } finally {
-            if (airavataRegistry != null) {
-                RegPoolUtils.releaseRegistry(context, airavataRegistry);
-            }
-        }
-    }
-
-    /**
-     * This method will add a new experiment
-     *
-     * @param projectName   project name
-     * @param experimentID  experiment ID
-     * @param submittedDate submitted date
-     * @return HTTP response
-     */
-    @POST
-    @Path(ResourcePathConstants.ExperimentResourcePathConstants.ADD_EXP)
-    @Consumes({MediaType.APPLICATION_FORM_URLENCODED, MediaType.APPLICATION_JSON})
-    @Produces(MediaType.TEXT_PLAIN)
-    public Response addExperiment(@FormParam("projectName") String projectName,
-                                  @FormParam("experimentID") String experimentID,
-                                  @FormParam("submittedDate") String submittedDate) {
-        AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
-        try {
-            AiravataExperiment experiment = new AiravataExperiment();
-            experiment.setExperimentId(experimentID);
-            Gateway gateway = airavataRegistry.getGateway();
-            AiravataUser airavataUser = airavataRegistry.getAiravataUser();
-            experiment.setGateway(gateway);
-            experiment.setUser(airavataUser);
-            DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-            Date formattedDate = dateFormat.parse(submittedDate);
-            experiment.setSubmittedDate(formattedDate);
-            airavataRegistry.addExperiment(projectName, experiment);
-            Response.ResponseBuilder builder = Response.status(Response.Status.OK);
-            builder.entity("Experiment added successfully...");
-            return builder.build();
-        } catch (ExperimentDoesNotExistsException e) {
-            Response.ResponseBuilder builder = Response.status(Response.Status.NOT_FOUND);
-            builder.entity(e.getMessage());
-            return builder.build();
-        } catch (WorkspaceProjectDoesNotExistsException e) {
-            Response.ResponseBuilder builder = Response.status(Response.Status.BAD_REQUEST);
-            builder.entity(e.getMessage());
-            return builder.build();
-        } catch (ParseException e) {
-            Response.ResponseBuilder builder = Response.status(Response.Status.BAD_REQUEST);
-            builder.entity(e.getMessage());
-            return builder.build();
-        } catch (Throwable e) {
-            return WebAppUtil.reportInternalServerError(ResourcePathConstants.ExperimentResourcePathConstants.ADD_EXP, e);
-        } finally {
-            if (airavataRegistry != null) {
-                RegPoolUtils.releaseRegistry(context, airavataRegistry);
-            }
-        }
-
-    }
-
-    /**
-     * This method will check whether the given experiment ID exists
-     *
-     * @param experimentId experiment ID
-     * @return HTTP response
-     */
-    @GET
-    @Path(ResourcePathConstants.ExperimentResourcePathConstants.EXP_EXISTS)
-    @Produces(MediaType.TEXT_PLAIN)
-    public Response isExperimentExists(@QueryParam("experimentId") String experimentId) {
-        AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
-        try {
-            airavataRegistry.isExperimentExists(experimentId);
-            Response.ResponseBuilder builder = Response.status(Response.Status.OK);
-            builder.entity("True");
-            return builder.build();
-        } catch (ExperimentDoesNotExistsException e) {
-            Response.ResponseBuilder builder = Response.status(Response.Status.NOT_FOUND);
-            builder.entity("False");
-            return builder.build();
-        } catch (Throwable e) {
-            return WebAppUtil.reportInternalServerError(ResourcePathConstants.ExperimentResourcePathConstants.EXP_EXISTS, e);
-        } finally {
-            if (airavataRegistry != null) {
-                RegPoolUtils.releaseRegistry(context, airavataRegistry);
-            }
-        }
-    }
-
-    /**
-     * This method will check whether an experiment exist and create if not exists according to the
-     * createIfNotPresent flag
-     *
-     * @param experimentId       experiment ID
-     * @param createIfNotPresent flag to check whether to create a new experiment or not
-     * @return HTTP response
-     */
-    @POST
-    @Path(ResourcePathConstants.ExperimentResourcePathConstants.EXP_EXISTS_CREATE)
-    @Produces(MediaType.TEXT_PLAIN)
-    public Response isExperimentExistsThenCreate(@FormParam("experimentId") String experimentId,
-                                                 @FormParam("createIfNotPresent") String createIfNotPresent) {
-        boolean createIfNotPresentStatus = Boolean.valueOf(createIfNotPresent);
-        AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
-        try {
-            airavataRegistry.isExperimentExists(experimentId, createIfNotPresentStatus);
-            Response.ResponseBuilder builder = Response.status(Response.Status.OK);
-            builder.entity("New experiment created...");
-            return builder.build();
-        } catch (Throwable e) {
-            return WebAppUtil.reportInternalServerError(ResourcePathConstants.ExperimentResourcePathConstants.EXP_EXISTS_CREATE, e);
-        } finally {
-            if (airavataRegistry != null) {
-                RegPoolUtils.releaseRegistry(context, airavataRegistry);
-            }
-        }
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/0e2c10f5/modules/rest/service/src/main/java/org/apache/airavata/services/registry/rest/resources/ProjectRegistryResource.java
----------------------------------------------------------------------
diff --git a/modules/rest/service/src/main/java/org/apache/airavata/services/registry/rest/resources/ProjectRegistryResource.java b/modules/rest/service/src/main/java/org/apache/airavata/services/registry/rest/resources/ProjectRegistryResource.java
deleted file mode 100644
index 3a64fe2..0000000
--- a/modules/rest/service/src/main/java/org/apache/airavata/services/registry/rest/resources/ProjectRegistryResource.java
+++ /dev/null
@@ -1,271 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-package org.apache.airavata.services.registry.rest.resources;
-
-import org.apache.airavata.registry.api.AiravataRegistry2;
-import org.apache.airavata.registry.api.WorkspaceProject;
-import org.apache.airavata.registry.api.exception.worker.WorkspaceProjectAlreadyExistsException;
-import org.apache.airavata.registry.api.exception.worker.WorkspaceProjectDoesNotExistsException;
-import org.apache.airavata.rest.mappings.resourcemappings.WorkspaceProjectList;
-import org.apache.airavata.rest.mappings.utils.ResourcePathConstants;
-import org.apache.airavata.rest.mappings.utils.RegPoolUtils;
-import org.apache.airavata.services.registry.rest.utils.WebAppUtil;
-
-import javax.servlet.ServletContext;
-import javax.ws.rs.*;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import java.util.List;
-
-/**
- * This class is a REST interface for all the operations related to Project that are exposed in
- * Airavata Registry API
- */
-@Path(ResourcePathConstants.ProjectResourcePathConstants.REGISTRY_API_PROJECTREGISTRY)
-public class ProjectRegistryResource {
-
-    @Context
-    ServletContext context;
-
-    /**
-     * ---------------------------------Project Registry----------------------------------*
-     */
-
-    /**
-     * This method will check whether a given project name exists
-     * @param projectName project name
-     * @return HTTP response
-     */
-    @GET
-    @Path(ResourcePathConstants.ProjectResourcePathConstants.PROJECT_EXIST)
-    @Produces(MediaType.TEXT_PLAIN)
-    public Response isWorkspaceProjectExists(@QueryParam("projectName") String projectName) {
-        AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
-        try {
-            boolean result = airavataRegistry.isWorkspaceProjectExists(projectName);
-            if (result) {
-                Response.ResponseBuilder builder = Response.status(Response.Status.OK);
-                builder.entity("True");
-                return builder.build();
-            } else {
-                Response.ResponseBuilder builder = Response.status(Response.Status.OK);
-                builder.entity("False");
-                return builder.build();
-            }
-        } catch (Throwable e) {
-            return WebAppUtil.reportInternalServerError(ResourcePathConstants.ProjectResourcePathConstants.PROJECT_EXIST, e);
-        } finally {
-            if (airavataRegistry != null) {
-                RegPoolUtils.releaseRegistry(context, airavataRegistry);
-            }
-        }
-    }
-
-    /**
-     * This method will check whether a project exists and create according to the createIfNotExists
-     * flag
-     * @param projectName project name
-     * @param createIfNotExists  flag to check whether a new project should be created or not
-     * @return HTTP response
-     */
-    @POST
-    @Path(ResourcePathConstants.ProjectResourcePathConstants.PROJECT_EXIST_CREATE)
-    @Produces(MediaType.TEXT_PLAIN)
-    public Response isWorkspaceProjectExistsCreate(@FormParam("projectName") String projectName,
-                                             @FormParam("createIfNotExists") String createIfNotExists) {
-        boolean createIfNotExistStatus = Boolean.valueOf(createIfNotExists);
-
-        AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
-        try {
-            boolean result = airavataRegistry.isWorkspaceProjectExists(projectName, createIfNotExistStatus);
-            if (result) {
-                Response.ResponseBuilder builder = Response.status(Response.Status.OK);
-                builder.entity("True");
-                return builder.build();
-            } else {
-                Response.ResponseBuilder builder = Response.status(Response.Status.OK);
-                builder.entity("False");
-                return builder.build();
-            }
-        } catch (Throwable e) {
-            return WebAppUtil.reportInternalServerError(ResourcePathConstants.ProjectResourcePathConstants.PROJECT_EXIST_CREATE, e);
-        }finally {
-            if (airavataRegistry != null) {
-                RegPoolUtils.releaseRegistry(context, airavataRegistry);
-            }
-        }
-    }
-
-    /**
-     * This method will add new workspace project
-     * @param projectName project name
-     * @return HTTP response
-     */
-    @POST
-    @Path(ResourcePathConstants.ProjectResourcePathConstants.ADD_PROJECT)
-    @Produces(MediaType.TEXT_PLAIN)
-    public Response addWorkspaceProject(@FormParam("projectName") String projectName) {
-        AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
-        try {
-            WorkspaceProject workspaceProject = new WorkspaceProject(projectName, airavataRegistry);
-            airavataRegistry.addWorkspaceProject(workspaceProject);
-            Response.ResponseBuilder builder = Response.status(Response.Status.OK);
-            builder.entity("Workspace project added successfully...");
-            return builder.build();
-        } catch (WorkspaceProjectAlreadyExistsException e) {
-            Response.ResponseBuilder builder = Response.status(Response.Status.BAD_REQUEST);
-            builder.entity(e.getMessage());
-            return builder.build();
-        } catch (Throwable e) {
-            return WebAppUtil.reportInternalServerError(ResourcePathConstants.ProjectResourcePathConstants.ADD_PROJECT, e);
-        } finally {
-            if (airavataRegistry != null) {
-                RegPoolUtils.releaseRegistry(context, airavataRegistry);
-            }
-        }
-    }
-
-    /**
-     * This method will update the workspace project
-     * @param projectName project name
-     * @return HTTP response
-     */
-    @POST
-    @Path(ResourcePathConstants.ProjectResourcePathConstants.UPDATE_PROJECT)
-    @Produces(MediaType.TEXT_PLAIN)
-    public Response updateWorkspaceProject(@FormParam("projectName") String projectName) {
-        AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
-        try {
-            WorkspaceProject workspaceProject = new WorkspaceProject(projectName, airavataRegistry);
-            airavataRegistry.updateWorkspaceProject(workspaceProject);
-            Response.ResponseBuilder builder = Response.status(Response.Status.OK);
-            builder.entity("Workspace project updated successfully...");
-            return builder.build();
-        } catch (WorkspaceProjectDoesNotExistsException e) {
-            Response.ResponseBuilder builder = Response.status(Response.Status.BAD_REQUEST);
-            builder.entity(e.getMessage());
-            return builder.build();
-        } catch (Throwable e) {
-            return WebAppUtil.reportInternalServerError(ResourcePathConstants.ProjectResourcePathConstants.UPDATE_PROJECT, e);
-        }  finally {
-            if (airavataRegistry != null) {
-                RegPoolUtils.releaseRegistry(context, airavataRegistry);
-            }
-        }
-    }
-
-    /**
-     * This method will delete workspace project
-     * @param projectName project name
-     * @return HTTP response
-     */
-    @DELETE
-    @Path(ResourcePathConstants.ProjectResourcePathConstants.DELETE_PROJECT)
-    @Produces(MediaType.TEXT_PLAIN)
-    public Response deleteWorkspaceProject(@QueryParam("projectName") String projectName) {
-        AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
-        try {
-            airavataRegistry.deleteWorkspaceProject(projectName);
-            Response.ResponseBuilder builder = Response.status(Response.Status.OK);
-            builder.entity("Workspace project deleted successfully...");
-            return builder.build();
-        } catch (WorkspaceProjectDoesNotExistsException e) {
-            Response.ResponseBuilder builder = Response.status(Response.Status.BAD_REQUEST);
-            builder.entity(e.getMessage());
-            return builder.build();
-        } catch (Throwable e) {
-            return WebAppUtil.reportInternalServerError(ResourcePathConstants.ProjectResourcePathConstants.DELETE_PROJECT, e);
-        }  finally {
-            if (airavataRegistry != null) {
-                RegPoolUtils.releaseRegistry(context, airavataRegistry);
-            }
-        }
-    }
-
-    /**
-     * This method will retrieve the workspace project
-     * @param projectName project name
-     * @return HTTP response
-     */
-    @GET
-    @Path(ResourcePathConstants.ProjectResourcePathConstants.GET_PROJECT)
-    @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
-    public Response getWorkspaceProject(@QueryParam("projectName") String projectName) {
-        AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
-        try {
-            WorkspaceProject workspaceProject = airavataRegistry.getWorkspaceProject(projectName);
-            if (workspaceProject != null) {
-                Response.ResponseBuilder builder = Response.status(Response.Status.OK);
-                builder.entity(workspaceProject);
-                return builder.build();
-            } else {
-                Response.ResponseBuilder builder = Response.status(Response.Status.NOT_FOUND);
-                return builder.build();
-            }
-        } catch (WorkspaceProjectDoesNotExistsException e) {
-            Response.ResponseBuilder builder = Response.status(Response.Status.BAD_REQUEST);
-            builder.entity(e.getMessage());
-            return builder.build();
-        } catch (Throwable e) {
-            return WebAppUtil.reportInternalServerError(ResourcePathConstants.ProjectResourcePathConstants.GET_PROJECT, e);
-        } finally {
-            if (airavataRegistry != null) {
-                RegPoolUtils.releaseRegistry(context, airavataRegistry);
-            }
-        }
-    }
-
-    /**
-     * This method will retrieve all the workspace projects
-     * @return HTTP response
-     */
-    @GET
-    @Path(ResourcePathConstants.ProjectResourcePathConstants.GET_PROJECTS)
-    @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
-    public Response getWorkspaceProjects() {
-        AiravataRegistry2 airavataRegistry = RegPoolUtils.acquireRegistry(context);
-        try {
-            List<WorkspaceProject> workspaceProjects = airavataRegistry.getWorkspaceProjects();
-            WorkspaceProjectList workspaceProjectList = new WorkspaceProjectList();
-            WorkspaceProject[] workspaceProjectSet = new WorkspaceProject[workspaceProjects.size()];
-            for (int i = 0; i < workspaceProjects.size(); i++) {
-                workspaceProjectSet[i] = workspaceProjects.get(i);
-            }
-            workspaceProjectList.setWorkspaceProjects(workspaceProjectSet);
-            if (workspaceProjects.size() != 0) {
-                Response.ResponseBuilder builder = Response.status(Response.Status.OK);
-                builder.entity(workspaceProjectList);
-                return builder.build();
-            } else {
-                Response.ResponseBuilder builder = Response.status(Response.Status.NO_CONTENT);
-                return builder.build();
-            }
-        } catch (Throwable e) {
-            return WebAppUtil.reportInternalServerError(ResourcePathConstants.ProjectResourcePathConstants.GET_PROJECTS, e);
-        } finally {
-            if (airavataRegistry != null) {
-                RegPoolUtils.releaseRegistry(context, airavataRegistry);
-            }
-        }
-    }
-}