You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by ch...@apache.org on 2012/10/23 23:05:47 UTC

svn commit: r1401479 - in /airavata/sandbox/airavata-registry-rest: ./ src/main/java/org/apache/airavata/services/registry/rest/resourcemappings/ src/main/java/org/apache/airavata/services/registry/rest/resources/

Author: chathuri
Date: Tue Oct 23 21:05:46 2012
New Revision: 1401479

URL: http://svn.apache.org/viewvc?rev=1401479&view=rev
Log:
creating pojo classes to project and experiment

Added:
    airavata/sandbox/airavata-registry-rest/src/main/java/org/apache/airavata/services/registry/rest/resourcemappings/HostDescriptor.java
    airavata/sandbox/airavata-registry-rest/src/main/java/org/apache/airavata/services/registry/rest/resourcemappings/WorkspaceProjectMapping.java
Modified:
    airavata/sandbox/airavata-registry-rest/README.txt
    airavata/sandbox/airavata-registry-rest/src/main/java/org/apache/airavata/services/registry/rest/resourcemappings/Experiment.java
    airavata/sandbox/airavata-registry-rest/src/main/java/org/apache/airavata/services/registry/rest/resources/RegistryResource.java

Modified: airavata/sandbox/airavata-registry-rest/README.txt
URL: http://svn.apache.org/viewvc/airavata/sandbox/airavata-registry-rest/README.txt?rev=1401479&r1=1401478&r2=1401479&view=diff
==============================================================================
--- airavata/sandbox/airavata-registry-rest/README.txt (original)
+++ airavata/sandbox/airavata-registry-rest/README.txt Tue Oct 23 21:05:46 2012
@@ -67,5 +67,11 @@ To test
     curl --request DELETE 'http://localhost:9080/airavata-services/registry/api/applicationdescriptor/delete?serviceName=echo&hostName=LocalHost&appName=LocalHost_application2'
 
 ************ Project Registry *********************************
+    curl --request GET 'http://localhost:9080/airavata-services/registry/api/project/exist?projectName=default'
+    curl -H "Accept: text/plain" -X POST -d 'projectName=project1' http://localhost:9080/airavata-services/registry/api/add/project
+    curl -H "Accept: text/plain" -X POST -d 'projectName=project1' http://localhost:9080/airavata-services/registry/api/update/project
+    curl --request DELETE 'http://localhost:9080/airavata-services/registry/api/delete/project?projectName=project1'
+    curl --request GET 'http://localhost:9080/airavata-services/registry/api/get/project?projectName=project1'
+
 
 

Modified: airavata/sandbox/airavata-registry-rest/src/main/java/org/apache/airavata/services/registry/rest/resourcemappings/Experiment.java
URL: http://svn.apache.org/viewvc/airavata/sandbox/airavata-registry-rest/src/main/java/org/apache/airavata/services/registry/rest/resourcemappings/Experiment.java?rev=1401479&r1=1401478&r2=1401479&view=diff
==============================================================================
--- airavata/sandbox/airavata-registry-rest/src/main/java/org/apache/airavata/services/registry/rest/resourcemappings/Experiment.java (original)
+++ airavata/sandbox/airavata-registry-rest/src/main/java/org/apache/airavata/services/registry/rest/resourcemappings/Experiment.java Tue Oct 23 21:05:46 2012
@@ -1,7 +1,56 @@
 package org.apache.airavata.services.registry.rest.resourcemappings;
 
-import org.apache.airavata.registry.api.AiravataExperiment;
+import javax.xml.bind.annotation.XmlRootElement;
+import java.util.Date;
 
