Updated Branches:
  refs/heads/master fe32cc521 -> 224f2007f

Adding cartrdige key per subscription to encrypt git repo password. Modifying 
cartridge agent script to remove git.sh generation. Adding SUBSCRIPTION_KEY 
column


Project: http://git-wip-us.apache.org/repos/asf/incubator-stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-stratos/commit/b863a144
Tree: http://git-wip-us.apache.org/repos/asf/incubator-stratos/tree/b863a144
Diff: http://git-wip-us.apache.org/repos/asf/incubator-stratos/diff/b863a144

Branch: refs/heads/master
Commit: b863a144b584e9a99ba66f4a71ca17a2d68feaf8
Parents: f02cc2b
Author: Sajith Kariyawasam <[email protected]>
Authored: Mon Nov 25 12:12:26 2013 +0530
Committer: Sajith Kariyawasam <[email protected]>
Committed: Mon Nov 25 12:12:26 2013 +0530

----------------------------------------------------------------------
 components/org.apache.stratos.adc.mgt/pom.xml   |   5 +
 .../adc/mgt/dao/CartridgeSubscriptionInfo.java  |   9 ++
 .../internal/ADCManagementServerComponent.java  |   2 +-
 .../manager/CartridgeSubscriptionManager.java   |  12 +-
 .../adc/mgt/payload/NonCarbonPayload.java       |   5 +-
 .../apache/stratos/adc/mgt/payload/Payload.java |   4 +-
 .../stratos/adc/mgt/payload/PayloadArg.java     |   9 ++
 .../service/RepositoryInformationService.java   |   6 +-
 .../mgt/subscription/CartridgeSubscription.java |  13 +-
 .../subscription/DataCartridgeSubscription.java |   2 +-
 .../MultiTenantCartridgeSubscription.java       |   2 +-
 .../SingleTenantCartridgeSubscription.java      |   2 +-
 .../mgt/utils/ApplicationManagementUtil.java    |  50 +++++---
 .../adc/mgt/utils/PersistenceManager.java       |  13 +-
 .../adc/mgt/utils/RepoPasswordMgtUtil.java      |   8 +-
 .../cartridge-agent/ec2/php/cartridge-agent.sh  | 123 -------------------
 .../resources/stratos_foundation.sql            |   1 +
 17 files changed, 102 insertions(+), 164 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/b863a144/components/org.apache.stratos.adc.mgt/pom.xml
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.adc.mgt/pom.xml 
b/components/org.apache.stratos.adc.mgt/pom.xml
index 1e97f45..af4618d 100644
--- a/components/org.apache.stratos.adc.mgt/pom.xml
+++ b/components/org.apache.stratos.adc.mgt/pom.xml
@@ -96,6 +96,11 @@
                        <artifactId>junit</artifactId>
                        <scope>test</scope>
                </dependency>
+       <dependency>
+               <groupId>org.apache.commons</groupId>
+               <artifactId>commons-lang3</artifactId>
+               <version>3.1</version>
+       </dependency>
        </dependencies>
 
        <build>

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/b863a144/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/dao/CartridgeSubscriptionInfo.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/dao/CartridgeSubscriptionInfo.java
 
