You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by la...@apache.org on 2012/09/21 16:51:24 UTC

svn commit: r1388539 - in /airavata/trunk/modules/registry/airavata-jpa-registry/src/main: java/org/apache/airavata/persistance/registry/jpa/model/ java/org/apache/airavata/persistance/registry/jpa/resources/ resources/

Author: lahiru
Date: Fri Sep 21 14:51:23 2012
New Revision: 1388539

URL: http://svn.apache.org/viewvc?rev=1388539&view=rev
Log:
removing auto increment field from Project table

Modified:
    airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Project.java
    airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/AbstractResource.java
    airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentResource.java
    airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ProjectResource.java
    airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/WorkerResource.java
    airavata/trunk/modules/registry/airavata-jpa-registry/src/main/resources/data-derby.sql
    airavata/trunk/modules/registry/airavata-jpa-registry/src/main/resources/data-mysql.sql

Modified: airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Project.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Project.java?rev=1388539&r1=1388538&r2=1388539&view=diff
==============================================================================
--- airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Project.java (original)
+++ airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Project.java Fri Sep 21 14:51:23 2012
@@ -25,7 +25,6 @@ import javax.persistence.*;
 @Entity
 public class Project {
     @Id
-    private int project_ID;
     private String project_name;
 
     @ManyToOne(cascade=CascadeType.MERGE)
@@ -36,10 +35,6 @@ public class Project {
     @JoinColumn(name = "user_name")
     private Users users;
 
-    public int getProject_ID() {
-        return project_ID;
-    }
-
     public String getProject_name() {
         return project_name;
     }
@@ -48,10 +43,6 @@ public class Project {
         return gateway;
     }
 
-    public void setProject_ID(int project_ID) {
-        this.project_ID = project_ID;
-    }
-
     public void setProject_name(String project_name) {
         this.project_name = project_name;
     }

Modified: airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/AbstractResource.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/AbstractResource.java?rev=1388539&r1=1388538&r2=1388539&view=diff
==============================================================================
--- airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/AbstractResource.java (original)
+++ airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/AbstractResource.java Fri Sep 21 14:51:23 2012
@@ -72,7 +72,6 @@ public abstract class AbstractResource i
 
     //Project table
     public final class ProjectConstants {
-        public static final String PROJECT_ID = "project_ID";
         public static final String GATEWAY_NAME = "gateway_name";
         public static final String USERNAME = "user_name";
         public static final String PROJECT_NAME = "project_name";
@@ -127,7 +126,7 @@ public abstract class AbstractResource i
 
     //Experiment table
     public final class ExperimentConstants {
-        public static final String PROJECT_ID = "project_ID";
+        public static final String PROJECT_NAME = "project_name";
         public static final String USERNAME = "user_name";
         public static final String GATEWAY_NAME = "gateway_name";
         public static final String EXPERIMENT_ID = "experiment_ID";

Modified: airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentResource.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentResource.java?rev=1388539&r1=1388538&r2=1388539&view=diff
==============================================================================
--- airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentResource.java (original)
+++ airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentResource.java Fri Sep 21 14:51:23 2012
@@ -175,20 +175,18 @@ public class ExperimentResource extends 
         em = ResourceUtils.getEntityManager();
         em.getTransaction().begin();
         Experiment experiment = new Experiment();
-        Project project = new Project();
-        project.setProject_ID(this.project.getId());
-        Users user = new Users();
-        user.setUser_name(getWorker().getUser());
-        Gateway gateway = new Gateway();
-        gateway.setGateway_name(getGateway().getGatewayName());
-        experiment.setProject(project);
+        Project projectmodel = em.find(Project.class, project.getName());
+        experiment.setProject(projectmodel);
+        Users user = em.find(Users.class, getWorker().getUser());
+        Gateway gateway = em.find(Gateway.class, getGateway().getGatewayName());
+        experiment.setProject(projectmodel);
         experiment.setExperiment_ID(getExpID());
         experiment.setUser(user);
         experiment.setGateway(gateway);
         experiment.setSubmitted_date(submittedDate);
         if(existingExp != null){
             existingExp.setGateway(gateway);
-            existingExp.setProject(project);
+            existingExp.setProject(projectmodel);
             existingExp.setUser(user);
             existingExp.setSubmitted_date(submittedDate);
             experiment = em.merge(existingExp);

Modified: airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ProjectResource.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ProjectResource.java?rev=1388539&r1=1388538&r2=1388539&view=diff
==============================================================================
--- airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ProjectResource.java (original)
+++ airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ProjectResource.java Fri Sep 21 14:51:23 2012
@@ -38,7 +38,6 @@ import org.apache.airavata.persistance.r
 public class ProjectResource extends AbstractResource {
 
     private String name;
-    private int id = -1;
     private GatewayResource gateway;
     private WorkerResource worker;
 
@@ -52,12 +51,12 @@ public class ProjectResource extends Abs
      *
      * @param worker gateway worker
      * @param gateway gateway
-     * @param id project id
+     * @param projectName project name
      */
-    public ProjectResource(WorkerResource worker, GatewayResource gateway, int id) {
+    public ProjectResource(WorkerResource worker, GatewayResource gateway, String projectName) {
         this.setWorker(worker);
         this.setGateway(gateway);
-        this.id = id;
+        this.name = projectName;
     }
 
     /**
@@ -87,7 +86,7 @@ public class ProjectResource extends Abs
         em.getTransaction().begin();
         if (type == ResourceType.EXPERIMENT) {
         	QueryGenerator generator = new QueryGenerator(EXPERIMENT);
-        	generator.setParameter(ExperimentConstants.PROJECT_ID, id);
+        	generator.setParameter(ExperimentConstants.PROJECT_NAME, name);
         	generator.setParameter(ExperimentConstants.USERNAME, getWorker().getUser());
         	generator.setParameter(ExperimentConstants.EXPERIMENT_ID, name);
         	Query q = generator.deleteQuery(em);
@@ -108,7 +107,7 @@ public class ProjectResource extends Abs
         em.getTransaction().begin();
         if (type == ResourceType.EXPERIMENT) {
         	QueryGenerator generator = new QueryGenerator(EXPERIMENT);
-        	generator.setParameter(ExperimentConstants.PROJECT_ID, id);
+        	generator.setParameter(ExperimentConstants.PROJECT_NAME, name);
         	generator.setParameter(ExperimentConstants.USERNAME, getWorker().getUser());
         	generator.setParameter(ExperimentConstants.EXPERIMENT_ID, name);
         	Query q = generator.selectQuery(em);
@@ -159,7 +158,7 @@ public class ProjectResource extends Abs
         em.getTransaction().begin();
         if (type == ResourceType.EXPERIMENT) {
         	QueryGenerator generator = new QueryGenerator(EXPERIMENT);
-        	generator.setParameter(ExperimentConstants.PROJECT_ID, id);
+        	generator.setParameter(ExperimentConstants.PROJECT_NAME, name);
         	Query q = generator.selectQuery(em);
             List<?> results = q.getResultList();
             if (results.size() != 0) {
@@ -181,19 +180,26 @@ public class ProjectResource extends Abs
      */
     public void save() {
         EntityManager em = ResourceUtils.getEntityManager();
+        Project existingprojectResource = em.find(Project.class, name);
+        em.close();
+
+        em = ResourceUtils.getEntityManager();
         em.getTransaction().begin();
         Project project = new Project();
         project.setProject_name(name);
-        Gateway gatewayO = new Gateway();
-        gatewayO.setGateway_name(gateway.getGatewayName());
-        project.setGateway(gatewayO);
-        if (id != -1) {
-            project.setProject_ID(id);
-        }
-        Users user = new Users();
-        user.setUser_name(worker.getUser());
+        Gateway modelGateway = em.find(Gateway.class, gateway.getGatewayName());
+        project.setGateway(modelGateway);
+        Users user = em.find(Users.class, worker.getUser());
         project.setUsers(user);
-        em.merge(project);
+
+        if(existingprojectResource != null){
+           existingprojectResource.setGateway(modelGateway);
+            existingprojectResource.setUsers(user);
+            project = em.merge(existingprojectResource);
+        }else {
+            em.persist(project);
+        }
+
         em.getTransaction().commit();
         em.close();
 
@@ -217,14 +223,6 @@ public class ProjectResource extends Abs
 
     /**
      *
-     * @return project ID
-     */
-    public int getId() {
-        return id;
-    }
-
-    /**
-     *
      * @return gateway worker
      */
     public WorkerResource getWorker() {

Modified: airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/WorkerResource.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/WorkerResource.java?rev=1388539&r1=1388538&r2=1388539&view=diff
==============================================================================
--- airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/WorkerResource.java (original)
+++ airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/WorkerResource.java Fri Sep 21 14:51:23 2012
@@ -92,9 +92,7 @@ public class WorkerResource extends Abst
 		switch (type) {
 			case PROJECT:
                 generator = new QueryGenerator(PROJECT);
-                generator.setParameter(ProjectConstants.USERNAME, getUser());
                 generator.setParameter(ProjectConstants.PROJECT_NAME, name);
-                generator.setParameter(ProjectConstants.GATEWAY_NAME, gateway.getGatewayName());
                 q = generator.deleteQuery(em);
 	            q.executeUpdate();
 				break;
@@ -141,9 +139,7 @@ public class WorkerResource extends Abst
 		switch (type) {
 			case PROJECT:
                 generator = new QueryGenerator(PROJECT);
-                generator.setParameter(ProjectConstants.USERNAME, getUser());
                 generator.setParameter(ProjectConstants.PROJECT_NAME, name);
-                generator.setParameter(ProjectConstants.GATEWAY_NAME, gateway.getGatewayName());
                 q = generator.selectQuery(em);
 	            Project project = (Project) q.getSingleResult();
                 result= Utils.getResource(ResourceType.PROJECT, project);

Modified: airavata/trunk/modules/registry/airavata-jpa-registry/src/main/resources/data-derby.sql
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/resources/data-derby.sql?rev=1388539&r1=1388538&r2=1388539&view=diff
==============================================================================
--- airavata/trunk/modules/registry/airavata-jpa-registry/src/main/resources/data-derby.sql (original)
+++ airavata/trunk/modules/registry/airavata-jpa-registry/src/main/resources/data-derby.sql Fri Sep 21 14:51:23 2012
@@ -53,9 +53,6 @@ create table Gateway_Worker
 
 create table Project
 (
-       project_ID int NOT NULL primary key
-        GENERATED ALWAYS AS IDENTITY
-        (START WITH 1, INCREMENT BY 1),
        gateway_name varchar(255),
        user_name varchar(255),
        project_name varchar(255),
@@ -83,7 +80,7 @@ create table User_Workflow
        gateway_name varchar(255),
        owner varchar(255),
        template_name varchar(255),
-       last_updated_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ,
+       last_updated_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
        path varchar (255),
        workflow_graph BLOB,
        PRIMARY KEY(gateway_name, owner, template_name),
@@ -129,14 +126,14 @@ create table Application_Descriptor
 
 create table Experiment
 (
-          project_ID int,
+          project_name varchar(255),
 	      gateway_name varchar(255),
           user_name varchar(255),
           experiment_ID varchar(255),
           submitted_date TIMESTAMP DEFAULT '0000-00-00 00:00:00',
           PRIMARY KEY(experiment_ID),
           FOREIGN KEY (gateway_name) REFERENCES Gateway(gateway_name) ON DELETE CASCADE,
-          FOREIGN KEY (project_ID) REFERENCES Project(project_ID) ON DELETE CASCADE,
+          FOREIGN KEY (project_name) REFERENCES Project(project_name) ON DELETE CASCADE,
           FOREIGN KEY (user_name) REFERENCES Users(user_name) ON DELETE CASCADE
 );
 

Modified: airavata/trunk/modules/registry/airavata-jpa-registry/src/main/resources/data-mysql.sql
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/resources/data-mysql.sql?rev=1388539&r1=1388538&r2=1388539&view=diff
==============================================================================
--- airavata/trunk/modules/registry/airavata-jpa-registry/src/main/resources/data-mysql.sql (original)
+++ airavata/trunk/modules/registry/airavata-jpa-registry/src/main/resources/data-mysql.sql Fri Sep 21 14:51:23 2012
@@ -52,11 +52,10 @@ create table Gateway_Worker
 
 create table Project
 (
-       project_ID int(11) NOT NULL AUTO_INCREMENT,
        gateway_name varchar(255),
        user_name varchar(255),
        project_name varchar(255),
-       PRIMARY KEY(project_ID),
+       PRIMARY KEY(project_name),
        FOREIGN KEY (gateway_name) REFERENCES Gateway(gateway_name) ON DELETE CASCADE,
        FOREIGN KEY (user_name) REFERENCES Users(user_name) ON DELETE CASCADE
 );
@@ -127,14 +126,14 @@ create table Application_Descriptor
 
 create table Experiment
 (
-          project_ID int(11),
+          project_name varchar(255),
 	      gateway_name varchar(255),
           user_name varchar(255),
           experiment_ID varchar(255),
           submitted_date TIMESTAMP DEFAULT '0000-00-00 00:00:00',
           PRIMARY KEY(experiment_ID),
           FOREIGN KEY (gateway_name) REFERENCES Gateway(gateway_name) ON DELETE CASCADE,
-          FOREIGN KEY (project_ID) REFERENCES Project(project_ID) ON DELETE CASCADE,
+          FOREIGN KEY (project_name) REFERENCES Project(project_name) ON DELETE CASCADE,
           FOREIGN KEY (user_name) REFERENCES Users(user_name) ON DELETE CASCADE
 );