Author: chathuri
Date: Wed Nov  7 15:21:50 2012
New Revision: 1406673

URL: http://svn.apache.org/viewvc?rev=1406673&view=rev
Log:
adding custom error messages

Added:
    
airavata/sandbox/airavata-registry-rest/src/main/java/org/apache/airavata/services/registry/rest/resourcemappings/DescriptorNameList.java
Modified:
    
airavata/sandbox/airavata-registry-rest/src/main/java/org/apache/airavata/services/registry/rest/resources/DescriptorRegistryResource.java

Added: 
airavata/sandbox/airavata-registry-rest/src/main/java/org/apache/airavata/services/registry/rest/resourcemappings/DescriptorNameList.java
URL: 
http://svn.apache.org/viewvc/airavata/sandbox/airavata-registry-rest/src/main/java/org/apache/airavata/services/registry/rest/resourcemappings/DescriptorNameList.java?rev=1406673&view=auto
==============================================================================
--- 
airavata/sandbox/airavata-registry-rest/src/main/java/org/apache/airavata/services/registry/rest/resourcemappings/DescriptorNameList.java
 (added)
+++ 
airavata/sandbox/airavata-registry-rest/src/main/java/org/apache/airavata/services/registry/rest/resourcemappings/DescriptorNameList.java
 Wed Nov  7 15:21:50 2012
