This is an automated email from the ASF dual-hosted git repository.

yasith pushed a commit to branch refactor/phase2-mid-tier-modules
in repository https://gitbox.apache.org/repos/asf/airavata.git

commit e14129196f0f055ef510a4d5db3a7a5a52732de0
Author: yasithdev <[email protected]>
AuthorDate: Fri Mar 27 12:16:17 2026 -0500

    refactor: consolidate credential store, account provisioning, and SSH 
services into o.a.a.credential
    
    Flatten credential/store/ deep nesting into clean layers:
    - credential/model/ — credential types (SSH, password, certificate)
    - credential/repository/ — persistence (readers, writers, DAOs)
    - credential/service/ — business logic (CredentialService, 
SSHAccountService)
    - credential/service/provisioning/ — SSH account provisioning (absorbed 
accountprovisioning/)
    - credential/handler/ — RPC handler (CredentialStoreServerHandler)
    - credential/task/ — Helix task (EnvSetupTask)
    - credential/util/ — utilities, notifiers, client factory
---
 .../org/apache/airavata/agents/api/AgentUtils.java |   2 +-
 .../CredentialStoreServerHandler.java              | 106 ++++++++++-----------
 .../{store/credential => model}/AuditInfo.java     |   2 +-
 .../CertificateAuditInfo.java                      |   6 +-
 .../CertificateCredential.java                     |   6 +-
 .../{store/credential => model}/CommunityUser.java |   2 +-
 .../{store/credential => model}/Credential.java    |   2 +-
 .../credential => model}/CredentialOwnerType.java  |   2 +-
 .../password => model}/PasswordCredential.java     |   4 +-
 .../impl/ssh => model}/SSHCredential.java          |   4 +-
 .../CertificateCredentialWriter.java               |  16 ++--
 .../store => repository}/CredentialReader.java     |   6 +-
 .../CredentialReaderFactory.java                   |   4 +-
 .../impl => repository}/CredentialReaderImpl.java  |  16 ++--
 .../CredentialStoreException.java                  |   2 +-
 .../store => repository}/CredentialWriter.java     |   4 +-
 .../impl => repository}/SSHCredentialWriter.java   |  12 +--
 .../impl => repository}/db/CommunityUserDAO.java   |   6 +-
 .../impl => repository}/db/CredentialsDAO.java     |   8 +-
 .../store/impl => repository}/db/ParentDAO.java    |   2 +-
 .../util/CredentialStoreDBInitConfig.java          |   2 +-
 .../util/CredentialStoreJDBCConfig.java            |   2 +-
 .../service}/CredentialService.java                |   4 +-
 .../service}/SSHAccountService.java                |   6 +-
 .../service/provisioning}/ConfigParam.java         |   2 +-
 .../provisioning}/InvalidSetupException.java       |   2 +-
 .../provisioning}/InvalidUsernameException.java    |   2 +-
 .../service/provisioning}/SSHAccountManager.java   |   4 +-
 .../provisioning}/SSHAccountProvisioner.java       |   2 +-
 .../SSHAccountProvisionerFactory.java              |   2 +-
 .../SSHAccountProvisionerProvider.java             |   2 +-
 .../service/provisioning}/SSHUtil.java             |   2 +-
 .../provisioner/IULdapSSHAccountProvisioner.java   |  10 +-
 .../IULdapSSHAccountProvisionerProvider.java       |   8 +-
 .../task/env => credential/task}/EnvSetupTask.java |   2 +-
 .../{store => }/util/ConfigurationReader.java      |   4 +-
 .../CredentialStoreClientFactory.java              |   2 +-
 .../{store => }/util/CredentialStoreConstants.java |   2 +-
 .../{store => }/util/PrivateKeyStore.java          |   2 +-
 .../{store/client => util}/TestSSLClient.java      |   2 +-
 .../{store => }/util/TokenGenerator.java           |   2 +-
 .../credential/{store => }/util/Utility.java       |   6 +-
 .../notifier/CredentialStoreNotifier.java          |   4 +-
 .../notifier/NotificationMessage.java              |   2 +-
 .../notifier/NotifierBootstrap.java                |  22 ++---
 .../notifier/impl/EmailNotificationMessage.java    |   4 +-
 .../notifier/impl/EmailNotifier.java               |   8 +-
 .../notifier/impl/EmailNotifierConfiguration.java  |   2 +-
 .../helix/impl/participant/GlobalParticipant.java  |   2 +-
 .../airavata/helix/impl/task/SlurmTaskFactory.java |   2 +-
 .../core/impl/GFACPassiveJobSubmitter.java         |   2 +-
 .../orchestrator/core/utils/OrchestratorUtils.java |   4 +-
 .../security/service/GatewayGroupsInitializer.java |   2 +-
 .../security/service/KeyCloakSecurityManager.java  |   2 +-
 .../appcatalog/ApplicationCatalogService.java      |   2 +-
 .../GatewayResourceProfileService.java             |   6 +-
 .../sharing/util/AiravataDataMigrator.java         |   2 +-
 .../db/CommunityUserDAOTest.java                   |   4 +-
 .../impl => repository}/db/CredentialsDAOTest.java |  12 +--
 .../impl => repository}/db/SSHCredentialTest.java  |  10 +-
 .../service}/CredentialServiceTest.java            |   4 +-
 .../service}/SSHAccountServiceTest.java            |   6 +-
 .../SSHAccountProvisionerFactoryTest.java          |   4 +-
 .../provisioner/TestSSHAccountProvisioner.java     |   8 +-
 .../TestSSHAccountProvisionerProvider.java         |   8 +-
 .../store/cpi/SSHSummaryTest/SSHSummaryTest.java   |   8 +-
 .../{store => }/util/ConfigurationReaderTest.java  |   2 +-
 .../{store => }/util/TokenGeneratorTest.java       |   2 +-
 .../notifier/impl/EmailNotifierTest.java           |   2 +-
 .../appcatalog/ApplicationCatalogServiceTest.java  |   2 +-
 .../apache/airavata/api/server/AiravataServer.java |   4 +-
 .../api/server/handler/AiravataServerHandler.java  |   8 +-
 .../profile/handlers/IamAdminServicesHandler.java  |   2 +-
 .../handlers/TenantProfileServiceHandler.java      |   2 +-
 74 files changed, 219 insertions(+), 219 deletions(-)

diff --git 
a/airavata-api/src/main/java/org/apache/airavata/agents/api/AgentUtils.java 
b/airavata-api/src/main/java/org/apache/airavata/agents/api/AgentUtils.java
index 90da1c0ac7..b1a1db6295 100644
--- a/airavata-api/src/main/java/org/apache/airavata/agents/api/AgentUtils.java
+++ b/airavata-api/src/main/java/org/apache/airavata/agents/api/AgentUtils.java
@@ -21,7 +21,7 @@ package org.apache.airavata.agents.api;
 
 import org.apache.airavata.common.exception.ApplicationSettingsException;
 import org.apache.airavata.common.config.ServerSettings;
-import 
org.apache.airavata.credential.store.client.CredentialStoreClientFactory;
+import org.apache.airavata.credential.util.CredentialStoreClientFactory;
 import org.apache.airavata.credential.store.cpi.CredentialStoreService;
 import org.apache.airavata.credential.store.exception.CredentialStoreException;
 import org.apache.airavata.registry.api.RegistryService;
diff --git 
a/airavata-api/src/main/java/org/apache/airavata/credential/store/server/CredentialStoreServerHandler.java
 
b/airavata-api/src/main/java/org/apache/airavata/credential/handler/CredentialStoreServerHandler.java
similarity index 86%
rename from 
airavata-api/src/main/java/org/apache/airavata/credential/store/server/CredentialStoreServerHandler.java
rename to 
airavata-api/src/main/java/org/apache/airavata/credential/handler/CredentialStoreServerHandler.java
index 6a5fe54c59..9d4feeaf5d 100644
--- 
a/airavata-api/src/main/java/org/apache/airavata/credential/store/server/CredentialStoreServerHandler.java
+++ 
b/airavata-api/src/main/java/org/apache/airavata/credential/handler/CredentialStoreServerHandler.java
@@ -17,7 +17,7 @@
 * specific language governing permissions and limitations
 * under the License.
 */
-package org.apache.airavata.credential.store.server;
+package org.apache.airavata.credential.handler;
 
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
@@ -32,16 +32,16 @@ import org.apache.airavata.common.db.DBUtil;
 import org.apache.airavata.common.config.ServerSettings;
 import org.apache.airavata.credential.store.cpi.CredentialStoreService;
 import org.apache.airavata.credential.store.cpi.credential_store_cpiConstants;
-import org.apache.airavata.credential.store.credential.CommunityUser;
-import org.apache.airavata.credential.store.credential.Credential;
-import org.apache.airavata.credential.store.credential.CredentialOwnerType;
-import org.apache.airavata.credential.store.store.CredentialStoreException;
-import 
org.apache.airavata.credential.store.store.impl.CertificateCredentialWriter;
-import org.apache.airavata.credential.store.store.impl.CredentialReaderImpl;
-import org.apache.airavata.credential.store.store.impl.SSHCredentialWriter;
-import 
org.apache.airavata.credential.store.store.impl.util.CredentialStoreDBInitConfig;
-import org.apache.airavata.credential.store.util.TokenGenerator;
-import org.apache.airavata.credential.store.util.Utility;
+import org.apache.airavata.credential.model.CommunityUser;
+import org.apache.airavata.credential.model.Credential;
+import org.apache.airavata.credential.model.CredentialOwnerType;
+import org.apache.airavata.credential.repository.CredentialStoreException;
+import org.apache.airavata.credential.repository.CertificateCredentialWriter;
+import org.apache.airavata.credential.repository.CredentialReaderImpl;
+import org.apache.airavata.credential.repository.SSHCredentialWriter;
+import 
org.apache.airavata.credential.repository.util.CredentialStoreDBInitConfig;
+import org.apache.airavata.credential.util.TokenGenerator;
+import org.apache.airavata.credential.util.Utility;
 import org.apache.airavata.model.credential.store.*;
 import org.apache.commons.codec.binary.Base64;
 import org.apache.thrift.TException;
@@ -83,8 +83,8 @@ public class CredentialStoreServerHandler implements 
CredentialStoreService.Ifac
     public String addSSHCredential(SSHCredential sshCredential)
             throws 