b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/dao/CartridgeSubscriptionInfo.java
index f915a4a..6addf8a 100644
--- 
a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/dao/CartridgeSubscriptionInfo.java
+++ 
b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/dao/CartridgeSubscriptionInfo.java
@@ -43,6 +43,7 @@ public class CartridgeSubscriptionInfo {
        private String mappedDomain;
        private String mgtClusterDomain;
        private String mgtClusterSubDomain;
+       private String subscriptionKey;
 
        public int getSubscriptionId() {
                return subscriptionId;
@@ -188,4 +189,12 @@ public class CartridgeSubscriptionInfo {
                this.mgtClusterSubDomain = mgtClusterSubDomain;
        }
 
+       public String getSubscriptionKey() {
+               return subscriptionKey;
+       }
+
+       public void setSubscriptionKey(String subscriptionKey) {
+               this.subscriptionKey = subscriptionKey;
+       }       
+
 }

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/b863a144/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/internal/ADCManagementServerComponent.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/internal/ADCManagementServerComponent.java
 
b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/internal/ADCManagementServerComponent.java
index 56e3507..97b5e05 100644
--- 
a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/internal/ADCManagementServerComponent.java
+++ 
b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/internal/ADCManagementServerComponent.java
@@ -72,7 +72,7 @@ public class ADCManagementServerComponent {
                        DataHolder.setEventPublisher(new 
EventPublisher(Constants.ARTIFACT_SYNCHRONIZATION_TOPIC));
                        
             //initialting the subscriber
-            TopicSubscriber subscriber = new 
TopicSubscriber("instance-status");
+            TopicSubscriber subscriber = new 
TopicSubscriber(Constants.INSTANCE_STATUS_TOPIC);
             subscriber.setMessageListener(new InstanceStatusListener());
             Thread tsubscriber = new Thread(subscriber);
                        tsubscriber.start();

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/b863a144/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/manager/CartridgeSubscriptionManager.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/manager/CartridgeSubscriptionManager.java
 
b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/manager/CartridgeSubscriptionManager.java
index 83fc9a2..bc4641b 100644
--- 
a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/manager/CartridgeSubscriptionManager.java
+++ 
b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/manager/CartridgeSubscriptionManager.java
@@ -20,6 +20,7 @@
 package org.apache.stratos.adc.mgt.manager;
 
 import org.apache.axis2.AxisFault;
+import org.apache.commons.lang3.RandomStringUtils;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.stratos.adc.mgt.client.CloudControllerServiceClient;
@@ -126,10 +127,12 @@ public class CartridgeSubscriptionManager {
         Subscriber subscriber = new Subscriber(tenantAdminUsername, tenantId, 
tenantDomain);
 
         CartridgeSubscription cartridgeSubscription = 
CartridgeSubscriptionFactory.getCartridgeSubscriptionInstance(cartridgeInfo);
+        
         Repository repository = 
cartridgeSubscription.manageRepository(repositoryURL, repositoryUsername,
                 repositoryPassword, isPrivateRepository, cartridgeAlias, 
cartridgeInfo, tenantDomain);
-
+        
         cartridgeSubscription.createSubscription(subscriber, cartridgeAlias, 
autoScalingPolicy, repository);
+        cartridgeSubscription.setSubscriptionKey(generateSubscriptionKey()); 
// TODO ---- fix properly
 
         log.info("Tenant [" + tenantId + "] with username [" + 
tenantAdminUsername +
                 " subscribed to " + "] Cartridge Alias " + cartridgeAlias + ", 
Cartridge Type: " + cartridgeType +
@@ -435,4 +438,11 @@ public class CartridgeSubscriptionManager {
 
         return cartridgeSubscription;
     }
+    
+
+    private String generateSubscriptionKey() {
+       String key = RandomStringUtils.randomAlphanumeric(16);
+       log.info("Generated key  : " + key); // TODO -- remove the log
+               return key;
+       }
 }

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/b863a144/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/payload/NonCarbonPayload.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/payload/NonCarbonPayload.java
 
b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/payload/NonCarbonPayload.java
index b706459..e0df759 100644
--- 
a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/payload/NonCarbonPayload.java
+++ 
b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/payload/NonCarbonPayload.java
@@ -63,10 +63,7 @@ public class NonCarbonPayload extends Payload {
         if(payloadArg.getPolicy() != null) {
             
payloadBuilder.append(getAutoscalingParams(payloadArg.getPolicy()));
         }
-        
-        // git repository specific
-        payloadBuilder.append(",");
-        payloadBuilder.append("CARTRIDGE_KEY=" + 
CartridgeConstants.DEFAULT_SECURITY_KEY);
+                
     }
 
     private String createPortMappingPayloadString(CartridgeInfo cartridgeInfo) 
{

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/b863a144/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/payload/Payload.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/payload/Payload.java
 
b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/payload/Payload.java
index 85e3acb..724c32d 100644
--- 
a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/payload/Payload.java
+++ 
b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/payload/Payload.java
@@ -76,7 +76,9 @@ public abstract class Payload {
         payloadBuilder.append("CEP_PORT=" + 
System.getProperty(CartridgeConstants.CEP_PORT));
         payloadBuilder.append(",");
         payloadBuilder.append("CLUSTER_ID=" + payloadArg.getServiceDomain());
-
+        payloadBuilder.append(",");
+        payloadBuilder.append("CARTRIDGE_KEY=" + 
payloadArg.getSubscriptionKey());
+        
         if(payloadArg.getCartridgeInfo() != null) {
             payloadBuilder.append(",");
             payloadBuilder.append("SERVICE_NAME=" + 
payloadArg.getCartridgeInfo().getType());

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/b863a144/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/payload/PayloadArg.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/payload/PayloadArg.java
 
b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/payload/PayloadArg.java
index 98986f7..b7aed36 100755
--- 
a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/payload/PayloadArg.java
+++ 
b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/payload/PayloadArg.java
@@ -43,6 +43,7 @@ public class PayloadArg {
     private String mgtServiceDomain;
     private String mgtServiceSubDomain;
     private String deployment;
+    private String subscriptionKey;
 
     //data cartridge specific
     private String dataCartridgeHost;
@@ -182,4 +183,12 @@ public class PayloadArg {
     public void setServiceName(String serviceName) {
         this.serviceName = serviceName;
     }
+       public String getSubscriptionKey() {
+               return subscriptionKey;
+       }
+       public void setSubscriptionKey(String subscriptionKey) {
+               this.subscriptionKey = subscriptionKey;
+       }
+    
+    
 }

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/b863a144/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/service/RepositoryInformationService.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/service/RepositoryInformationService.java
 
b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/service/RepositoryInformationService.java
index 6534710..6ea6e04 100644
--- 
a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/service/RepositoryInformationService.java
+++ 
b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/service/RepositoryInformationService.java
@@ -52,7 +52,7 @@ public class RepositoryInformationService {
 
     public RepositoryCredentials getRepositoryCredentials(int tenantId, String 
cartridgeType, String alias) throws Exception {
 
-       RepositoryCredentials repoCredentials = null;
+       /*RepositoryCredentials repoCredentials = null;
         try {
                repoCredentials = 
PersistenceManager.getRepoCredentials(tenantId,cartridgeType, alias);
         } catch (Exception e) {
@@ -64,6 +64,8 @@ public class RepositoryInformationService {
             log.error("Repository credentials are not successfully retrieved " 
+ "for tenant [" + tenantId +
                     "] and cartridge [" + cartridgeType + "] ");
         }
-        return repoCredentials;
+        return repoCredentials;*/
+       log.error("This method is no longer supported");
+       throw new Exception("This method is no longer supported");
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/b863a144/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/CartridgeSubscription.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/CartridgeSubscription.java
 
b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/CartridgeSubscription.java
index afd3791..7ab5db2 100644
--- 
a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/CartridgeSubscription.java
+++ 
b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/CartridgeSubscription.java
@@ -60,6 +60,7 @@ public abstract class CartridgeSubscription {
     private String subscriptionStatus;
     private String mappedDomain;
     private List<String> connectedSubscriptionAliases;
+    private String subscriptionKey;
 
     /**
      * Constructor
@@ -164,7 +165,7 @@ public abstract class CartridgeSubscription {
         payloadArg.setTenantDomain(getSubscriber().getTenantDomain());
         payloadArg.setCartridgeAlias(getAlias());
         payloadArg.setServiceName(getCartridgeInfo().getType());
-
+        payloadArg.setSubscriptionKey(subscriptionKey);
         return payloadArg;
     }
 
@@ -413,4 +414,14 @@ public abstract class CartridgeSubscription {
     public void setSubscriptionStatus(String subscriptionStatus) {
         this.subscriptionStatus = subscriptionStatus;
     }
+
+       public String getSubscriptionKey() {
+               return subscriptionKey;
+       }
+
+       public void setSubscriptionKey(String subscriptionKey) {
+               this.subscriptionKey = subscriptionKey;
+       }
+    
+    
 }

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/b863a144/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/DataCartridgeSubscription.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/DataCartridgeSubscription.java
 
b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/DataCartridgeSubscription.java
index fcc7700..f87f0d3 100644
--- 
a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/DataCartridgeSubscription.java
+++ 
b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/DataCartridgeSubscription.java
@@ -97,7 +97,7 @@ public class DataCartridgeSubscription extends 
SingleTenantCartridgeSubscription
         return 
ApplicationManagementUtil.createCartridgeSubscription(getCartridgeInfo(), 
getAutoscalingPolicy(),
                 getType(), getAlias(), getSubscriber().getTenantId(), 
getSubscriber().getTenantDomain(),
                 getRepository(), getHostName(), getClusterDomain(), 
getClusterSubDomain(),
-                getMgtClusterDomain(), getMgtClusterSubDomain(), 
dataCartridge, "PENDING");
+                getMgtClusterDomain(), getMgtClusterSubDomain(), 
dataCartridge, "PENDING",getSubscriptionKey());
     }
 
     public String getHost() {

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/b863a144/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/MultiTenantCartridgeSubscription.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/MultiTenantCartridgeSubscription.java
 
b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/MultiTenantCartridgeSubscription.java
index 4e7796d..f6a4b59 100644
--- 
a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/MultiTenantCartridgeSubscription.java
+++ 
b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/MultiTenantCartridgeSubscription.java
@@ -122,7 +122,7 @@ public class MultiTenantCartridgeSubscription extends 
CartridgeSubscription {
         return 
ApplicationManagementUtil.createCartridgeSubscription(getCartridgeInfo(), 
getAutoscalingPolicy(),
                 getType(), getAlias(), getSubscriber().getTenantId(), 
getSubscriber().getTenantDomain(),
                 getRepository(), getHostName(), getClusterDomain(), 
getClusterSubDomain(),
-                getMgtClusterDomain(), getMgtClusterSubDomain(), null, 
"PENDING");
+                getMgtClusterDomain(), getMgtClusterSubDomain(), null, 
"PENDING",getSubscriptionKey());
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/b863a144/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/SingleTenantCartridgeSubscription.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/SingleTenantCartridgeSubscription.java
 
b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/SingleTenantCartridgeSubscription.java
index 4ed9bc5..1a551a0 100644
--- 
a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/SingleTenantCartridgeSubscription.java
+++ 
b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/SingleTenantCartridgeSubscription.java
@@ -73,7 +73,7 @@ public class SingleTenantCartridgeSubscription extends 
CartridgeSubscription {
         return 
ApplicationManagementUtil.createCartridgeSubscription(getCartridgeInfo(), 
getAutoscalingPolicy(),
                 getType(), getAlias(), getSubscriber().getTenantId(), 
getSubscriber().getTenantDomain(),
                 getRepository(), getHostName(), getClusterDomain(), 
getClusterSubDomain(),
-                getMgtClusterDomain(), getMgtClusterSubDomain(), null, 
"PENDING");
+                getMgtClusterDomain(), getMgtClusterSubDomain(), null, 
"PENDING",getSubscriptionKey());
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/b863a144/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/utils/ApplicationManagementUtil.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/utils/ApplicationManagementUtil.java
 
b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/utils/ApplicationManagementUtil.java
index e502b2f..0450def 100644
--- 
a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/utils/ApplicationManagementUtil.java
+++ 
b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/utils/ApplicationManagementUtil.java
@@ -1,4 +1,3 @@
-package org.apache.stratos.adc.mgt.utils;
 /*
  *
  * Licensed to the Apache Software Foundation (ASF) under one
@@ -20,13 +19,29 @@ package org.apache.stratos.adc.mgt.utils;
  *
 */
 
+package org.apache.stratos.adc.mgt.utils;
+
+
+import java.io.File;
+import java.io.IOException;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.rmi.RemoteException;
+import java.text.DecimalFormat;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+import java.util.UUID;
+import java.util.regex.Pattern;
 
-import com.google.gson.Gson;
 import org.apache.axis2.clustering.ClusteringAgent;
 import org.apache.axis2.clustering.Member;
 import org.apache.axis2.clustering.management.GroupManagementAgent;
 import org.apache.axis2.context.ConfigurationContext;
 import org.apache.axis2.engine.AxisConfiguration;
+import org.apache.commons.lang3.RandomStringUtils;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.stratos.adc.mgt.client.CloudControllerServiceClient;
@@ -38,12 +53,19 @@ import org.apache.stratos.adc.mgt.dto.Cartridge;
 import org.apache.stratos.adc.mgt.dto.Policy;
 import org.apache.stratos.adc.mgt.dto.RepositoryInformation;
 import org.apache.stratos.adc.mgt.dto.SubscriptionInfo;
-import org.apache.stratos.adc.mgt.exception.*;
+import org.apache.stratos.adc.mgt.exception.ADCException;
+import org.apache.stratos.adc.mgt.exception.DuplicateCartridgeAliasException;
+import org.apache.stratos.adc.mgt.exception.InvalidCartridgeAliasException;
+import org.apache.stratos.adc.mgt.exception.InvalidRepositoryException;
+import org.apache.stratos.adc.mgt.exception.NotSubscribedException;
+import 
org.apache.stratos.adc.mgt.exception.RepositoryCredentialsRequiredException;
+import org.apache.stratos.adc.mgt.exception.RepositoryRequiredException;
+import org.apache.stratos.adc.mgt.exception.RepositoryTransportException;
+import org.apache.stratos.adc.mgt.exception.UnregisteredCartridgeException;
 import org.apache.stratos.adc.mgt.internal.DataHolder;
 import org.apache.stratos.adc.mgt.repository.Repository;
 import org.apache.stratos.adc.mgt.service.RepositoryInfoBean;
 import org.apache.stratos.adc.topology.mgt.service.TopologyManagementService;
-import org.apache.stratos.adc.topology.mgt.serviceobjects.DomainContext;
 import 
org.apache.stratos.cloud.controller.stub.CloudControllerServiceUnregisteredCartridgeExceptionException;
 import org.apache.stratos.cloud.controller.util.xsd.CartridgeInfo;
 import org.apache.stratos.cloud.controller.util.xsd.Properties;
@@ -57,21 +79,8 @@ import org.eclipse.jgit.lib.Ref;
 import org.eclipse.jgit.storage.file.FileRepository;
 import org.eclipse.jgit.transport.CredentialsProvider;
 import org.eclipse.jgit.transport.UsernamePasswordCredentialsProvider;
-import org.wso2.carbon.utils.CarbonUtils;
 import org.wso2.carbon.utils.multitenancy.MultitenantUtils;
 
-import javax.activation.DataHandler;
-import javax.activation.FileDataSource;
-import java.io.*;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.rmi.RemoteException;
-import java.text.DecimalFormat;
-import java.util.*;
-import java.util.regex.Pattern;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipOutputStream;
-
 /**
  * This class contains utility methods used by ApplicationManagementService.
  */
@@ -100,7 +109,8 @@ public class ApplicationManagementUtil {
                                                                     String 
mgtClusterDomain,
                                                                     String 
mgtClusterSubDomain,
                                                                     
DataCartridge dataCartridge,
-                                                                    String 
state) {
+                                                                    String 
state,
+                                                                    String 
subscribeKey) {
 
         CartridgeSubscriptionInfo cartridgeSubscriptionInfo = new 
CartridgeSubscriptionInfo();
         cartridgeSubscriptionInfo.setCartridge(cartridgeType);
@@ -120,11 +130,13 @@ public class ApplicationManagementUtil {
         cartridgeSubscriptionInfo.setBaseDirectory(cartridgeInfo.getBaseDir());
         //cartridgeSubscriptionInfo.setState("PENDING");
         cartridgeSubscriptionInfo.setState(state);
+        cartridgeSubscriptionInfo.setSubscriptionKey(subscribeKey);
         return cartridgeSubscriptionInfo;
     }
 
 
-    private static List<PortMapping> createPortMappings(CartridgeInfo 
cartridgeInfo) {
+
+       private static List<PortMapping> createPortMappings(CartridgeInfo 
cartridgeInfo) {
         List<PortMapping> portMappings = new ArrayList<PortMapping>();
 
         if (cartridgeInfo.getPortMappings() != null) {

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/b863a144/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/utils/PersistenceManager.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/utils/PersistenceManager.java
 
b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/utils/PersistenceManager.java
index ae3170d..1d7492c 100644
--- 
a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/utils/PersistenceManager.java
+++ 
b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/utils/PersistenceManager.java
@@ -262,7 +262,7 @@ public class PersistenceManager {
                                repoCredentials = new RepositoryCredentials();
                                
repoCredentials.setUrl(resultSet.getString("REPO_NAME"));
                                
repoCredentials.setUserName(resultSet.getString("REPO_USER_NAME"));
-                               
repoCredentials.setPassword(RepoPasswordMgtUtil.decryptPassword(resultSet.getString("REPO_USER_PASSWORD")));
+                               
repoCredentials.setPassword(RepoPasswordMgtUtil.decryptPassword(resultSet.getString("REPO_USER_PASSWORD"),null));
 // TODO this is no longer supported
                        }
                } catch (Exception s) {
                        String msg = "Error while sql connection :" + 
s.getMessage();
@@ -323,7 +323,7 @@ public class PersistenceManager {
                        // persist repo
                        if (cartridgeSubscriptionInfo.getRepository() != null) {
                                String encryptedRepoUserPassword = 
RepoPasswordMgtUtil.encryptPassword(cartridgeSubscriptionInfo.getRepository()
-                                               .getPassword());
+                                               
.getPassword(),cartridgeSubscriptionInfo.getSubscriptionKey());
                                String insertRepo = "INSERT INTO REPOSITORY 
(REPO_NAME,STATE,REPO_USER_NAME,REPO_USER_PASSWORD)"
                                                + " VALUES (?,?,?,?)";
 
@@ -363,10 +363,11 @@ public class PersistenceManager {
                                StratosDBUtils.closeResultSet(res);
                        }
 
+                       // TODO - Mapped domain is not used. Is it not used 
anymore?
                        String insertSubscription = "INSERT INTO 
CARTRIDGE_SUBSCRIPTION (TENANT_ID, CARTRIDGE, PROVIDER,"
-                                       + "HOSTNAME, POLICY, CLUSTER_DOMAIN, " 
+ "CLUSTER_SUBDOMAIN, MGT_DOMAIN, MGT_SUBDOMAIN, STATE, "
-                                       + "ALIAS, TENANT_DOMAIN, BASE_DIR, 
REPO_ID, DATA_CARTRIDGE_ID)"
-                                       + " VALUES 
(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
+                                       + "HOSTNAME, POLICY, CLUSTER_DOMAIN, 
CLUSTER_SUBDOMAIN, MGT_DOMAIN, MGT_SUBDOMAIN, STATE, "
+                                       + "ALIAS, TENANT_DOMAIN, BASE_DIR, 
REPO_ID, DATA_CARTRIDGE_ID, SUBSCRIPTION_KEY)"
+                                       + " VALUES 
(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
 
                        insertSubscriptionStmt = 
con.prepareStatement(insertSubscription, Statement.RETURN_GENERATED_KEYS);
                        insertSubscriptionStmt.setInt(1, 
cartridgeSubscriptionInfo.getTenantId());
@@ -384,6 +385,7 @@ public class PersistenceManager {
                        insertSubscriptionStmt.setString(13, 
cartridgeSubscriptionInfo.getBaseDirectory());
                        insertSubscriptionStmt.setInt(14, repoId);
                        insertSubscriptionStmt.setInt(15, dataCartridgeId);
+                       insertSubscriptionStmt.setString(16, 
cartridgeSubscriptionInfo.getSubscriptionKey());
                        if (log.isDebugEnabled()) {
                                log.debug("Executing insert: " + 
insertSubscription);
                        }
@@ -536,6 +538,7 @@ public class PersistenceManager {
                
cartridgeSubscriptionInfo.setBaseDirectory(resultSet.getString("BASE_DIR"));
                
cartridgeSubscriptionInfo.setSubscriptionId(resultSet.getInt("SUBSCRIPTION_ID"));
                
cartridgeSubscriptionInfo.setMappedDomain(resultSet.getString("MAPPED_DOMAIN"));
+               
cartridgeSubscriptionInfo.setSubscriptionKey(resultSet.getString("SUBSCRIPTION_KEY"));
        }
 
        private static List<PortMapping> getPortMappings(int subscriptionId) 
throws Exception {

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/b863a144/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/utils/RepoPasswordMgtUtil.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/utils/RepoPasswordMgtUtil.java
 
b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/utils/RepoPasswordMgtUtil.java
index e5c02ec..533ceb2 100644
--- 
a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/utils/RepoPasswordMgtUtil.java
+++ 
b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/utils/RepoPasswordMgtUtil.java
@@ -67,9 +67,9 @@ public class RepoPasswordMgtUtil {
                return securityKey;
        }
        
-       public static String encryptPassword(String repoUserPassword) {
+       public static String encryptPassword(String repoUserPassword, String 
secKey) {
                String encryptPassword = "";
-               String secret = getSecurityKey(); // secret key length must be 
16
+               String secret = /*getSecurityKey()*/secKey; // secret key 
length must be 16
                SecretKey key;
                Cipher cipher;
                Base64 coder;
@@ -86,10 +86,10 @@ public class RepoPasswordMgtUtil {
                return encryptPassword;
        }
 
-       public static String decryptPassword(String repoUserPassword) {
+       public static String decryptPassword(String repoUserPassword, String 
secKey) {
                
                String decryptPassword = "";
-               String secret = getSecurityKey(); // secret key length must be 
16
+               String secret = /*getSecurityKey()*/secKey; // secret key 
length must be 16
                SecretKey key;
                Cipher cipher;
                Base64 coder;

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/b863a144/products/cartridge-agent/modules/cartridge-agent/ec2/php/cartridge-agent.sh
----------------------------------------------------------------------
diff --git 
a/products/cartridge-agent/modules/cartridge-agent/ec2/php/cartridge-agent.sh 
b/products/cartridge-agent/modules/cartridge-agent/ec2/php/cartridge-agent.sh
index d9e56b6..04e983a 100755
--- 
a/products/cartridge-agent/modules/cartridge-agent/ec2/php/cartridge-agent.sh
+++ 
b/products/cartridge-agent/modules/cartridge-agent/ec2/php/cartridge-agent.sh
@@ -104,129 +104,6 @@ popd
 
 
 # -----------------------------------------------------
-# Generate git.sh
-# -----------------------------------------------------
-echo "Creating repoinfo request  " | tee -a $LOG
-echo "<soapenv:Envelope 
xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\"; 
xmlns:xsd=\"http://org.apache.axis2/xsd\";>
-   <soapenv:Header/>
-   <soapenv:Body>
-      <xsd:getRepositoryCredentials>
-         <xsd:tenantId>${TENANT_ID}</xsd:tenantId>
-         <xsd:cartridgeType>${SERVICE_NAME}</xsd:cartridgeType>
-         <xsd:alias>${CARTRIDGE_ALIAS}</xsd:alias>
-      </xsd:getRepositoryCredentials>
-   </soapenv:Body>
-</soapenv:Envelope>" > ${instance_path}/repoinforequest.xml
-
-echo "Repoinfo request created " | tee -a $LOG
-
-
-echo "Generating git.sh..." | tee -a $LOG
-# If repo is available do a git pull, else clone
-echo "#!/bin/bash
-set -e
-GIT_SH_LOG=/var/log/apache-stratos/git-sh.log
-if [ -d \"${APP_PATH}/.git\" ]; then
-   cd ${APP_PATH}
-   echo \"Invoking repo info service...\" | tee -a \$GIT_SH_LOG
-   username=\$1
-   password=\$2
-   repo=\$3
-   echo \"username=\$username repo=\${repo}\" | tee -a \$GIT_SH_LOG
-   echo \"Preparing .netrc...\" | tee -a \$GIT_SH_LOG
-   url=\`echo \$repo |sed 's/http.*\/\///g' |sed 's/\:.*//g' |sed 's/\/.*//g'\`
-   echo \"machine \${url} login \${username} password \${password}\" > ~/.netrc
-   sudo echo \"machine \${url} login \${username} password \${password}\" > 
/root/.netrc
-   chmod 600 ~/.netrc
-   sudo chmod 600 /root/.netrc
-   echo \"Setting git http.sslVerify false\" | tee -a \$GIT_SH_LOG 
-   git config --global --bool --add http.sslVerify false
-   echo \"Running git pull...\" | tee -a \$GIT_SH_LOG
-   sudo git pull  
-   if [ -f ~/.netrc ]; then
-      echo \"Removing ~/.netrc...\" | tee -a \$GIT_SH_LOG
-      rm ~/.netrc
-   fi
-   if [ -f /root/.netrc ]; then
-      echo \"Removing /root/.netrc...\" | tee -a \$GIT_SH_LOG
-      sudo rm /root/.netrc
-   fi
-
-   echo \"Changing owner of application path/www to www-data:www-data...\" | 
tee -a \$GIT_SH_LOG
-   sudo chown -R www-data:www-data ${APP_PATH}/www
-   if [ -f \"${APP_PATH}/sql/alter.sql\" ] && [ -n \"${MYSQL_HOST}\" ] && [ -n 
\"${MYSQL_USER}\" ] && [ -n \"${MYSQL_PASSWORD}\" ]; then
-           mysql -h ${MYSQL_HOST} -u ${MYSQL_USER} -p${MYSQL_PASSWORD} < 
${APP_PATH}/sql/alter.sql
-   fi
-else
-   echo \"Removing index.html from application path...\" | tee -a \$GIT_SH_LOG
-   sudo rm -f ${APP_PATH}/index.html
-   echo \"Invoking repo info service...\" | tee -a \$GIT_SH_LOG
-   curl -X POST -H \"Content-Type: text/xml\" -H \"SOAPAction: 
urn:getRepositoryCredentials\" -d @${instance_path}/repoinforequest.xml 
--silent  \"${REPO_INFO_EPR}\" --insecure > /tmp/git.xml
-   echo \"Processing repo info service response...\" | tee -a \$GIT_SH_LOG
-   sed '1,5d' /tmp/git.xml > /tmp/git1.xml
-   sed '2d' /tmp/git1.xml > /tmp/git.xml
-   username=\`xml_grep 'ax29:userName' /tmp/git.xml --text_only\`
-   password=\`xml_grep 'ax29:password' /tmp/git.xml --text_only\`
-   repo=\`xml_grep 'ax29:url' /tmp/git.xml --text_only\`
-   echo \"username=\$username repo=\${repo}\" | tee -a \$GIT_SH_LOG
-   rm /tmp/git1.xml
-   rm /tmp/git.xml
-   echo \"Preparing .netrc...\" | tee -a \$GIT_SH_LOG
-   url=\`echo \$repo |sed 's/http.*\/\///g' |sed 's/\:.*//g' |sed 's/\/.*//g'\`
-   echo \"machine \${url} login \${username} password \${password}\" > ~/.netrc
-   sudo echo \"machine \${url} login \${username} password \${password}\" > 
/root/.netrc
-   chmod 600 ~/.netrc
-   sudo chmod 600 /root/.netrc
-   echo \"Setting git http.sslVerify false\" | tee -a \$GIT_SH_LOG
-   git config --global --bool --add http.sslVerify false
-   echo \"Creating temporary git folder...\" | tee -a \$GIT_SH_LOG
-   sudo mkdir ${instance_path}/temp_git
-   echo \"Running git clone...\" | tee -a \$GIT_SH_LOG
-   git clone \${repo} ${instance_path}/temp_git
-   echo \"Moving content to /var/www\" | tee -a \$GIT_SH_LOG
-   sudo mv ${instance_path}/temp_git/* /var/www
-   sudo mv ${instance_path}/temp_git/.git /var/www
-   sudo rm -rf ${instance_path}/temp_git
-   if [ -f ~/.netrc ]; then
-      echo \"Removing ~/.netrc...\" | tee -a \$GIT_SH_LOG
-      rm ~/.netrc
-   fi
-   if [ -f /root/.netrc ]; then
-      echo \"Removing /root/.netrc...\" | tee -a \$GIT_SH_LOG
-      sudo rm /root/.netrc
-   fi
- 
-   if [ -n \"${MYSQL_HOST}\" ] && [ -n \"${MYSQL_USER}\" ] && [ -n 
\"${MYSQL_PASSWORD}\" ]; then
-      if [ -f \"${APP_PATH}/sql/init.sql\" ]; then
-          mysql -h ${MYSQL_HOST} -u ${MYSQL_USER} -p${MYSQL_PASSWORD} < 
${APP_PATH}/sql/init.sql
-      fi
-      echo \"Generating .htaccess...\" | tee -a \$GIT_SH_LOG
-      echo \"SetEnv STRATOS_MYSQL_USER ${MYSQL_USER}
-      SetEnv STRATOS_MYSQL_HOST ${MYSQL_HOST}
-      SetEnv STRATOS_MYSQL_PASSWORD ${MYSQL_PASSWORD}
-      \" > /tmp/.htaccess
-      echo \"Copying .htaccess to application path...\" | tee -a \$GIT_SH_LOG
-      sudo mv /tmp/.htaccess ${APP_PATH}/
-   fi
-   echo \"Changing owner of application path/www to www-data:www-data...\" | 
tee -a \$GIT_SH_LOG 
-   sudo chown -R www-data:www-data ${APP_PATH}/www
-   
-fi
-echo \"git.sh done\" | tee -a \$LOG" > ${instance_path}/git.sh
-echo "git.sh generated" | tee -a $LOG
-chmod 755 ${instance_path}/git.sh
-
-
-# -----------------------------------------------------
-# Git clone
-# -----------------------------------------------------
-pushd ${instance_path}
-echo "Running git.sh..." | tee -a $LOG
-sudo sh ${instance_path}/git.sh
-echo "Git clone done" | tee -a $LOG
-
-
-# -----------------------------------------------------
 # Publish member-activated-event
 # -----------------------------------------------------
 while true

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/b863a144/tools/stratos-installer/resources/stratos_foundation.sql
----------------------------------------------------------------------
diff --git a/tools/stratos-installer/resources/stratos_foundation.sql 
b/tools/stratos-installer/resources/stratos_foundation.sql
index ce32a3b..7ca346d 100644
--- a/tools/stratos-installer/resources/stratos_foundation.sql
+++ b/tools/stratos-installer/resources/stratos_foundation.sql
@@ -80,6 +80,7 @@ CREATE TABLE  `stratos_foundation`.`CARTRIDGE_SUBSCRIPTION` (
   `REPO_ID` int(11) DEFAULT NULL,
   `DATA_CARTRIDGE_ID` int(11) DEFAULT NULL,
   `MAPPED_DOMAIN` varchar(255),
+  `SUBSCRIPTION_KEY` varchar(255) NOT NULL,
   PRIMARY KEY (`SUBSCRIPTION_ID`)
 ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;
 

Reply via email to