@@ -0,0 +1,41 @@
+/*
+ *
+ * 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.resourcemappings;
+
+import javax.xml.bind.annotation.XmlRootElement;
+import java.util.List;
+
+@XmlRootElement
+public class DescriptorNameList {
+    private List<String> descriptorNames;
+
+    public DescriptorNameList() {
+    }
+
+    public List<String> getDescriptorNames() {
+        return descriptorNames;
+    }
+
+    public void setDescriptorNames(List<String> descriptorNames) {
+        this.descriptorNames = descriptorNames;
+    }
+}

Modified: 
airavata/sandbox/airavata-registry-rest/src/main/java/org/apache/airavata/services/registry/rest/resources/DescriptorRegistryResource.java
URL: 
http://svn.apache.org/viewvc/airavata/sandbox/airavata-registry-rest/src/main/java/org/apache/airavata/services/registry/rest/resources/DescriptorRegistryResource.java?rev=1406673&r1=1406672&r2=1406673&view=diff
==============================================================================
--- 
airavata/sandbox/airavata-registry-rest/src/main/java/org/apache/airavata/services/registry/rest/resources/DescriptorRegistryResource.java
 (original)
+++ 
airavata/sandbox/airavata-registry-rest/src/main/java/org/apache/airavata/services/registry/rest/resources/DescriptorRegistryResource.java
 Wed Nov  7 15:21:50 2012
@@ -38,6 +38,7 @@ 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;
 
@@ -63,14 +64,16 @@ public class DescriptorRegistryResource 
             state = airavataRegistry.isHostDescriptorExists(descriptorName);
             if (state) {
                 Response.ResponseBuilder builder = 
Response.status(Response.Status.OK);
-                builder.entity("True");
+                builder.entity("Host Descriptor exists...");
                 return builder.build();
             } else {
                 Response.ResponseBuilder builder = 
Response.status(Response.Status.NO_CONTENT);
+                builder.entity("Host Descriptor does not exist..");
                 return builder.build();
             }
         } catch (RegistryException e) {
             Response.ResponseBuilder builder = 
Response.status(Response.Status.INTERNAL_SERVER_ERROR);
+            builder.entity(e.getMessage());
             return builder.build();
         }
     }
@@ -79,18 +82,21 @@ public class DescriptorRegistryResource 
     @Path("hostdescriptor/save")
     @Consumes({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
     @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
-    public Response addJSONHostDescriptor(HostDescriptor host) {
+    public Response addHostDescriptor(HostDescriptor host) {
         airavataRegistry = (AiravataRegistry2) 
context.getAttribute(RestServicesConstants.AIRAVATA_REGISTRY);
         try {
             HostDescription hostDescription = 
DescriptorUtil.createHostDescription(host);
             airavataRegistry.addHostDescriptor(hostDescription);
-            Response.ResponseBuilder builder = 
Response.status(Response.Status.NO_CONTENT);
+            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 (RegistryException e) {
             Response.ResponseBuilder builder = 
Response.status(Response.Status.INTERNAL_SERVER_ERROR);
+            builder.entity(e.getMessage());
             return builder.build();
         }
     }
@@ -104,13 +110,16 @@ public class DescriptorRegistryResource 
         try {
             HostDescription hostDescription = 
DescriptorUtil.createHostDescription(host);
             airavataRegistry.updateHostDescriptor(hostDescription);
-            Response.ResponseBuilder builder = 
Response.status(Response.Status.NO_CONTENT);
+            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 (RegistryException e) {
             Response.ResponseBuilder builder = 
Response.status(Response.Status.INTERNAL_SERVER_ERROR);
+            builder.entity(e.getMessage());
             return builder.build();
         }
     }
@@ -130,10 +139,12 @@ public class DescriptorRegistryResource 
                 return builder.build();
             } else {
                 Response.ResponseBuilder builder = 
Response.status(Response.Status.BAD_REQUEST);
+                builder.entity("Host Descriptor does not exist...");
                 return builder.build();
             }
         } catch (RegistryException e) {
             Response.ResponseBuilder builder = 
Response.status(Response.Status.INTERNAL_SERVER_ERROR);
+            builder.entity(e.getMessage());
             return builder.build();
         }
 
@@ -147,12 +158,15 @@ public class DescriptorRegistryResource 
         try {
             airavataRegistry.removeHostDescriptor(hostName);
             Response.ResponseBuilder builder = 
Response.status(Response.Status.NO_CONTENT);
+            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 (RegistryException e) {
             Response.ResponseBuilder builder = 
Response.status(Response.Status.INTERNAL_SERVER_ERROR);
+            builder.entity(e.getMessage());
             return builder.build();
         }
     }
@@ -178,10 +192,41 @@ public class DescriptorRegistryResource 
                 return builder.build();
             } else {
                 Response.ResponseBuilder builder = 
Response.status(Response.Status.NO_CONTENT);
+                builder.entity("No host descriptors available...");
+                return builder.build();
+            }
+        } catch (RegistryException e) {
+            Response.ResponseBuilder builder = 
Response.status(Response.Status.INTERNAL_SERVER_ERROR);
+            builder.entity(e.getMessage());
+            return builder.build();
+        }
+    }
+
+    @GET
+    @Path("get/hostdescriptor/names")
+    @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
+    public Response getHostDescriptorNames() {
+        airavataRegistry = (AiravataRegistry2) 
context.getAttribute(RestServicesConstants.AIRAVATA_REGISTRY);
+        try {
+            List<HostDescription> hostDescriptionList = 
airavataRegistry.getHostDescriptors();
+            List<String> hostDescriptorNames = new ArrayList<String>();
+            DescriptorNameList descriptorNameList = new DescriptorNameList();
+            for (int i = 0; i < hostDescriptionList.size(); i++) {
+                
hostDescriptorNames.add(hostDescriptionList.get(i).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);
+                builder.entity("No host descriptors available...");
                 return builder.build();
             }
         } catch (RegistryException e) {
             Response.ResponseBuilder builder = 
Response.status(Response.Status.INTERNAL_SERVER_ERROR);
+            builder.entity(e.getMessage());
             return builder.build();
         }
     }
@@ -200,10 +245,12 @@ public class DescriptorRegistryResource 
                 return builder.build();
             } else {
                 Response.ResponseBuilder builder = 
Response.status(Response.Status.NO_CONTENT);
+                builder.entity("Service descriptor does not exist...");
                 return builder.build();
             }
         } catch (RegistryException e) {
             Response.ResponseBuilder builder = 
Response.status(Response.Status.INTERNAL_SERVER_ERROR);
+            builder.entity(e.getMessage());
             return builder.build();
         }
     }
@@ -217,13 +264,16 @@ public class DescriptorRegistryResource 
         try {
             ServiceDescription serviceDescription = 
DescriptorUtil.createServiceDescription(service);
             airavataRegistry.addServiceDescriptor(serviceDescription);
-            Response.ResponseBuilder builder = 
Response.status(Response.Status.NO_CONTENT);
+            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 (RegistryException e) {
             Response.ResponseBuilder builder = 
Response.status(Response.Status.INTERNAL_SERVER_ERROR);
+            builder.entity(e.getMessage());
             return builder.build();
         }
     }
@@ -237,13 +287,16 @@ public class DescriptorRegistryResource 
         try {
             ServiceDescription serviceDescription = 
DescriptorUtil.createServiceDescription(service);
             airavataRegistry.updateServiceDescriptor(serviceDescription);
-            Response.ResponseBuilder builder = 
Response.status(Response.Status.NO_CONTENT);
+            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 (RegistryException e) {
             Response.ResponseBuilder builder = 
Response.status(Response.Status.INTERNAL_SERVER_ERROR);
+            builder.entity(e.getMessage());
             return builder.build();
         }
     }
@@ -263,10 +316,12 @@ public class DescriptorRegistryResource 
                 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 (RegistryException e) {
             Response.ResponseBuilder builder = 
Response.status(Response.Status.INTERNAL_SERVER_ERROR);
+            builder.entity(e.getMessage());
             return builder.build();
         }
     }
@@ -278,13 +333,16 @@ public class DescriptorRegistryResource 
         airavataRegistry = (AiravataRegistry2) 
context.getAttribute(RestServicesConstants.AIRAVATA_REGISTRY);
         try {
             airavataRegistry.removeServiceDescriptor(serviceName);
-            Response.ResponseBuilder builder = 
Response.status(Response.Status.NO_CONTENT);
+            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 (RegistryException e) {
             Response.ResponseBuilder builder = 
Response.status(Response.Status.INTERNAL_SERVER_ERROR);
+            builder.entity(e.getMessage());
             return builder.build();
         }
     }
@@ -310,10 +368,12 @@ public class DescriptorRegistryResource 
                 return builder.build();
             } else {
                 Response.ResponseBuilder builder = 
Response.status(Response.Status.NO_CONTENT);
+                builder.entity("No service descriptors available...");
                 return builder.build();
             }
         } catch (RegistryException e) {
             Response.ResponseBuilder builder = 
Response.status(Response.Status.INTERNAL_SERVER_ERROR);
+            builder.entity(e.getMessage());
             return builder.build();
         }
     }
@@ -335,10 +395,12 @@ public class DescriptorRegistryResource 
                 return builder.build();
             } else {
                 Response.ResponseBuilder builder = 
Response.status(Response.Status.NO_CONTENT);
+                builder.entity("Application descriptor does not exist...");
                 return builder.build();
             }
         } catch (RegistryException e) {
             Response.ResponseBuilder builder = 
Response.status(Response.Status.INTERNAL_SERVER_ERROR);
+            builder.entity(e.getMessage());
             return builder.build();
         }
     }
@@ -348,12 +410,13 @@ public class DescriptorRegistryResource 
     @Path("applicationdescriptor/build/save")
     @Consumes({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
     @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
-    public Response addJSONApplicationDescriptor(ApplicationDescriptor 
applicationDescriptor) {
+    public Response addApplicationDescriptor(ApplicationDescriptor 
applicationDescriptor) {
         airavataRegistry = (AiravataRegistry2) 
context.getAttribute(RestServicesConstants.AIRAVATA_REGISTRY);
         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();
             }
             ApplicationDeploymentDescription applicationDeploymentDescription 
= DescriptorUtil.createApplicationDescription(applicationDescriptor);
@@ -376,13 +439,16 @@ public class DescriptorRegistryResource 
             airavataRegistry.addApplicationDescriptor(serviceName, 
hostdescName, applicationDeploymentDescription);
 
 
-            Response.ResponseBuilder builder = 
Response.status(Response.Status.NO_CONTENT);
+            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 (RegistryException e) {
             Response.ResponseBuilder builder = 
Response.status(Response.Status.INTERNAL_SERVER_ERROR);
+            builder.entity(e.getMessage());
             return builder.build();
         }
     }
@@ -398,6 +464,7 @@ public class DescriptorRegistryResource 
             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();
             }
             ApplicationDeploymentDescription applicationDeploymentDescription 
= DescriptorUtil.createApplicationDescription(applicationDescriptor);
@@ -421,13 +488,16 @@ public class DescriptorRegistryResource 
                 serviceName = applicationDescriptor.getName();
             }
             airavataRegistry.updateApplicationDescriptor(serviceName, 
hostdescName, applicationDeploymentDescription);
-            Response.ResponseBuilder builder = 
Response.status(Response.Status.NO_CONTENT);
+            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 (RegistryException e) {
             Response.ResponseBuilder builder = 
Response.status(Response.Status.INTERNAL_SERVER_ERROR);
+            builder.entity(e.getMessage());
             return builder.build();
         }
     }
@@ -454,10 +524,12 @@ public class DescriptorRegistryResource 
                 return builder.build();
             } else {
                 Response.ResponseBuilder builder = 
Response.status(Response.Status.BAD_REQUEST);
+                builder.entity("Application descriptor does not exist...");
                 return builder.build();
             }
         } catch (RegistryException e) {
             Response.ResponseBuilder builder = 
Response.status(Response.Status.INTERNAL_SERVER_ERROR);
+            builder.entity(e.getMessage());
             return builder.build();
         }
     }
@@ -482,10 +554,12 @@ public class DescriptorRegistryResource 
                 return builder.build();
             } else {
                 Response.ResponseBuilder builder = 
Response.status(Response.Status.BAD_REQUEST);
+                builder.entity("Application descriptor does not exist...");
                 return builder.build();
             }
         } catch (RegistryException e) {
             Response.ResponseBuilder builder = 
Response.status(Response.Status.INTERNAL_SERVER_ERROR);
+            builder.entity(e.getMessage());
             return builder.build();
         }
     }
@@ -519,13 +593,16 @@ public class DescriptorRegistryResource 
                 return builder.build();
             } else {
                 Response.ResponseBuilder builder = 
Response.status(Response.Status.NO_CONTENT);
+                builder.entity("Application descriptor does not exist...");
                 return builder.build();
             }
         } catch (MalformedDescriptorException e) {
             Response.ResponseBuilder builder = 
Response.status(Response.Status.INTERNAL_SERVER_ERROR);
+            builder.entity(e.getMessage());
             return builder.build();
         } catch (RegistryException e) {
             Response.ResponseBuilder builder = 
Response.status(Response.Status.INTERNAL_SERVER_ERROR);
+            builder.entity(e.getMessage());
             return builder.build();
         }
     }
@@ -561,13 +638,50 @@ public class DescriptorRegistryResource 
                 return builder.build();
             } else {
                 Response.ResponseBuilder builder = 
Response.status(Response.Status.NO_CONTENT);
+                builder.entity("No application descriptors available...");
+                return builder.build();
+            }
+        } catch (MalformedDescriptorException e) {
+            Response.ResponseBuilder builder = 
Response.status(Response.Status.INTERNAL_SERVER_ERROR);
+            builder.entity(e.getMessage());
+            return builder.build();
+        } catch (RegistryException e) {
+            Response.ResponseBuilder builder = 
Response.status(Response.Status.INTERNAL_SERVER_ERROR);
+            builder.entity(e.getMessage());
+            return builder.build();
+        }
+    }
+
+    @GET
+    @Path("applicationdescriptor/names")
+    @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
+    public Response getApplicationDescriptorNames() {
+        airavataRegistry = (AiravataRegistry2) 
context.getAttribute(RestServicesConstants.AIRAVATA_REGISTRY);
+        try {
+            Map<String[], ApplicationDeploymentDescription> 
applicationDeploymentDescriptionMap = 
airavataRegistry.getApplicationDescriptors();
+            DescriptorNameList descriptorNameList = new DescriptorNameList();
+            List<String> appDesNames = new ArrayList<String>();
+            for (String[] descriptors : 
applicationDeploymentDescriptionMap.keySet()) {
+                ApplicationDeploymentDescription 
applicationDeploymentDescription = 
applicationDeploymentDescriptionMap.get(descriptors);
+                
appDesNames.add(applicationDeploymentDescription.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);
+                builder.entity("No application descriptors available...");
                 return builder.build();
             }
         } catch (MalformedDescriptorException e) {
             Response.ResponseBuilder builder = 
Response.status(Response.Status.INTERNAL_SERVER_ERROR);
+            builder.entity(e.getMessage());
             return builder.build();
         } catch (RegistryException e) {
             Response.ResponseBuilder builder = 
Response.status(Response.Status.INTERNAL_SERVER_ERROR);
+            builder.entity(e.getMessage());
             return builder.build();
         }
     }
@@ -582,12 +696,15 @@ public class DescriptorRegistryResource 
         try {
             airavataRegistry.removeApplicationDescriptor(serviceName, 
hostName, appName);
             Response.ResponseBuilder builder = 
Response.status(Response.Status.NO_CONTENT);
+            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 (RegistryException e) {
             Response.ResponseBuilder builder = 
Response.status(Response.Status.INTERNAL_SERVER_ERROR);
+            builder.entity(e.getMessage());
             return builder.build();
         }
     }


Reply via email to