Replica catalog Entities, repositories and Junit
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/a7333d91 Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/a7333d91 Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/a7333d91 Branch: refs/heads/registry-refactoring Commit: a7333d91bafb23479df72ea0c5ec63728bcf6782 Parents: 8539fef Author: Abhiit Karanjkar <[email protected]> Authored: Fri Oct 21 10:22:43 2016 -0400 Committer: Abhiit Karanjkar <[email protected]> Committed: Fri Oct 21 10:22:43 2016 -0400 ---------------------------------------------------------------------- .../replicacatalog/DataProductEntity.java | 148 +++++++++++++++++++ .../DataProductMetadataEntity.java | 68 +++++++++ .../DataProductMetadataEntityPK.java | 53 +++++++ .../DataReplicaLocationEntity.java | 136 +++++++++++++++++ .../DataReplicaMetadataEntity.java | 68 +++++++++ .../DataReplicaMetadataEntityPK.java | 53 +++++++ .../replicacatalog/DataProductRepository.java | 14 ++ .../DataReplicaLocationRepository.java | 14 ++ .../src/main/resources/META-INF/persistence.xml | 82 +++++++++- .../ReplicaCatalogRepositoryTest.java | 130 ++++++++++++++++ 10 files changed, 761 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/airavata/blob/a7333d91/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/replicacatalog/DataProductEntity.java ---------------------------------------------------------------------- diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/replicacatalog/DataProductEntity.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/replicacatalog/DataProductEntity.java new file mode 100644 index 0000000..94defce --- /dev/null +++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/replicacatalog/DataProductEntity.java @@ -0,0 +1,148 @@ +package org.apache.airavata.registry.core.entities.replicacatalog; + +import javax.persistence.*; +import java.sql.Timestamp; + +/** + * Created by abhij on 10/13/2016. + */ +@Entity +@Table(name = "data_product", schema = "airavata_catalog", catalog = "") +public class DataProductEntity { + private String productUri; + private String gatewayId; + private String productName; + private String productDescription; + private String ownerName; + private String parentProductUri; + private Integer productSize; + private Timestamp creationTime; + private Timestamp lastModifiedTime; + + @Id + @Column(name = "PRODUCT_URI") + public String getProductUri() { + return productUri; + } + + public void setProductUri(String productUri) { + this.productUri = productUri; + } + + @Basic + @Column(name = "GATEWAY_ID") + public String getGatewayId() { + return gatewayId; + } + + public void setGatewayId(String gatewayId) { + this.gatewayId = gatewayId; + } + + @Basic + @Column(name = "PRODUCT_NAME") + public String getProductName() { + return productName; + } + + public void setProductName(String productName) { + this.productName = productName; + } + + @Basic + @Column(name = "PRODUCT_DESCRIPTION") + public String getProductDescription() { + return productDescription; + } + + public void setProductDescription(String productDescription) { + this.productDescription = productDescription; + } + + @Basic + @Column(name = "OWNER_NAME") + public String getOwnerName() { + return ownerName; + } + + public void setOwnerName(String ownerName) { + this.ownerName = ownerName; + } + + @Basic + @Column(name = "PARENT_PRODUCT_URI") + public String getParentProductUri() { + return parentProductUri; + } + + public void setParentProductUri(String parentProductUri) { + this.parentProductUri = parentProductUri; + } + + @Basic + @Column(name = "PRODUCT_SIZE") + public Integer getProductSize() { + return productSize; + } + + public void setProductSize(Integer productSize) { + this.productSize = productSize; + } + + @Basic + @Column(name = "CREATION_TIME") + public Timestamp getCreationTime() { + return creationTime; + } + + public void setCreationTime(Timestamp creationTime) { + this.creationTime = creationTime; + } + + @Basic + @Column(name = "LAST_MODIFIED_TIME") + public Timestamp getLastModifiedTime() { + return lastModifiedTime; + } + + public void setLastModifiedTime(Timestamp lastModifiedTime) { + this.lastModifiedTime = lastModifiedTime; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + DataProductEntity that = (DataProductEntity) o; + + if (productUri != null ? !productUri.equals(that.productUri) : that.productUri != null) return false; + if (gatewayId != null ? !gatewayId.equals(that.gatewayId) : that.gatewayId != null) return false; + if (productName != null ? !productName.equals(that.productName) : that.productName != null) return false; + if (productDescription != null ? !productDescription.equals(that.productDescription) : that.productDescription != null) + return false; + if (ownerName != null ? !ownerName.equals(that.ownerName) : that.ownerName != null) return false; + if (parentProductUri != null ? !parentProductUri.equals(that.parentProductUri) : that.parentProductUri != null) + return false; + if (productSize != null ? !productSize.equals(that.productSize) : that.productSize != null) return false; + if (creationTime != null ? !creationTime.equals(that.creationTime) : that.creationTime != null) return false; + if (lastModifiedTime != null ? !lastModifiedTime.equals(that.lastModifiedTime) : that.lastModifiedTime != null) + return false; + + return true; + } + + @Override + public int hashCode() { + int result = productUri != null ? productUri.hashCode() : 0; + result = 31 * result + (gatewayId != null ? gatewayId.hashCode() : 0); + result = 31 * result + (productName != null ? productName.hashCode() : 0); + result = 31 * result + (productDescription != null ? productDescription.hashCode() : 0); + result = 31 * result + (ownerName != null ? ownerName.hashCode() : 0); + result = 31 * result + (parentProductUri != null ? parentProductUri.hashCode() : 0); + result = 31 * result + (productSize != null ? productSize.hashCode() : 0); + result = 31 * result + (creationTime != null ? creationTime.hashCode() : 0); + result = 31 * result + (lastModifiedTime != null ? lastModifiedTime.hashCode() : 0); + return result; + } +} http://git-wip-us.apache.org/repos/asf/airavata/blob/a7333d91/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/replicacatalog/DataProductMetadataEntity.java ---------------------------------------------------------------------- diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/replicacatalog/DataProductMetadataEntity.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/replicacatalog/DataProductMetadataEntity.java new file mode 100644 index 0000000..80a2d04 --- /dev/null +++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/replicacatalog/DataProductMetadataEntity.java @@ -0,0 +1,68 @@ +package org.apache.airavata.registry.core.entities.replicacatalog; + +import javax.persistence.*; + +/** + * Created by abhij on 10/13/2016. + */ +@Entity +@Table(name = "data_product_metadata", schema = "airavata_catalog", catalog = "") +@IdClass(DataProductMetadataEntityPK.class) +public class DataProductMetadataEntity { + private String productUri; + private String metadataKey; + private String metadataValue; + + @Id + @Column(name = "PRODUCT_URI") + public String getProductUri() { + return productUri; + } + + public void setProductUri(String productUri) { + this.productUri = productUri; + } + + @Id + @Column(name = "METADATA_KEY") + public String getMetadataKey() { + return metadataKey; + } + + public void setMetadataKey(String metadataKey) { + this.metadataKey = metadataKey; + } + + @Basic + @Column(name = "METADATA_VALUE") + public String getMetadataValue() { + return metadataValue; + } + + public void setMetadataValue(String metadataValue) { + this.metadataValue = metadataValue; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + DataProductMetadataEntity that = (DataProductMetadataEntity) o; + + if (productUri != null ? !productUri.equals(that.productUri) : that.productUri != null) return false; + if (metadataKey != null ? !metadataKey.equals(that.metadataKey) : that.metadataKey != null) return false; + if (metadataValue != null ? !metadataValue.equals(that.metadataValue) : that.metadataValue != null) + return false; + + return true; + } + + @Override + public int hashCode() { + int result = productUri != null ? productUri.hashCode() : 0; + result = 31 * result + (metadataKey != null ? metadataKey.hashCode() : 0); + result = 31 * result + (metadataValue != null ? metadataValue.hashCode() : 0); + return result; + } +} http://git-wip-us.apache.org/repos/asf/airavata/blob/a7333d91/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/replicacatalog/DataProductMetadataEntityPK.java ---------------------------------------------------------------------- diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/replicacatalog/DataProductMetadataEntityPK.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/replicacatalog/DataProductMetadataEntityPK.java new file mode 100644 index 0000000..16a80d2 --- /dev/null +++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/replicacatalog/DataProductMetadataEntityPK.java @@ -0,0 +1,53 @@ +package org.apache.airavata.registry.core.entities.replicacatalog; + +import javax.persistence.Column; +import javax.persistence.Id; +import java.io.Serializable; + +/** + * Created by abhij on 10/13/2016. + */ +public class DataProductMetadataEntityPK implements Serializable { + private String productUri; + private String metadataKey; + + @Column(name = "PRODUCT_URI") + @Id + public String getProductUri() { + return productUri; + } + + public void setProductUri(String productUri) { + this.productUri = productUri; + } + + @Column(name = "METADATA_KEY") + @Id + public String getMetadataKey() { + return metadataKey; + } + + public void setMetadataKey(String metadataKey) { + this.metadataKey = metadataKey; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + DataProductMetadataEntityPK that = (DataProductMetadataEntityPK) o; + + if (productUri != null ? !productUri.equals(that.productUri) : that.productUri != null) return false; + if (metadataKey != null ? !metadataKey.equals(that.metadataKey) : that.metadataKey != null) return false; + + return true; + } + + @Override + public int hashCode() { + int result = productUri != null ? productUri.hashCode() : 0; + result = 31 * result + (metadataKey != null ? metadataKey.hashCode() : 0); + return result; + } +} http://git-wip-us.apache.org/repos/asf/airavata/blob/a7333d91/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/replicacatalog/DataReplicaLocationEntity.java ---------------------------------------------------------------------- diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/replicacatalog/DataReplicaLocationEntity.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/replicacatalog/DataReplicaLocationEntity.java new file mode 100644 index 0000000..64f647c --- /dev/null +++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/replicacatalog/DataReplicaLocationEntity.java @@ -0,0 +1,136 @@ +package org.apache.airavata.registry.core.entities.replicacatalog; + +import javax.persistence.*; +import java.sql.Timestamp; + +/** + * Created by abhij on 10/13/2016. + */ +@Entity +@Table(name = "data_replica_location", schema = "airavata_catalog", catalog = "") +public class DataReplicaLocationEntity { + private String replicaId; + private String replicaName; + private String replicaDescription; + private String storageResourceId; + private String filePath; + private Timestamp creationTime; + private Timestamp lastModifiedTime; + private Timestamp validUntilTime; + + @Id + @Column(name = "REPLICA_ID") + public String getReplicaId() { + return replicaId; + } + + public void setReplicaId(String replicaId) { + this.replicaId = replicaId; + } + + @Basic + @Column(name = "REPLICA_NAME") + public String getReplicaName() { + return replicaName; + } + + public void setReplicaName(String replicaName) { + this.replicaName = replicaName; + } + + @Basic + @Column(name = "REPLICA_DESCRIPTION") + public String getReplicaDescription() { + return replicaDescription; + } + + public void setReplicaDescription(String replicaDescription) { + this.replicaDescription = replicaDescription; + } + + @Basic + @Column(name = "STORAGE_RESOURCE_ID") + public String getStorageResourceId() { + return storageResourceId; + } + + public void setStorageResourceId(String storageResourceId) { + this.storageResourceId = storageResourceId; + } + + @Basic + @Column(name = "FILE_PATH") + public String getFilePath() { + return filePath; + } + + public void setFilePath(String filePath) { + this.filePath = filePath; + } + + @Basic + @Column(name = "CREATION_TIME") + public Timestamp getCreationTime() { + return creationTime; + } + + public void setCreationTime(Timestamp creationTime) { + this.creationTime = creationTime; + } + + @Basic + @Column(name = "LAST_MODIFIED_TIME") + public Timestamp getLastModifiedTime() { + return lastModifiedTime; + } + + public void setLastModifiedTime(Timestamp lastModifiedTime) { + this.lastModifiedTime = lastModifiedTime; + } + + @Basic + @Column(name = "VALID_UNTIL_TIME") + public Timestamp getValidUntilTime() { + return validUntilTime; + } + + public void setValidUntilTime(Timestamp validUntilTime) { + this.validUntilTime = validUntilTime; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + DataReplicaLocationEntity that = (DataReplicaLocationEntity) o; + + if (replicaId != null ? !replicaId.equals(that.replicaId) : that.replicaId != null) return false; + if (replicaName != null ? !replicaName.equals(that.replicaName) : that.replicaName != null) return false; + if (replicaDescription != null ? !replicaDescription.equals(that.replicaDescription) : that.replicaDescription != null) + return false; + if (storageResourceId != null ? !storageResourceId.equals(that.storageResourceId) : that.storageResourceId != null) + return false; + if (filePath != null ? !filePath.equals(that.filePath) : that.filePath != null) return false; + if (creationTime != null ? !creationTime.equals(that.creationTime) : that.creationTime != null) return false; + if (lastModifiedTime != null ? !lastModifiedTime.equals(that.lastModifiedTime) : that.lastModifiedTime != null) + return false; + if (validUntilTime != null ? !validUntilTime.equals(that.validUntilTime) : that.validUntilTime != null) + return false; + + return true; + } + + @Override + public int hashCode() { + int result = replicaId != null ? replicaId.hashCode() : 0; + result = 31 * result + (replicaName != null ? replicaName.hashCode() : 0); + result = 31 * result + (replicaDescription != null ? replicaDescription.hashCode() : 0); + result = 31 * result + (storageResourceId != null ? storageResourceId.hashCode() : 0); + result = 31 * result + (filePath != null ? filePath.hashCode() : 0); + result = 31 * result + (creationTime != null ? creationTime.hashCode() : 0); + result = 31 * result + (lastModifiedTime != null ? lastModifiedTime.hashCode() : 0); + result = 31 * result + (validUntilTime != null ? validUntilTime.hashCode() : 0); + return result; + } +} http://git-wip-us.apache.org/repos/asf/airavata/blob/a7333d91/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/replicacatalog/DataReplicaMetadataEntity.java ---------------------------------------------------------------------- diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/replicacatalog/DataReplicaMetadataEntity.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/replicacatalog/DataReplicaMetadataEntity.java new file mode 100644 index 0000000..7d3a0bf --- /dev/null +++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/replicacatalog/DataReplicaMetadataEntity.java @@ -0,0 +1,68 @@ +package org.apache.airavata.registry.core.entities.replicacatalog; + +import javax.persistence.*; + +/** + * Created by abhij on 10/13/2016. + */ +@Entity +@Table(name = "data_replica_metadata", schema = "airavata_catalog", catalog = "") +@IdClass(DataReplicaMetadataEntityPK.class) +public class DataReplicaMetadataEntity { + private String replicaId; + private String metadataKey; + private String metadataValue; + + @Id + @Column(name = "REPLICA_ID") + public String getReplicaId() { + return replicaId; + } + + public void setReplicaId(String replicaId) { + this.replicaId = replicaId; + } + + @Id + @Column(name = "METADATA_KEY") + public String getMetadataKey() { + return metadataKey; + } + + public void setMetadataKey(String metadataKey) { + this.metadataKey = metadataKey; + } + + @Basic + @Column(name = "METADATA_VALUE") + public String getMetadataValue() { + return metadataValue; + } + + public void setMetadataValue(String metadataValue) { + this.metadataValue = metadataValue; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + DataReplicaMetadataEntity that = (DataReplicaMetadataEntity) o; + + if (replicaId != null ? !replicaId.equals(that.replicaId) : that.replicaId != null) return false; + if (metadataKey != null ? !metadataKey.equals(that.metadataKey) : that.metadataKey != null) return false; + if (metadataValue != null ? !metadataValue.equals(that.metadataValue) : that.metadataValue != null) + return false; + + return true; + } + + @Override + public int hashCode() { + int result = replicaId != null ? replicaId.hashCode() : 0; + result = 31 * result + (metadataKey != null ? metadataKey.hashCode() : 0); + result = 31 * result + (metadataValue != null ? metadataValue.hashCode() : 0); + return result; + } +} http://git-wip-us.apache.org/repos/asf/airavata/blob/a7333d91/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/replicacatalog/DataReplicaMetadataEntityPK.java ---------------------------------------------------------------------- diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/replicacatalog/DataReplicaMetadataEntityPK.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/replicacatalog/DataReplicaMetadataEntityPK.java new file mode 100644 index 0000000..4625091 --- /dev/null +++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/replicacatalog/DataReplicaMetadataEntityPK.java @@ -0,0 +1,53 @@ +package org.apache.airavata.registry.core.entities.replicacatalog; + +import javax.persistence.Column; +import javax.persistence.Id; +import java.io.Serializable; + +/** + * Created by abhij on 10/13/2016. + */ +public class DataReplicaMetadataEntityPK implements Serializable { + private String replicaId; + private String metadataKey; + + @Column(name = "REPLICA_ID") + @Id + public String getReplicaId() { + return replicaId; + } + + public void setReplicaId(String replicaId) { + this.replicaId = replicaId; + } + + @Column(name = "METADATA_KEY") + @Id + public String getMetadataKey() { + return metadataKey; + } + + public void setMetadataKey(String metadataKey) { + this.metadataKey = metadataKey; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + DataReplicaMetadataEntityPK that = (DataReplicaMetadataEntityPK) o; + + if (replicaId != null ? !replicaId.equals(that.replicaId) : that.replicaId != null) return false; + if (metadataKey != null ? !metadataKey.equals(that.metadataKey) : that.metadataKey != null) return false; + + return true; + } + + @Override + public int hashCode() { + int result = replicaId != null ? replicaId.hashCode() : 0; + result = 31 * result + (metadataKey != null ? metadataKey.hashCode() : 0); + return result; + } +} http://git-wip-us.apache.org/repos/asf/airavata/blob/a7333d91/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/repositories/replicacatalog/DataProductRepository.java ---------------------------------------------------------------------- diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/repositories/replicacatalog/DataProductRepository.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/repositories/replicacatalog/DataProductRepository.java new file mode 100644 index 0000000..e3f88ec --- /dev/null +++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/repositories/replicacatalog/DataProductRepository.java @@ -0,0 +1,14 @@ +package org.apache.airavata.registry.core.repositories.replicacatalog; + +import org.apache.airavata.model.data.replica.DataProductModel; +import org.apache.airavata.registry.core.entities.replicacatalog.DataProductEntity; +import org.apache.airavata.registry.core.repositories.AbstractRepository; + +/** + * Created by abhij on 10/13/2016. + */ +public class DataProductRepository extends AbstractRepository<DataProductModel, DataProductEntity, String> { + public DataProductRepository(Class<DataProductModel> thriftGenericClass, Class<DataProductEntity> dbEntityGenericClass) { + super(thriftGenericClass, dbEntityGenericClass); + } +} http://git-wip-us.apache.org/repos/asf/airavata/blob/a7333d91/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/repositories/replicacatalog/DataReplicaLocationRepository.java ---------------------------------------------------------------------- diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/repositories/replicacatalog/DataReplicaLocationRepository.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/repositories/replicacatalog/DataReplicaLocationRepository.java new file mode 100644 index 0000000..6a106fd --- /dev/null +++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/repositories/replicacatalog/DataReplicaLocationRepository.java @@ -0,0 +1,14 @@ +package org.apache.airavata.registry.core.repositories.replicacatalog; + +import org.apache.airavata.model.data.replica.DataReplicaLocationModel; +import org.apache.airavata.registry.core.entities.replicacatalog.DataReplicaLocationEntity; +import org.apache.airavata.registry.core.repositories.AbstractRepository; + +/** + * Created by abhij on 10/13/2016. + */ +public class DataReplicaLocationRepository extends AbstractRepository<DataReplicaLocationModel, DataReplicaLocationEntity, String> { + public DataReplicaLocationRepository(Class<DataReplicaLocationModel> thriftGenericClass, Class<DataReplicaLocationEntity> dbEntityGenericClass) { + super(thriftGenericClass, dbEntityGenericClass); + } +} http://git-wip-us.apache.org/repos/asf/airavata/blob/a7333d91/modules/registry-refactoring/src/main/resources/META-INF/persistence.xml ---------------------------------------------------------------------- diff --git a/modules/registry-refactoring/src/main/resources/META-INF/persistence.xml b/modules/registry-refactoring/src/main/resources/META-INF/persistence.xml index ddc99ef..eca158d 100644 --- a/modules/registry-refactoring/src/main/resources/META-INF/persistence.xml +++ b/modules/registry-refactoring/src/main/resources/META-INF/persistence.xml @@ -54,13 +54,85 @@ <class>org.apache.airavata.registry.core.entities.workflowcatalog.WorkflowInputEntity</class> <class>org.apache.airavata.registry.core.entities.workflowcatalog.WorkflowOutputEntity</class> <class>org.apache.airavata.registry.core.entities.workflowcatalog.WorkflowStatusEntity</class> - - - - - + <class>org.apache.airavata.registry.core.entities.replicacatalog.DataProductEntity</class> + <class>org.apache.airavata.registry.core.entities.replicacatalog.DataProductMetadataEntity</class> + <class>org.apache.airavata.registry.core.entities.replicacatalog.DataReplicaLocationEntity</class> + <class>org.apache.airavata.registry.core.entities.replicacatalog.DataReplicaMetadataEntity</class> + <class>org.apache.airavata.registry.core.entities.appcatalog.GridftpDataMovementEntity</class> + <class>org.apache.airavata.registry.core.entities.appcatalog.ResourceJobManagerEntity</class> + <class>org.apache.airavata.registry.core.entities.appcatalog.ComputeResourceEntity</class> + <class>org.apache.airavata.registry.core.entities.appcatalog.ApplicationModuleEntity</class> + <class>org.apache.airavata.registry.core.entities.appcatalog.ApplicationDeploymentEntity</class> + <class>org.apache.airavata.registry.core.entities.appcatalog.ApplicationInterfaceEntity</class> + <class>org.apache.airavata.registry.core.entities.appcatalog.GatewayProfileEntity</class> + <class>org.apache.airavata.registry.core.entities.appcatalog.StorageResourceEntity</class> + <class>org.apache.airavata.registry.core.entities.appcatalog.ScpDataMovementEntity</class> + <class>org.apache.airavata.registry.core.entities.appcatalog.SshJobSubmissionEntity</class> + <class>org.apache.airavata.registry.core.entities.appcatalog.GlobusSubmissionEntity</class> + <class>org.apache.airavata.registry.core.entities.appcatalog.GsisshSubmissionEntity</class> + <class>org.apache.airavata.registry.core.entities.appcatalog.GridftpEndpointEntity</class> + <class>org.apache.airavata.registry.core.entities.appcatalog.ComputeResourcePreferenceEntity</class> + <class>org.apache.airavata.registry.core.entities.appcatalog.JobSubmissionInterfaceEntity</class> + <class>org.apache.airavata.registry.core.entities.appcatalog.DataMovementInterfaceEntity</class> + <class>org.apache.airavata.registry.core.entities.appcatalog.StorageInterfaceEntity</class> + <class>org.apache.airavata.registry.core.entities.appcatalog.LocalSubmissionEntity</class> + <class>org.apache.airavata.registry.core.entities.appcatalog.GlobusGkEndpointEntity</class> + <class>org.apache.airavata.registry.core.entities.appcatalog.UnicoreDatamovementEntity</class> + <class>org.apache.airavata.registry.core.entities.appcatalog.UnicoreSubmissionEntity</class> + <class>org.apache.airavata.registry.core.entities.appcatalog.GsisshPostjobcommandEntity</class> + <class>org.apache.airavata.registry.core.entities.appcatalog.GsisshPrejobcommandEntity</class> + <class>org.apache.airavata.registry.core.entities.appcatalog.GsisshExportEntity</class> + <class>org.apache.airavata.registry.core.entities.appcatalog.HostIpaddressEntity</class> + <class>org.apache.airavata.registry.core.entities.appcatalog.HostAliasEntity</class> + <class>org.apache.airavata.registry.core.entities.appcatalog.LibraryApendPathEntity</class> + <class>org.apache.airavata.registry.core.entities.appcatalog.LibraryPrependPathEntity</class> + <class>org.apache.airavata.registry.core.entities.appcatalog.AppEnvironmentEntity</class> + <class>org.apache.airavata.registry.core.entities.appcatalog.PrejobCommandEntity</class> + <class>org.apache.airavata.registry.core.entities.appcatalog.PostjobCommandEntity</class> + <class>org.apache.airavata.registry.core.entities.appcatalog.AppModuleMappingEntity</class> + <class>org.apache.airavata.registry.core.entities.appcatalog.ApplicationInputEntity</class> + <class>org.apache.airavata.registry.core.entities.appcatalog.ApplicationOutputEntity</class> + <class>org.apache.airavata.registry.core.entities.appcatalog.BatchQueueEntity</class> + <class>org.apache.airavata.registry.core.entities.appcatalog.ComputeResourceFileSystemEntity</class> + <class>org.apache.airavata.registry.core.entities.appcatalog.JobManagerCommandEntity</class> + <class>org.apache.airavata.registry.core.entities.appcatalog.ParallelismCommandEntity</class> + <class>org.apache.airavata.registry.core.entities.appcatalog.LocalDataMovementEntity</class> + <class>org.apache.airavata.registry.core.entities.appcatalog.DataStoragePreferenceEntity</class> + <class>org.apache.airavata.registry.core.entities.appcatalog.GlobusGkEndpointPK</class> + <class>org.apache.airavata.registry.core.entities.appcatalog.GsisshPostjobcommandPK</class> + <class>org.apache.airavata.registry.core.entities.appcatalog.GsisshPrejobcommandPK</class> + <class>org.apache.airavata.registry.core.entities.appcatalog.GsisshExportPK</class> + <class>org.apache.airavata.registry.core.entities.appcatalog.HostIpaddressPK</class> + <class>org.apache.airavata.registry.core.entities.appcatalog.HostAliasPK</class> + <class>org.apache.airavata.registry.core.entities.workflowcatalog.WorkflowInputPK</class> + <class>org.apache.airavata.registry.core.entities.workflowcatalog.WorkflowOutputPK</class> + <class>org.apache.airavata.registry.core.entities.workflowcatalog.WorkflowStatusPK</class> + <class>org.apache.airavata.registry.core.entities.workflowcatalog.EdgePK</class> + <class>org.apache.airavata.registry.core.entities.workflowcatalog.PortPK</class> + <class>org.apache.airavata.registry.core.entities.workflowcatalog.NodePK</class> + <class>org.apache.airavata.registry.core.entities.appcatalog.GridftpEndpointPK</class> + <class>org.apache.airavata.registry.core.entities.appcatalog.PrejobCommandPK</class> + <class>org.apache.airavata.registry.core.entities.appcatalog.PostjobCommandPK</class> + <class>org.apache.airavata.registry.core.entities.appcatalog.AppModuleMappingPK</class> + <class>org.apache.airavata.registry.core.entities.appcatalog.ApplicationInputPK</class> + <class>org.apache.airavata.registry.core.entities.appcatalog.ApplicationOutputPK</class> + <class>org.apache.airavata.registry.core.entities.appcatalog.ComputeResourcePreferencePK</class> + <class>org.apache.airavata.registry.core.entities.appcatalog.BatchQueuePK</class> + <class>org.apache.airavata.registry.core.entities.appcatalog.ComputeResourceFileSystemPK</class> + <class>org.apache.airavata.registry.core.entities.appcatalog.JobSubmissionInterfacePK</class> + <class>org.apache.airavata.registry.core.entities.appcatalog.DataMovementInterfacePK</class> + <class>org.apache.airavata.registry.core.entities.appcatalog.StorageInterfacePK</class> + <class>org.apache.airavata.registry.core.entities.appcatalog.JobManagerCommandPK</class> + <class>org.apache.airavata.registry.core.entities.appcatalog.ParallelismCommandPK</class> + <class>org.apache.airavata.registry.core.entities.appcatalog.DataStoragePreferencePK</class> <exclude-unlisted-classes>true</exclude-unlisted-classes> + <properties> + <property name="openjpa.ConnectionURL" value="jdbc:mysql://localhost:3306/airavata_catalog"/> + <property name="openjpa.ConnectionDriverName" value="com.mysql.jdbc.Driver"/> + <property name="openjpa.ConnectionUserName"/> + <property name="openjpa.ConnectionPassword"/> + </properties> </persistence-unit> </persistence> http://git-wip-us.apache.org/repos/asf/airavata/blob/a7333d91/modules/registry-refactoring/src/test/java/org/apache/airavata/registry/core/repositories/ReplicaCatalogRepositoryTest.java ---------------------------------------------------------------------- diff --git a/modules/registry-refactoring/src/test/java/org/apache/airavata/registry/core/repositories/ReplicaCatalogRepositoryTest.java b/modules/registry-refactoring/src/test/java/org/apache/airavata/registry/core/repositories/ReplicaCatalogRepositoryTest.java new file mode 100644 index 0000000..8fa515b --- /dev/null +++ b/modules/registry-refactoring/src/test/java/org/apache/airavata/registry/core/repositories/ReplicaCatalogRepositoryTest.java @@ -0,0 +1,130 @@ +package org.apache.airavata.registry.core.repositories; + +import org.apache.airavata.model.WorkflowModel; +import org.apache.airavata.model.data.replica.DataProductModel; +import org.apache.airavata.model.experiment.ExperimentModel; +import org.apache.airavata.model.user.UserProfile; +import org.apache.airavata.model.workspace.Gateway; +import org.apache.airavata.model.workspace.GatewayApprovalStatus; +import org.apache.airavata.model.workspace.Notification; +import org.apache.airavata.model.workspace.Project; +import org.apache.airavata.registry.core.entities.expcatalog.ExperimentEntity; +import org.apache.airavata.registry.core.entities.replicacatalog.DataProductEntity; +import org.apache.airavata.registry.core.entities.workflowcatalog.WorkflowEntity; +import org.apache.airavata.registry.core.entities.workspacecatalog.GatewayEntity; +import org.apache.airavata.registry.core.entities.workspacecatalog.NotificationEntity; +import org.apache.airavata.registry.core.entities.workspacecatalog.ProjectEntity; +import org.apache.airavata.registry.core.entities.workspacecatalog.UserProfileEntity; +import org.apache.airavata.registry.core.repositories.expcatalog.ExperimentRepository; +import org.apache.airavata.registry.core.repositories.replicacatalog.DataProductRepository; +import org.apache.airavata.registry.core.repositories.workflowcatalog.WorkflowRepository; +import org.apache.airavata.registry.core.repositories.workspacecatalog.GatewayRepository; +import org.apache.airavata.registry.core.repositories.workspacecatalog.NotificationRepository; +import org.apache.airavata.registry.core.repositories.workspacecatalog.ProjectRepository; +import org.apache.airavata.registry.core.repositories.workspacecatalog.UserProfileRepository; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; + +import java.util.UUID; + +/** + * Created by abhij on 10/14/2016. + */ +public class ReplicaCatalogRepositoryTest { + + private GatewayRepository gatewayRepository; + private UserProfileRepository userProfileRepository; + private String gatewayId; + private String userId; + private String dataProductUri; + + private final String NOTIFY_MESSAGE = "NotifyMe"; + private final String USER_COMMENT = "TestComment"; + private final String GATEWAY_DOMAIN = "test1.com"; + private final String DATA_PRODUCT_DESCRIPTION = "testDesc"; + + + @Before + public void setupRepository() { + + gatewayRepository = new GatewayRepository(Gateway.class, GatewayEntity.class); + userProfileRepository = new UserProfileRepository(UserProfile.class, UserProfileEntity.class); + + + gatewayId = "test.com" + System.currentTimeMillis(); + userId = "testuser" + System.currentTimeMillis(); + dataProductUri = "uri" + System.currentTimeMillis(); + + } + @Test + public void dataProductRepositoryTest() { + + DataProductRepository dataProductRepository = new DataProductRepository(DataProductModel.class, DataProductEntity.class); + + /* + * Creating Gateway required for UserProfile & Project creation + */ + Gateway gateway = new Gateway(); + gateway.setGatewayApprovalStatus(GatewayApprovalStatus.ACTIVE); + gateway.setGatewayId(gatewayId); + gateway.setDomain(GATEWAY_DOMAIN); + gateway = gatewayRepository.create(gateway); + Assert.assertTrue(!gateway.getGatewayId().isEmpty()); + + /* + * UserProfile Instance creation required for Project Creation + */ + UserProfile userProfile = new UserProfile(); + userProfile.setAiravataInternalUserId(userId); + userProfile.setGatewayId(gateway.getGatewayId()); + userProfile = userProfileRepository.create(userProfile); + Assert.assertTrue(!userProfile.getAiravataInternalUserId().isEmpty()); + + /* + * DataProduct Instance creation + */ + DataProductModel dataProduct = new DataProductModel(); + dataProduct.setProductUri(dataProductUri); + dataProduct.setGatewayId(gatewayId); + dataProduct.setOwnerName(gatewayId); + dataProduct.setProductName("Product1234"); + + + /* + * Data Product Repository Insert Operation Test + */ + dataProduct = dataProductRepository.create(dataProduct); + Assert.assertTrue(!dataProduct.getProductUri().isEmpty()); + + + + /* + * DataProduct Repository Update Operation Test + */ + dataProduct.setProductDescription(DATA_PRODUCT_DESCRIPTION); + dataProductRepository.update(dataProduct); + dataProduct = dataProductRepository.get(dataProduct.getProductUri()); + Assert.assertEquals(dataProduct.getProductDescription(), DATA_PRODUCT_DESCRIPTION); + + /* + * Data Product Repository Select Operation Test + */ + dataProduct = null; + dataProduct = dataProductRepository.get(dataProductUri); + Assert.assertNotNull(dataProduct); + + /* + * Workspace Project Repository Delete Operation + */ + boolean deleteResult = dataProductRepository.delete(dataProductUri); + Assert.assertTrue(deleteResult); + + deleteResult = userProfileRepository.delete(userId); + Assert.assertTrue(deleteResult); + + deleteResult = gatewayRepository.delete(gatewayId); + Assert.assertTrue(deleteResult); + + } +}
