removing data models not related to user-profile and intantiating user-profile service
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/9085dfe5 Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/9085dfe5 Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/9085dfe5 Branch: refs/heads/develop Commit: 9085dfe5f87d5a3bb8321e1d6adf7e6226cb9264 Parents: 01943ba Author: Anuj Bhandar <[email protected]> Authored: Mon Feb 6 15:59:30 2017 -0500 Committer: Anuj Bhandar <[email protected]> Committed: Tue Feb 28 12:55:35 2017 -0500 ---------------------------------------------------------------------- .../main/resources/airavata-server.properties | 21 +- .../registry/core/RegistryException.java | 28 -- .../core/UserProfileRegistryException.java | 28 ++ .../core/entities/NSFDemographicsEntity.java | 94 ++++++ .../core/entities/UserProfileEntity.java | 247 ++++++++++++++ .../workspacecatalog/GatewayEntity.java | 221 ------------- .../workspacecatalog/NSFDemographicsEntity.java | 94 ------ .../workspacecatalog/NotificationEntity.java | 110 ------- .../workspacecatalog/ProjectEntity.java | 92 ------ .../workspacecatalog/UserProfileEntity.java | 247 -------------- .../repositories/UserProfileRepository.java | 87 +++++ .../workspacecatalog/GatewayRepository.java | 36 -- .../NotificationRepository.java | 35 -- .../workspacecatalog/ProjectRepository.java | 35 -- .../workspacecatalog/UserProfileRepository.java | 88 ----- .../registry/core/utils/JPAConstants.java | 16 +- .../airavata/registry/core/utils/JPAUtils.java | 6 +- .../src/main/resources/META-INF/persistence.xml | 9 +- .../src/main/resources/user_profile_catalog.sql | 84 +++++ .../src/main/resources/workspace_catalog.sql | 125 ------- .../repositories/WorkspaceRepositoryTest.java | 325 +++++++++---------- 21 files changed, 726 insertions(+), 1302 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/airavata/blob/9085dfe5/modules/test-suite/multi-tenanted-airavata/src/main/resources/airavata-server.properties ---------------------------------------------------------------------- diff --git a/modules/test-suite/multi-tenanted-airavata/src/main/resources/airavata-server.properties b/modules/test-suite/multi-tenanted-airavata/src/main/resources/airavata-server.properties index e8a5b25..0b15ef7 100644 --- a/modules/test-suite/multi-tenanted-airavata/src/main/resources/airavata-server.properties +++ b/modules/test-suite/multi-tenanted-airavata/src/main/resources/airavata-server.properties @@ -334,4 +334,23 @@ enable.kafka.logging=false ########################################################################### user.profile.server.host=localhost user.profile.server.port=8961 -user_profile=com.apache.airavata.user.profile.server.UserProfileServer \ No newline at end of file +user_profile=org.apache.airavata.user.profile.server.UserProfileServer + +########################################################################### +# New User Profile catalog +########################################################################### +#for derby [AiravataJPARegistry] +#Workspace.catalog.registry.jdbc.driver=org.apache.derby.jdbc.ClientDriver +#Workspace.catalog.registry.jdbc.url=jdbc:derby://localhost:1527/workspace_catalog;create=true;user=airavata;password=airavata +# MySql database configuration +user.profile.catalog.registry.jdbc.driver=com.mysql.jdbc.Driver +user.profile.catalog.registry.jdbc.url=jdbc:mysql://localhost:3306/user_profile_catalog +user.profile.catalog.registry.jdbc.user=airavata +user.profile.catalog.registry.jdbc.password=airavata +user.profile.catalog.validationQuery=SELECT 1 from CONFIGURATION + +user.profile.catalog.start.derby.server.mode=true +user.profile.catalog.cache.enable=true +user.profile.catalog.jpa.cache.size=5000 +#jpa.connection.properties=MaxActive=10,MaxIdle=5,MinIdle=2,MaxWait=60000,testWhileIdle=true,testOnBorrow=true +user.profile.catalog.enable.sharing=true \ No newline at end of file http://git-wip-us.apache.org/repos/asf/airavata/blob/9085dfe5/modules/user-profile/user-profile-core/src/main/java/org/apache/airavata/registry/core/RegistryException.java ---------------------------------------------------------------------- diff --git a/modules/user-profile/user-profile-core/src/main/java/org/apache/airavata/registry/core/RegistryException.java b/modules/user-profile/user-profile-core/src/main/java/org/apache/airavata/registry/core/RegistryException.java deleted file mode 100644 index 8893b34..0000000 --- a/modules/user-profile/user-profile-core/src/main/java/org/apache/airavata/registry/core/RegistryException.java +++ /dev/null @@ -1,28 +0,0 @@ -/* - * - * 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.registry.core; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class RegistryException extends Exception { - private final static Logger logger = LoggerFactory.getLogger(RegistryException.class); -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/airavata/blob/9085dfe5/modules/user-profile/user-profile-core/src/main/java/org/apache/airavata/registry/core/UserProfileRegistryException.java ---------------------------------------------------------------------- diff --git a/modules/user-profile/user-profile-core/src/main/java/org/apache/airavata/registry/core/UserProfileRegistryException.java b/modules/user-profile/user-profile-core/src/main/java/org/apache/airavata/registry/core/UserProfileRegistryException.java new file mode 100644 index 0000000..3bf5044 --- /dev/null +++ b/modules/user-profile/user-profile-core/src/main/java/org/apache/airavata/registry/core/UserProfileRegistryException.java @@ -0,0 +1,28 @@ +/* + * + * 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.registry.core; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class UserProfileRegistryException extends Exception { + private final static Logger logger = LoggerFactory.getLogger(UserProfileRegistryException.class); +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/airavata/blob/9085dfe5/modules/user-profile/user-profile-core/src/main/java/org/apache/airavata/registry/core/entities/NSFDemographicsEntity.java ---------------------------------------------------------------------- diff --git a/modules/user-profile/user-profile-core/src/main/java/org/apache/airavata/registry/core/entities/NSFDemographicsEntity.java b/modules/user-profile/user-profile-core/src/main/java/org/apache/airavata/registry/core/entities/NSFDemographicsEntity.java new file mode 100644 index 0000000..fa0c7b2 --- /dev/null +++ b/modules/user-profile/user-profile-core/src/main/java/org/apache/airavata/registry/core/entities/NSFDemographicsEntity.java @@ -0,0 +1,94 @@ +/* + * + * 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.registry.core.entities; + +import javax.persistence.*; +import java.util.List; + +@Entity +@Table(name = "NSF_DEMOGRAPHIC") +public class NSFDemographicsEntity { + private String airavataInternalUserId; + private String gender; + private List<String> ethnicities; + private List<String> races; + private List<String> disabilities; + private UserProfileEntity userProfile; + + @Id + @Column(name = "AIRAVATA_INTERNAL_USER_ID") + public String getAiravataInternalUserId() { + return airavataInternalUserId; + } + + public void setAiravataInternalUserId(String userId) { + this.airavataInternalUserId = userId; + } + + @Column(name = "GENDER") + public String getGender() { + return gender; + } + + public void setGender(String gender) { + this.gender = gender; + } + + @ElementCollection + @CollectionTable(name="NSF_DEMOGRAPHIC_ETHNICITY", joinColumns = @JoinColumn(name="AIRAVATA_INTERNAL_USER_ID")) + public List<String> getEthnicities() { + return ethnicities; + } + + public void setEthnicities(List<String> ethnicities) { + this.ethnicities = ethnicities; + } + + @ElementCollection + @CollectionTable(name="NSF_DEMOGRAPHIC_RACE", joinColumns = @JoinColumn(name="AIRAVATA_INTERNAL_USER_ID")) + public List<String> getRaces() { + return races; + } + + public void setRaces(List<String> races) { + this.races = races; + } + + @ElementCollection + @CollectionTable(name="NSF_DEMOGRAPHIC_DISABILITY", joinColumns = @JoinColumn(name="AIRAVATA_INTERNAL_USER_ID")) + public List<String> getDisabilities() { + return disabilities; + } + + public void setDisabilities(List<String> disabilities) { + this.disabilities = disabilities; + } + + @OneToOne(targetEntity = UserProfileEntity.class, cascade = CascadeType.ALL) + @PrimaryKeyJoinColumn(name = "AIRAVATA_INTERNAL_USER_ID", referencedColumnName = "AIRAVATA_INTERNAL_USER_ID") + public UserProfileEntity getUserProfile() { + return userProfile; + } + + public void setUserProfile(UserProfileEntity userProfile) { + this.userProfile = userProfile; + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/airavata/blob/9085dfe5/modules/user-profile/user-profile-core/src/main/java/org/apache/airavata/registry/core/entities/UserProfileEntity.java ---------------------------------------------------------------------- diff --git a/modules/user-profile/user-profile-core/src/main/java/org/apache/airavata/registry/core/entities/UserProfileEntity.java b/modules/user-profile/user-profile-core/src/main/java/org/apache/airavata/registry/core/entities/UserProfileEntity.java new file mode 100644 index 0000000..cf0429a --- /dev/null +++ b/modules/user-profile/user-profile-core/src/main/java/org/apache/airavata/registry/core/entities/UserProfileEntity.java @@ -0,0 +1,247 @@ +/* + * + * 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.registry.core.entities; + +import javax.persistence.*; +import java.util.List; + +@Entity +@Table(name="USER_PROFILE") +public class UserProfileEntity { + private String airavataInternalUserId; + private String userId; + private String gatewayId; + private String userModelVersion; + private String userName; + private String orcidId; + private String country; + private String homeOrganization; + private String orginationAffiliation; + private long creationTime; + private long lastAccessTime; + private long validUntil; + private String state; + private String comments; + private List<String> labeledURI; + private String gpgKey; + private String timeZone; + + private List<String> nationality; + private List<String> emails; + private List<String> phones; + private NSFDemographicsEntity nsfDemographics; + + @Id + @Column(name = "AIRAVATA_INTERNAL_USER_ID") + public String getAiravataInternalUserId() { + return airavataInternalUserId; + } + + public void setAiravataInternalUserId(String id) { + this.airavataInternalUserId = id; + } + + @Column(name = "USER_ID") + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + + @Column(name = "GATEWAY_ID") + public String getGatewayId() { + return gatewayId; + } + + public void setGatewayId(String gatewayId) { + this.gatewayId = gatewayId; + } + + @Column(name = "USER_MODEL_VERSION") + public String getUserModelVersion() { + return userModelVersion; + } + + public void setUserModelVersion(String userModelVersion) { + this.userModelVersion = userModelVersion; + } + + @ElementCollection + @CollectionTable(name="USER_PROFILE_EMAIL", joinColumns = @JoinColumn(name="AIRAVATA_INTERNAL_USER_ID")) + public List<String> getEmails() { + return emails; + } + + public void setEmails(List<String> emails) { + this.emails = emails; + } + + @Column(name = "USER_NAME") + public String getUserName() { + return userName; + } + + public void setUserName(String userName) { + this.userName = userName; + } + + @Column(name = "ORCID_ID") + public String getOrcidId() { + return orcidId; + } + + public void setOrcidId(String orcidId) { + this.orcidId = orcidId; + } + + @ElementCollection + @CollectionTable(name="USER_PROFILE_PHONE", joinColumns = @JoinColumn(name="AIRAVATA_INTERNAL_USER_ID")) + public List<String> getPhones() { + return phones; + } + + public void setPhones(List<String> phones) { + this.phones = phones; + } + + @Column(name = "COUNTRY") + public String getCountry() { + return country; + } + + public void setCountry(String country) { + this.country = country; + } + + @ElementCollection + @CollectionTable(name="USER_PROFILE_NATIONALITY", joinColumns = @JoinColumn(name="AIRAVATA_INTERNAL_USER_ID")) + public List<String> getNationality() { + return nationality; + } + + public void setNationality(List<String> nationality) { + this.nationality = nationality; + } + + @Column(name = "HOME_ORGANIZATION") + public String getHomeOrganization() { + return homeOrganization; + } + + public void setHomeOrganization(String homeOrganization) { + this.homeOrganization = homeOrganization; + } + + @Column(name = "ORIGINATION_AFFILIATION") + public String getOrginationAffiliation() { + return orginationAffiliation; + } + + public void setOrginationAffiliation(String orginationAffiliation) { + this.orginationAffiliation = orginationAffiliation; + } + + @Column(name="CREATION_TIME") + public long getCreationTime() { + return creationTime; + } + + public void setCreationTime(long creationTime) { + this.creationTime = creationTime; + } + + @Column(name = "LAST_ACCESS_TIME") + public long getLastAccessTime() { + return lastAccessTime; + } + + public void setLastAccessTime(long lastAccessTime) { + this.lastAccessTime = lastAccessTime; + } + + @Column(name = "VALID_UNTIL") + public long getValidUntil() { + return validUntil; + } + + public void setValidUntil(long validUntil) { + this.validUntil = validUntil; + } + + @Column(name = "STATE") + public String getState() { + return state; + } + + public void setState(String state) { + this.state = state; + } + + @Lob + @Column(name = "COMMENTS") + public String getComments() { + return comments; + } + + public void setComments(String comments) { + this.comments = comments; + } + + @ElementCollection + @CollectionTable(name="USER_PROFILE_LABELED_URI", joinColumns = @JoinColumn(name="AIRAVATA_INTERNAL_USER_ID")) + public List<String> getLabeledURI() { + return labeledURI; + } + + public void setLabeledURI(List<String> labeledURI) { + this.labeledURI = labeledURI; + } + + @Lob + @Column(name = "GPG_KEY") + public String getGpgKey() { + return gpgKey; + } + + public void setGpgKey(String gpgKey) { + this.gpgKey = gpgKey; + } + + @Column(name = "TIME_ZONE") + public String getTimeZone() { + return timeZone; + } + + public void setTimeZone(String timeZone) { + this.timeZone = timeZone; + } + + @OneToOne(targetEntity = NSFDemographicsEntity.class, cascade = CascadeType.ALL, mappedBy = "userProfile") + public NSFDemographicsEntity getNsfDemographics() { + return nsfDemographics; + } + + public void setNsfDemographics(NSFDemographicsEntity nsfDemographics) { + this.nsfDemographics = nsfDemographics; + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/airavata/blob/9085dfe5/modules/user-profile/user-profile-core/src/main/java/org/apache/airavata/registry/core/entities/workspacecatalog/GatewayEntity.java ---------------------------------------------------------------------- diff --git a/modules/user-profile/user-profile-core/src/main/java/org/apache/airavata/registry/core/entities/workspacecatalog/GatewayEntity.java b/modules/user-profile/user-profile-core/src/main/java/org/apache/airavata/registry/core/entities/workspacecatalog/GatewayEntity.java deleted file mode 100644 index 4490580..0000000 --- a/modules/user-profile/user-profile-core/src/main/java/org/apache/airavata/registry/core/entities/workspacecatalog/GatewayEntity.java +++ /dev/null @@ -1,221 +0,0 @@ -/* - * - * 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.registry.core.entities.workspacecatalog; - -import javax.persistence.*; - -@Entity -@Table(name="GATEWAY")//FIXME removing WORKSPACE prefix so that we can use the Gateway table in exp catalog -public class GatewayEntity { - private String gatewayId; - private String gatewayName; - private String domain; - private String emailAddress; - private String gatewayApprovalStatus; - private String gatewayAcronym; - private String gatewayUrl; - private String gatewayPublicAbstract; - private String reviewProposalDescription; - private String gatewayAdminFirstName; - private String getGatewayAdminLastName; - private String gatewayAdminEmail; - private String identityServerUserName; - private String identityServerPasswordToken; - private String declinedReason; - private String oauthClientId; - private String getOauthClientSecret; - private long requestCreationTime; - private String requesterUsername; - - @Id - @Column(name = "GATEWAY_ID") - public String getGatewayId() { - return gatewayId; - } - - public void setGatewayId(String id) { - this.gatewayId = id; - } - - @Column(name = "GATEWAY_NAME") - public String getGatewayName() { - return gatewayName; - } - - public void setGatewayName(String gatewayName) { - this.gatewayName = gatewayName; - } - - @Column(name = "GATEWAY_DOMAIN") - public String getDomain() { - return domain; - } - - public void setDomain(String domain) { - this.domain = domain; - } - - @Column(name = "EMAIL_ADDRESS") - public String getEmailAddress() { - return emailAddress; - } - - public void setEmailAddress(String emailAddress) { - this.emailAddress = emailAddress; - } - - @Column(name = "GATEWAY_APPROVAL_STATUS") - public String getGatewayApprovalStatus() { - return gatewayApprovalStatus; - } - - public void setGatewayApprovalStatus(String gatewayApprovalStatus) { - this.gatewayApprovalStatus = gatewayApprovalStatus; - } - - @Column(name = "GATEWAY_ACRONYM") - public String getGatewayAcronym() { - return gatewayAcronym; - } - - public void setGatewayAcronym(String gatewayAcronym) { - this.gatewayAcronym = gatewayAcronym; - } - - @Column(name = "GATEWAY_URL") - public String getGatewayUrl() { - return gatewayUrl; - } - - public void setGatewayUrl(String gatewayUrl) { - this.gatewayUrl = gatewayUrl; - } - - @Lob - @Column(name = "GATEWAY_PUBLIC_ABSTRACT") - public String getGatewayPublicAbstract() { - return gatewayPublicAbstract; - } - - public void setGatewayPublicAbstract(String gatewayPublicAbstract) { - this.gatewayPublicAbstract = gatewayPublicAbstract; - } - - @Lob - @Column(name = "REVIEW_PROPOSAL_DESCRIPTION") - public String getReviewProposalDescription() { - return reviewProposalDescription; - } - - public void setReviewProposalDescription(String reviewProposalDescription) { - this.reviewProposalDescription = reviewProposalDescription; - } - - @Column(name = "GATEWAY_ADMIN_FIRST_NAME") - public String getGatewayAdminFirstName() { - return gatewayAdminFirstName; - } - - public void setGatewayAdminFirstName(String gatewayAdminFirstName) { - this.gatewayAdminFirstName = gatewayAdminFirstName; - } - - @Column(name = "GATEWAY_ADMIN_LAST_NAME") - public String getGetGatewayAdminLastName() { - return getGatewayAdminLastName; - } - - public void setGetGatewayAdminLastName(String getGatewayAdminLastName) { - this.getGatewayAdminLastName = getGatewayAdminLastName; - } - - @Column(name = "GATEWAY_ADMIN_EMAIL") - public String getGatewayAdminEmail() { - return gatewayAdminEmail; - } - - public void setGatewayAdminEmail(String gatewayAdminEmail) { - this.gatewayAdminEmail = gatewayAdminEmail; - } - - @Column(name = "IDENTITY_SERVER_USERNAME") - public String getIdentityServerUserName() { - return identityServerUserName; - } - - public void setIdentityServerUserName(String identityServerUserName) { - this.identityServerUserName = identityServerUserName; - } - - @Column(name = "IDENTITY_SERVER_PASSWORD_TOKEN") - public String getIdentityServerPasswordToken() { - return identityServerPasswordToken; - } - - public void setIdentityServerPasswordToken(String identityServerPasswordToken) { - this.identityServerPasswordToken = identityServerPasswordToken; - } - - @Column(name = "REQUESTER_USERNAME") - public String getRequesterUsername() { - return requesterUsername; - } - - public void setRequesterUsername(String requesterUsername) { - this.requesterUsername = requesterUsername; - } - - @Column(name = "DECLINED_REASON") - public String getDeclinedReason() { - return declinedReason; - } - - public void setDeclinedReason(String declinedReason) { - this.declinedReason = declinedReason; - } - - @Column(name = "OAUTH_CLIENT_ID") - public String getOauthClientId() { - return oauthClientId; - } - - public void setOauthClientId(String oauthClientId) { - this.oauthClientId = oauthClientId; - } - - @Column(name = "REQUEST_CREATION_TIME") - public long getRequestCreationTime() { - return requestCreationTime; - } - - public void setRequestCreationTime(long requestCreationTime) { - this.requestCreationTime = requestCreationTime; - } - - @Column(name = "OAUTH_CLIENT_SECRET") - public String getGetOauthClientSecret() { - return getOauthClientSecret; - } - - public void setGetOauthClientSecret(String oauthClientSecret) { - this.getOauthClientSecret = oauthClientSecret; - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/airavata/blob/9085dfe5/modules/user-profile/user-profile-core/src/main/java/org/apache/airavata/registry/core/entities/workspacecatalog/NSFDemographicsEntity.java ---------------------------------------------------------------------- diff --git a/modules/user-profile/user-profile-core/src/main/java/org/apache/airavata/registry/core/entities/workspacecatalog/NSFDemographicsEntity.java b/modules/user-profile/user-profile-core/src/main/java/org/apache/airavata/registry/core/entities/workspacecatalog/NSFDemographicsEntity.java deleted file mode 100644 index 0bcbafa..0000000 --- a/modules/user-profile/user-profile-core/src/main/java/org/apache/airavata/registry/core/entities/workspacecatalog/NSFDemographicsEntity.java +++ /dev/null @@ -1,94 +0,0 @@ -/* - * - * 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.registry.core.entities.workspacecatalog; - -import javax.persistence.*; -import java.util.List; - -@Entity -@Table(name = "WORKSPACE_NSF_DEMOGRAPHIC") -public class NSFDemographicsEntity { - private String airavataInternalUserId; - private String gender; - private List<String> ethnicities; - private List<String> races; - private List<String> disabilities; - private UserProfileEntity userProfile; - - @Id - @Column(name = "AIRAVATA_INTERNAL_USER_ID") - public String getAiravataInternalUserId() { - return airavataInternalUserId; - } - - public void setAiravataInternalUserId(String userId) { - this.airavataInternalUserId = userId; - } - - @Column(name = "GENDER") - public String getGender() { - return gender; - } - - public void setGender(String gender) { - this.gender = gender; - } - - @ElementCollection - @CollectionTable(name="NSF_DEMOGRAPHIC_ETHNICITY", joinColumns = @JoinColumn(name="AIRAVATA_INTERNAL_USER_ID")) - public List<String> getEthnicities() { - return ethnicities; - } - - public void setEthnicities(List<String> ethnicities) { - this.ethnicities = ethnicities; - } - - @ElementCollection - @CollectionTable(name="NSF_DEMOGRAPHIC_RACE", joinColumns = @JoinColumn(name="AIRAVATA_INTERNAL_USER_ID")) - public List<String> getRaces() { - return races; - } - - public void setRaces(List<String> races) { - this.races = races; - } - - @ElementCollection - @CollectionTable(name="NSF_DEMOGRAPHIC_DISABILITY", joinColumns = @JoinColumn(name="AIRAVATA_INTERNAL_USER_ID")) - public List<String> getDisabilities() { - return disabilities; - } - - public void setDisabilities(List<String> disabilities) { - this.disabilities = disabilities; - } - - @OneToOne(targetEntity = UserProfileEntity.class, cascade = CascadeType.ALL) - @PrimaryKeyJoinColumn(name = "AIRAVATA_INTERNAL_USER_ID", referencedColumnName = "AIRAVATA_INTERNAL_USER_ID") - public UserProfileEntity getUserProfile() { - return userProfile; - } - - public void setUserProfile(UserProfileEntity userProfile) { - this.userProfile = userProfile; - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/airavata/blob/9085dfe5/modules/user-profile/user-profile-core/src/main/java/org/apache/airavata/registry/core/entities/workspacecatalog/NotificationEntity.java ---------------------------------------------------------------------- diff --git a/modules/user-profile/user-profile-core/src/main/java/org/apache/airavata/registry/core/entities/workspacecatalog/NotificationEntity.java b/modules/user-profile/user-profile-core/src/main/java/org/apache/airavata/registry/core/entities/workspacecatalog/NotificationEntity.java deleted file mode 100644 index 67f8af2..0000000 --- a/modules/user-profile/user-profile-core/src/main/java/org/apache/airavata/registry/core/entities/workspacecatalog/NotificationEntity.java +++ /dev/null @@ -1,110 +0,0 @@ -/* - * - * 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.registry.core.entities.workspacecatalog; - -import javax.persistence.*; - -@Entity -@Table(name = "WORKSPACE_NOTIFICATION") -public class NotificationEntity { - private String notificationId; - private String gatewayId; - private String title; - private String notificationMessage; - private long creationTime; - private long publishedTime; - private long expirationTime; - private String priority; - - @Id - @Column(name = "NOTIFICATION_ID") - public String getNotificationId() { - return notificationId; - } - - public void setNotificationId(String notificationId) { - this.notificationId = notificationId; - } - - @Column(name = "GATEWAY_ID") - public String getGatewayId() { - return gatewayId; - } - - public void setGatewayId(String gatewayId) { - this.gatewayId = gatewayId; - } - - @Column(name = "TITLE") - public String getTitle() { - return title; - } - - public void setTitle(String title) { - this.title = title; - } - - @Lob - @Column(name = "NOTIFICATION_MESSAGE") - public String getNotificationMessage() { - return notificationMessage; - } - - public void setNotificationMessage(String notificationMessage) { - this.notificationMessage = notificationMessage; - } - - @Column(name = "CREATION_TIME") - public long getCreationTime() { - return creationTime; - } - - public void setCreationTime(long creationTime) { - this.creationTime = creationTime; - } - - @Column(name = "PUBLISHED_TIME") - public long getPublishedTime() { - return publishedTime; - } - - public void setPublishedTime(long publishedTime) { - this.publishedTime = publishedTime; - } - - @Column(name = "EXPIRATION_TIME") - public long getExpirationTime() { - return expirationTime; - } - - public void setExpirationTime(long expirationTime) { - this.expirationTime = expirationTime; - } - - @Column(name = "PRIORITY") - public String getPriority() { - return priority; - } - - public void setPriority(String priority) { - this.priority = priority; - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/airavata/blob/9085dfe5/modules/user-profile/user-profile-core/src/main/java/org/apache/airavata/registry/core/entities/workspacecatalog/ProjectEntity.java ---------------------------------------------------------------------- diff --git a/modules/user-profile/user-profile-core/src/main/java/org/apache/airavata/registry/core/entities/workspacecatalog/ProjectEntity.java b/modules/user-profile/user-profile-core/src/main/java/org/apache/airavata/registry/core/entities/workspacecatalog/ProjectEntity.java deleted file mode 100644 index 31e0868..0000000 --- a/modules/user-profile/user-profile-core/src/main/java/org/apache/airavata/registry/core/entities/workspacecatalog/ProjectEntity.java +++ /dev/null @@ -1,92 +0,0 @@ -/* - * - * 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.registry.core.entities.workspacecatalog; - -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Id; -import javax.persistence.Table; - -@Entity -@Table(name = "WORKSPACE_PROJECT") -public class ProjectEntity { - private String projectID; - private String owner; - private String gatewayId; - private String name; - private String description; - private long creationTime; - - @Id - @Column(name = "PROJECT_ID") - public String getProjectID() { - return projectID; - } - - public void setProjectID(String projectID) { - this.projectID = projectID; - } - - @Column(name = "OWNER") - public String getOwner() { - return owner; - } - - public void setOwner(String owner) { - this.owner = owner; - } - - @Column(name = "GATEWAY_ID") - public String getGatewayId() { - return gatewayId; - } - - public void setGatewayId(String gatewayId) { - this.gatewayId = gatewayId; - } - - @Column(name = "PROJECT_NAME") - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - @Column(name = "DESCRIPTION") - public String getDescription() { - return description; - } - - public void setDescription(String description) { - this.description = description; - } - - @Column(name = "CREATION_TIME") - public long getCreationTime() { - return creationTime; - } - - public void setCreationTime(long creationTime) { - this.creationTime = creationTime; - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/airavata/blob/9085dfe5/modules/user-profile/user-profile-core/src/main/java/org/apache/airavata/registry/core/entities/workspacecatalog/UserProfileEntity.java ---------------------------------------------------------------------- diff --git a/modules/user-profile/user-profile-core/src/main/java/org/apache/airavata/registry/core/entities/workspacecatalog/UserProfileEntity.java b/modules/user-profile/user-profile-core/src/main/java/org/apache/airavata/registry/core/entities/workspacecatalog/UserProfileEntity.java deleted file mode 100644 index 7dd51ed..0000000 --- a/modules/user-profile/user-profile-core/src/main/java/org/apache/airavata/registry/core/entities/workspacecatalog/UserProfileEntity.java +++ /dev/null @@ -1,247 +0,0 @@ -/* - * - * 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.registry.core.entities.workspacecatalog; - -import javax.persistence.*; -import java.util.List; - -@Entity -@Table(name="WORKSPACE_USER_PROFILE") -public class UserProfileEntity { - private String airavataInternalUserId; - private String userId; - private String gatewayId; - private String userModelVersion; - private String userName; - private String orcidId; - private String country; - private String homeOrganization; - private String orginationAffiliation; - private long creationTime; - private long lastAccessTime; - private long validUntil; - private String state; - private String comments; - private List<String> labeledURI; - private String gpgKey; - private String timeZone; - - private List<String> nationality; - private List<String> emails; - private List<String> phones; - private NSFDemographicsEntity nsfDemographics; - - @Id - @Column(name = "AIRAVATA_INTERNAL_USER_ID") - public String getAiravataInternalUserId() { - return airavataInternalUserId; - } - - public void setAiravataInternalUserId(String id) { - this.airavataInternalUserId = id; - } - - @Column(name = "USER_ID") - public String getUserId() { - return userId; - } - - public void setUserId(String userId) { - this.userId = userId; - } - - @Column(name = "GATEWAY_ID") - public String getGatewayId() { - return gatewayId; - } - - public void setGatewayId(String gatewayId) { - this.gatewayId = gatewayId; - } - - @Column(name = "USER_MODEL_VERSION") - public String getUserModelVersion() { - return userModelVersion; - } - - public void setUserModelVersion(String userModelVersion) { - this.userModelVersion = userModelVersion; - } - - @ElementCollection - @CollectionTable(name="USER_PROFILE_EMAIL", joinColumns = @JoinColumn(name="AIRAVATA_INTERNAL_USER_ID")) - public List<String> getEmails() { - return emails; - } - - public void setEmails(List<String> emails) { - this.emails = emails; - } - - @Column(name = "USER_NAME") - public String getUserName() { - return userName; - } - - public void setUserName(String userName) { - this.userName = userName; - } - - @Column(name = "ORCID_ID") - public String getOrcidId() { - return orcidId; - } - - public void setOrcidId(String orcidId) { - this.orcidId = orcidId; - } - - @ElementCollection - @CollectionTable(name="USER_PROFILE_PHONE", joinColumns = @JoinColumn(name="AIRAVATA_INTERNAL_USER_ID")) - public List<String> getPhones() { - return phones; - } - - public void setPhones(List<String> phones) { - this.phones = phones; - } - - @Column(name = "COUNTRY") - public String getCountry() { - return country; - } - - public void setCountry(String country) { - this.country = country; - } - - @ElementCollection - @CollectionTable(name="USER_PROFILE_NATIONALITY", joinColumns = @JoinColumn(name="AIRAVATA_INTERNAL_USER_ID")) - public List<String> getNationality() { - return nationality; - } - - public void setNationality(List<String> nationality) { - this.nationality = nationality; - } - - @Column(name = "HOME_ORGANIZATION") - public String getHomeOrganization() { - return homeOrganization; - } - - public void setHomeOrganization(String homeOrganization) { - this.homeOrganization = homeOrganization; - } - - @Column(name = "ORIGINATION_AFFILIATION") - public String getOrginationAffiliation() { - return orginationAffiliation; - } - - public void setOrginationAffiliation(String orginationAffiliation) { - this.orginationAffiliation = orginationAffiliation; - } - - @Column(name="CREATION_TIME") - public long getCreationTime() { - return creationTime; - } - - public void setCreationTime(long creationTime) { - this.creationTime = creationTime; - } - - @Column(name = "LAST_ACCESS_TIME") - public long getLastAccessTime() { - return lastAccessTime; - } - - public void setLastAccessTime(long lastAccessTime) { - this.lastAccessTime = lastAccessTime; - } - - @Column(name = "VALID_UNTIL") - public long getValidUntil() { - return validUntil; - } - - public void setValidUntil(long validUntil) { - this.validUntil = validUntil; - } - - @Column(name = "STATE") - public String getState() { - return state; - } - - public void setState(String state) { - this.state = state; - } - - @Lob - @Column(name = "COMMENTS") - public String getComments() { - return comments; - } - - public void setComments(String comments) { - this.comments = comments; - } - - @ElementCollection - @CollectionTable(name="USER_PROFILE_LABELED_URI", joinColumns = @JoinColumn(name="AIRAVATA_INTERNAL_USER_ID")) - public List<String> getLabeledURI() { - return labeledURI; - } - - public void setLabeledURI(List<String> labeledURI) { - this.labeledURI = labeledURI; - } - - @Lob - @Column(name = "GPG_KEY") - public String getGpgKey() { - return gpgKey; - } - - public void setGpgKey(String gpgKey) { - this.gpgKey = gpgKey; - } - - @Column(name = "TIME_ZONE") - public String getTimeZone() { - return timeZone; - } - - public void setTimeZone(String timeZone) { - this.timeZone = timeZone; - } - - @OneToOne(targetEntity = NSFDemographicsEntity.class, cascade = CascadeType.ALL, mappedBy = "userProfile") - public NSFDemographicsEntity getNsfDemographics() { - return nsfDemographics; - } - - public void setNsfDemographics(NSFDemographicsEntity nsfDemographics) { - this.nsfDemographics = nsfDemographics; - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/airavata/blob/9085dfe5/modules/user-profile/user-profile-core/src/main/java/org/apache/airavata/registry/core/repositories/UserProfileRepository.java ---------------------------------------------------------------------- diff --git a/modules/user-profile/user-profile-core/src/main/java/org/apache/airavata/registry/core/repositories/UserProfileRepository.java b/modules/user-profile/user-profile-core/src/main/java/org/apache/airavata/registry/core/repositories/UserProfileRepository.java new file mode 100644 index 0000000..0f9abad --- /dev/null +++ b/modules/user-profile/user-profile-core/src/main/java/org/apache/airavata/registry/core/repositories/UserProfileRepository.java @@ -0,0 +1,87 @@ +/* + * + * 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.registry.core.repositories; + +import org.apache.airavata.model.user.UserProfile; +import org.apache.airavata.registry.core.entities.UserProfileEntity; +import org.apache.airavata.registry.core.utils.QueryConstants; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class UserProfileRepository extends AbstractRepository<UserProfile, UserProfileEntity, String> { + private final static Logger logger = LoggerFactory.getLogger(UserProfileRepository.class); + + public UserProfileRepository(Class<UserProfile> thriftGenericClass, Class<UserProfileEntity> dbEntityGenericClass) { + super(thriftGenericClass, dbEntityGenericClass); + } + + @Override + public List<UserProfile> select(String query, int offset, int limit) { + throw new UnsupportedOperationException("Due to performance overheads this method is not supported. Instead use" + + " UserProfileSummaryRepository"); + } + + public UserProfile getUserProfileByIdAndGateWay(String userId, String gatewayId) { + + UserProfile userProfile = null; + + Map<String, Object> queryParam = new HashMap<String, Object>(); + queryParam.put(UserProfile._Fields.USER_ID.getFieldName(), userId); + queryParam.put(UserProfile._Fields.GATEWAY_ID.getFieldName(), gatewayId); + List<UserProfile> resultList = select(QueryConstants.FIND_USER_PROFILE_BY_USER_ID, 0, 1, queryParam); + + if (resultList != null && resultList.size() > 0) + userProfile = resultList.get(0); + + + return userProfile; + } + + public List<UserProfile> getAllUserProfilesInGateway(String gatewayId, int offset, int limit) { + + Map<String, Object> queryParam = new HashMap<String, Object>(); + queryParam.put(UserProfile._Fields.GATEWAY_ID.getFieldName(), gatewayId); + + List<UserProfile> resultList = select(QueryConstants.FIND_ALL_USER_PROFILES_BY_GATEWAY_ID, limit, offset, queryParam); + + return resultList; + } + + public UserProfile getUserProfileByNameAndGateWay(String name, String gatewayId) { + + UserProfile userProfile = null; + + Map<String, Object> queryParam = new HashMap<String, Object>(); + queryParam.put(UserProfile._Fields.USER_NAME.getFieldName(), name); + queryParam.put(UserProfile._Fields.GATEWAY_ID.getFieldName(), gatewayId); + List<UserProfile> resultList = select(QueryConstants.FIND_USER_PROFILE_BY_USER_NAME, 0, 1, queryParam); + + if (resultList != null && resultList.size() > 0) + userProfile = resultList.get(0); + + + return userProfile; + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/airavata/blob/9085dfe5/modules/user-profile/user-profile-core/src/main/java/org/apache/airavata/registry/core/repositories/workspacecatalog/GatewayRepository.java ---------------------------------------------------------------------- diff --git a/modules/user-profile/user-profile-core/src/main/java/org/apache/airavata/registry/core/repositories/workspacecatalog/GatewayRepository.java b/modules/user-profile/user-profile-core/src/main/java/org/apache/airavata/registry/core/repositories/workspacecatalog/GatewayRepository.java deleted file mode 100644 index 9a1c6d6..0000000 --- a/modules/user-profile/user-profile-core/src/main/java/org/apache/airavata/registry/core/repositories/workspacecatalog/GatewayRepository.java +++ /dev/null @@ -1,36 +0,0 @@ -/* - * - * 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.registry.core.repositories.workspacecatalog; - -import org.apache.airavata.model.workspace.Gateway; -import org.apache.airavata.registry.core.entities.workspacecatalog.GatewayEntity; -import org.apache.airavata.registry.core.repositories.AbstractRepository; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class GatewayRepository extends AbstractRepository<Gateway, GatewayEntity, String> { - private final static Logger logger = LoggerFactory.getLogger(GatewayRepository.class); - - public GatewayRepository(Class<Gateway> thriftGenericClass, Class<GatewayEntity> dbEntityGenericClass) { - super(thriftGenericClass, dbEntityGenericClass); - - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/airavata/blob/9085dfe5/modules/user-profile/user-profile-core/src/main/java/org/apache/airavata/registry/core/repositories/workspacecatalog/NotificationRepository.java ---------------------------------------------------------------------- diff --git a/modules/user-profile/user-profile-core/src/main/java/org/apache/airavata/registry/core/repositories/workspacecatalog/NotificationRepository.java b/modules/user-profile/user-profile-core/src/main/java/org/apache/airavata/registry/core/repositories/workspacecatalog/NotificationRepository.java deleted file mode 100644 index 8332024..0000000 --- a/modules/user-profile/user-profile-core/src/main/java/org/apache/airavata/registry/core/repositories/workspacecatalog/NotificationRepository.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * - * 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.registry.core.repositories.workspacecatalog; - -import org.apache.airavata.model.workspace.Notification; -import org.apache.airavata.registry.core.entities.workspacecatalog.NotificationEntity; -import org.apache.airavata.registry.core.repositories.AbstractRepository; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class NotificationRepository extends AbstractRepository<Notification, NotificationEntity, String> { - private final static Logger logger = LoggerFactory.getLogger(NotificationRepository.class); - - public NotificationRepository(Class thriftGenericClass, Class dbEntityGenericClass) { - super(thriftGenericClass, dbEntityGenericClass); - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/airavata/blob/9085dfe5/modules/user-profile/user-profile-core/src/main/java/org/apache/airavata/registry/core/repositories/workspacecatalog/ProjectRepository.java ---------------------------------------------------------------------- diff --git a/modules/user-profile/user-profile-core/src/main/java/org/apache/airavata/registry/core/repositories/workspacecatalog/ProjectRepository.java b/modules/user-profile/user-profile-core/src/main/java/org/apache/airavata/registry/core/repositories/workspacecatalog/ProjectRepository.java deleted file mode 100644 index eebf5fb..0000000 --- a/modules/user-profile/user-profile-core/src/main/java/org/apache/airavata/registry/core/repositories/workspacecatalog/ProjectRepository.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * - * 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.registry.core.repositories.workspacecatalog; - -import org.apache.airavata.model.workspace.Project; -import org.apache.airavata.registry.core.entities.workspacecatalog.ProjectEntity; -import org.apache.airavata.registry.core.repositories.AbstractRepository; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class ProjectRepository extends AbstractRepository<Project, ProjectEntity, String> { - private final static Logger logger = LoggerFactory.getLogger(ProjectRepository.class); - - public ProjectRepository(Class<Project> thriftGenericClass, Class<ProjectEntity> dbEntityGenericClass) { - super(thriftGenericClass, dbEntityGenericClass); - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/airavata/blob/9085dfe5/modules/user-profile/user-profile-core/src/main/java/org/apache/airavata/registry/core/repositories/workspacecatalog/UserProfileRepository.java ---------------------------------------------------------------------- diff --git a/modules/user-profile/user-profile-core/src/main/java/org/apache/airavata/registry/core/repositories/workspacecatalog/UserProfileRepository.java b/modules/user-profile/user-profile-core/src/main/java/org/apache/airavata/registry/core/repositories/workspacecatalog/UserProfileRepository.java deleted file mode 100644 index de0f99e..0000000 --- a/modules/user-profile/user-profile-core/src/main/java/org/apache/airavata/registry/core/repositories/workspacecatalog/UserProfileRepository.java +++ /dev/null @@ -1,88 +0,0 @@ -/* - * - * 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.registry.core.repositories.workspacecatalog; - -import org.apache.airavata.model.user.UserProfile; -import org.apache.airavata.registry.core.entities.workspacecatalog.UserProfileEntity; -import org.apache.airavata.registry.core.repositories.AbstractRepository; -import org.apache.airavata.registry.core.utils.QueryConstants; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -public class UserProfileRepository extends AbstractRepository<UserProfile, UserProfileEntity, String> { - private final static Logger logger = LoggerFactory.getLogger(UserProfileRepository.class); - - public UserProfileRepository(Class<UserProfile> thriftGenericClass, Class<UserProfileEntity> dbEntityGenericClass) { - super(thriftGenericClass, dbEntityGenericClass); - } - - @Override - public List<UserProfile> select(String query, int offset, int limit) { - throw new UnsupportedOperationException("Due to performance overheads this method is not supported. Instead use" + - " UserProfileSummaryRepository"); - } - - public UserProfile getUserProfileByIdAndGateWay(String userId, String gatewayId) { - - UserProfile userProfile = null; - - Map<String, Object> queryParam = new HashMap<String, Object>(); - queryParam.put(UserProfile._Fields.USER_ID.getFieldName(), userId); - queryParam.put(UserProfile._Fields.GATEWAY_ID.getFieldName(), gatewayId); - List<UserProfile> resultList = select(QueryConstants.FIND_USER_PROFILE_BY_USER_ID, 0, 1, queryParam); - - if (resultList != null && resultList.size() > 0) - userProfile = resultList.get(0); - - - return userProfile; - } - - public List<UserProfile> getAllUserProfilesInGateway(String gatewayId, int offset, int limit) { - - Map<String, Object> queryParam = new HashMap<String, Object>(); - queryParam.put(UserProfile._Fields.GATEWAY_ID.getFieldName(), gatewayId); - - List<UserProfile> resultList = select(QueryConstants.FIND_ALL_USER_PROFILES_BY_GATEWAY_ID, limit, offset, queryParam); - - return resultList; - } - - public UserProfile getUserProfileByNameAndGateWay(String name, String gatewayId) { - - UserProfile userProfile = null; - - Map<String, Object> queryParam = new HashMap<String, Object>(); - queryParam.put(UserProfile._Fields.USER_NAME.getFieldName(), name); - queryParam.put(UserProfile._Fields.GATEWAY_ID.getFieldName(), gatewayId); - List<UserProfile> resultList = select(QueryConstants.FIND_USER_PROFILE_BY_USER_NAME, 0, 1, queryParam); - - if (resultList != null && resultList.size() > 0) - userProfile = resultList.get(0); - - - return userProfile; - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/airavata/blob/9085dfe5/modules/user-profile/user-profile-core/src/main/java/org/apache/airavata/registry/core/utils/JPAConstants.java ---------------------------------------------------------------------- diff --git a/modules/user-profile/user-profile-core/src/main/java/org/apache/airavata/registry/core/utils/JPAConstants.java b/modules/user-profile/user-profile-core/src/main/java/org/apache/airavata/registry/core/utils/JPAConstants.java index 25263e1..f2bb888 100644 --- a/modules/user-profile/user-profile-core/src/main/java/org/apache/airavata/registry/core/utils/JPAConstants.java +++ b/modules/user-profile/user-profile-core/src/main/java/org/apache/airavata/registry/core/utils/JPAConstants.java @@ -21,12 +21,12 @@ package org.apache.airavata.registry.core.utils; public class JPAConstants { - public static final String KEY_JDBC_URL = "registry.jdbc.url"; - public static final String KEY_JDBC_USER = "registry.jdbc.user"; - public static final String KEY_JDBC_PASSWORD = "registry.jdbc.password"; - public static final String KEY_JDBC_DRIVER = "registry.jdbc.driver"; - public static final String KEY_DERBY_START_ENABLE = "start.derby.server.mode"; - public static final String VALIDATION_QUERY = "validationQuery"; - public static final String JPA_CACHE_SIZE = "jpa.cache.size"; - public static final String ENABLE_CACHING = "cache.enable"; + public static final String KEY_JDBC_URL = "user.profile.catalog.registry.jdbc.url"; + public static final String KEY_JDBC_USER = "user.profile.catalog.registry.jdbc.user"; + public static final String KEY_JDBC_PASSWORD = "user.profile.catalog.registry.jdbc.password"; + public static final String KEY_JDBC_DRIVER = "user.profile.catalog.registry.jdbc.driver"; + public static final String KEY_DERBY_START_ENABLE = "user.profile.catalog.start.derby.server.mode"; + public static final String VALIDATION_QUERY = "user.profile.catalog.validationQuery"; + public static final String JPA_CACHE_SIZE = "user.profile.catalog.jpa.cache.size"; + public static final String ENABLE_CACHING = "user.profile.catalog.cache.enable"; } http://git-wip-us.apache.org/repos/asf/airavata/blob/9085dfe5/modules/user-profile/user-profile-core/src/main/java/org/apache/airavata/registry/core/utils/JPAUtils.java ---------------------------------------------------------------------- diff --git a/modules/user-profile/user-profile-core/src/main/java/org/apache/airavata/registry/core/utils/JPAUtils.java b/modules/user-profile/user-profile-core/src/main/java/org/apache/airavata/registry/core/utils/JPAUtils.java index 4f54863..119aa2c 100644 --- a/modules/user-profile/user-profile-core/src/main/java/org/apache/airavata/registry/core/utils/JPAUtils.java +++ b/modules/user-profile/user-profile-core/src/main/java/org/apache/airavata/registry/core/utils/JPAUtils.java @@ -29,10 +29,10 @@ import java.util.Map; public class JPAUtils { private final static Logger logger = LoggerFactory.getLogger(JPAUtils.class); - private static final String PERSISTENCE_UNIT_NAME = "airavata_catalog"; - @PersistenceUnit(unitName = "airavata_catalog") + private static final String PERSISTENCE_UNIT_NAME = "user_profile_catalog"; + @PersistenceUnit(unitName = "user_profile_catalog") protected static EntityManagerFactory factory; - @PersistenceContext(unitName = "airavata_catalog") + @PersistenceContext(unitName = "user_profile_catalog") private static EntityManager entityManager; public static EntityManager getEntityManager(){ http://git-wip-us.apache.org/repos/asf/airavata/blob/9085dfe5/modules/user-profile/user-profile-core/src/main/resources/META-INF/persistence.xml ---------------------------------------------------------------------- diff --git a/modules/user-profile/user-profile-core/src/main/resources/META-INF/persistence.xml b/modules/user-profile/user-profile-core/src/main/resources/META-INF/persistence.xml index 76c965a..e786941 100644 --- a/modules/user-profile/user-profile-core/src/main/resources/META-INF/persistence.xml +++ b/modules/user-profile/user-profile-core/src/main/resources/META-INF/persistence.xml @@ -20,13 +20,10 @@ * * --> <persistence xmlns="http://java.sun.com/xml/ns/persistence" version="2.0"> - <persistence-unit name="airavata_catalog"> + <persistence-unit name="user_profile_catalog"> <provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider> - <class>org.apache.airavata.registry.core.entities.workspacecatalog.GatewayEntity</class> - <class>org.apache.airavata.registry.core.entities.workspacecatalog.UserProfileEntity</class> - <class>org.apache.airavata.registry.core.entities.workspacecatalog.NSFDemographicsEntity</class> - <class>org.apache.airavata.registry.core.entities.workspacecatalog.NotificationEntity</class> - <class>org.apache.airavata.registry.core.entities.workspacecatalog.ProjectEntity</class> + <class>org.apache.airavata.registry.core.entities.UserProfileEntity</class> + <class>org.apache.airavata.registry.core.entities.NSFDemographicsEntity</class> <exclude-unlisted-classes>true</exclude-unlisted-classes> </persistence-unit> </persistence> http://git-wip-us.apache.org/repos/asf/airavata/blob/9085dfe5/modules/user-profile/user-profile-core/src/main/resources/user_profile_catalog.sql ---------------------------------------------------------------------- diff --git a/modules/user-profile/user-profile-core/src/main/resources/user_profile_catalog.sql b/modules/user-profile/user-profile-core/src/main/resources/user_profile_catalog.sql new file mode 100644 index 0000000..4653c45 --- /dev/null +++ b/modules/user-profile/user-profile-core/src/main/resources/user_profile_catalog.sql @@ -0,0 +1,84 @@ +CREATE TABLE IF NOT EXISTS USER_PROFILE ( + AIRAVATA_INTERNAL_USER_ID VARCHAR (255), + USER_ID VARCHAR (255), + GATEWAY_ID VARCHAR (255), + USER_MODEL_VERSION VARCHAR (255), + USER_NAME VARCHAR (255), + ORCID_ID VARCHAR (255), + COUNTRY VARCHAR (255), + HOME_ORGANIZATION VARCHAR (255), + ORIGINATION_AFFILIATION VARCHAR (255), + CREATION_TIME BIGINT, + LAST_ACCESS_TIME BIGINT, + VALID_UNTIL BIGINT, + STATE VARCHAR (255), + COMMENTS TEXT, + GPG_KEY VARCHAR (8192), + TIME_ZONE VARCHAR (255), + PRIMARY KEY (AIRAVATA_INTERNAL_USER_ID) +); + +CREATE TABLE IF NOT EXISTS USER_PROFILE_EMAIL ( + AIRAVATA_INTERNAL_USER_ID VARCHAR (255), + EMAIL VARCHAR (255), + PRIMARY KEY (AIRAVATA_INTERNAL_USER_ID, EMAIL), + FOREIGN KEY (AIRAVATA_INTERNAL_USER_ID) REFERENCES USER_PROFILE(AIRAVATA_INTERNAL_USER_ID) ON DELETE CASCADE +); + +CREATE TABLE IF NOT EXISTS USER_PROFILE_PHONE ( + AIRAVATA_INTERNAL_USER_ID VARCHAR (255), + PHONE VARCHAR (255), + PRIMARY KEY (AIRAVATA_INTERNAL_USER_ID, PHONE ), + FOREIGN KEY (AIRAVATA_INTERNAL_USER_ID) REFERENCES USER_PROFILE(AIRAVATA_INTERNAL_USER_ID) ON DELETE CASCADE +); + +CREATE TABLE IF NOT EXISTS USER_PROFILE_NATIONALITY ( + AIRAVATA_INTERNAL_USER_ID VARCHAR (255), + NATIONALITY VARCHAR (255), + PRIMARY KEY (AIRAVATA_INTERNAL_USER_ID, NATIONALITY ), + FOREIGN KEY (AIRAVATA_INTERNAL_USER_ID) REFERENCES USER_PROFILE(AIRAVATA_INTERNAL_USER_ID) ON DELETE CASCADE +); + +CREATE TABLE IF NOT EXISTS USER_PROFILE_LABELED_URI ( + AIRAVATA_INTERNAL_USER_ID VARCHAR (255), + LABELED_URI VARCHAR (255), + PRIMARY KEY (AIRAVATA_INTERNAL_USER_ID, LABELED_URI ), + FOREIGN KEY (AIRAVATA_INTERNAL_USER_ID) REFERENCES USER_PROFILE(AIRAVATA_INTERNAL_USER_ID) ON DELETE CASCADE +); + +CREATE TABLE IF NOT EXISTS NSF_DEMOGRAPHIC ( + AIRAVATA_INTERNAL_USER_ID VARCHAR (255), + GENDER VARCHAR (255), + PRIMARY KEY (AIRAVATA_INTERNAL_USER_ID), + FOREIGN KEY (AIRAVATA_INTERNAL_USER_ID) REFERENCES USER_PROFILE(AIRAVATA_INTERNAL_USER_ID) ON DELETE CASCADE +); + +CREATE TABLE IF NOT EXISTS NSF_DEMOGRAPHIC_ETHNICITY ( + AIRAVATA_INTERNAL_USER_ID VARCHAR (255), + ETHNICITY VARCHAR (255), + PRIMARY KEY (AIRAVATA_INTERNAL_USER_ID, ETHNICITY ), + FOREIGN KEY (AIRAVATA_INTERNAL_USER_ID) REFERENCES NSF_DEMOGRAPHIC(AIRAVATA_INTERNAL_USER_ID) ON DELETE CASCADE +); + +CREATE TABLE IF NOT EXISTS NSF_DEMOGRAPHIC_RACE ( + AIRAVATA_INTERNAL_USER_ID VARCHAR (255), + RACE VARCHAR (255), + PRIMARY KEY (AIRAVATA_INTERNAL_USER_ID, RACE ), + FOREIGN KEY (AIRAVATA_INTERNAL_USER_ID) REFERENCES NSF_DEMOGRAPHIC(AIRAVATA_INTERNAL_USER_ID) ON DELETE CASCADE +); + +CREATE TABLE IF NOT EXISTS NSF_DEMOGRAPHIC_DISABILITY ( + AIRAVATA_INTERNAL_USER_ID VARCHAR (255), + DISABILITY VARCHAR (255), + PRIMARY KEY (AIRAVATA_INTERNAL_USER_ID, DISABILITY ), + FOREIGN KEY (AIRAVATA_INTERNAL_USER_ID) REFERENCES NSF_DEMOGRAPHIC(AIRAVATA_INTERNAL_USER_ID) ON DELETE CASCADE +); + +CREATE TABLE CONFIGURATION +( + CONFIG_KEY VARCHAR(255), + CONFIG_VAL VARCHAR(255), + PRIMARY KEY(CONFIG_KEY, CONFIG_VAL) +); + +INSERT INTO CONFIGURATION (CONFIG_KEY, CONFIG_VAL) VALUES('user_profile_catalog_version', '0.17'); \ No newline at end of file http://git-wip-us.apache.org/repos/asf/airavata/blob/9085dfe5/modules/user-profile/user-profile-core/src/main/resources/workspace_catalog.sql ---------------------------------------------------------------------- diff --git a/modules/user-profile/user-profile-core/src/main/resources/workspace_catalog.sql b/modules/user-profile/user-profile-core/src/main/resources/workspace_catalog.sql deleted file mode 100644 index debdba4..0000000 --- a/modules/user-profile/user-profile-core/src/main/resources/workspace_catalog.sql +++ /dev/null @@ -1,125 +0,0 @@ - -CREATE TABLE IF NOT EXISTS WORKSPACE_GATEWAY( - GATEWAY_ID VARCHAR (255), - GATEWAY_NAME VARCHAR (255), - GATEWAY_DOMAIN VARCHAR (255), - EMAIL_ADDRESS VARCHAR (255), - GATEWAY_APPROVAL_STATUS VARCHAR (255), - GATEWAY_ACRONYM VARCHAR (255), - GATEWAY_URL VARCHAR (255), - GATEWAY_PUBLIC_ABSTRACT TEXT, - REVIEW_PROPOSAL_DESCRIPTION TEXT, - GATEWAY_ADMIN_FIRST_NAME VARCHAR(255), - GATEWAY_ADMIN_LAST_NAME VARCHAR(255), - GATEWAY_ADMIN_EMAIL VARCHAR(255), - IDENTITY_SERVER_USERNAME VARCHAR(255), - IDENTITY_SERVER_PASSWORD_TOKEN VARCHAR(255), - DECLINED_REASON VARCHAR(255), - OAUTH_CLIENT_ID VARCHAR(255), - OAUTH_CLIENT_SECRET VARCHAR(255), - REQUEST_CREATION_TIME BIGINT, - REQUESTER_USERNAME VARCHAR(255), - PRIMARY KEY (GATEWAY_ID) -); - -CREATE TABLE IF NOT EXISTS WORKSPACE_NOTIFICATION ( - NOTIFICATION_ID VARCHAR (255), - GATEWAY_ID VARCHAR (255), - TITLE VARCHAR (255), - NOTIFICATION_MESSAGE TEXT, - CREATION_TIME BIGINT, - PUBLISHED_TIME BIGINT, - EXPIRATION_TIME BIGINT, - PRIORITY VARCHAR (255), - PRIMARY KEY (NOTIFICATION_ID), - FOREIGN KEY (GATEWAY_ID) REFERENCES WORKSPACE_GATEWAY(GATEWAY_ID) ON DELETE CASCADE -); - -CREATE TABLE IF NOT EXISTS WORKSPACE_USER_PROFILE ( - AIRAVATA_INTERNAL_USER_ID VARCHAR (255), - USER_ID VARCHAR (255), - GATEWAY_ID VARCHAR (255), - USER_MODEL_VERSION VARCHAR (255), - USER_NAME VARCHAR (255), - ORCID_ID VARCHAR (255), - COUNTRY VARCHAR (255), - HOME_ORGANIZATION VARCHAR (255), - ORIGINATION_AFFILIATION VARCHAR (255), - CREATION_TIME BIGINT, - LAST_ACCESS_TIME BIGINT, - VALID_UNTIL BIGINT, - STATE VARCHAR (255), - COMMENTS TEXT, - GPG_KEY VARCHAR (8192), - TIME_ZONE VARCHAR (255), - PRIMARY KEY (AIRAVATA_INTERNAL_USER_ID), - FOREIGN KEY (GATEWAY_ID) REFERENCES WORKSPACE_GATEWAY(GATEWAY_ID) ON DELETE CASCADE -); - -CREATE TABLE IF NOT EXISTS WORKSPACE_USER_PROFILE_EMAIL ( - AIRAVATA_INTERNAL_USER_ID VARCHAR (255), - EMAIL VARCHAR (255), - PRIMARY KEY (AIRAVATA_INTERNAL_USER_ID, EMAIL), - FOREIGN KEY (AIRAVATA_INTERNAL_USER_ID) REFERENCES WORKSPACE_USER_PROFILE(AIRAVATA_INTERNAL_USER_ID) ON DELETE CASCADE -); - -CREATE TABLE IF NOT EXISTS WORKSPACE_USER_PROFILE_PHONE ( - AIRAVATA_INTERNAL_USER_ID VARCHAR (255), - PHONE VARCHAR (255), - PRIMARY KEY (AIRAVATA_INTERNAL_USER_ID, PHONE ), - FOREIGN KEY (AIRAVATA_INTERNAL_USER_ID) REFERENCES WORKSPACE_USER_PROFILE(AIRAVATA_INTERNAL_USER_ID) ON DELETE CASCADE -); - -CREATE TABLE IF NOT EXISTS WORKSPACE_USER_PROFILE_NATIONALITY ( - AIRAVATA_INTERNAL_USER_ID VARCHAR (255), - NATIONALITY VARCHAR (255), - PRIMARY KEY (AIRAVATA_INTERNAL_USER_ID, NATIONALITY ), - FOREIGN KEY (AIRAVATA_INTERNAL_USER_ID) REFERENCES WORKSPACE_USER_PROFILE(AIRAVATA_INTERNAL_USER_ID) ON DELETE CASCADE -); - -CREATE TABLE IF NOT EXISTS WORKSPACE_USER_PROFILE_LABELED_URI ( - AIRAVATA_INTERNAL_USER_ID VARCHAR (255), - LABELED_URI VARCHAR (255), - PRIMARY KEY (AIRAVATA_INTERNAL_USER_ID, LABELED_URI ), - FOREIGN KEY (AIRAVATA_INTERNAL_USER_ID) REFERENCES WORKSPACE_USER_PROFILE(AIRAVATA_INTERNAL_USER_ID) ON DELETE CASCADE -); - -CREATE TABLE IF NOT EXISTS WORKSPACE_NSF_DEMOGRAPHIC ( - AIRAVATA_INTERNAL_USER_ID VARCHAR (255), - GENDER VARCHAR (255), - PRIMARY KEY (AIRAVATA_INTERNAL_USER_ID), - FOREIGN KEY (AIRAVATA_INTERNAL_USER_ID) REFERENCES WORKSPACE_USER_PROFILE(AIRAVATA_INTERNAL_USER_ID) ON DELETE CASCADE -); - -CREATE TABLE IF NOT EXISTS WORKSPACE_NSF_DEMOGRAPHIC_ETHNICITY ( - AIRAVATA_INTERNAL_USER_ID VARCHAR (255), - ETHNICITY VARCHAR (255), - PRIMARY KEY (AIRAVATA_INTERNAL_USER_ID, ETHNICITY ), - FOREIGN KEY (AIRAVATA_INTERNAL_USER_ID) REFERENCES WORKSPACE_NSF_DEMOGRAPHIC(AIRAVATA_INTERNAL_USER_ID) ON DELETE CASCADE -); - -CREATE TABLE IF NOT EXISTS WORKSPACE_NSF_DEMOGRAPHIC_RACE ( - AIRAVATA_INTERNAL_USER_ID VARCHAR (255), - RACE VARCHAR (255), - PRIMARY KEY (AIRAVATA_INTERNAL_USER_ID, RACE ), - FOREIGN KEY (AIRAVATA_INTERNAL_USER_ID) REFERENCES WORKSPACE_NSF_DEMOGRAPHIC(AIRAVATA_INTERNAL_USER_ID) ON DELETE CASCADE -); - -CREATE TABLE IF NOT EXISTS WORKSPACE_NSF_DEMOGRAPHIC_DISABILITY ( - AIRAVATA_INTERNAL_USER_ID VARCHAR (255), - DISABILITY VARCHAR (255), - PRIMARY KEY (AIRAVATA_INTERNAL_USER_ID, DISABILITY ), - FOREIGN KEY (AIRAVATA_INTERNAL_USER_ID) REFERENCES WORKSPACE_NSF_DEMOGRAPHIC(AIRAVATA_INTERNAL_USER_ID) ON DELETE CASCADE -); - -CREATE TABLE IF NOT EXISTS WORKSPACE_PROJECT( - PROJECT_ID VARCHAR (255), - OWNER VARCHAR (255), - GATEWAY_ID VARCHAR (255), - PROJECT_NAME VARCHAR (255), - DESCRIPTION VARCHAR (255), - CREATION_TIME BIGINT, - PRIMARY KEY (PROJECT_ID), - FOREIGN KEY(OWNER) REFERENCES WORKSPACE_USER_PROFILE(AIRAVATA_INTERNAL_USER_ID), - FOREIGN KEY(GATEWAY_ID) REFERENCES WORKSPACE_GATEWAY(GATEWAY_ID) ON DELETE CASCADE -); \ No newline at end of file http://git-wip-us.apache.org/repos/asf/airavata/blob/9085dfe5/modules/user-profile/user-profile-core/src/test/java/org/apache/airavata/registry/core/repositories/WorkspaceRepositoryTest.java ---------------------------------------------------------------------- diff --git a/modules/user-profile/user-profile-core/src/test/java/org/apache/airavata/registry/core/repositories/WorkspaceRepositoryTest.java b/modules/user-profile/user-profile-core/src/test/java/org/apache/airavata/registry/core/repositories/WorkspaceRepositoryTest.java index a168f0d..67ba550 100644 --- a/modules/user-profile/user-profile-core/src/test/java/org/apache/airavata/registry/core/repositories/WorkspaceRepositoryTest.java +++ b/modules/user-profile/user-profile-core/src/test/java/org/apache/airavata/registry/core/repositories/WorkspaceRepositoryTest.java @@ -20,178 +20,157 @@ */ package org.apache.airavata.registry.core.repositories; -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.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.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 org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.util.UUID; - public class WorkspaceRepositoryTest { - private final static Logger logger = LoggerFactory.getLogger(WorkspaceRepositoryTest.class); - - private GatewayRepository gatewayRepository; - private NotificationRepository notificationRepository; - private UserProfileRepository userProfileRepository; - private ProjectRepository projectRepository; - private String gatewayId; - private String notificationId; - private String userId; - private String projectId; - - private final String GATEWAY_DOMAIN = "test1.com"; - private final String NOTIFY_MESSAGE = "NotifyMe"; - private final String USER_COMMENT = "TestComment"; - private final String PROJECT_DESCRIPTION = "Test Description"; - - - @Before - public void setupRepository() { - - gatewayRepository = new GatewayRepository(Gateway.class, GatewayEntity.class); - notificationRepository = new NotificationRepository(Notification.class, - NotificationEntity.class); - userProfileRepository = new UserProfileRepository(UserProfile.class, UserProfileEntity.class); - projectRepository = new ProjectRepository(Project.class, ProjectEntity.class); - - gatewayId = "test.com" + System.currentTimeMillis(); - notificationId = UUID.randomUUID().toString(); - userId = "testuser" + System.currentTimeMillis(); - projectId = "project" + System.currentTimeMillis(); - } - - @Test - public void userProfileRepositoryTest() { - - /* - * Creating Gateway required for UserProfile 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 - */ - UserProfile userProfile = new UserProfile(); - userProfile.setAiravataInternalUserId(userId); - userProfile.setGatewayId(gateway.getGatewayId()); - - /* - * Workspace UserProfile Repository Insert Operation Test - */ - userProfile = userProfileRepository.create(userProfile); - Assert.assertTrue(!userProfile.getAiravataInternalUserId().isEmpty()); - - /* - * Workspace UserProfile Repository Update Operation Test - */ - userProfile.setComments(USER_COMMENT); - userProfileRepository.update(userProfile); - userProfile = userProfileRepository.get(userId); - System.out.println(userProfile.getComments()); - Assert.assertEquals(userProfile.getComments(), USER_COMMENT); - - /* - * Workspace UserProfile Repository Select Operation Test - */ - userProfile = userProfileRepository.get(userId); - Assert.assertNotNull(userProfile); - - /* - * Workspace UserProfile Repository Delete Operation - */ - boolean deleteResult = userProfileRepository.delete(userId); - Assert.assertTrue(deleteResult); - deleteResult = gatewayRepository.delete(gatewayId); - Assert.assertTrue(deleteResult); - - - } - - @Test - public void projectRepositoryTest() { - - /* - * 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()); - - /* - * Project Instance creation - */ - Project project = new Project(); - project.setGatewayId(gatewayId); - project.setOwner(userId); - project.setProjectID(projectId); - project.setGatewayIdIsSet(true); - - - /* - * Workspace Project Repository Insert Operation Test - */ - project = projectRepository.create(project); - Assert.assertTrue(!project.getProjectID().isEmpty()); - - /* - * Workspace Project Repository Update Operation Test - */ - project.setDescription(PROJECT_DESCRIPTION); - projectRepository.update(project); - project = projectRepository.get(projectId); - Assert.assertEquals(project.getDescription(), PROJECT_DESCRIPTION); - - /* - * Workspace Project Repository Select Operation Test - */ - project = projectRepository.get(projectId); - Assert.assertNotNull(project); - - /* - * Workspace Project Repository Delete Operation - */ - boolean deleteResult = projectRepository.delete(projectId); - Assert.assertTrue(deleteResult); - - deleteResult = userProfileRepository.delete(userId); - Assert.assertTrue(deleteResult); - - deleteResult = gatewayRepository.delete(gatewayId); - Assert.assertTrue(deleteResult); - - - } +// private final static Logger logger = LoggerFactory.getLogger(WorkspaceRepositoryTest.class); +// +// private GatewayRepository gatewayRepository; +// private NotificationRepository notificationRepository; +// private UserProfileRepository userProfileRepository; +// private ProjectRepository projectRepository; +// private String gatewayId; +// private String notificationId; +// private String userId; +// private String projectId; +// +// private final String GATEWAY_DOMAIN = "test1.com"; +// private final String NOTIFY_MESSAGE = "NotifyMe"; +// private final String USER_COMMENT = "TestComment"; +// private final String PROJECT_DESCRIPTION = "Test Description"; +// +// +// @Before +// public void setupRepository() { +// +// gatewayRepository = new GatewayRepository(Gateway.class, GatewayEntity.class); +// notificationRepository = new NotificationRepository(Notification.class, +// NotificationEntity.class); +// userProfileRepository = new UserProfileRepository(UserProfile.class, UserProfileEntity.class); +// projectRepository = new ProjectRepository(Project.class, ProjectEntity.class); +// +// gatewayId = "test.com" + System.currentTimeMillis(); +// notificationId = UUID.randomUUID().toString(); +// userId = "testuser" + System.currentTimeMillis(); +// projectId = "project" + System.currentTimeMillis(); +// } +// +// @Test +// public void userProfileRepositoryTest() { +// +// /* +// * Creating Gateway required for UserProfile 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 +// */ +// UserProfile userProfile = new UserProfile(); +// userProfile.setAiravataInternalUserId(userId); +// userProfile.setGatewayId(gateway.getGatewayId()); +// +// /* +// * Workspace UserProfile Repository Insert Operation Test +// */ +// userProfile = userProfileRepository.create(userProfile); +// Assert.assertTrue(!userProfile.getAiravataInternalUserId().isEmpty()); +// +// /* +// * Workspace UserProfile Repository Update Operation Test +// */ +// userProfile.setComments(USER_COMMENT); +// userProfileRepository.update(userProfile); +// userProfile = userProfileRepository.get(userId); +// System.out.println(userProfile.getComments()); +// Assert.assertEquals(userProfile.getComments(), USER_COMMENT); +// +// /* +// * Workspace UserProfile Repository Select Operation Test +// */ +// userProfile = userProfileRepository.get(userId); +// Assert.assertNotNull(userProfile); +// +// /* +// * Workspace UserProfile Repository Delete Operation +// */ +// boolean deleteResult = userProfileRepository.delete(userId); +// Assert.assertTrue(deleteResult); +// deleteResult = gatewayRepository.delete(gatewayId); +// Assert.assertTrue(deleteResult); +// +// +// } +// +// @Test +// public void projectRepositoryTest() { +// +// /* +// * 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()); +// +// /* +// * Project Instance creation +// */ +// Project project = new Project(); +// project.setGatewayId(gatewayId); +// project.setOwner(userId); +// project.setProjectID(projectId); +// project.setGatewayIdIsSet(true); +// +// +// /* +// * Workspace Project Repository Insert Operation Test +// */ +// project = projectRepository.create(project); +// Assert.assertTrue(!project.getProjectID().isEmpty()); +// +// /* +// * Workspace Project Repository Update Operation Test +// */ +// project.setDescription(PROJECT_DESCRIPTION); +// projectRepository.update(project); +// project = projectRepository.get(projectId); +// Assert.assertEquals(project.getDescription(), PROJECT_DESCRIPTION); +// +// /* +// * Workspace Project Repository Select Operation Test +// */ +// project = projectRepository.get(projectId); +// Assert.assertNotNull(project); +// +// /* +// * Workspace Project Repository Delete Operation +// */ +// boolean deleteResult = projectRepository.delete(projectId); +// Assert.assertTrue(deleteResult); +// +// deleteResult = userProfileRepository.delete(userId); +// Assert.assertTrue(deleteResult); +// +// deleteResult = gatewayRepository.delete(gatewayId); +// Assert.assertTrue(deleteResult); +// +// +// } } \ No newline at end of file
