You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sm...@apache.org on 2017/04/03 16:50:19 UTC
[46/50] airavata git commit: AIRAVATA-2350 Including GATEWAY_ID in
user resource profile keys
AIRAVATA-2350 Including GATEWAY_ID in user resource profile keys
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/98ebc2c3
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/98ebc2c3
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/98ebc2c3
Branch: refs/heads/master
Commit: 98ebc2c35b7e48ea1d63c25a42cf3c530c607144
Parents: 6bc536f
Author: Marcus Christie <ma...@apache.org>
Authored: Wed Mar 29 11:58:01 2017 -0400
Committer: Marcus Christie <ma...@apache.org>
Committed: Wed Mar 29 11:58:46 2017 -0400
----------------------------------------------------------------------
.../catalog/impl/UsrResourceProfileImpl.java | 4 ++--
.../model/UserComputeResourcePreference.java | 1 +
.../model/UserComputeResourcePreferencePK.java | 24 ++++++++++++++++----
.../catalog/model/UserStoragePreference.java | 1 +
.../catalog/model/UserStoragePreferencePK.java | 22 +++++++++++++++---
.../UserComputeHostPreferenceResource.java | 10 +++++---
.../UserStoragePreferenceResource.java | 14 ++++++++----
.../registry/cpi/CompositeIdentifier.java | 12 +++++++++-
.../DeltaScripts/appCatalog_schema_delta.sql | 6 ++---
9 files changed, 73 insertions(+), 21 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/98ebc2c3/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/impl/UsrResourceProfileImpl.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/impl/UsrResourceProfileImpl.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/impl/UsrResourceProfileImpl.java
index bb4cc0b..98c1af7 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/impl/UsrResourceProfileImpl.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/impl/UsrResourceProfileImpl.java
@@ -205,7 +205,7 @@ public class UsrResourceProfileImpl implements UsrResourceProfile {
public boolean removeUserComputeResourcePreferenceFromGateway(String userId, String gatewayId, String preferenceId) throws AppCatalogException {
try {
UserComputeHostPreferenceResource resource = new UserComputeHostPreferenceResource();
- CompositeIdentifier ids = new CompositeIdentifier(preferenceId, userId);
+ CompositeIdentifier ids = new CompositeIdentifier(preferenceId, userId, gatewayId);
resource.remove(ids);
return true;
}catch (Exception e) {
@@ -218,7 +218,7 @@ public class UsrResourceProfileImpl implements UsrResourceProfile {
public boolean removeUserDataStoragePreferenceFromGateway(String userId, String gatewayId, String preferenceId) throws AppCatalogException {
try {
UserStoragePreferenceResource resource = new UserStoragePreferenceResource();
- CompositeIdentifier ids = new CompositeIdentifier(preferenceId,userId);
+ CompositeIdentifier ids = new CompositeIdentifier(preferenceId,userId, gatewayId);
resource.remove(ids);
return true;
}catch (Exception e) {
http://git-wip-us.apache.org/repos/asf/airavata/blob/98ebc2c3/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/UserComputeResourcePreference.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/UserComputeResourcePreference.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/UserComputeResourcePreference.java
index 05f6e7c..599793a 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/UserComputeResourcePreference.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/UserComputeResourcePreference.java
@@ -35,6 +35,7 @@ public class UserComputeResourcePreference {
@Id
@Column(name = "RESOURCE_ID")
private String resourceId;
+ @Id
@Column(name = "GATEWAY_ID")
private String gatewayID;
@Column(name = "PREFERED_BATCH_QUEUE")
http://git-wip-us.apache.org/repos/asf/airavata/blob/98ebc2c3/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/UserComputeResourcePreferencePK.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/UserComputeResourcePreferencePK.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/UserComputeResourcePreferencePK.java
index 0192f79..fbb7dd7 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/UserComputeResourcePreferencePK.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/UserComputeResourcePreferencePK.java
@@ -24,11 +24,13 @@ package org.apache.airavata.registry.core.app.catalog.model;
import java.io.Serializable;
public class UserComputeResourcePreferencePK implements Serializable {
- private String resourceId;
private String userId;
+ private String gatewayID;
+ private String resourceId;
- public UserComputeResourcePreferencePK(String userId, String resourceId) {
+ public UserComputeResourcePreferencePK(String userId, String gatewayID, String resourceId) {
this.userId = userId;
+ this.gatewayID = gatewayID;
this.resourceId = resourceId;
}
@@ -37,12 +39,22 @@ public class UserComputeResourcePreferencePK implements Serializable {
@Override
public boolean equals(Object o) {
- return false;
+ if (this == o) return true;
+ if (!(o instanceof UserComputeResourcePreferencePK)) return false;
+
+ UserComputeResourcePreferencePK that = (UserComputeResourcePreferencePK) o;
+
+ if (!userId.equals(that.userId)) return false;
+ if (!gatewayID.equals(that.gatewayID)) return false;
+ return resourceId.equals(that.resourceId);
}
@Override
public int hashCode() {
- return 1;
+ int result = userId.hashCode();
+ result = 31 * result + gatewayID.hashCode();
+ result = 31 * result + resourceId.hashCode();
+ return result;
}
public String getUserId() {
@@ -60,4 +72,8 @@ public class UserComputeResourcePreferencePK implements Serializable {
public void setResourceId(String resourceId) {
this.resourceId = resourceId;
}
+
+ public String getGatewayID() { return gatewayID; }
+
+ public void setGatewayID(String gatewayID) { this.gatewayID = gatewayID; }
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/98ebc2c3/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/UserStoragePreference.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/UserStoragePreference.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/UserStoragePreference.java
index 3efbd7b..9b96d9f 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/UserStoragePreference.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/UserStoragePreference.java
@@ -31,6 +31,7 @@ public class UserStoragePreference {
@Id
@Column(name = "USER_ID")
private String userId;
+ @Id
@Column(name = "GATEWAY_ID")
private String gatewayID;
@Id
http://git-wip-us.apache.org/repos/asf/airavata/blob/98ebc2c3/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/UserStoragePreferencePK.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/UserStoragePreferencePK.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/UserStoragePreferencePK.java
index 7943b5a..9fdbe6a 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/UserStoragePreferencePK.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/UserStoragePreferencePK.java
@@ -26,10 +26,12 @@ import java.io.Serializable;
public class UserStoragePreferencePK implements Serializable {
private String userId;
+ private String gatewayID;
private String storageResourceId;
- public UserStoragePreferencePK(String userId, String storageResourceId) {
+ public UserStoragePreferencePK(String userId, String gatewayID, String storageResourceId) {
this.userId = userId;
+ this.gatewayID = gatewayID;
this.storageResourceId = storageResourceId;
}
@@ -38,12 +40,22 @@ public class UserStoragePreferencePK implements Serializable {
@Override
public boolean equals(Object o) {
- return false;
+ if (this == o) return true;
+ if (!(o instanceof UserStoragePreferencePK)) return false;
+
+ UserStoragePreferencePK that = (UserStoragePreferencePK) o;
+
+ if (!userId.equals(that.userId)) return false;
+ if (!gatewayID.equals(that.gatewayID)) return false;
+ return storageResourceId.equals(that.storageResourceId);
}
@Override
public int hashCode() {
- return 1;
+ int result = userId.hashCode();
+ result = 31 * result + gatewayID.hashCode();
+ result = 31 * result + storageResourceId.hashCode();
+ return result;
}
public String getUserId() {
@@ -61,4 +73,8 @@ public class UserStoragePreferencePK implements Serializable {
public void setStorageResourceId(String storageResourceId) {
this.storageResourceId = storageResourceId;
}
+
+ public String getGatewayID() { return gatewayID; }
+
+ public void setGatewayID(String gatewayID) { this.gatewayID = gatewayID; }
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/98ebc2c3/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/UserComputeHostPreferenceResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/UserComputeHostPreferenceResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/UserComputeHostPreferenceResource.java
index 1dcbe9d..cbcf603 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/UserComputeHostPreferenceResource.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/UserComputeHostPreferenceResource.java
@@ -185,6 +185,7 @@ public class UserComputeHostPreferenceResource extends AppCatAbstractResource {
AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(USER_COMPUTE_RESOURCE_PREFERENCE);
generator.setParameter(UserComputeResourcePreferenceConstants.RESOURCE_ID, ids.getTopLevelIdentifier().toString());
generator.setParameter(UserComputeResourcePreferenceConstants.USER_ID, ids.getSecondLevelIdentifier().toString());
+ generator.setParameter(UserComputeResourcePreferenceConstants.GATEWAY_ID, ids.getThirdLevelIdentifier().toString());
Query q = generator.deleteQuery(em);
q.executeUpdate();
@@ -225,6 +226,7 @@ public class UserComputeHostPreferenceResource extends AppCatAbstractResource {
AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(USER_COMPUTE_RESOURCE_PREFERENCE);
generator.setParameter(UserComputeResourcePreferenceConstants.RESOURCE_ID, ids.getTopLevelIdentifier().toString());
generator.setParameter(UserComputeResourcePreferenceConstants.USER_ID, ids.getSecondLevelIdentifier().toString());
+ generator.setParameter(UserComputeResourcePreferenceConstants.GATEWAY_ID, ids.getThirdLevelIdentifier().toString());
Query q = generator.selectQuery(em);
UserComputeResourcePreference preference = (UserComputeResourcePreference) q.getSingleResult();
UserComputeHostPreferenceResource preferenceResource =
@@ -351,7 +353,7 @@ public class UserComputeHostPreferenceResource extends AppCatAbstractResource {
EntityManager em = null;
try {
em = AppCatalogJPAUtils.getEntityManager();
- UserComputeResourcePreference existingPreference = em.find(UserComputeResourcePreference.class, new UserComputeResourcePreferencePK(userId, resourceId));
+ UserComputeResourcePreference existingPreference = em.find(UserComputeResourcePreference.class, new UserComputeResourcePreferencePK(userId, gatewayID, resourceId));
if (em.isOpen()) {
if (em.getTransaction().isActive()){
em.getTransaction().rollback();
@@ -429,9 +431,11 @@ public class UserComputeHostPreferenceResource extends AppCatAbstractResource {
EntityManager em = null;
try {
em = AppCatalogJPAUtils.getEntityManager();
+ String resourceId = ids.getTopLevelIdentifier().toString();
+ String userId = ids.getSecondLevelIdentifier().toString();
+ String gatewayId = ids.getThirdLevelIdentifier().toString();
UserComputeResourcePreference existingPreference = em.find(UserComputeResourcePreference.class,
- new UserComputeResourcePreferencePK(ids.getTopLevelIdentifier().toString(),
- ids.getSecondLevelIdentifier().toString()));
+ new UserComputeResourcePreferencePK(userId, gatewayId, resourceId));
if (em.isOpen()) {
if (em.getTransaction().isActive()){
em.getTransaction().rollback();
http://git-wip-us.apache.org/repos/asf/airavata/blob/98ebc2c3/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/UserStoragePreferenceResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/UserStoragePreferenceResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/UserStoragePreferenceResource.java
index 34852ae..2eb9c2b 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/UserStoragePreferenceResource.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/UserStoragePreferenceResource.java
@@ -124,6 +124,7 @@ public class UserStoragePreferenceResource extends AppCatAbstractResource {
AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(USER_STORAGE_PREFERENCE);
generator.setParameter(UserStoragePreferenceConstants.STORAGE_ID, ids.getTopLevelIdentifier().toString());
generator.setParameter(UserStoragePreferenceConstants.USER_ID, ids.getSecondLevelIdentifier().toString());
+ generator.setParameter(UserStoragePreferenceConstants.GATEWAY_ID, ids.getThirdLevelIdentifier().toString());
Query q = generator.deleteQuery(em);
q.executeUpdate();
@@ -162,8 +163,9 @@ public class UserStoragePreferenceResource extends AppCatAbstractResource {
em = AppCatalogJPAUtils.getEntityManager();
em.getTransaction().begin();
AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(USER_STORAGE_PREFERENCE);
- generator.setParameter(UserStoragePreferenceConstants.USER_ID, ids.getTopLevelIdentifier().toString());
- generator.setParameter(UserStoragePreferenceConstants.STORAGE_ID, ids.getSecondLevelIdentifier().toString());
+ generator.setParameter(UserStoragePreferenceConstants.STORAGE_ID, ids.getTopLevelIdentifier().toString());
+ generator.setParameter(UserStoragePreferenceConstants.USER_ID, ids.getSecondLevelIdentifier().toString());
+ generator.setParameter(UserStoragePreferenceConstants.GATEWAY_ID, ids.getThirdLevelIdentifier().toString());
Query q = generator.selectQuery(em);
UserStoragePreference preference = (UserStoragePreference) q.getSingleResult();
UserStoragePreferenceResource preferenceResource =
@@ -290,7 +292,7 @@ public class UserStoragePreferenceResource extends AppCatAbstractResource {
EntityManager em = null;
try {
em = AppCatalogJPAUtils.getEntityManager();
- UserStoragePreference existingPreference = em.find(UserStoragePreference.class, new UserStoragePreferencePK(userId, storageResourceId));
+ UserStoragePreference existingPreference = em.find(UserStoragePreference.class, new UserStoragePreferencePK(userId, gatewayID, storageResourceId));
if (em.isOpen()) {
if (em.getTransaction().isActive()){
em.getTransaction().rollback();
@@ -354,9 +356,11 @@ public class UserStoragePreferenceResource extends AppCatAbstractResource {
EntityManager em = null;
try {
em = AppCatalogJPAUtils.getEntityManager();
+ String storageResourceId = ids.getTopLevelIdentifier().toString();
+ String userId = ids.getSecondLevelIdentifier().toString();
+ String gatewayID = ids.getThirdLevelIdentifier().toString();
UserStoragePreference existingPreference = em.find(UserStoragePreference.class,
- new UserStoragePreferencePK(ids.getTopLevelIdentifier().toString(),
- ids.getSecondLevelIdentifier().toString()));
+ new UserStoragePreferencePK(userId, gatewayID, storageResourceId));
if (em.isOpen()) {
if (em.getTransaction().isActive()){
em.getTransaction().rollback();
http://git-wip-us.apache.org/repos/asf/airavata/blob/98ebc2c3/modules/registry/registry-cpi/src/main/java/org/apache/airavata/registry/cpi/CompositeIdentifier.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-cpi/src/main/java/org/apache/airavata/registry/cpi/CompositeIdentifier.java b/modules/registry/registry-cpi/src/main/java/org/apache/airavata/registry/cpi/CompositeIdentifier.java
index fee8aec..1e203ba 100644
--- a/modules/registry/registry-cpi/src/main/java/org/apache/airavata/registry/cpi/CompositeIdentifier.java
+++ b/modules/registry/registry-cpi/src/main/java/org/apache/airavata/registry/cpi/CompositeIdentifier.java
@@ -28,12 +28,18 @@ package org.apache.airavata.registry.cpi;
public class CompositeIdentifier {
private Object topLevelIdentifier;
private Object secondLevelIdentifier;
+ private Object thirdLevelIdentifier;
public CompositeIdentifier(Object topLevelIdentifier, Object secondLevelIdentifier) {
this.topLevelIdentifier = topLevelIdentifier;
this.secondLevelIdentifier = secondLevelIdentifier;
}
+ public CompositeIdentifier(Object topLevelIdentifier, Object secondLevelIdentifier, Object thirdLevelIdentifier) {
+ this(topLevelIdentifier, secondLevelIdentifier);
+ this.thirdLevelIdentifier = thirdLevelIdentifier;
+ }
+
public Object getTopLevelIdentifier() {
return topLevelIdentifier;
}
@@ -42,9 +48,13 @@ public class CompositeIdentifier {
return secondLevelIdentifier;
}
+ public Object getThirdLevelIdentifier() { return thirdLevelIdentifier; }
+
@Override
public String toString() {
- if (topLevelIdentifier instanceof String && secondLevelIdentifier instanceof String) {
+ if (thirdLevelIdentifier != null && thirdLevelIdentifier instanceof String && topLevelIdentifier instanceof String && secondLevelIdentifier instanceof String) {
+ return topLevelIdentifier + "," + secondLevelIdentifier + "," + thirdLevelIdentifier;
+ } else if (topLevelIdentifier instanceof String && secondLevelIdentifier instanceof String) {
return topLevelIdentifier + "," + secondLevelIdentifier;
}else if (topLevelIdentifier instanceof String ) {
return topLevelIdentifier.toString();
http://git-wip-us.apache.org/repos/asf/airavata/blob/98ebc2c3/modules/registry/release-migration-scripts/0.16-0.17/DeltaScripts/appCatalog_schema_delta.sql
----------------------------------------------------------------------
diff --git a/modules/registry/release-migration-scripts/0.16-0.17/DeltaScripts/appCatalog_schema_delta.sql b/modules/registry/release-migration-scripts/0.16-0.17/DeltaScripts/appCatalog_schema_delta.sql
index e2f5dec..6832fdb 100644
--- a/modules/registry/release-migration-scripts/0.16-0.17/DeltaScripts/appCatalog_schema_delta.sql
+++ b/modules/registry/release-migration-scripts/0.16-0.17/DeltaScripts/appCatalog_schema_delta.sql
@@ -16,7 +16,7 @@ CREATE TABLE `USER_RESOURCE_PROFILE` (
`IDENTITY_SERVER_PWD_CRED_TOKEN` varchar(255) DEFAULT NULL,
`IDENTITY_SERVER_TENANT` varchar(255) DEFAULT NULL,
`UPDATE_TIME` datetime DEFAULT NULL,
- PRIMARY KEY (`USER_ID`)
+ PRIMARY KEY (`USER_ID`,`GATEWAY_ID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `USER_STORAGE_PREFERENCE` (
`STORAGE_RESOURCE_ID` varchar(255) NOT NULL,
@@ -25,7 +25,7 @@ CREATE TABLE `USER_STORAGE_PREFERENCE` (
`FS_ROOT_LOCATION` varchar(255) DEFAULT NULL,
`GATEWAY_ID` varchar(255) DEFAULT NULL,
`LOGIN_USERNAME` varchar(255) DEFAULT NULL,
- PRIMARY KEY (`STORAGE_RESOURCE_ID`,`USER_ID`)
+ PRIMARY KEY (`STORAGE_RESOURCE_ID`,`USER_ID`,`GATEWAY_ID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `CLOUD_JOB_SUBMISSION` (
`JOB_SUBMISSION_INTERFACE_ID` varchar(255) NOT NULL,
@@ -49,7 +49,7 @@ CREATE TABLE `USER_COMPUTE_RESOURCE_PREFERENCE` (
`RESERVATION_END_TIME` datetime DEFAULT NULL,
`RESERVATION_START_TIME` datetime DEFAULT NULL,
`SCRATCH_LOCATION` varchar(255) DEFAULT NULL,
- PRIMARY KEY (`RESOURCE_ID`,`USER_ID`)
+ PRIMARY KEY (`RESOURCE_ID`,`USER_ID`,`GATEWAY_ID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
ALTER TABLE `BATCH_QUEUE` ADD `DEFAULT_CPU_COUNT` int(11) DEFAULT NULL;
ALTER TABLE `BATCH_QUEUE` ADD `DEFAULT_NODE_COUNT` int(11) DEFAULT NULL;