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
);