org.apache.airavata.credential.store.exception.CredentialStoreException, 
TException {
         try {
-            
org.apache.airavata.credential.store.credential.impl.ssh.SSHCredential 
credential =
-                    new 
org.apache.airavata.credential.store.credential.impl.ssh.SSHCredential();
+            org.apache.airavata.credential.model.SSHCredential credential =
+                    new org.apache.airavata.credential.model.SSHCredential();
             credential.setGateway(sshCredential.getGatewayId());
             credential.setPortalUserName(sshCredential.getUsername());
             // only username and gateway id will be sent by client.
@@ -121,8 +121,8 @@ public class CredentialStoreServerHandler implements 
CredentialStoreService.Ifac
     public String addCertificateCredential(CertificateCredential 
certificateCredential)
             throws 
org.apache.airavata.credential.store.exception.CredentialStoreException, 
TException {
         try {
-            
org.apache.airavata.credential.store.credential.impl.certificate.CertificateCredential
 credential =
-                    new 
org.apache.airavata.credential.store.credential.impl.certificate.CertificateCredential();
+            org.apache.airavata.credential.model.CertificateCredential 
credential =
+                    new 
org.apache.airavata.credential.model.CertificateCredential();
             credential.setPortalUserName(
                     certificateCredential.getCommunityUser().getUsername());
             credential.setCommunityUser(new CommunityUser(
@@ -159,8 +159,8 @@ public class CredentialStoreServerHandler implements 
CredentialStoreService.Ifac
     public String addPasswordCredential(PasswordCredential passwordCredential)
             throws 
org.apache.airavata.credential.store.exception.CredentialStoreException, 
TException {
         try {
-            
org.apache.airavata.credential.store.credential.impl.password.PasswordCredential
 credential =
-                    new 
org.apache.airavata.credential.store.credential.impl.password.PasswordCredential();
+            org.apache.airavata.credential.model.PasswordCredential credential 
=
+                    new 
org.apache.airavata.credential.model.PasswordCredential();
             credential.setGateway(passwordCredential.getGatewayId());
             
credential.setPortalUserName(passwordCredential.getPortalUserName());
             credential.setUserName(passwordCredential.getLoginUserName());
@@ -186,12 +186,12 @@ public class CredentialStoreServerHandler implements 
CredentialStoreService.Ifac
             throws 
org.apache.airavata.credential.store.exception.CredentialStoreException, 
TException {
         try {
             Credential credential = credentialReader.getCredential(gatewayId, 
tokenId);
-            if (credential instanceof 
org.apache.airavata.credential.store.credential.impl.ssh.SSHCredential
+            if (credential instanceof 
org.apache.airavata.credential.model.SSHCredential
                     && !(credential
                             instanceof
-                            
org.apache.airavata.credential.store.credential.impl.password.PasswordCredential))
 {
-                
org.apache.airavata.credential.store.credential.impl.ssh.SSHCredential 
credential1 =
-                        
(org.apache.airavata.credential.store.credential.impl.ssh.SSHCredential) 
credential;
+                            
org.apache.airavata.credential.model.PasswordCredential)) {
+                org.apache.airavata.credential.model.SSHCredential credential1 
=
+                        (org.apache.airavata.credential.model.SSHCredential) 
credential;
                 SSHCredential sshCredential = new SSHCredential();
                 sshCredential.setUsername(credential1.getPortalUserName());
                 sshCredential.setGatewayId(credential1.getGateway());
@@ -226,14 +226,14 @@ public class CredentialStoreServerHandler implements 
CredentialStoreService.Ifac
             Credential credential = credentialReader.getCredential(gatewayId, 
tokenId);
             if (isSSHCredential(credential)) {
                 return convertToCredentialSummary(
-                        
(org.apache.airavata.credential.store.credential.impl.ssh.SSHCredential) 
credential);
+                        (org.apache.airavata.credential.model.SSHCredential) 
credential);
             } else if (isCertificateCredential(credential)) {
                 return convertToCredentialSummary(
-                        
(org.apache.airavata.credential.store.credential.impl.certificate.CertificateCredential)
+                        
(org.apache.airavata.credential.model.CertificateCredential)
                                 credential);
             } else if (isPasswordCredential(credential)) {
                 return convertToCredentialSummary(
-                        
(org.apache.airavata.credential.store.credential.impl.password.PasswordCredential)
 credential);
+                        
(org.apache.airavata.credential.model.PasswordCredential) credential);
             }
             throw new 
org.apache.airavata.credential.store.exception.CredentialStoreException(
                     "Unrecognized type of credential for token: " + tokenId);
@@ -255,14 +255,14 @@ public class CredentialStoreServerHandler implements 
CredentialStoreService.Ifac
             if (type.equals(SummaryType.SSH)) {
                 return credentials.stream()
                         .filter(this::isSSHCredential)
-                        .map(cred -> 
(org.apache.airavata.credential.store.credential.impl.ssh.SSHCredential) cred)
+                        .map(cred -> 
(org.apache.airavata.credential.model.SSHCredential) cred)
                         .map(cred -> convertToCredentialSummary(cred))
                         .collect(Collectors.toList());
             } else if (type.equals(SummaryType.CERT)) {
                 return credentials.stream()
                         .filter(this::isCertificateCredential)
                         .map(cred ->
-                                
(org.apache.airavata.credential.store.credential.impl.certificate.CertificateCredential)
+                                
(org.apache.airavata.credential.model.CertificateCredential)
                                         cred)
                         .map(cred -> convertToCredentialSummary(cred))
                         .collect(Collectors.toList());
@@ -270,7 +270,7 @@ public class CredentialStoreServerHandler implements 
CredentialStoreService.Ifac
                 return credentials.stream()
                         .filter(this::isPasswordCredential)
                         .map(cred ->
-                                
(org.apache.airavata.credential.store.credential.impl.password.PasswordCredential)
 cred)
+                                
(org.apache.airavata.credential.model.PasswordCredential) cred)
                         .map(cred -> convertToCredentialSummary(cred))
                         .collect(Collectors.toList());
             } else {
@@ -285,20 +285,20 @@ public class CredentialStoreServerHandler implements 
CredentialStoreService.Ifac
     }
 
     private boolean isSSHCredential(Credential cred) {
-        return cred instanceof 
org.apache.airavata.credential.store.credential.impl.ssh.SSHCredential
-                && !(cred instanceof 
org.apache.airavata.credential.store.credential.impl.password.PasswordCredential);
+        return cred instanceof 
org.apache.airavata.credential.model.SSHCredential
+                && !(cred instanceof 
org.apache.airavata.credential.model.PasswordCredential);
     }
 
     private boolean isCertificateCredential(Credential cred) {
-        return cred instanceof 
org.apache.airavata.credential.store.credential.impl.certificate.CertificateCredential;
+        return cred instanceof 
org.apache.airavata.credential.model.CertificateCredential;
     }
 
     private boolean isPasswordCredential(Credential cred) {
-        return cred instanceof 
org.apache.airavata.credential.store.credential.impl.password.PasswordCredential;
+        return cred instanceof 
org.apache.airavata.credential.model.PasswordCredential;
     }
 
     private CredentialSummary convertToCredentialSummary(
-            
org.apache.airavata.credential.store.credential.impl.ssh.SSHCredential cred) {
+            org.apache.airavata.credential.model.SSHCredential cred) {
         CredentialSummary credentialSummary = new CredentialSummary();
         credentialSummary.setType(SummaryType.SSH);
         credentialSummary.setUsername(cred.getPortalUserName());
@@ -311,7 +311,7 @@ public class CredentialStoreServerHandler implements 
CredentialStoreService.Ifac
     }
 
     private CredentialSummary convertToCredentialSummary(
-            
org.apache.airavata.credential.store.credential.impl.certificate.CertificateCredential
 cred) {
+            org.apache.airavata.credential.model.CertificateCredential cred) {
         CredentialSummary credentialSummary = new CredentialSummary();
         credentialSummary.setType(SummaryType.CERT);
         credentialSummary.setUsername(cred.getPortalUserName());
@@ -326,7 +326,7 @@ public class CredentialStoreServerHandler implements 
CredentialStoreService.Ifac
     }
 
     private CredentialSummary convertToCredentialSummary(
-            
org.apache.airavata.credential.store.credential.impl.password.PasswordCredential
 cred) {
+            org.apache.airavata.credential.model.PasswordCredential cred) {
         CredentialSummary credentialSummary = new CredentialSummary();
         credentialSummary.setType(SummaryType.PASSWD);
         credentialSummary.setUsername(cred.getPortalUserName());
@@ -343,9 +343,9 @@ public class CredentialStoreServerHandler implements 
CredentialStoreService.Ifac
         try {
             Credential credential = credentialReader.getCredential(gatewayId, 
tokenId);
             if (credential
-                    instanceof 
org.apache.airavata.credential.store.credential.impl.certificate.CertificateCredential)
 {
-                
org.apache.airavata.credential.store.credential.impl.certificate.CertificateCredential
 credential1 =
-                        
(org.apache.airavata.credential.store.credential.impl.certificate.CertificateCredential)
+                    instanceof 
org.apache.airavata.credential.model.CertificateCredential) {
+                org.apache.airavata.credential.model.CertificateCredential 
credential1 =
+                        
(org.apache.airavata.credential.model.CertificateCredential)
                                 credential;
                 CertificateCredential certificateCredential = new 
CertificateCredential();
                 org.apache.airavata.model.credential.store.CommunityUser 
communityUser =
@@ -388,9 +388,9 @@ public class CredentialStoreServerHandler implements 
CredentialStoreService.Ifac
         try {
             Credential credential = credentialReader.getCredential(gatewayId, 
tokenId);
             if (credential
-                    instanceof 
org.apache.airavata.credential.store.credential.impl.password.PasswordCredential)
 {
-                
org.apache.airavata.credential.store.credential.impl.password.PasswordCredential
 credential1 =
-                        
(org.apache.airavata.credential.store.credential.impl.password.PasswordCredential)
 credential;
+                    instanceof 
org.apache.airavata.credential.model.PasswordCredential) {
+                org.apache.airavata.credential.model.PasswordCredential 
credential1 =
+                        
(org.apache.airavata.credential.model.PasswordCredential) credential;
                 PasswordCredential pwdCredential = new PasswordCredential();
                 pwdCredential.setGatewayId(credential1.getGateway());
                 
pwdCredential.setPortalUserName(credential1.getPortalUserName());
@@ -428,14 +428,14 @@ public class CredentialStoreServerHandler implements 
CredentialStoreService.Ifac
                 List<Credential> allCredentials = 
credentialReader.getAllCredentialsPerGateway(gatewayId);
                 if (allCredentials != null && !allCredentials.isEmpty()) {
                     for (Credential credential : allCredentials) {
-                        if (credential instanceof 
org.apache.airavata.credential.store.credential.impl.ssh.SSHCredential
+                        if (credential instanceof 
org.apache.airavata.credential.model.SSHCredential
                                 && !(credential
                                         instanceof
-                                        
org.apache.airavata.credential.store.credential.impl.password
+                                        org.apache.airavata.credential.model
                                                 .PasswordCredential)
                                 && credential.getCredentialOwnerType() == 
CredentialOwnerType.GATEWAY) {
-                            
org.apache.airavata.credential.store.credential.impl.ssh.SSHCredential 
sshCredential =
-                                    
(org.apache.airavata.credential.store.credential.impl.ssh.SSHCredential) 
credential;
+                            org.apache.airavata.credential.model.SSHCredential 
sshCredential =
+                                    
(org.apache.airavata.credential.model.SSHCredential) credential;
                             CredentialSummary sshCredentialSummary = new 
CredentialSummary();
                             sshCredentialSummary.setType(SummaryType.SSH);
                             
sshCredentialSummary.setToken(sshCredential.getToken());
@@ -471,22 +471,22 @@ public class CredentialStoreServerHandler implements 
CredentialStoreService.Ifac
                 List<Credential> allCredentials = 
credentialReader.getAllCredentials();
                 if (allCredentials != null && !allCredentials.isEmpty()) {
                     for (Credential credential : allCredentials) {
-                        if (credential instanceof 
org.apache.airavata.credential.store.credential.impl.ssh.SSHCredential
+                        if (credential instanceof 
org.apache.airavata.credential.model.SSHCredential
                                 && !(credential
                                         instanceof
-                                        
org.apache.airavata.credential.store.credential.impl.password
+                                        org.apache.airavata.credential.model
                                                 .PasswordCredential)) {
-                            
org.apache.airavata.credential.store.credential.impl.ssh.SSHCredential 
sshCredential =
-                                    
(org.apache.airavata.credential.store.credential.impl.ssh.SSHCredential) 
credential;
+                            org.apache.airavata.credential.model.SSHCredential 
sshCredential =
+                                    
(org.apache.airavata.credential.model.SSHCredential) credential;
                             String portalUserName = 
sshCredential.getPortalUserName();
                             String gateway = sshCredential.getGateway();
                             if (portalUserName != null && gateway != null) {
                                 if (portalUserName.equals(userId)
                                         && gateway.equals(gatewayId)
                                         && 
sshCredential.getCredentialOwnerType() == CredentialOwnerType.USER) {
-                                    
org.apache.airavata.credential.store.credential.impl.ssh.SSHCredential
+                                    
org.apache.airavata.credential.model.SSHCredential
                                             sshCredentialKey =
-                                                    
(org.apache.airavata.credential.store.credential.impl.ssh
+                                                    
(org.apache.airavata.credential.model
                                                                     
.SSHCredential)
                                                             credential;
                                     CredentialSummary sshCredentialSummary = 
new CredentialSummary();
@@ -526,9 +526,9 @@ public class CredentialStoreServerHandler implements 
CredentialStoreService.Ifac
                 for (Credential credential : allCredentials) {
                     if (credential
                             instanceof
-                            
org.apache.airavata.credential.store.credential.impl.password.PasswordCredential)
 {
-                        
org.apache.airavata.credential.store.credential.impl.password.PasswordCredential
 pwdCredential =
-                                
(org.apache.airavata.credential.store.credential.impl.password.PasswordCredential)
+                            
org.apache.airavata.credential.model.PasswordCredential) {
+                        
org.apache.airavata.credential.model.PasswordCredential pwdCredential =
+                                
(org.apache.airavata.credential.model.PasswordCredential)
                                         credential;
                         pwdCredMap.put(
                                 pwdCredential.getToken(),
diff --git 
a/airavata-api/src/main/java/org/apache/airavata/credential/store/credential/AuditInfo.java
 
b/airavata-api/src/main/java/org/apache/airavata/credential/model/AuditInfo.java
similarity index 96%
rename from 
airavata-api/src/main/java/org/apache/airavata/credential/store/credential/AuditInfo.java
rename to 
airavata-api/src/main/java/org/apache/airavata/credential/model/AuditInfo.java
index 761be47fda..769b3e15e7 100644
--- 
a/airavata-api/src/main/java/org/apache/airavata/credential/store/credential/AuditInfo.java
+++ 
b/airavata-api/src/main/java/org/apache/airavata/credential/model/AuditInfo.java
@@ -17,7 +17,7 @@
 * specific language governing permissions and limitations
 * under the License.
 */
-package org.apache.airavata.credential.store.credential;
+package org.apache.airavata.credential.model;
 
 import java.io.Serializable;
 import java.util.Date;
diff --git 
a/airavata-api/src/main/java/org/apache/airavata/credential/store/credential/impl/certificate/CertificateAuditInfo.java
 
b/airavata-api/src/main/java/org/apache/airavata/credential/model/CertificateAuditInfo.java
similarity index 92%
rename from 
airavata-api/src/main/java/org/apache/airavata/credential/store/credential/impl/certificate/CertificateAuditInfo.java
rename to 
airavata-api/src/main/java/org/apache/airavata/credential/model/CertificateAuditInfo.java
index 8e475fb2a5..a48d134257 100644
--- 
a/airavata-api/src/main/java/org/apache/airavata/credential/store/credential/impl/certificate/CertificateAuditInfo.java
+++ 
b/airavata-api/src/main/java/org/apache/airavata/credential/model/CertificateAuditInfo.java
@@ -17,12 +17,12 @@
 * specific language governing permissions and limitations
 * under the License.
 */
-package org.apache.airavata.credential.store.credential.impl.certificate;
+package org.apache.airavata.credential.model;
 
 import java.util.Date;
 import javax.xml.bind.annotation.XmlRootElement;
-import org.apache.airavata.credential.store.credential.AuditInfo;
-import org.apache.airavata.credential.store.credential.CommunityUser;
+import org.apache.airavata.credential.model.AuditInfo;
+import org.apache.airavata.credential.model.CommunityUser;
 
 /**
  * Audit information related to community credential.
diff --git 
a/airavata-api/src/main/java/org/apache/airavata/credential/store/credential/impl/certificate/CertificateCredential.java
 
b/airavata-api/src/main/java/org/apache/airavata/credential/model/CertificateCredential.java
similarity index 91%
rename from 
airavata-api/src/main/java/org/apache/airavata/credential/store/credential/impl/certificate/CertificateCredential.java
rename to 
airavata-api/src/main/java/org/apache/airavata/credential/model/CertificateCredential.java
index 906f0a5e9d..e23c199646 100644
--- 
a/airavata-api/src/main/java/org/apache/airavata/credential/store/credential/impl/certificate/CertificateCredential.java
+++ 
b/airavata-api/src/main/java/org/apache/airavata/credential/model/CertificateCredential.java
@@ -17,12 +17,12 @@
 * specific language governing permissions and limitations
 * under the License.
 */
-package org.apache.airavata.credential.store.credential.impl.certificate;
+package org.apache.airavata.credential.model;
 
 import java.security.PrivateKey;
 import java.security.cert.X509Certificate;
-import org.apache.airavata.credential.store.credential.CommunityUser;
-import org.apache.airavata.credential.store.credential.Credential;
+import org.apache.airavata.credential.model.CommunityUser;
+import org.apache.airavata.credential.model.Credential;
 
 /**
  * Represents the certificate credentials.
diff --git 
a/airavata-api/src/main/java/org/apache/airavata/credential/store/credential/CommunityUser.java
 
b/airavata-api/src/main/java/org/apache/airavata/credential/model/CommunityUser.java
similarity index 97%
rename from 
airavata-api/src/main/java/org/apache/airavata/credential/store/credential/CommunityUser.java
rename to 
airavata-api/src/main/java/org/apache/airavata/credential/model/CommunityUser.java
index cc0247e1e1..85b579e7c2 100644
--- 
a/airavata-api/src/main/java/org/apache/airavata/credential/store/credential/CommunityUser.java
+++ 
b/airavata-api/src/main/java/org/apache/airavata/credential/model/CommunityUser.java
@@ -17,7 +17,7 @@
 * specific language governing permissions and limitations
 * under the License.
 */
-package org.apache.airavata.credential.store.credential;
+package org.apache.airavata.credential.model;
 
 import java.io.Serializable;
 
diff --git 
a/airavata-api/src/main/java/org/apache/airavata/credential/store/credential/Credential.java
 
b/airavata-api/src/main/java/org/apache/airavata/credential/model/Credential.java
similarity index 97%
rename from 
airavata-api/src/main/java/org/apache/airavata/credential/store/credential/Credential.java
rename to 
airavata-api/src/main/java/org/apache/airavata/credential/model/Credential.java
index ae94eb7d46..9d542347d5 100644
--- 
a/airavata-api/src/main/java/org/apache/airavata/credential/store/credential/Credential.java
+++ 
b/airavata-api/src/main/java/org/apache/airavata/credential/model/Credential.java
@@ -17,7 +17,7 @@
 * specific language governing permissions and limitations
 * under the License.
 */
-package org.apache.airavata.credential.store.credential;
+package org.apache.airavata.credential.model;
 
 import java.io.Serializable;
 import java.util.Date;
diff --git 
a/airavata-api/src/main/java/org/apache/airavata/credential/store/credential/CredentialOwnerType.java
 
b/airavata-api/src/main/java/org/apache/airavata/credential/model/CredentialOwnerType.java
similarity index 94%
rename from 
airavata-api/src/main/java/org/apache/airavata/credential/store/credential/CredentialOwnerType.java
rename to 
airavata-api/src/main/java/org/apache/airavata/credential/model/CredentialOwnerType.java
index 92c05872c2..029cba05bd 100644
--- 
a/airavata-api/src/main/java/org/apache/airavata/credential/store/credential/CredentialOwnerType.java
+++ 
b/airavata-api/src/main/java/org/apache/airavata/credential/model/CredentialOwnerType.java
@@ -17,7 +17,7 @@
 * specific language governing permissions and limitations
 * under the License.
 */
-package org.apache.airavata.credential.store.credential;
+package org.apache.airavata.credential.model;
 
 /**
  * Created by marcus on 11/23/16.
diff --git 
a/airavata-api/src/main/java/org/apache/airavata/credential/store/credential/impl/password/PasswordCredential.java
 
b/airavata-api/src/main/java/org/apache/airavata/credential/model/PasswordCredential.java
similarity index 90%
rename from 
airavata-api/src/main/java/org/apache/airavata/credential/store/credential/impl/password/PasswordCredential.java
rename to 
airavata-api/src/main/java/org/apache/airavata/credential/model/PasswordCredential.java
index 0573505e99..38b085cb9c 100644
--- 
a/airavata-api/src/main/java/org/apache/airavata/credential/store/credential/impl/password/PasswordCredential.java
+++ 
b/airavata-api/src/main/java/org/apache/airavata/credential/model/PasswordCredential.java
@@ -17,9 +17,9 @@
 * specific language governing permissions and limitations
 * under the License.
 */
-package org.apache.airavata.credential.store.credential.impl.password;
+package org.apache.airavata.credential.model;
 
-import org.apache.airavata.credential.store.credential.impl.ssh.SSHCredential;
+import org.apache.airavata.credential.model.SSHCredential;
 
 /**
  * User name password credentials.
diff --git 
a/airavata-api/src/main/java/org/apache/airavata/credential/store/credential/impl/ssh/SSHCredential.java
 
b/airavata-api/src/main/java/org/apache/airavata/credential/model/SSHCredential.java
similarity index 94%
rename from 
airavata-api/src/main/java/org/apache/airavata/credential/store/credential/impl/ssh/SSHCredential.java
rename to 
airavata-api/src/main/java/org/apache/airavata/credential/model/SSHCredential.java
index bf5dc3f617..c54bb94917 100644
--- 
a/airavata-api/src/main/java/org/apache/airavata/credential/store/credential/impl/ssh/SSHCredential.java
+++ 
b/airavata-api/src/main/java/org/apache/airavata/credential/model/SSHCredential.java
@@ -17,10 +17,10 @@
 * specific language governing permissions and limitations
 * under the License.
 */
-package org.apache.airavata.credential.store.credential.impl.ssh;
+package org.apache.airavata.credential.model;
 
 import java.io.Serializable;
-import org.apache.airavata.credential.store.credential.Credential;
+import org.apache.airavata.credential.model.Credential;
 
 /**
  * An SSH Credential class which is an extension of Airavata Credential
diff --git 
a/airavata-api/src/main/java/org/apache/airavata/credential/store/store/impl/CertificateCredentialWriter.java
 
b/airavata-api/src/main/java/org/apache/airavata/credential/repository/CertificateCredentialWriter.java
similarity index 88%
rename from 
airavata-api/src/main/java/org/apache/airavata/credential/store/store/impl/CertificateCredentialWriter.java
rename to 
airavata-api/src/main/java/org/apache/airavata/credential/repository/CertificateCredentialWriter.java
index ab7fed721d..14deebfe34 100644
--- 
a/airavata-api/src/main/java/org/apache/airavata/credential/store/store/impl/CertificateCredentialWriter.java
+++ 
b/airavata-api/src/main/java/org/apache/airavata/credential/repository/CertificateCredentialWriter.java
@@ -17,7 +17,7 @@
 * specific language governing permissions and limitations
 * under the License.
 */
-package org.apache.airavata.credential.store.store.impl;
+package org.apache.airavata.credential.repository;
 
 import java.sql.Connection;
 import java.sql.SQLException;
@@ -25,13 +25,13 @@ import 
org.apache.airavata.common.exception.ApplicationSettingsException;
 import org.apache.airavata.common.config.ApplicationSettings;
 import org.apache.airavata.common.db.DBUtil;
 import org.apache.airavata.common.server.DefaultKeyStorePasswordCallback;
-import org.apache.airavata.credential.store.credential.CommunityUser;
-import org.apache.airavata.credential.store.credential.Credential;
-import 
org.apache.airavata.credential.store.credential.impl.certificate.CertificateCredential;
-import org.apache.airavata.credential.store.store.CredentialStoreException;
-import org.apache.airavata.credential.store.store.CredentialWriter;
-import org.apache.airavata.credential.store.store.impl.db.CommunityUserDAO;
-import org.apache.airavata.credential.store.store.impl.db.CredentialsDAO;
+import org.apache.airavata.credential.model.CommunityUser;
+import org.apache.airavata.credential.model.Credential;
+import org.apache.airavata.credential.model.CertificateCredential;
+import org.apache.airavata.credential.repository.CredentialStoreException;
+import org.apache.airavata.credential.repository.CredentialWriter;
+import org.apache.airavata.credential.repository.db.CommunityUserDAO;
+import org.apache.airavata.credential.repository.db.CredentialsDAO;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
diff --git 
a/airavata-api/src/main/java/org/apache/airavata/credential/store/store/CredentialReader.java
 
b/airavata-api/src/main/java/org/apache/airavata/credential/repository/CredentialReader.java
similarity index 95%
rename from 
airavata-api/src/main/java/org/apache/airavata/credential/store/store/CredentialReader.java
rename to 
airavata-api/src/main/java/org/apache/airavata/credential/repository/CredentialReader.java
index 355bc4fdef..a3e8677562 100644
--- 
a/airavata-api/src/main/java/org/apache/airavata/credential/store/store/CredentialReader.java
+++ 
b/airavata-api/src/main/java/org/apache/airavata/credential/repository/CredentialReader.java
@@ -17,11 +17,11 @@
 * specific language governing permissions and limitations
 * under the License.
 */
-package org.apache.airavata.credential.store.store;
+package org.apache.airavata.credential.repository;
 
 import java.util.List;
-import org.apache.airavata.credential.store.credential.AuditInfo;
-import org.apache.airavata.credential.store.credential.Credential;
+import org.apache.airavata.credential.model.AuditInfo;
+import org.apache.airavata.credential.model.Credential;
 
 /**
  * This interface provides an API for Credential Store. Provides methods to 
manipulate credential store data.
diff --git 
a/airavata-api/src/main/java/org/apache/airavata/credential/store/store/CredentialReaderFactory.java
 
b/airavata-api/src/main/java/org/apache/airavata/credential/repository/CredentialReaderFactory.java
similarity index 94%
rename from 
airavata-api/src/main/java/org/apache/airavata/credential/store/store/CredentialReaderFactory.java
rename to 
airavata-api/src/main/java/org/apache/airavata/credential/repository/CredentialReaderFactory.java
index 69cc6f005e..681f5e05a2 100644
--- 
a/airavata-api/src/main/java/org/apache/airavata/credential/store/store/CredentialReaderFactory.java
+++ 
b/airavata-api/src/main/java/org/apache/airavata/credential/repository/CredentialReaderFactory.java
@@ -17,11 +17,11 @@
 * specific language governing permissions and limitations
 * under the License.
 */
-package org.apache.airavata.credential.store.store;
+package org.apache.airavata.credential.repository;
 
 import org.apache.airavata.common.exception.ApplicationSettingsException;
 import org.apache.airavata.common.db.DBUtil;
-import org.apache.airavata.credential.store.store.impl.CredentialReaderImpl;
+import org.apache.airavata.credential.repository.CredentialReaderImpl;
 
 /**
  * Factory class to create credential store readers.
diff --git 
a/airavata-api/src/main/java/org/apache/airavata/credential/store/store/impl/CredentialReaderImpl.java
 
b/airavata-api/src/main/java/org/apache/airavata/credential/repository/CredentialReaderImpl.java
similarity index 91%
rename from 
airavata-api/src/main/java/org/apache/airavata/credential/store/store/impl/CredentialReaderImpl.java
rename to 
airavata-api/src/main/java/org/apache/airavata/credential/repository/CredentialReaderImpl.java
index 97c2683ad2..79f0a39262 100644
--- 
a/airavata-api/src/main/java/org/apache/airavata/credential/store/store/impl/CredentialReaderImpl.java
+++ 
b/airavata-api/src/main/java/org/apache/airavata/credential/repository/CredentialReaderImpl.java
@@ -17,7 +17,7 @@
 * specific language governing permissions and limitations
 * under the License.
 */
-package org.apache.airavata.credential.store.store.impl;
+package org.apache.airavata.credential.repository;
 
 import java.io.Serializable;
 import java.sql.Connection;
@@ -27,13 +27,13 @@ import 
org.apache.airavata.common.exception.ApplicationSettingsException;
 import org.apache.airavata.common.config.ApplicationSettings;
 import org.apache.airavata.common.db.DBUtil;
 import org.apache.airavata.common.server.DefaultKeyStorePasswordCallback;
-import org.apache.airavata.credential.store.credential.CommunityUser;
-import org.apache.airavata.credential.store.credential.Credential;
-import 
org.apache.airavata.credential.store.credential.impl.certificate.CertificateAuditInfo;
-import 
org.apache.airavata.credential.store.credential.impl.certificate.CertificateCredential;
-import org.apache.airavata.credential.store.store.CredentialReader;
-import org.apache.airavata.credential.store.store.CredentialStoreException;
-import org.apache.airavata.credential.store.store.impl.db.CredentialsDAO;
+import org.apache.airavata.credential.model.CommunityUser;
+import org.apache.airavata.credential.model.Credential;
+import org.apache.airavata.credential.model.CertificateAuditInfo;
+import org.apache.airavata.credential.model.CertificateCredential;
+import org.apache.airavata.credential.repository.CredentialReader;
+import org.apache.airavata.credential.repository.CredentialStoreException;
+import org.apache.airavata.credential.repository.db.CredentialsDAO;
 
 /**
  * Credential store API implementation.
diff --git 
a/airavata-api/src/main/java/org/apache/airavata/credential/store/store/CredentialStoreException.java
 
b/airavata-api/src/main/java/org/apache/airavata/credential/repository/CredentialStoreException.java
similarity index 95%
rename from 
airavata-api/src/main/java/org/apache/airavata/credential/store/store/CredentialStoreException.java
rename to 
airavata-api/src/main/java/org/apache/airavata/credential/repository/CredentialStoreException.java
index 6d07bbe950..9a62b0c3f2 100644
--- 
a/airavata-api/src/main/java/org/apache/airavata/credential/store/store/CredentialStoreException.java
+++ 
b/airavata-api/src/main/java/org/apache/airavata/credential/repository/CredentialStoreException.java
@@ -17,7 +17,7 @@
 * specific language governing permissions and limitations
 * under the License.
 */
-package org.apache.airavata.credential.store.store;
+package org.apache.airavata.credential.repository;
 
 /**
  * An exception class for credential store.
diff --git 
a/airavata-api/src/main/java/org/apache/airavata/credential/store/store/CredentialWriter.java
 
b/airavata-api/src/main/java/org/apache/airavata/credential/repository/CredentialWriter.java
similarity index 90%
rename from 
airavata-api/src/main/java/org/apache/airavata/credential/store/store/CredentialWriter.java
rename to 
airavata-api/src/main/java/org/apache/airavata/credential/repository/CredentialWriter.java
index 6166b74510..838a82e47d 100644
--- 
a/airavata-api/src/main/java/org/apache/airavata/credential/store/store/CredentialWriter.java
+++ 
b/airavata-api/src/main/java/org/apache/airavata/credential/repository/CredentialWriter.java
@@ -17,9 +17,9 @@
 * specific language governing permissions and limitations
 * under the License.
 */
-package org.apache.airavata.credential.store.store;
+package org.apache.airavata.credential.repository;
 
-import org.apache.airavata.credential.store.credential.Credential;
+import org.apache.airavata.credential.model.Credential;
 
 /**
  * The entity who's writing credentials to DB will use this interface.
diff --git 
a/airavata-api/src/main/java/org/apache/airavata/credential/store/store/impl/SSHCredentialWriter.java
 
b/airavata-api/src/main/java/org/apache/airavata/credential/repository/SSHCredentialWriter.java
similarity index 87%
rename from 
airavata-api/src/main/java/org/apache/airavata/credential/store/store/impl/SSHCredentialWriter.java
rename to 
airavata-api/src/main/java/org/apache/airavata/credential/repository/SSHCredentialWriter.java
index 9a9d229709..cf5eacb2df 100644
--- 
a/airavata-api/src/main/java/org/apache/airavata/credential/store/store/impl/SSHCredentialWriter.java
+++ 
b/airavata-api/src/main/java/org/apache/airavata/credential/repository/SSHCredentialWriter.java
@@ -17,7 +17,7 @@
 * specific language governing permissions and limitations
 * under the License.
 */
-package org.apache.airavata.credential.store.store.impl;
+package org.apache.airavata.credential.repository;
 
 import java.sql.Connection;
 import java.sql.SQLException;
@@ -25,11 +25,11 @@ import 
org.apache.airavata.common.exception.ApplicationSettingsException;
 import org.apache.airavata.common.config.ApplicationSettings;
 import org.apache.airavata.common.db.DBUtil;
 import org.apache.airavata.common.server.DefaultKeyStorePasswordCallback;
-import org.apache.airavata.credential.store.credential.Credential;
-import org.apache.airavata.credential.store.credential.impl.ssh.SSHCredential;
-import org.apache.airavata.credential.store.store.CredentialStoreException;
-import org.apache.airavata.credential.store.store.CredentialWriter;
-import org.apache.airavata.credential.store.store.impl.db.CredentialsDAO;
+import org.apache.airavata.credential.model.Credential;
+import org.apache.airavata.credential.model.SSHCredential;
+import org.apache.airavata.credential.repository.CredentialStoreException;
+import org.apache.airavata.credential.repository.CredentialWriter;
+import org.apache.airavata.credential.repository.db.CredentialsDAO;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
diff --git 
a/airavata-api/src/main/java/org/apache/airavata/credential/store/store/impl/db/CommunityUserDAO.java
 
b/airavata-api/src/main/java/org/apache/airavata/credential/repository/db/CommunityUserDAO.java
similarity index 97%
rename from 
airavata-api/src/main/java/org/apache/airavata/credential/store/store/impl/db/CommunityUserDAO.java
rename to 
airavata-api/src/main/java/org/apache/airavata/credential/repository/db/CommunityUserDAO.java
index 6ed7c6daa3..e2c71f71d7 100644
--- 
a/airavata-api/src/main/java/org/apache/airavata/credential/store/store/impl/db/CommunityUserDAO.java
+++ 
b/airavata-api/src/main/java/org/apache/airavata/credential/repository/db/CommunityUserDAO.java
@@ -17,7 +17,7 @@
 * specific language governing permissions and limitations
 * under the License.
 */
-package org.apache.airavata.credential.store.store.impl.db;
+package org.apache.airavata.credential.repository.db;
 
 import java.sql.Connection;
 import java.sql.PreparedStatement;
@@ -26,8 +26,8 @@ import java.sql.SQLException;
 import java.util.ArrayList;
 import java.util.List;
 import org.apache.airavata.common.db.DBUtil;
-import org.apache.airavata.credential.store.credential.CommunityUser;
-import org.apache.airavata.credential.store.store.CredentialStoreException;
+import org.apache.airavata.credential.model.CommunityUser;
+import org.apache.airavata.credential.repository.CredentialStoreException;
 
 /**
  * Data access class for community_user table.
diff --git 
a/airavata-api/src/main/java/org/apache/airavata/credential/store/store/impl/db/CredentialsDAO.java
 
b/airavata-api/src/main/java/org/apache/airavata/credential/repository/db/CredentialsDAO.java
similarity index 98%
rename from 
airavata-api/src/main/java/org/apache/airavata/credential/store/store/impl/db/CredentialsDAO.java
rename to 
airavata-api/src/main/java/org/apache/airavata/credential/repository/db/CredentialsDAO.java
index 2209a83b71..bf33f6b95a 100644
--- 
a/airavata-api/src/main/java/org/apache/airavata/credential/store/store/impl/db/CredentialsDAO.java
+++ 
b/airavata-api/src/main/java/org/apache/airavata/credential/repository/db/CredentialsDAO.java
@@ -17,7 +17,7 @@
 * specific language governing permissions and limitations
 * under the License.
 */
-package org.apache.airavata.credential.store.store.impl.db;
+package org.apache.airavata.credential.repository.db;
 
 import java.io.*;
 import java.security.GeneralSecurityException;
@@ -29,9 +29,9 @@ import java.util.stream.Collectors;
 import org.apache.airavata.common.db.DBUtil;
 import org.apache.airavata.common.server.KeyStorePasswordCallback;
 import org.apache.airavata.security.util.SecurityUtil;
-import org.apache.airavata.credential.store.credential.Credential;
-import org.apache.airavata.credential.store.credential.CredentialOwnerType;
-import org.apache.airavata.credential.store.store.CredentialStoreException;
+import org.apache.airavata.credential.model.Credential;
+import org.apache.airavata.credential.model.CredentialOwnerType;
+import org.apache.airavata.credential.repository.CredentialStoreException;
 
 /**
  * Data access class for credential store.
diff --git 
a/airavata-api/src/main/java/org/apache/airavata/credential/store/store/impl/db/ParentDAO.java
 
b/airavata-api/src/main/java/org/apache/airavata/credential/repository/db/ParentDAO.java
similarity index 94%
rename from 
airavata-api/src/main/java/org/apache/airavata/credential/store/store/impl/db/ParentDAO.java
rename to 
airavata-api/src/main/java/org/apache/airavata/credential/repository/db/ParentDAO.java
index fdac9f1c5d..4a76b5a558 100644
--- 
a/airavata-api/src/main/java/org/apache/airavata/credential/store/store/impl/db/ParentDAO.java
+++ 
b/airavata-api/src/main/java/org/apache/airavata/credential/repository/db/ParentDAO.java
@@ -17,7 +17,7 @@
 * specific language governing permissions and limitations
 * under the License.
 */
-package org.apache.airavata.credential.store.store.impl.db;
+package org.apache.airavata.credential.repository.db;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git 
a/airavata-api/src/main/java/org/apache/airavata/credential/store/store/impl/util/CredentialStoreDBInitConfig.java
 
b/airavata-api/src/main/java/org/apache/airavata/credential/repository/util/CredentialStoreDBInitConfig.java
similarity index 95%
rename from 
airavata-api/src/main/java/org/apache/airavata/credential/store/store/impl/util/CredentialStoreDBInitConfig.java
rename to 
airavata-api/src/main/java/org/apache/airavata/credential/repository/util/CredentialStoreDBInitConfig.java
index 5cd5f3756a..f6efa4fad0 100644
--- 
a/airavata-api/src/main/java/org/apache/airavata/credential/store/store/impl/util/CredentialStoreDBInitConfig.java
+++ 
b/airavata-api/src/main/java/org/apache/airavata/credential/repository/util/CredentialStoreDBInitConfig.java
@@ -17,7 +17,7 @@
 * specific language governing permissions and limitations
 * under the License.
 */
-package org.apache.airavata.credential.store.store.impl.util;
+package org.apache.airavata.credential.repository.util;
 
 import org.apache.airavata.common.db.DBInitConfig;
 import org.apache.airavata.common.db.JDBCConfig;
diff --git 
a/airavata-api/src/main/java/org/apache/airavata/credential/store/store/impl/util/CredentialStoreJDBCConfig.java
 
b/airavata-api/src/main/java/org/apache/airavata/credential/repository/util/CredentialStoreJDBCConfig.java
similarity index 97%
rename from 
airavata-api/src/main/java/org/apache/airavata/credential/store/store/impl/util/CredentialStoreJDBCConfig.java
rename to 
airavata-api/src/main/java/org/apache/airavata/credential/repository/util/CredentialStoreJDBCConfig.java
index 379613be54..54a458b178 100644
--- 
a/airavata-api/src/main/java/org/apache/airavata/credential/store/store/impl/util/CredentialStoreJDBCConfig.java
+++ 
b/airavata-api/src/main/java/org/apache/airavata/credential/repository/util/CredentialStoreJDBCConfig.java
@@ -17,7 +17,7 @@
 * specific language governing permissions and limitations
 * under the License.
 */
-package org.apache.airavata.credential.store.store.impl.util;
+package org.apache.airavata.credential.repository.util;
 
 import org.apache.airavata.common.exception.ApplicationSettingsException;
 import org.apache.airavata.common.db.JDBCConfig;
diff --git 
a/airavata-api/src/main/java/org/apache/airavata/service/credential/CredentialService.java
 
b/airavata-api/src/main/java/org/apache/airavata/credential/service/CredentialService.java
similarity index 98%
rename from 
airavata-api/src/main/java/org/apache/airavata/service/credential/CredentialService.java
rename to 
airavata-api/src/main/java/org/apache/airavata/credential/service/CredentialService.java
index 53fab9c2e3..4d8cd0091a 100644
--- 
a/airavata-api/src/main/java/org/apache/airavata/service/credential/CredentialService.java
+++ 
b/airavata-api/src/main/java/org/apache/airavata/credential/service/CredentialService.java
@@ -17,12 +17,12 @@
 * specific language governing permissions and limitations
 * under the License.
 */
-package org.apache.airavata.service.credential;
+package org.apache.airavata.credential.service;
 
 import java.util.ArrayList;
 import java.util.List;
 import java.util.stream.Collectors;
-import 
org.apache.airavata.credential.store.server.CredentialStoreServerHandler;
+import org.apache.airavata.credential.handler.CredentialStoreServerHandler;
 import org.apache.airavata.model.credential.store.CredentialSummary;
 import org.apache.airavata.model.credential.store.PasswordCredential;
 import org.apache.airavata.model.credential.store.SSHCredential;
diff --git 
a/airavata-api/src/main/java/org/apache/airavata/service/ssh/SSHAccountService.java
 
b/airavata-api/src/main/java/org/apache/airavata/credential/service/SSHAccountService.java
similarity index 95%
rename from 
airavata-api/src/main/java/org/apache/airavata/service/ssh/SSHAccountService.java
rename to 
airavata-api/src/main/java/org/apache/airavata/credential/service/SSHAccountService.java
index be09865da5..8880d563f0 100644
--- 
a/airavata-api/src/main/java/org/apache/airavata/service/ssh/SSHAccountService.java
+++ 
b/airavata-api/src/main/java/org/apache/airavata/credential/service/SSHAccountService.java
@@ -17,10 +17,10 @@
 * specific language governing permissions and limitations
 * under the License.
 */
-package org.apache.airavata.service.ssh;
+package org.apache.airavata.credential.service;
 
-import org.apache.airavata.accountprovisioning.SSHAccountManager;
-import 
org.apache.airavata.credential.store.server.CredentialStoreServerHandler;
+import org.apache.airavata.credential.service.provisioning.SSHAccountManager;
+import org.apache.airavata.credential.handler.CredentialStoreServerHandler;
 import 
org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference;
 import org.apache.airavata.model.credential.store.SSHCredential;
 import org.apache.airavata.service.context.RequestContext;
diff --git 
a/airavata-api/src/main/java/org/apache/airavata/accountprovisioning/ConfigParam.java
 
b/airavata-api/src/main/java/org/apache/airavata/credential/service/provisioning/ConfigParam.java
similarity index 97%
rename from 
airavata-api/src/main/java/org/apache/airavata/accountprovisioning/ConfigParam.java
rename to 
airavata-api/src/main/java/org/apache/airavata/credential/service/provisioning/ConfigParam.java
index c216bee68d..c24564fa63 100644
--- 
a/airavata-api/src/main/java/org/apache/airavata/accountprovisioning/ConfigParam.java
+++ 
b/airavata-api/src/main/java/org/apache/airavata/credential/service/provisioning/ConfigParam.java
@@ -17,7 +17,7 @@
 * specific language governing permissions and limitations
 * under the License.
 */
-package org.apache.airavata.accountprovisioning;
+package org.apache.airavata.credential.service.provisioning;
 
 public class ConfigParam {
 
diff --git 
a/airavata-api/src/main/java/org/apache/airavata/accountprovisioning/InvalidSetupException.java
 
b/airavata-api/src/main/java/org/apache/airavata/credential/service/provisioning/InvalidSetupException.java
similarity index 95%
rename from 
airavata-api/src/main/java/org/apache/airavata/accountprovisioning/InvalidSetupException.java
rename to 
airavata-api/src/main/java/org/apache/airavata/credential/service/provisioning/InvalidSetupException.java
index 70734cd958..123ebc2997 100644
--- 
a/airavata-api/src/main/java/org/apache/airavata/accountprovisioning/InvalidSetupException.java
+++ 
b/airavata-api/src/main/java/org/apache/airavata/credential/service/provisioning/InvalidSetupException.java
@@ -17,7 +17,7 @@
 * specific language governing permissions and limitations
 * under the License.
 */
-package org.apache.airavata.accountprovisioning;
+package org.apache.airavata.credential.service.provisioning;
 
 /**
  * This exception indicates that some SSHAccountProvisioner setup is missing 
or incorrect.
diff --git 
a/airavata-api/src/main/java/org/apache/airavata/accountprovisioning/InvalidUsernameException.java
 
b/airavata-api/src/main/java/org/apache/airavata/credential/service/provisioning/InvalidUsernameException.java
similarity index 95%
rename from 
airavata-api/src/main/java/org/apache/airavata/accountprovisioning/InvalidUsernameException.java
rename to 
airavata-api/src/main/java/org/apache/airavata/credential/service/provisioning/InvalidUsernameException.java
index c688e657a0..c59d63d1fe 100644
--- 
a/airavata-api/src/main/java/org/apache/airavata/accountprovisioning/InvalidUsernameException.java
+++ 
b/airavata-api/src/main/java/org/apache/airavata/credential/service/provisioning/InvalidUsernameException.java
@@ -17,7 +17,7 @@
 * specific language governing permissions and limitations
 * under the License.
 */
-package org.apache.airavata.accountprovisioning;
+package org.apache.airavata.credential.service.provisioning;
 
 /**
  * Thrown by {@link SSHAccountProvisioner} when provided userId doesn't map to 
a local account for any user. For
diff --git 
a/airavata-api/src/main/java/org/apache/airavata/accountprovisioning/SSHAccountManager.java
 
b/airavata-api/src/main/java/org/apache/airavata/credential/service/provisioning/SSHAccountManager.java
similarity index 99%
rename from 
airavata-api/src/main/java/org/apache/airavata/accountprovisioning/SSHAccountManager.java
rename to 
airavata-api/src/main/java/org/apache/airavata/credential/service/provisioning/SSHAccountManager.java
index 086070fd60..620e679063 100644
--- 
a/airavata-api/src/main/java/org/apache/airavata/accountprovisioning/SSHAccountManager.java
+++ 
b/airavata-api/src/main/java/org/apache/airavata/credential/service/provisioning/SSHAccountManager.java
@@ -17,7 +17,7 @@
 * specific language governing permissions and limitations
 * under the License.
 */
-package org.apache.airavata.accountprovisioning;
+package org.apache.airavata.credential.service.provisioning;
 
 import java.util.HashMap;
 import java.util.List;
@@ -26,7 +26,7 @@ import java.util.function.Function;
 import java.util.stream.Collectors;
 import org.apache.airavata.common.exception.ApplicationSettingsException;
 import org.apache.airavata.common.config.ServerSettings;
-import 
org.apache.airavata.credential.store.client.CredentialStoreClientFactory;
+import org.apache.airavata.credential.util.CredentialStoreClientFactory;
 import org.apache.airavata.credential.store.cpi.CredentialStoreService;
 import org.apache.airavata.credential.store.exception.CredentialStoreException;
 import 
org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription;
diff --git 
a/airavata-api/src/main/java/org/apache/airavata/accountprovisioning/SSHAccountProvisioner.java
 
b/airavata-api/src/main/java/org/apache/airavata/credential/service/provisioning/SSHAccountProvisioner.java
similarity index 98%
rename from 
airavata-api/src/main/java/org/apache/airavata/accountprovisioning/SSHAccountProvisioner.java
rename to 
airavata-api/src/main/java/org/apache/airavata/credential/service/provisioning/SSHAccountProvisioner.java
index 5c4867baf4..be26b627d7 100644
--- 
a/airavata-api/src/main/java/org/apache/airavata/accountprovisioning/SSHAccountProvisioner.java
+++ 
b/airavata-api/src/main/java/org/apache/airavata/credential/service/provisioning/SSHAccountProvisioner.java
@@ -17,7 +17,7 @@
 * specific language governing permissions and limitations
 * under the License.
 */
-package org.apache.airavata.accountprovisioning;
+package org.apache.airavata.credential.service.provisioning;
 
 import java.util.Map;
 
diff --git 
a/airavata-api/src/main/java/org/apache/airavata/accountprovisioning/SSHAccountProvisionerFactory.java
 
b/airavata-api/src/main/java/org/apache/airavata/credential/service/provisioning/SSHAccountProvisionerFactory.java
similarity index 97%
rename from 
airavata-api/src/main/java/org/apache/airavata/accountprovisioning/SSHAccountProvisionerFactory.java
rename to 
airavata-api/src/main/java/org/apache/airavata/credential/service/provisioning/SSHAccountProvisionerFactory.java
index b9d8fc8061..614193ceac 100644
--- 
a/airavata-api/src/main/java/org/apache/airavata/accountprovisioning/SSHAccountProvisionerFactory.java
+++ 
b/airavata-api/src/main/java/org/apache/airavata/credential/service/provisioning/SSHAccountProvisionerFactory.java
@@ -17,7 +17,7 @@
 * specific language governing permissions and limitations
 * under the License.
 */
-package org.apache.airavata.accountprovisioning;
+package org.apache.airavata.credential.service.provisioning;
 
 import java.util.ArrayList;
 import java.util.List;
diff --git 
a/airavata-api/src/main/java/org/apache/airavata/accountprovisioning/SSHAccountProvisionerProvider.java
 
b/airavata-api/src/main/java/org/apache/airavata/credential/service/provisioning/SSHAccountProvisionerProvider.java
similarity index 96%
rename from 
airavata-api/src/main/java/org/apache/airavata/accountprovisioning/SSHAccountProvisionerProvider.java
rename to 
airavata-api/src/main/java/org/apache/airavata/credential/service/provisioning/SSHAccountProvisionerProvider.java
index a0b2b9917a..8b5f539b75 100644
--- 
a/airavata-api/src/main/java/org/apache/airavata/accountprovisioning/SSHAccountProvisionerProvider.java
+++ 
b/airavata-api/src/main/java/org/apache/airavata/credential/service/provisioning/SSHAccountProvisionerProvider.java
@@ -17,7 +17,7 @@
 * specific language governing permissions and limitations
 * under the License.
 */
-package org.apache.airavata.accountprovisioning;
+package org.apache.airavata.credential.service.provisioning;
 
 import java.util.List;
 import java.util.Map;
diff --git 
a/airavata-api/src/main/java/org/apache/airavata/accountprovisioning/SSHUtil.java
 
b/airavata-api/src/main/java/org/apache/airavata/credential/service/provisioning/SSHUtil.java
similarity index 99%
rename from 
airavata-api/src/main/java/org/apache/airavata/accountprovisioning/SSHUtil.java
rename to 
airavata-api/src/main/java/org/apache/airavata/credential/service/provisioning/SSHUtil.java
index 2ed15f3f87..772150186f 100644
--- 
a/airavata-api/src/main/java/org/apache/airavata/accountprovisioning/SSHUtil.java
+++ 
b/airavata-api/src/main/java/org/apache/airavata/credential/service/provisioning/SSHUtil.java
@@ -17,7 +17,7 @@
 * specific language governing permissions and limitations
 * under the License.
 */
-package org.apache.airavata.accountprovisioning;
+package org.apache.airavata.credential.service.provisioning;
 
 import com.jcraft.jsch.*;
 import java.io.ByteArrayOutputStream;
diff --git 
a/airavata-api/src/main/java/org/apache/airavata/accountprovisioning/provisioner/IULdapSSHAccountProvisioner.java
 
b/airavata-api/src/main/java/org/apache/airavata/credential/service/provisioning/provisioner/IULdapSSHAccountProvisioner.java
similarity index 97%
rename from 
airavata-api/src/main/java/org/apache/airavata/accountprovisioning/provisioner/IULdapSSHAccountProvisioner.java
rename to 
airavata-api/src/main/java/org/apache/airavata/credential/service/provisioning/provisioner/IULdapSSHAccountProvisioner.java
index 77c9bbd3cf..2c93770979 100644
--- 
a/airavata-api/src/main/java/org/apache/airavata/accountprovisioning/provisioner/IULdapSSHAccountProvisioner.java
+++ 
b/airavata-api/src/main/java/org/apache/airavata/credential/service/provisioning/provisioner/IULdapSSHAccountProvisioner.java
@@ -17,16 +17,16 @@
 * specific language governing permissions and limitations
 * under the License.
 */
-package org.apache.airavata.accountprovisioning.provisioner;
+package org.apache.airavata.credential.service.provisioning.provisioner;
 
 import java.io.IOException;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.function.Function;
-import org.apache.airavata.accountprovisioning.ConfigParam;
-import org.apache.airavata.accountprovisioning.InvalidUsernameException;
-import org.apache.airavata.accountprovisioning.SSHAccountManager;
-import org.apache.airavata.accountprovisioning.SSHAccountProvisioner;
+import org.apache.airavata.credential.service.provisioning.ConfigParam;
+import 
org.apache.airavata.credential.service.provisioning.InvalidUsernameException;
+import org.apache.airavata.credential.service.provisioning.SSHAccountManager;
+import 
org.apache.airavata.credential.service.provisioning.SSHAccountProvisioner;
 import org.apache.directory.api.ldap.model.cursor.EntryCursor;
 import org.apache.directory.api.ldap.model.entry.DefaultAttribute;
 import org.apache.directory.api.ldap.model.entry.Entry;
diff --git 
a/airavata-api/src/main/java/org/apache/airavata/accountprovisioning/provisioner/IULdapSSHAccountProvisionerProvider.java
 
b/airavata-api/src/main/java/org/apache/airavata/credential/service/provisioning/provisioner/IULdapSSHAccountProvisionerProvider.java
similarity index 91%
rename from 
airavata-api/src/main/java/org/apache/airavata/accountprovisioning/provisioner/IULdapSSHAccountProvisionerProvider.java
rename to 
airavata-api/src/main/java/org/apache/airavata/credential/service/provisioning/provisioner/IULdapSSHAccountProvisionerProvider.java
index ff43255e81..e94d73a33d 100644
--- 
a/airavata-api/src/main/java/org/apache/airavata/accountprovisioning/provisioner/IULdapSSHAccountProvisionerProvider.java
+++ 
b/airavata-api/src/main/java/org/apache/airavata/credential/service/provisioning/provisioner/IULdapSSHAccountProvisionerProvider.java
@@ -17,14 +17,14 @@
 * specific language governing permissions and limitations
 * under the License.
 */
-package org.apache.airavata.accountprovisioning.provisioner;
+package org.apache.airavata.credential.service.provisioning.provisioner;
 
 import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
-import org.apache.airavata.accountprovisioning.ConfigParam;
-import org.apache.airavata.accountprovisioning.SSHAccountProvisioner;
-import org.apache.airavata.accountprovisioning.SSHAccountProvisionerProvider;
+import org.apache.airavata.credential.service.provisioning.ConfigParam;
+import 
org.apache.airavata.credential.service.provisioning.SSHAccountProvisioner;
+import 
org.apache.airavata.credential.service.provisioning.SSHAccountProvisionerProvider;
 
 public class IULdapSSHAccountProvisionerProvider implements 
SSHAccountProvisionerProvider {
 
diff --git 
a/airavata-api/src/main/java/org/apache/airavata/helix/impl/task/env/EnvSetupTask.java
 
b/airavata-api/src/main/java/org/apache/airavata/credential/task/EnvSetupTask.java
similarity index 98%
rename from 
airavata-api/src/main/java/org/apache/airavata/helix/impl/task/env/EnvSetupTask.java
rename to 
airavata-api/src/main/java/org/apache/airavata/credential/task/EnvSetupTask.java
index a9b6c00608..06758c7af7 100644
--- 
a/airavata-api/src/main/java/org/apache/airavata/helix/impl/task/env/EnvSetupTask.java
+++ 
b/airavata-api/src/main/java/org/apache/airavata/credential/task/EnvSetupTask.java
@@ -17,7 +17,7 @@
 * specific language governing permissions and limitations
 * under the License.
 */
-package org.apache.airavata.helix.impl.task.env;
+package org.apache.airavata.credential.task;
 
 import org.apache.airavata.agents.api.AgentAdaptor;
 import org.apache.airavata.helix.impl.task.AiravataTask;
diff --git 
a/airavata-api/src/main/java/org/apache/airavata/credential/store/util/ConfigurationReader.java
 
b/airavata-api/src/main/java/org/apache/airavata/credential/util/ConfigurationReader.java
similarity index 96%
rename from 
airavata-api/src/main/java/org/apache/airavata/credential/store/util/ConfigurationReader.java
rename to 
airavata-api/src/main/java/org/apache/airavata/credential/util/ConfigurationReader.java
index 3b945bdc6a..ae48bec3c0 100644
--- 
a/airavata-api/src/main/java/org/apache/airavata/credential/store/util/ConfigurationReader.java
+++ 
b/airavata-api/src/main/java/org/apache/airavata/credential/util/ConfigurationReader.java
@@ -17,14 +17,14 @@
 * specific language governing permissions and limitations
 * under the License.
 */
-package org.apache.airavata.credential.store.util;
+package org.apache.airavata.credential.util;
 
 import java.io.IOException;
 import java.io.InputStream;
 import javax.xml.parsers.DocumentBuilder;
 import javax.xml.parsers.DocumentBuilderFactory;
 import javax.xml.parsers.ParserConfigurationException;
-import org.apache.airavata.credential.store.store.CredentialStoreException;
+import org.apache.airavata.credential.repository.CredentialStoreException;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
diff --git 
a/airavata-api/src/main/java/org/apache/airavata/credential/store/client/CredentialStoreClientFactory.java
 
b/airavata-api/src/main/java/org/apache/airavata/credential/util/CredentialStoreClientFactory.java
similarity index 97%
rename from 
airavata-api/src/main/java/org/apache/airavata/credential/store/client/CredentialStoreClientFactory.java
rename to 
airavata-api/src/main/java/org/apache/airavata/credential/util/CredentialStoreClientFactory.java
index 2dfb433fcf..c19bdc5f23 100644
--- 
a/airavata-api/src/main/java/org/apache/airavata/credential/store/client/CredentialStoreClientFactory.java
+++ 
b/airavata-api/src/main/java/org/apache/airavata/credential/util/CredentialStoreClientFactory.java
@@ -17,7 +17,7 @@
 * specific language governing permissions and limitations
 * under the License.
 */
-package org.apache.airavata.credential.store.client;
+package org.apache.airavata.credential.util;
 
 import org.apache.airavata.credential.store.cpi.CredentialStoreService;
 import org.apache.airavata.credential.store.exception.CredentialStoreException;
diff --git 
a/airavata-api/src/main/java/org/apache/airavata/credential/store/util/CredentialStoreConstants.java
 
b/airavata-api/src/main/java/org/apache/airavata/credential/util/CredentialStoreConstants.java
similarity index 96%
rename from 
airavata-api/src/main/java/org/apache/airavata/credential/store/util/CredentialStoreConstants.java
rename to 
airavata-api/src/main/java/org/apache/airavata/credential/util/CredentialStoreConstants.java
index 372e414225..60ed8f9ec4 100644
--- 
a/airavata-api/src/main/java/org/apache/airavata/credential/store/util/CredentialStoreConstants.java
+++ 
b/airavata-api/src/main/java/org/apache/airavata/credential/util/CredentialStoreConstants.java
@@ -17,7 +17,7 @@
 * specific language governing permissions and limitations
 * under the License.
 */
-package org.apache.airavata.credential.store.util;
+package org.apache.airavata.credential.util;
 
 /**
  * User: AmilaJ ([email protected])
diff --git 
a/airavata-api/src/main/java/org/apache/airavata/credential/store/util/PrivateKeyStore.java
 
b/airavata-api/src/main/java/org/apache/airavata/credential/util/PrivateKeyStore.java
similarity index 97%
rename from 
airavata-api/src/main/java/org/apache/airavata/credential/store/util/PrivateKeyStore.java
rename to 
airavata-api/src/main/java/org/apache/airavata/credential/util/PrivateKeyStore.java
index 7c1db99de2..e2ceba7567 100644
--- 
a/airavata-api/src/main/java/org/apache/airavata/credential/store/util/PrivateKeyStore.java
+++ 
b/airavata-api/src/main/java/org/apache/airavata/credential/util/PrivateKeyStore.java
@@ -17,7 +17,7 @@
 * specific language governing permissions and limitations
 * under the License.
 */
-package org.apache.airavata.credential.store.util;
+package org.apache.airavata.credential.util;
 
 import java.security.PrivateKey;
 import java.util.HashMap;
diff --git 
a/airavata-api/src/main/java/org/apache/airavata/credential/store/client/TestSSLClient.java
 
b/airavata-api/src/main/java/org/apache/airavata/credential/util/TestSSLClient.java
similarity index 99%
rename from 
airavata-api/src/main/java/org/apache/airavata/credential/store/client/TestSSLClient.java
rename to 
airavata-api/src/main/java/org/apache/airavata/credential/util/TestSSLClient.java
index 856201e558..f38501b1af 100644
--- 
a/airavata-api/src/main/java/org/apache/airavata/credential/store/client/TestSSLClient.java
+++ 
b/airavata-api/src/main/java/org/apache/airavata/credential/util/TestSSLClient.java
@@ -17,7 +17,7 @@
 * specific language governing permissions and limitations
 * under the License.
 */
-package org.apache.airavata.credential.store.client;
+package org.apache.airavata.credential.util;
 
 import java.io.File;
 import java.io.FileInputStream;
diff --git 
a/airavata-api/src/main/java/org/apache/airavata/credential/store/util/TokenGenerator.java
 
b/airavata-api/src/main/java/org/apache/airavata/credential/util/TokenGenerator.java
similarity index 96%
rename from 
airavata-api/src/main/java/org/apache/airavata/credential/store/util/TokenGenerator.java
rename to 
airavata-api/src/main/java/org/apache/airavata/credential/util/TokenGenerator.java
index 238ea21732..f4ad2746e9 100644
--- 
a/airavata-api/src/main/java/org/apache/airavata/credential/store/util/TokenGenerator.java
+++ 
b/airavata-api/src/main/java/org/apache/airavata/credential/util/TokenGenerator.java
@@ -17,7 +17,7 @@
 * specific language governing permissions and limitations
 * under the License.
 */
-package org.apache.airavata.credential.store.util;
+package org.apache.airavata.credential.util;
 
 /**
  * User: AmilaJ ([email protected])
diff --git 
a/airavata-api/src/main/java/org/apache/airavata/credential/store/util/Utility.java
 b/airavata-api/src/main/java/org/apache/airavata/credential/util/Utility.java
similarity index 93%
rename from 
airavata-api/src/main/java/org/apache/airavata/credential/store/util/Utility.java
rename to 
airavata-api/src/main/java/org/apache/airavata/credential/util/Utility.java
index 01ede6744e..f3d8961eca 100644
--- 
a/airavata-api/src/main/java/org/apache/airavata/credential/store/util/Utility.java
+++ 
b/airavata-api/src/main/java/org/apache/airavata/credential/util/Utility.java
@@ -17,7 +17,7 @@
 * specific language governing permissions and limitations
 * under the License.
 */
-package org.apache.airavata.credential.store.util;
+package org.apache.airavata.credential.util;
 
 import com.jcraft.jsch.JSch;
 import com.jcraft.jsch.KeyPair;
@@ -28,7 +28,7 @@ import java.text.DateFormat;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.Date;
-import org.apache.airavata.credential.store.credential.impl.ssh.SSHCredential;
+import org.apache.airavata.credential.model.SSHCredential;
 import org.apache.commons.io.FileUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -80,7 +80,7 @@ public class Utility {
         return new char[0];
     }
 
-    public static 
org.apache.airavata.credential.store.credential.impl.ssh.SSHCredential 
generateKeyPair(
+    public static org.apache.airavata.credential.model.SSHCredential 
generateKeyPair(
             SSHCredential credential) throws Exception {
         JSch jsch = new JSch();
         try {
diff --git 
a/airavata-api/src/main/java/org/apache/airavata/credential/store/notifier/CredentialStoreNotifier.java
 
b/airavata-api/src/main/java/org/apache/airavata/credential/util/notifier/CredentialStoreNotifier.java
similarity index 96%
rename from 
airavata-api/src/main/java/org/apache/airavata/credential/store/notifier/CredentialStoreNotifier.java
rename to 
airavata-api/src/main/java/org/apache/airavata/credential/util/notifier/CredentialStoreNotifier.java
index 63d6a2cdaf..56f56f7168 100644
--- 
a/airavata-api/src/main/java/org/apache/airavata/credential/store/notifier/CredentialStoreNotifier.java
+++ 
b/airavata-api/src/main/java/org/apache/airavata/credential/util/notifier/CredentialStoreNotifier.java
@@ -17,7 +17,7 @@
 * specific language governing permissions and limitations
 * under the License.
 */
-package org.apache.airavata.credential.store.notifier; /*
+package org.apache.airavata.credential.util.notifier; /*
                                                         *
                                                         * Licensed to the 
Apache Software Foundation (ASF) under one
                                                         * or more contributor 
license agreements.  See the NOTICE file
@@ -38,7 +38,7 @@ package org.apache.airavata.credential.store.notifier; /*
                                                         *
                                                         */
 
-import org.apache.airavata.credential.store.store.CredentialStoreException;
+import org.apache.airavata.credential.repository.CredentialStoreException;
 
 /**
  * This class is used to notify particular entity with expiring credentials.
diff --git 
a/airavata-api/src/main/java/org/apache/airavata/credential/store/notifier/NotificationMessage.java
 
b/airavata-api/src/main/java/org/apache/airavata/credential/util/notifier/NotificationMessage.java
similarity index 95%
rename from 
airavata-api/src/main/java/org/apache/airavata/credential/store/notifier/NotificationMessage.java
rename to 
airavata-api/src/main/java/org/apache/airavata/credential/util/notifier/NotificationMessage.java
index 30b8e1a3a7..246b209284 100644
--- 
a/airavata-api/src/main/java/org/apache/airavata/credential/store/notifier/NotificationMessage.java
+++ 
b/airavata-api/src/main/java/org/apache/airavata/credential/util/notifier/NotificationMessage.java
@@ -17,7 +17,7 @@
 * specific language governing permissions and limitations
 * under the License.
 */
-package org.apache.airavata.credential.store.notifier;
+package org.apache.airavata.credential.util.notifier;
 
 /**
  * User: AmilaJ ([email protected])
diff --git 
a/airavata-api/src/main/java/org/apache/airavata/credential/store/notifier/NotifierBootstrap.java
 
b/airavata-api/src/main/java/org/apache/airavata/credential/util/notifier/NotifierBootstrap.java
similarity index 84%
rename from 
airavata-api/src/main/java/org/apache/airavata/credential/store/notifier/NotifierBootstrap.java
rename to 
airavata-api/src/main/java/org/apache/airavata/credential/util/notifier/NotifierBootstrap.java
index 7bd39474fc..00308a2e6f 100644
--- 
a/airavata-api/src/main/java/org/apache/airavata/credential/store/notifier/NotifierBootstrap.java
+++ 
b/airavata-api/src/main/java/org/apache/airavata/credential/util/notifier/NotifierBootstrap.java
@@ -17,7 +17,7 @@
 * specific language governing permissions and limitations
 * under the License.
 */
-package org.apache.airavata.credential.store.notifier;
+package org.apache.airavata.credential.util.notifier;
 
 /**
  * User: AmilaJ ([email protected])
@@ -28,16 +28,16 @@ import java.text.ParseException;
 import java.util.*;
 import org.apache.airavata.common.exception.ApplicationSettingsException;
 import org.apache.airavata.common.db.DBUtil;
-import org.apache.airavata.credential.store.credential.CommunityUser;
-import org.apache.airavata.credential.store.credential.Credential;
-import 
org.apache.airavata.credential.store.credential.impl.certificate.CertificateCredential;
-import 
org.apache.airavata.credential.store.notifier.impl.EmailNotificationMessage;
-import org.apache.airavata.credential.store.notifier.impl.EmailNotifier;
-import 
org.apache.airavata.credential.store.notifier.impl.EmailNotifierConfiguration;
-import org.apache.airavata.credential.store.store.CredentialReader;
-import org.apache.airavata.credential.store.store.CredentialStoreException;
-import org.apache.airavata.credential.store.store.impl.CredentialReaderImpl;
-import org.apache.airavata.credential.store.util.Utility;
+import org.apache.airavata.credential.model.CommunityUser;
+import org.apache.airavata.credential.model.Credential;
+import org.apache.airavata.credential.model.CertificateCredential;
+import 
org.apache.airavata.credential.util.notifier.impl.EmailNotificationMessage;
+import org.apache.airavata.credential.util.notifier.impl.EmailNotifier;
+import 
org.apache.airavata.credential.util.notifier.impl.EmailNotifierConfiguration;
+import org.apache.airavata.credential.repository.CredentialReader;
+import org.apache.airavata.credential.repository.CredentialStoreException;
+import org.apache.airavata.credential.repository.CredentialReaderImpl;
+import org.apache.airavata.credential.util.Utility;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
diff --git 
a/airavata-api/src/main/java/org/apache/airavata/credential/store/notifier/impl/EmailNotificationMessage.java
 
b/airavata-api/src/main/java/org/apache/airavata/credential/util/notifier/impl/EmailNotificationMessage.java
similarity index 91%
rename from 
airavata-api/src/main/java/org/apache/airavata/credential/store/notifier/impl/EmailNotificationMessage.java
rename to 
airavata-api/src/main/java/org/apache/airavata/credential/util/notifier/impl/EmailNotificationMessage.java
index aecd2bf970..f692913f3e 100644
--- 
a/airavata-api/src/main/java/org/apache/airavata/credential/store/notifier/impl/EmailNotificationMessage.java
+++ 
b/airavata-api/src/main/java/org/apache/airavata/credential/util/notifier/impl/EmailNotificationMessage.java
@@ -17,9 +17,9 @@
 * specific language governing permissions and limitations
 * under the License.
 */
-package org.apache.airavata.credential.store.notifier.impl;
+package org.apache.airavata.credential.util.notifier.impl;
 
-import org.apache.airavata.credential.store.notifier.NotificationMessage;
+import org.apache.airavata.credential.util.notifier.NotificationMessage;
 
 /**
  * User: AmilaJ ([email protected])
diff --git 
a/airavata-api/src/main/java/org/apache/airavata/credential/store/notifier/impl/EmailNotifier.java
 
b/airavata-api/src/main/java/org/apache/airavata/credential/util/notifier/impl/EmailNotifier.java
similarity index 89%
rename from 
airavata-api/src/main/java/org/apache/airavata/credential/store/notifier/impl/EmailNotifier.java
rename to 
airavata-api/src/main/java/org/apache/airavata/credential/util/notifier/impl/EmailNotifier.java
index 9654193777..abb4cdcb4a 100644
--- 
a/airavata-api/src/main/java/org/apache/airavata/credential/store/notifier/impl/EmailNotifier.java
+++ 
b/airavata-api/src/main/java/org/apache/airavata/credential/util/notifier/impl/EmailNotifier.java
@@ -17,11 +17,11 @@
 * specific language governing permissions and limitations
 * under the License.
 */
-package org.apache.airavata.credential.store.notifier.impl;
+package org.apache.airavata.credential.util.notifier.impl;
 
-import org.apache.airavata.credential.store.notifier.CredentialStoreNotifier;
-import org.apache.airavata.credential.store.notifier.NotificationMessage;
-import org.apache.airavata.credential.store.store.CredentialStoreException;
+import org.apache.airavata.credential.util.notifier.CredentialStoreNotifier;
+import org.apache.airavata.credential.util.notifier.NotificationMessage;
+import org.apache.airavata.credential.repository.CredentialStoreException;
 import org.apache.commons.mail.*;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git 
a/airavata-api/src/main/java/org/apache/airavata/credential/store/notifier/impl/EmailNotifierConfiguration.java
 
b/airavata-api/src/main/java/org/apache/airavata/credential/util/notifier/impl/EmailNotifierConfiguration.java
similarity index 97%
rename from 
airavata-api/src/main/java/org/apache/airavata/credential/store/notifier/impl/EmailNotifierConfiguration.java
rename to 
airavata-api/src/main/java/org/apache/airavata/credential/util/notifier/impl/EmailNotifierConfiguration.java
index 4adcc8d2cc..0628614f69 100644
--- 
a/airavata-api/src/main/java/org/apache/airavata/credential/store/notifier/impl/EmailNotifierConfiguration.java
+++ 
b/airavata-api/src/main/java/org/apache/airavata/credential/util/notifier/impl/EmailNotifierConfiguration.java
@@ -17,7 +17,7 @@
 * specific language governing permissions and limitations
 * under the License.
 */
-package org.apache.airavata.credential.store.notifier.impl;
+package org.apache.airavata.credential.util.notifier.impl;
 
 /**
  * User: AmilaJ ([email protected])
diff --git 
a/airavata-api/src/main/java/org/apache/airavata/helix/impl/participant/GlobalParticipant.java
 
b/airavata-api/src/main/java/org/apache/airavata/helix/impl/participant/GlobalParticipant.java
index 31840c8165..cdafa7f466 100644
--- 
a/airavata-api/src/main/java/org/apache/airavata/helix/impl/participant/GlobalParticipant.java
+++ 
b/airavata-api/src/main/java/org/apache/airavata/helix/impl/participant/GlobalParticipant.java
@@ -37,7 +37,7 @@ public class GlobalParticipant extends 
HelixParticipant<AbstractTask> implements
     private IServer.ServerStatus status = IServer.ServerStatus.STOPPED;
 
     public static final String[] TASK_CLASS_NAMES = {
-        "org.apache.airavata.helix.impl.task.env.EnvSetupTask",
+        "org.apache.airavata.credential.task.EnvSetupTask",
         "org.apache.airavata.helix.impl.task.staging.InputDataStagingTask",
         "org.apache.airavata.helix.impl.task.staging.OutputDataStagingTask",
         "org.apache.airavata.helix.impl.task.staging.JobVerificationTask",
diff --git 
a/airavata-api/src/main/java/org/apache/airavata/helix/impl/task/SlurmTaskFactory.java
 
b/airavata-api/src/main/java/org/apache/airavata/helix/impl/task/SlurmTaskFactory.java
index 4a6f2d5dcf..da50de72c5 100644
--- 
a/airavata-api/src/main/java/org/apache/airavata/helix/impl/task/SlurmTaskFactory.java
+++ 
b/airavata-api/src/main/java/org/apache/airavata/helix/impl/task/SlurmTaskFactory.java
@@ -20,7 +20,7 @@
 package org.apache.airavata.helix.impl.task;
 
 import org.apache.airavata.helix.impl.task.completing.CompletingTask;
-import org.apache.airavata.helix.impl.task.env.EnvSetupTask;
+import org.apache.airavata.credential.task.EnvSetupTask;
 import org.apache.airavata.helix.impl.task.parsing.ParsingTriggeringTask;
 import org.apache.airavata.helix.impl.task.staging.ArchiveTask;
 import org.apache.airavata.helix.impl.task.staging.InputDataStagingTask;
diff --git 
a/airavata-api/src/main/java/org/apache/airavata/orchestrator/core/impl/GFACPassiveJobSubmitter.java
 
b/airavata-api/src/main/java/org/apache/airavata/orchestrator/core/impl/GFACPassiveJobSubmitter.java
index ac25a7390f..6608995ee1 100644
--- 
a/airavata-api/src/main/java/org/apache/airavata/orchestrator/core/impl/GFACPassiveJobSubmitter.java
+++ 
b/airavata-api/src/main/java/org/apache/airavata/orchestrator/core/impl/GFACPassiveJobSubmitter.java
@@ -23,7 +23,7 @@ import java.util.UUID;
 import org.apache.airavata.common.exception.AiravataException;
 import org.apache.airavata.common.util.AiravataUtils;
 import org.apache.airavata.common.config.ServerSettings;
-import org.apache.airavata.credential.store.store.CredentialReader;
+import org.apache.airavata.credential.repository.CredentialReader;
 import org.apache.airavata.messaging.service.MessageContext;
 import org.apache.airavata.messaging.service.MessagingFactory;
 import org.apache.airavata.messaging.service.Publisher;
diff --git 
a/airavata-api/src/main/java/org/apache/airavata/orchestrator/core/utils/OrchestratorUtils.java
 
b/airavata-api/src/main/java/org/apache/airavata/orchestrator/core/utils/OrchestratorUtils.java
index 43cf3e64ba..5525e76a48 100644
--- 
a/airavata-api/src/main/java/org/apache/airavata/orchestrator/core/utils/OrchestratorUtils.java
+++ 
b/airavata-api/src/main/java/org/apache/airavata/orchestrator/core/utils/OrchestratorUtils.java
@@ -29,8 +29,8 @@ import 
org.apache.airavata.common.exception.ApplicationSettingsException;
 import org.apache.airavata.common.db.DBUtil;
 import org.apache.airavata.common.config.ServerSettings;
 import org.apache.airavata.common.util.ThriftUtils;
-import org.apache.airavata.credential.store.store.CredentialReader;
-import org.apache.airavata.credential.store.store.impl.CredentialReaderImpl;
+import org.apache.airavata.credential.repository.CredentialReader;
+import org.apache.airavata.credential.repository.CredentialReaderImpl;
 import 
org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription;
 import org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission;
 import 
org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription;
diff --git 
a/airavata-api/src/main/java/org/apache/airavata/security/service/GatewayGroupsInitializer.java
 
b/airavata-api/src/main/java/org/apache/airavata/security/service/GatewayGroupsInitializer.java
index 28382bf325..bb62829f96 100644
--- 
a/airavata-api/src/main/java/org/apache/airavata/security/service/GatewayGroupsInitializer.java
+++ 
b/airavata-api/src/main/java/org/apache/airavata/security/service/GatewayGroupsInitializer.java
@@ -23,7 +23,7 @@ import 
org.apache.airavata.common.exception.ApplicationSettingsException;
 import org.apache.airavata.common.util.AiravataUtils;
 import org.apache.airavata.common.config.ServerSettings;
 import org.apache.airavata.common.util.ThriftUtils;
-import 
org.apache.airavata.credential.store.client.CredentialStoreClientFactory;
+import org.apache.airavata.credential.util.CredentialStoreClientFactory;
 import org.apache.airavata.credential.store.cpi.CredentialStoreService;
 import org.apache.airavata.credential.store.exception.CredentialStoreException;
 import org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups;
diff --git 
a/airavata-api/src/main/java/org/apache/airavata/security/service/KeyCloakSecurityManager.java
 
b/airavata-api/src/main/java/org/apache/airavata/security/service/KeyCloakSecurityManager.java
index b88d423774..18deb2071b 100644
--- 
a/airavata-api/src/main/java/org/apache/airavata/security/service/KeyCloakSecurityManager.java
+++ 
b/airavata-api/src/main/java/org/apache/airavata/security/service/KeyCloakSecurityManager.java
@@ -32,7 +32,7 @@ import 
org.apache.airavata.common.exception.ApplicationSettingsException;
 import org.apache.airavata.common.config.Constants;
 import org.apache.airavata.common.config.ServerSettings;
 import org.apache.airavata.common.util.ThriftUtils;
-import 
org.apache.airavata.credential.store.client.CredentialStoreClientFactory;
+import org.apache.airavata.credential.util.CredentialStoreClientFactory;
 import org.apache.airavata.credential.store.cpi.CredentialStoreService;
 import org.apache.airavata.credential.store.exception.CredentialStoreException;
 import org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups;
diff --git 
a/airavata-api/src/main/java/org/apache/airavata/service/appcatalog/ApplicationCatalogService.java
 
b/airavata-api/src/main/java/org/apache/airavata/service/appcatalog/ApplicationCatalogService.java
index 61175a8ca0..d43d86f89c 100644
--- 
a/airavata-api/src/main/java/org/apache/airavata/service/appcatalog/ApplicationCatalogService.java
+++ 
b/airavata-api/src/main/java/org/apache/airavata/service/appcatalog/ApplicationCatalogService.java
@@ -22,7 +22,7 @@ package org.apache.airavata.service.appcatalog;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
-import 
org.apache.airavata.credential.store.server.CredentialStoreServerHandler;
+import org.apache.airavata.credential.handler.CredentialStoreServerHandler;
 import 
org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription;
 import org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule;
 import 
org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription;
diff --git 
a/airavata-api/src/main/java/org/apache/airavata/service/resourceprofile/GatewayResourceProfileService.java
 
b/airavata-api/src/main/java/org/apache/airavata/service/resourceprofile/GatewayResourceProfileService.java
index 8be6a20291..43a92fcbbc 100644
--- 
a/airavata-api/src/main/java/org/apache/airavata/service/resourceprofile/GatewayResourceProfileService.java
+++ 
b/airavata-api/src/main/java/org/apache/airavata/service/resourceprofile/GatewayResourceProfileService.java
@@ -21,9 +21,9 @@ package org.apache.airavata.service.resourceprofile;
 
 import java.util.ArrayList;
 import java.util.List;
-import org.apache.airavata.accountprovisioning.ConfigParam;
-import org.apache.airavata.accountprovisioning.SSHAccountProvisionerFactory;
-import org.apache.airavata.accountprovisioning.SSHAccountProvisionerProvider;
+import org.apache.airavata.credential.service.provisioning.ConfigParam;
+import 
org.apache.airavata.credential.service.provisioning.SSHAccountProvisionerFactory;
+import 
org.apache.airavata.credential.service.provisioning.SSHAccountProvisionerProvider;
 import 
org.apache.airavata.model.appcatalog.accountprovisioning.SSHAccountProvisioner;
 import 
org.apache.airavata.model.appcatalog.accountprovisioning.SSHAccountProvisionerConfigParam;
 import 
org.apache.airavata.model.appcatalog.accountprovisioning.SSHAccountProvisionerConfigParamType;
diff --git 
a/airavata-api/src/main/java/org/apache/airavata/sharing/util/AiravataDataMigrator.java
 
b/airavata-api/src/main/java/org/apache/airavata/sharing/util/AiravataDataMigrator.java
index a116ce7db9..cb3d5f8aa7 100644
--- 
a/airavata-api/src/main/java/org/apache/airavata/sharing/util/AiravataDataMigrator.java
+++ 
b/airavata-api/src/main/java/org/apache/airavata/sharing/util/AiravataDataMigrator.java
@@ -33,7 +33,7 @@ import java.util.stream.Collectors;
 import org.apache.airavata.common.exception.ApplicationSettingsException;
 import org.apache.airavata.common.util.AiravataUtils;
 import org.apache.airavata.common.config.ServerSettings;
-import 
org.apache.airavata.credential.store.client.CredentialStoreClientFactory;
+import org.apache.airavata.credential.util.CredentialStoreClientFactory;
 import org.apache.airavata.credential.store.cpi.CredentialStoreService;
 import org.apache.airavata.credential.store.exception.CredentialStoreException;
 import 
org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription;
diff --git 
a/airavata-api/src/test/java/org/apache/airavata/credential/store/store/impl/db/CommunityUserDAOTest.java
 
b/airavata-api/src/test/java/org/apache/airavata/credential/repository/db/CommunityUserDAOTest.java
similarity index 98%
rename from 
airavata-api/src/test/java/org/apache/airavata/credential/store/store/impl/db/CommunityUserDAOTest.java
rename to 
airavata-api/src/test/java/org/apache/airavata/credential/repository/db/CommunityUserDAOTest.java
index 71d977f061..a01ce3c8a9 100644
--- 
a/airavata-api/src/test/java/org/apache/airavata/credential/store/store/impl/db/CommunityUserDAOTest.java
+++ 
b/airavata-api/src/test/java/org/apache/airavata/credential/repository/db/CommunityUserDAOTest.java
@@ -17,7 +17,7 @@
 * specific language governing permissions and limitations
 * under the License.
 */
-package org.apache.airavata.credential.store.store.impl.db;
+package org.apache.airavata.credential.repository.db;
 
 import static org.junit.jupiter.api.Assertions.*;
 
@@ -26,7 +26,7 @@ import java.util.List;
 import org.apache.airavata.common.db.DBUtil;
 import org.apache.airavata.common.utils.DatabaseTestCases;
 import org.apache.airavata.common.db.DerbyUtil;
-import org.apache.airavata.credential.store.credential.CommunityUser;
+import org.apache.airavata.credential.model.CommunityUser;
 import org.junit.jupiter.api.*;
 
 /**
diff --git 
a/airavata-api/src/test/java/org/apache/airavata/credential/store/store/impl/db/CredentialsDAOTest.java
 
b/airavata-api/src/test/java/org/apache/airavata/credential/repository/db/CredentialsDAOTest.java
similarity index 97%
rename from 
airavata-api/src/test/java/org/apache/airavata/credential/store/store/impl/db/CredentialsDAOTest.java
rename to 
airavata-api/src/test/java/org/apache/airavata/credential/repository/db/CredentialsDAOTest.java
index 9c967a251a..844a4dca34 100644
--- 
a/airavata-api/src/test/java/org/apache/airavata/credential/store/store/impl/db/CredentialsDAOTest.java
+++ 
b/airavata-api/src/test/java/org/apache/airavata/credential/repository/db/CredentialsDAOTest.java
@@ -17,7 +17,7 @@
 * specific language governing permissions and limitations
 * under the License.
 */
-package org.apache.airavata.credential.store.store.impl.db;
+package org.apache.airavata.credential.repository.db;
 
 import static org.junit.jupiter.api.Assertions.*;
 
@@ -34,11 +34,11 @@ import org.apache.airavata.common.db.DBUtil;
 import org.apache.airavata.common.utils.DatabaseTestCases;
 import org.apache.airavata.common.db.DerbyUtil;
 import org.apache.airavata.common.server.KeyStorePasswordCallback;
-import org.apache.airavata.credential.store.credential.CommunityUser;
-import org.apache.airavata.credential.store.credential.Credential;
-import org.apache.airavata.credential.store.credential.CredentialOwnerType;
-import 
org.apache.airavata.credential.store.credential.impl.certificate.CertificateCredential;
-import org.apache.airavata.credential.store.store.CredentialStoreException;
+import org.apache.airavata.credential.model.CommunityUser;
+import org.apache.airavata.credential.model.Credential;
+import org.apache.airavata.credential.model.CredentialOwnerType;
+import org.apache.airavata.credential.model.CertificateCredential;
+import org.apache.airavata.credential.repository.CredentialStoreException;
 import org.junit.jupiter.api.AfterAll;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.BeforeEach;
diff --git 
a/airavata-api/src/test/java/org/apache/airavata/credential/store/store/impl/db/SSHCredentialTest.java
 
b/airavata-api/src/test/java/org/apache/airavata/credential/repository/db/SSHCredentialTest.java
similarity index 90%
rename from 
airavata-api/src/test/java/org/apache/airavata/credential/store/store/impl/db/SSHCredentialTest.java
rename to 
airavata-api/src/test/java/org/apache/airavata/credential/repository/db/SSHCredentialTest.java
index 4730c4b450..30d9d35b62 100644
--- 
a/airavata-api/src/test/java/org/apache/airavata/credential/store/store/impl/db/SSHCredentialTest.java
+++ 
b/airavata-api/src/test/java/org/apache/airavata/credential/repository/db/SSHCredentialTest.java
@@ -17,7 +17,7 @@
 * specific language governing permissions and limitations
 * under the License.
 */
-package org.apache.airavata.credential.store.store.impl.db;
+package org.apache.airavata.credential.repository.db;
 
 import java.io.File;
 import java.io.FileInputStream;
@@ -25,10 +25,10 @@ import java.io.FileNotFoundException;
 import java.io.IOException;
 import org.apache.airavata.common.exception.ApplicationSettingsException;
 import org.apache.airavata.common.db.DBUtil;
-import org.apache.airavata.credential.store.credential.impl.ssh.SSHCredential;
-import org.apache.airavata.credential.store.store.CredentialStoreException;
-import org.apache.airavata.credential.store.store.impl.SSHCredentialWriter;
-import org.apache.airavata.credential.store.util.TokenGenerator;
+import org.apache.airavata.credential.model.SSHCredential;
+import org.apache.airavata.credential.repository.CredentialStoreException;
+import org.apache.airavata.credential.repository.SSHCredentialWriter;
+import org.apache.airavata.credential.util.TokenGenerator;
 
 public class SSHCredentialTest {
 
diff --git 
a/airavata-api/src/test/java/org/apache/airavata/service/credential/CredentialServiceTest.java
 
b/airavata-api/src/test/java/org/apache/airavata/credential/service/CredentialServiceTest.java
similarity index 98%
rename from 
airavata-api/src/test/java/org/apache/airavata/service/credential/CredentialServiceTest.java
rename to 
airavata-api/src/test/java/org/apache/airavata/credential/service/CredentialServiceTest.java
index 5f5effdcd4..65ef2053c7 100644
--- 
a/airavata-api/src/test/java/org/apache/airavata/service/credential/CredentialServiceTest.java
+++ 
b/airavata-api/src/test/java/org/apache/airavata/credential/service/CredentialServiceTest.java
@@ -17,7 +17,7 @@
 * specific language governing permissions and limitations
 * under the License.
 */
-package org.apache.airavata.service.credential;
+package org.apache.airavata.credential.service;
 
 import static org.junit.jupiter.api.Assertions.*;
 import static org.mockito.ArgumentMatchers.*;
@@ -25,7 +25,7 @@ import static org.mockito.Mockito.*;
 
 import java.util.List;
 import java.util.Map;
-import 
org.apache.airavata.credential.store.server.CredentialStoreServerHandler;
+import org.apache.airavata.credential.handler.CredentialStoreServerHandler;
 import org.apache.airavata.model.credential.store.CredentialSummary;
 import org.apache.airavata.model.credential.store.SummaryType;
 import org.apache.airavata.model.group.ResourcePermissionType;
diff --git 
a/airavata-api/src/test/java/org/apache/airavata/service/ssh/SSHAccountServiceTest.java
 
b/airavata-api/src/test/java/org/apache/airavata/credential/service/SSHAccountServiceTest.java
similarity index 96%
rename from 
airavata-api/src/test/java/org/apache/airavata/service/ssh/SSHAccountServiceTest.java
rename to 
airavata-api/src/test/java/org/apache/airavata/credential/service/SSHAccountServiceTest.java
index 267d74aa25..fc1fdd95fe 100644
--- 
a/airavata-api/src/test/java/org/apache/airavata/service/ssh/SSHAccountServiceTest.java
+++ 
b/airavata-api/src/test/java/org/apache/airavata/credential/service/SSHAccountServiceTest.java
@@ -17,14 +17,14 @@
 * specific language governing permissions and limitations
 * under the License.
 */
-package org.apache.airavata.service.ssh;
+package org.apache.airavata.credential.service;
 
 import static org.junit.jupiter.api.Assertions.*;
 import static org.mockito.Mockito.*;
 
 import java.util.Map;
-import org.apache.airavata.accountprovisioning.SSHAccountManager;
-import 
org.apache.airavata.credential.store.server.CredentialStoreServerHandler;
+import org.apache.airavata.credential.service.provisioning.SSHAccountManager;
+import org.apache.airavata.credential.handler.CredentialStoreServerHandler;
 import 
org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference;
 import org.apache.airavata.model.credential.store.SSHCredential;
 import org.apache.airavata.service.context.RequestContext;
diff --git 
a/airavata-api/src/test/java/org/apache/airavata/accountprovisioning/SSHAccountProvisionerFactoryTest.java
 
b/airavata-api/src/test/java/org/apache/airavata/credential/service/provisioning/SSHAccountProvisionerFactoryTest.java
similarity index 95%
rename from 
airavata-api/src/test/java/org/apache/airavata/accountprovisioning/SSHAccountProvisionerFactoryTest.java
rename to 
airavata-api/src/test/java/org/apache/airavata/credential/service/provisioning/SSHAccountProvisionerFactoryTest.java
index 82d51eab49..5dbbada004 100644
--- 
a/airavata-api/src/test/java/org/apache/airavata/accountprovisioning/SSHAccountProvisionerFactoryTest.java
+++ 
b/airavata-api/src/test/java/org/apache/airavata/credential/service/provisioning/SSHAccountProvisionerFactoryTest.java
@@ -17,13 +17,13 @@
 * specific language governing permissions and limitations
 * under the License.
 */
-package org.apache.airavata.accountprovisioning;
+package org.apache.airavata.credential.service.provisioning;
 
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
-import 
org.apache.airavata.accountprovisioning.provisioner.TestSSHAccountProvisioner;
+import 
org.apache.airavata.credential.service.provisioning.provisioner.TestSSHAccountProvisioner;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 
diff --git 
a/airavata-api/src/test/java/org/apache/airavata/accountprovisioning/provisioner/TestSSHAccountProvisioner.java
 
b/airavata-api/src/test/java/org/apache/airavata/credential/service/provisioning/provisioner/TestSSHAccountProvisioner.java
similarity index 85%
rename from 
airavata-api/src/test/java/org/apache/airavata/accountprovisioning/provisioner/TestSSHAccountProvisioner.java
rename to 
airavata-api/src/test/java/org/apache/airavata/credential/service/provisioning/provisioner/TestSSHAccountProvisioner.java
index 8adbcd10f5..88385bbbb5 100644
--- 
a/airavata-api/src/test/java/org/apache/airavata/accountprovisioning/provisioner/TestSSHAccountProvisioner.java
+++ 
b/airavata-api/src/test/java/org/apache/airavata/credential/service/provisioning/provisioner/TestSSHAccountProvisioner.java
@@ -17,12 +17,12 @@
 * specific language governing permissions and limitations
 * under the License.
 */
-package org.apache.airavata.accountprovisioning.provisioner;
+package org.apache.airavata.credential.service.provisioning.provisioner;
 
 import java.util.Map;
-import org.apache.airavata.accountprovisioning.ConfigParam;
-import org.apache.airavata.accountprovisioning.InvalidUsernameException;
-import org.apache.airavata.accountprovisioning.SSHAccountProvisioner;
+import org.apache.airavata.credential.service.provisioning.ConfigParam;
+import 
org.apache.airavata.credential.service.provisioning.InvalidUsernameException;
+import 
org.apache.airavata.credential.service.provisioning.SSHAccountProvisioner;
 
 public class TestSSHAccountProvisioner implements SSHAccountProvisioner {
 
diff --git 
a/airavata-api/src/test/java/org/apache/airavata/accountprovisioning/provisioner/TestSSHAccountProvisionerProvider.java
 
b/airavata-api/src/test/java/org/apache/airavata/credential/service/provisioning/provisioner/TestSSHAccountProvisionerProvider.java
similarity index 89%
rename from 
airavata-api/src/test/java/org/apache/airavata/accountprovisioning/provisioner/TestSSHAccountProvisionerProvider.java
rename to 
airavata-api/src/test/java/org/apache/airavata/credential/service/provisioning/provisioner/TestSSHAccountProvisionerProvider.java
index ac47ab89ef..a3c06104f9 100644
--- 
a/airavata-api/src/test/java/org/apache/airavata/accountprovisioning/provisioner/TestSSHAccountProvisionerProvider.java
+++ 
b/airavata-api/src/test/java/org/apache/airavata/credential/service/provisioning/provisioner/TestSSHAccountProvisionerProvider.java
@@ -17,14 +17,14 @@
 * specific language governing permissions and limitations
 * under the License.
 */
-package org.apache.airavata.accountprovisioning.provisioner;
+package org.apache.airavata.credential.service.provisioning.provisioner;
 
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
-import org.apache.airavata.accountprovisioning.ConfigParam;
-import org.apache.airavata.accountprovisioning.SSHAccountProvisioner;
-import org.apache.airavata.accountprovisioning.SSHAccountProvisionerProvider;
+import org.apache.airavata.credential.service.provisioning.ConfigParam;
+import 
org.apache.airavata.credential.service.provisioning.SSHAccountProvisioner;
+import 
org.apache.airavata.credential.service.provisioning.SSHAccountProvisionerProvider;
 
 public class TestSSHAccountProvisionerProvider implements 
SSHAccountProvisionerProvider {
 
diff --git 
a/airavata-api/src/test/java/org/apache/airavata/credential/store/cpi/SSHSummaryTest/SSHSummaryTest.java
 
b/airavata-api/src/test/java/org/apache/airavata/credential/store/cpi/SSHSummaryTest/SSHSummaryTest.java
index 8c92e15547..e7a6ec12f4 100644
--- 
a/airavata-api/src/test/java/org/apache/airavata/credential/store/cpi/SSHSummaryTest/SSHSummaryTest.java
+++ 
b/airavata-api/src/test/java/org/apache/airavata/credential/store/cpi/SSHSummaryTest/SSHSummaryTest.java
@@ -31,10 +31,10 @@ import org.apache.airavata.common.db.DBUtil;
 import org.apache.airavata.common.utils.DatabaseTestCases;
 import org.apache.airavata.common.db.DerbyUtil;
 import org.apache.airavata.common.config.ServerSettings;
-import org.apache.airavata.credential.store.credential.impl.ssh.SSHCredential;
-import org.apache.airavata.credential.store.store.impl.SSHCredentialWriter;
-import org.apache.airavata.credential.store.store.impl.db.CredentialsDAO;
-import org.apache.airavata.credential.store.util.TokenGenerator;
+import org.apache.airavata.credential.model.SSHCredential;
+import org.apache.airavata.credential.repository.SSHCredentialWriter;
+import org.apache.airavata.credential.repository.db.CredentialsDAO;
+import org.apache.airavata.credential.util.TokenGenerator;
 import org.junit.jupiter.api.AfterAll;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.BeforeEach;
diff --git 
a/airavata-api/src/test/java/org/apache/airavata/credential/store/util/ConfigurationReaderTest.java
 
b/airavata-api/src/test/java/org/apache/airavata/credential/util/ConfigurationReaderTest.java
similarity index 97%
rename from 
airavata-api/src/test/java/org/apache/airavata/credential/store/util/ConfigurationReaderTest.java
rename to 
airavata-api/src/test/java/org/apache/airavata/credential/util/ConfigurationReaderTest.java
index e33aef5a07..1efa7c190d 100644
--- 
a/airavata-api/src/test/java/org/apache/airavata/credential/store/util/ConfigurationReaderTest.java
+++ 
b/airavata-api/src/test/java/org/apache/airavata/credential/util/ConfigurationReaderTest.java
@@ -17,7 +17,7 @@
 * specific language governing permissions and limitations
 * under the License.
 */
-package org.apache.airavata.credential.store.util;
+package org.apache.airavata.credential.util;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
diff --git 
a/airavata-api/src/test/java/org/apache/airavata/credential/store/util/TokenGeneratorTest.java
 
b/airavata-api/src/test/java/org/apache/airavata/credential/util/TokenGeneratorTest.java
similarity index 95%
rename from 
airavata-api/src/test/java/org/apache/airavata/credential/store/util/TokenGeneratorTest.java
rename to 
airavata-api/src/test/java/org/apache/airavata/credential/util/TokenGeneratorTest.java
index c13ab62fd0..ff25e7f517 100644
--- 
a/airavata-api/src/test/java/org/apache/airavata/credential/store/util/TokenGeneratorTest.java
+++ 
b/airavata-api/src/test/java/org/apache/airavata/credential/util/TokenGeneratorTest.java
@@ -17,7 +17,7 @@
 * specific language governing permissions and limitations
 * under the License.
 */
-package org.apache.airavata.credential.store.util;
+package org.apache.airavata.credential.util;
 
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 
diff --git 
a/airavata-api/src/test/java/org/apache/airavata/credential/store/notifier/impl/EmailNotifierTest.java
 
b/airavata-api/src/test/java/org/apache/airavata/credential/util/notifier/impl/EmailNotifierTest.java
similarity index 96%
rename from 
airavata-api/src/test/java/org/apache/airavata/credential/store/notifier/impl/EmailNotifierTest.java
rename to 
airavata-api/src/test/java/org/apache/airavata/credential/util/notifier/impl/EmailNotifierTest.java
index 1e7e928d23..774aa1bb3d 100644
--- 
a/airavata-api/src/test/java/org/apache/airavata/credential/store/notifier/impl/EmailNotifierTest.java
+++ 
b/airavata-api/src/test/java/org/apache/airavata/credential/util/notifier/impl/EmailNotifierTest.java
@@ -17,7 +17,7 @@
 * specific language governing permissions and limitations
 * under the License.
 */
-package org.apache.airavata.credential.store.notifier.impl;
+package org.apache.airavata.credential.util.notifier.impl;
 
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
diff --git 
a/airavata-api/src/test/java/org/apache/airavata/service/appcatalog/ApplicationCatalogServiceTest.java
 
b/airavata-api/src/test/java/org/apache/airavata/service/appcatalog/ApplicationCatalogServiceTest.java
index e034d5734f..193c92468b 100644
--- 
a/airavata-api/src/test/java/org/apache/airavata/service/appcatalog/ApplicationCatalogServiceTest.java
+++ 
b/airavata-api/src/test/java/org/apache/airavata/service/appcatalog/ApplicationCatalogServiceTest.java
@@ -24,7 +24,7 @@ import static org.mockito.Mockito.*;
 
 import java.util.List;
 import java.util.Map;
-import 
org.apache.airavata.credential.store.server.CredentialStoreServerHandler;
+import org.apache.airavata.credential.handler.CredentialStoreServerHandler;
 import 
org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription;
 import org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule;
 import 
org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription;
diff --git 
a/airavata-thrift-server/src/main/java/org/apache/airavata/api/server/AiravataServer.java
 
b/airavata-thrift-server/src/main/java/org/apache/airavata/api/server/AiravataServer.java
index 34b48d7095..1e2db44785 100644
--- 
a/airavata-thrift-server/src/main/java/org/apache/airavata/api/server/AiravataServer.java
+++ 
b/airavata-thrift-server/src/main/java/org/apache/airavata/api/server/AiravataServer.java
@@ -34,8 +34,8 @@ import org.apache.airavata.common.server.IServer;
 import org.apache.airavata.common.config.ServerSettings;
 import 
org.apache.airavata.compute.resource.monitoring.ComputationalResourceMonitoringService;
 import org.apache.airavata.credential.store.cpi.CredentialStoreService;
-import 
org.apache.airavata.credential.store.server.CredentialStoreServerHandler;
-import 
org.apache.airavata.credential.store.store.impl.util.CredentialStoreDBInitConfig;
+import org.apache.airavata.credential.handler.CredentialStoreServerHandler;
+import 
org.apache.airavata.credential.repository.util.CredentialStoreDBInitConfig;
 import org.apache.airavata.messaging.handler.DBEventManagerRunner;
 import org.apache.airavata.helix.core.AbstractTask;
 import org.apache.airavata.helix.impl.controller.HelixController;
diff --git 
a/airavata-thrift-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
 
b/airavata-thrift-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
index 6db98e9cb4..67350b48ff 100644
--- 
a/airavata-thrift-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
+++ 
b/airavata-thrift-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
@@ -26,7 +26,7 @@ import org.apache.airavata.api.airavata_apiConstants;
 import org.apache.airavata.common.exception.AiravataException;
 import org.apache.airavata.common.exception.ApplicationSettingsException;
 import org.apache.airavata.common.config.ServerSettings;
-import 
org.apache.airavata.credential.store.server.CredentialStoreServerHandler;
+import org.apache.airavata.credential.handler.CredentialStoreServerHandler;
 import org.apache.airavata.messaging.service.MessagingFactory;
 import org.apache.airavata.messaging.service.Publisher;
 import org.apache.airavata.messaging.service.Type;
@@ -74,7 +74,7 @@ import org.apache.airavata.model.workspace.Notification;
 import org.apache.airavata.model.workspace.Project;
 import org.apache.airavata.registry.api.service.handler.RegistryServerHandler;
 import org.apache.airavata.service.appcatalog.ApplicationCatalogService;
-import org.apache.airavata.service.credential.CredentialService;
+import org.apache.airavata.credential.service.CredentialService;
 import org.apache.airavata.service.dataproduct.DataProductService;
 import org.apache.airavata.service.experiment.ExperimentService;
 import org.apache.airavata.service.gateway.GatewayService;
@@ -115,7 +115,7 @@ public class AiravataServerHandler implements 
Airavata.Iface {
     private final GroupResourceProfileService groupResourceProfileService;
     private final ParserService parserService;
     private final ResourceSharingService resourceSharingService;
-    private final org.apache.airavata.service.ssh.SSHAccountService 
sshAccountService;
+    private final org.apache.airavata.credential.service.SSHAccountService 
sshAccountService;
 
     public AiravataServerHandler(
             RegistryServerHandler registryHandler,
@@ -148,7 +148,7 @@ public class AiravataServerHandler implements 
Airavata.Iface {
         this.resourceService = new ResourceService(registryHandler, 
this.groupResourceProfileService);
         this.parserService = new ParserService(registryHandler);
         this.resourceSharingService = new 
ResourceSharingService(sharingHandler, registryHandler);
-        this.sshAccountService = new 
org.apache.airavata.service.ssh.SSHAccountService(credentialHandler);
+        this.sshAccountService = new 
org.apache.airavata.credential.service.SSHAccountService(credentialHandler);
     }
 
     public AiravataServerHandler() throws Exception {
diff --git 
a/airavata-thrift-server/src/main/java/org/apache/airavata/service/profile/handlers/IamAdminServicesHandler.java
 
b/airavata-thrift-server/src/main/java/org/apache/airavata/service/profile/handlers/IamAdminServicesHandler.java
index a7f522f803..7d99eef300 100644
--- 
a/airavata-thrift-server/src/main/java/org/apache/airavata/service/profile/handlers/IamAdminServicesHandler.java
+++ 
b/airavata-thrift-server/src/main/java/org/apache/airavata/service/profile/handlers/IamAdminServicesHandler.java
@@ -26,7 +26,7 @@ import org.apache.airavata.common.util.AiravataUtils;
 import org.apache.airavata.common.config.Constants;
 import org.apache.airavata.messaging.util.DBEventService;
 import org.apache.airavata.common.config.ServerSettings;
-import 
org.apache.airavata.credential.store.client.CredentialStoreClientFactory;
+import org.apache.airavata.credential.util.CredentialStoreClientFactory;
 import org.apache.airavata.credential.store.cpi.CredentialStoreService;
 import org.apache.airavata.credential.store.exception.CredentialStoreException;
 import org.apache.airavata.messaging.util.DBEventPublisherUtils;
diff --git 
a/airavata-thrift-server/src/main/java/org/apache/airavata/service/profile/handlers/TenantProfileServiceHandler.java
 
b/airavata-thrift-server/src/main/java/org/apache/airavata/service/profile/handlers/TenantProfileServiceHandler.java
index 1c1a2eb05c..7177dcfe66 100644
--- 
a/airavata-thrift-server/src/main/java/org/apache/airavata/service/profile/handlers/TenantProfileServiceHandler.java
+++ 
b/airavata-thrift-server/src/main/java/org/apache/airavata/service/profile/handlers/TenantProfileServiceHandler.java
@@ -25,7 +25,7 @@ import 
org.apache.airavata.common.exception.ApplicationSettingsException;
 import org.apache.airavata.common.config.Constants;
 import org.apache.airavata.messaging.util.DBEventService;
 import org.apache.airavata.common.config.ServerSettings;
-import 
org.apache.airavata.credential.store.client.CredentialStoreClientFactory;
+import org.apache.airavata.credential.util.CredentialStoreClientFactory;
 import org.apache.airavata.credential.store.cpi.CredentialStoreService;
 import org.apache.airavata.credential.store.exception.CredentialStoreException;
 import org.apache.airavata.messaging.util.DBEventPublisherUtils;

Reply via email to