-public class Experiment extends AiravataExperiment {
+@XmlRootElement
+public class Experiment {
+    private String experimentId;
+    private String user;
+    private String project;
+    private Date date;
+    private String gatewayName;
 
+    public Experiment() {
+    }
+
+    public String getExperimentId() {
+        return experimentId;
+    }
+
+    public String getUser() {
+        return user;
+    }
+
+    public String getProject() {
+        return project;
+    }
+
+    public Date getDate() {
+        return date;
+    }
+
+    public String getGatewayName() {
+        return gatewayName;
+    }
+
+    public void setExperimentId(String experimentId) {
+        this.experimentId = experimentId;
+    }
+
+    public void setUser(String user) {
+        this.user = user;
+    }
+
+    public void setProject(String project) {
+        this.project = project;
+    }
+
+    public void setDate(Date date) {
+        this.date = date;
+    }
+
+    public void setGatewayName(String gatewayName) {
+        this.gatewayName = gatewayName;
+    }
 }

Added: airavata/sandbox/airavata-registry-rest/src/main/java/org/apache/airavata/services/registry/rest/resourcemappings/HostDescriptor.java
URL: http://svn.apache.org/viewvc/airavata/sandbox/airavata-registry-rest/src/main/java/org/apache/airavata/services/registry/rest/resourcemappings/HostDescriptor.java?rev=1401479&view=auto
==============================================================================
--- airavata/sandbox/airavata-registry-rest/src/main/java/org/apache/airavata/services/registry/rest/resourcemappings/HostDescriptor.java (added)
+++ airavata/sandbox/airavata-registry-rest/src/main/java/org/apache/airavata/services/registry/rest/resourcemappings/HostDescriptor.java Tue Oct 23 21:05:46 2012
@@ -0,0 +1,29 @@
+/*
+ *
+ * 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;
+
+@XmlRootElement(name="stream")
+public class HostDescriptor {
+
+}

Added: airavata/sandbox/airavata-registry-rest/src/main/java/org/apache/airavata/services/registry/rest/resourcemappings/WorkspaceProjectMapping.java
URL: http://svn.apache.org/viewvc/airavata/sandbox/airavata-registry-rest/src/main/java/org/apache/airavata/services/registry/rest/resourcemappings/WorkspaceProjectMapping.java?rev=1401479&view=auto
==============================================================================
--- airavata/sandbox/airavata-registry-rest/src/main/java/org/apache/airavata/services/registry/rest/resourcemappings/WorkspaceProjectMapping.java (added)
+++ airavata/sandbox/airavata-registry-rest/src/main/java/org/apache/airavata/services/registry/rest/resourcemappings/WorkspaceProjectMapping.java Tue Oct 23 21:05:46 2012
@@ -0,0 +1,67 @@
+/*
+ *
+ * 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 org.apache.airavata.registry.api.ProjectsRegistry;
+import org.apache.airavata.registry.api.WorkspaceProject;
+
+import javax.xml.bind.annotation.XmlRootElement;
+
+@XmlRootElement
+public class WorkspaceProjectMapping {
+    private String projectName;
+    private Experiment[] experimentsList;
+
+//    private ProjectsRegistry projectsRegistry;
+
+    public WorkspaceProjectMapping() {
+    }
+
+    public WorkspaceProjectMapping(String projectName) {
+        this.projectName = projectName;
+//        this.projectsRegistry = projectsRegistry;
+    }
+
+    public String getProjectName() {
+        return projectName;
+    }
+
+//    public ProjectsRegistry getProjectsRegistry() {
+//        return projectsRegistry;
+//    }
+
+    public void setProjectName(String projectName) {
+        this.projectName = projectName;
+    }
+
+    public Experiment[] getExperimentsList() {
+        return experimentsList;
+    }
+
+    public void setExperimentsList(Experiment[] experimentsList) {
+        this.experimentsList = experimentsList;
+    }
+
+    //    public void setProjectsRegistry(ProjectsRegistry projectsRegistry) {
+//        this.projectsRegistry = projectsRegistry;
+//    }
+}

Modified: airavata/sandbox/airavata-registry-rest/src/main/java/org/apache/airavata/services/registry/rest/resources/RegistryResource.java
URL: http://svn.apache.org/viewvc/airavata/sandbox/airavata-registry-rest/src/main/java/org/apache/airavata/services/registry/rest/resources/RegistryResource.java?rev=1401479&r1=1401478&r2=1401479&view=diff
==============================================================================
--- airavata/sandbox/airavata-registry-rest/src/main/java/org/apache/airavata/services/registry/rest/resources/RegistryResource.java (original)
+++ airavata/sandbox/airavata-registry-rest/src/main/java/org/apache/airavata/services/registry/rest/resources/RegistryResource.java Tue Oct 23 21:05:46 2012
@@ -1051,15 +1051,17 @@ import java.util.Map;
     @GET
     @Path("project/exist")
     @Produces(MediaType.TEXT_PLAIN)
-    public Response isWorkspaceProjectExists(@QueryParam("projectName") String projectName) {
+        public Response isWorkspaceProjectExists(@QueryParam("projectName") String projectName) {
         airavataRegistry = (AiravataRegistry2) context.getAttribute(AIRAVATA_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.NOT_FOUND);
+                builder.entity("False");
                 return builder.build();
             }
         } catch (RegistryException e) {
@@ -1151,14 +1153,32 @@ import java.util.Map;
 
     @GET
     @Path("get/project")
-    @Produces(MediaType.TEXT_PLAIN)
+    @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
     public Response getWorkspaceProject(@QueryParam("projectName") String projectName) {
         airavataRegistry = (AiravataRegistry2) context.getAttribute(AIRAVATA_CONTEXT);
         try{
             WorkspaceProject workspaceProject = airavataRegistry.getWorkspaceProject(projectName);
             if(workspaceProject != null){
+                WorkspaceProjectMapping workspaceProjectMapping = new WorkspaceProjectMapping(workspaceProject.getProjectName());
+
+                List<AiravataExperiment> airavataExperimentList = workspaceProject.getProjectsRegistry().getExperiments();
+                Experiment[] experiments = new Experiment[airavataExperimentList.size()];
+                if(airavataExperimentList.size() != 0){
+                    for (int i = 0; i < airavataExperimentList.size(); i++){
+                        Experiment experiment = new Experiment();
+                        AiravataExperiment airavataExperiment = airavataExperimentList.get(i);
+                        experiment.setExperimentId(airavataExperiment.getExperimentId());
+                        experiment.setGatewayName(airavataExperiment.getGateway().getGatewayName());
+                        experiment.setProject(airavataExperiment.getProject().getProjectName());
+                        experiment.setUser(airavataExperiment.getUser().getUserName());
+                        experiment.setDate(airavataExperiment.getSubmittedDate());
+                        experiments[i] = experiment;
+                    }
+                    workspaceProjectMapping.setExperimentsList(experiments);
+                }
+
                 Response.ResponseBuilder builder = Response.status(Response.Status.OK);
-                builder.entity(workspaceProject);
+                builder.entity(workspaceProjectMapping);
                 return builder.build();
             } else{
                 Response.ResponseBuilder builder = Response.status(Response.Status.NOT_FOUND);