subscription models changes

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

Branch: refs/heads/master
Commit: 0fbd464c61aea255b1dca4505f9579301154d274
Parents: 74d8984
Author: Isuru <[email protected]>
Authored: Fri Dec 6 16:41:10 2013 +0530
Committer: Isuru <[email protected]>
Committed: Fri Dec 6 16:41:10 2013 +0530

----------------------------------------------------------------------
 .../ApplicationCartridgeSubscription.java       | 45 ++++++++--
 .../DataCartridgeSubscription1.java             | 94 ++++++++++++++++++--
 .../FrameworkCartridgeSubscription.java         |  2 +-
 .../SubscriptionMultiTenantBehaviour.java       |  4 +-
 .../SubscriptionSingleTenantBehaviour.java      |  6 +-
 .../tenancy/SubscriptionTenancyBehaviour.java   |  4 +-
 6 files changed, 139 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/0fbd464c/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/ApplicationCartridgeSubscription.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/ApplicationCartridgeSubscription.java
 
b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/ApplicationCartridgeSubscription.java
index aa49ac7..4a6c0e5 100644
--- 
a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/ApplicationCartridgeSubscription.java
+++ 
b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/ApplicationCartridgeSubscription.java
@@ -20,9 +20,12 @@
 package org.apache.stratos.adc.mgt.subscription;
 
 import org.apache.stratos.adc.mgt.dao.CartridgeSubscriptionInfo;
-import org.apache.stratos.adc.mgt.exception.ADCException;
-import org.apache.stratos.adc.mgt.exception.NotSubscribedException;
-import org.apache.stratos.adc.mgt.exception.UnregisteredCartridgeException;
+import org.apache.stratos.adc.mgt.dto.Policy;
+import org.apache.stratos.adc.mgt.exception.*;
+import org.apache.stratos.adc.mgt.payload.PayloadArg;
+import org.apache.stratos.adc.mgt.repository.Repository;
+import org.apache.stratos.adc.mgt.subscriber.Subscriber;
+import org.apache.stratos.adc.mgt.utils.ApplicationManagementUtil;
 import org.apache.stratos.cloud.controller.pojo.CartridgeInfo;
 
 import java.util.Properties;
@@ -39,13 +42,45 @@ public class ApplicationCartridgeSubscription extends 
AbstractCartridgeSubscript
         super(cartridgeInfo);
     }
 
+    public void createSubscription(Subscriber subscriber, String alias, Policy 
autoscalingPolicy,
+                                   Repository repository) throws
+            InvalidCartridgeAliasException, DuplicateCartridgeAliasException, 
ADCException,
+            RepositoryCredentialsRequiredException, 
RepositoryTransportException, UnregisteredCartridgeException,
+            AlreadySubscribedException, RepositoryRequiredException, 
InvalidRepositoryException, PolicyException {
+
+        super.createSubscription(subscriber, alias, autoscalingPolicy, 
repository);
+        subscriptionTenancyBehaviour.createSubscription();
+    }
+
     @Override
     public CartridgeSubscriptionInfo registerSubscription(Properties 
properties) throws ADCException, UnregisteredCartridgeException {
-        return null;  //To change body of implemented methods use File | 
Settings | File Templates.
+
+        subscriptionTenancyBehaviour.registerSubscription(null);
+
+        return 
ApplicationManagementUtil.createCartridgeSubscription(getCartridgeInfo(), 
getAutoscalingPolicy(),
+                getType(), getAlias(), getSubscriber().getTenantId(), 
getSubscriber().getTenantDomain(),
+                getRepository(), getCluster().getHostName(), 
getCluster().getClusterDomain(), getCluster().getClusterSubDomain(),
+                getCluster().getMgtClusterDomain(), 
getCluster().getMgtClusterSubDomain(), null, "PENDING", getSubscriptionKey());
+    }
+
+    public Repository manageRepository (String repoURL, String repoUserName, 
String repoUserPassword,
+                                        boolean privateRepo, String 
cartridgeAlias, CartridgeInfo cartridgeInfo,
+                                        String tenantDomain) {
+
+        //no repository for application cartridge instances
+        return null;
     }
 
     @Override
     public void removeSubscription() throws ADCException, 
NotSubscribedException {
-        //To change body of implemented methods use File | Settings | File 
Templates.
+
+        subscriptionTenancyBehaviour.removeSubscription();
+        super.cleanupSubscription();
+    }
+
+    public PayloadArg createPayloadParameters () throws ADCException {
+
+        PayloadArg payloadArg = super.createPayloadParameters();
+        return 
subscriptionTenancyBehaviour.createPayloadParameters(payloadArg);
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/0fbd464c/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/DataCartridgeSubscription1.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/DataCartridgeSubscription1.java
 
b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/DataCartridgeSubscription1.java
index 74f299a..6f5401f 100644
--- 
a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/DataCartridgeSubscription1.java
+++ 
b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/DataCartridgeSubscription1.java
@@ -20,31 +20,113 @@
 package org.apache.stratos.adc.mgt.subscription;
 
 import org.apache.stratos.adc.mgt.dao.CartridgeSubscriptionInfo;
-import org.apache.stratos.adc.mgt.exception.ADCException;
-import org.apache.stratos.adc.mgt.exception.NotSubscribedException;
-import org.apache.stratos.adc.mgt.exception.UnregisteredCartridgeException;
+import org.apache.stratos.adc.mgt.dao.DataCartridge;
+import org.apache.stratos.adc.mgt.dto.Policy;
+import org.apache.stratos.adc.mgt.exception.*;
+import org.apache.stratos.adc.mgt.payload.PayloadArg;
+import org.apache.stratos.adc.mgt.repository.Repository;
+import org.apache.stratos.adc.mgt.subscriber.Subscriber;
+import org.apache.stratos.adc.mgt.utils.ApplicationManagementUtil;
+import org.apache.stratos.adc.mgt.utils.CartridgeConstants;
 import org.apache.stratos.cloud.controller.pojo.CartridgeInfo;
 
 import java.util.Properties;
 
 public class DataCartridgeSubscription1 extends AbstractCartridgeSubscription {
 
+    private String host;
+    private String username;
+    private String password;
+
     /**
      * Constructor
      *
      * @param cartridgeInfo CartridgeInfo subscription
      */
     public DataCartridgeSubscription1(CartridgeInfo cartridgeInfo) {
+
         super(cartridgeInfo);
+        this.setHost("localhost");
+        this.setUsername(CartridgeConstants.MYSQL_DEFAULT_USER);
+        this.setPassword(ApplicationManagementUtil.generatePassword());
     }
 
     @Override
-    public CartridgeSubscriptionInfo registerSubscription(Properties 
properties) throws ADCException, UnregisteredCartridgeException {
-        return null;  //To change body of implemented methods use File | 
Settings | File Templates.
+    public void createSubscription(Subscriber subscriber, String alias, Policy 
autoscalingPolicy, Repository repository)
+
+            throws InvalidCartridgeAliasException,
+            DuplicateCartridgeAliasException, ADCException, 
RepositoryCredentialsRequiredException,
+            RepositoryTransportException, UnregisteredCartridgeException, 
AlreadySubscribedException,
+            RepositoryRequiredException, InvalidRepositoryException, 
PolicyException {
+
+        super.createSubscription(subscriber, alias, autoscalingPolicy, 
repository);
+        subscriptionTenancyBehaviour.createSubscription();
+    }
+
+    public PayloadArg createPayloadParameters() throws ADCException {
+
+        PayloadArg payloadArg = super.createPayloadParameters();
+        payloadArg.setDataCartridgeHost(this.getHost());
+        payloadArg.setDataCartridgeAdminUser(getUsername());
+        payloadArg.setDataCartridgeAdminPassword(getPassword());
+
+        return 
subscriptionTenancyBehaviour.createPayloadParameters(payloadArg);
+    }
+
+    @Override
+    public CartridgeSubscriptionInfo registerSubscription(Properties 
properties) throws ADCException,
+            UnregisteredCartridgeException {
+
+        
subscriptionTenancyBehaviour.registerSubscription(ApplicationManagementUtil.
+                setRegisterServiceProperties(getAutoscalingPolicy(), 
getSubscriber().getTenantId(), getAlias()));
+
+        DataCartridge dataCartridge = new DataCartridge();
+        dataCartridge.setUserName(getUsername());
+        dataCartridge.setPassword(getPassword());
+        dataCartridge.setDataCartridgeType(getType());
+
+        return 
ApplicationManagementUtil.createCartridgeSubscription(getCartridgeInfo(), 
getAutoscalingPolicy(),
+                getType(), getAlias(), getSubscriber().getTenantId(), 
getSubscriber().getTenantDomain(),
+                getRepository(), getCluster().getHostName(), 
getCluster().getClusterDomain(), getCluster().getClusterSubDomain(),
+                getCluster().getMgtClusterDomain(), 
getCluster().getMgtClusterSubDomain(), dataCartridge, 
"PENDING",getSubscriptionKey());
+    }
+
+    public Repository manageRepository (String repoURL, String repoUserName, 
String repoUserPassword,
+                                        boolean privateRepo, String 
cartridgeAlias, CartridgeInfo cartridgeInfo,
+                                        String tenantDomain) {
+
+        //no repository for data cartridge instances
+        return null;
     }
 
     @Override
     public void removeSubscription() throws ADCException, 
NotSubscribedException {
-        //To change body of implemented methods use File | Settings | File 
Templates.
+
+        subscriptionTenancyBehaviour.removeSubscription();
+        super.cleanupSubscription();
+    }
+
+    public String getHost() {
+        return host;
+    }
+
+    public void setHost(String host) {
+        this.host = host;
+    }
+
+    public String getUsername() {
+        return username;
+    }
+
+    public void setUsername(String username) {
+        this.username = username;
+    }
+
+    public String getPassword() {
+        return password;
+    }
+
+    public void setPassword(String password) {
+        this.password = password;
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/0fbd464c/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/FrameworkCartridgeSubscription.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/FrameworkCartridgeSubscription.java
 
b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/FrameworkCartridgeSubscription.java
index 6552fa9..668ff55 100644
--- 
a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/FrameworkCartridgeSubscription.java
+++ 
b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/FrameworkCartridgeSubscription.java
@@ -55,7 +55,7 @@ public class FrameworkCartridgeSubscription extends 
AbstractCartridgeSubscriptio
     @Override
     public CartridgeSubscriptionInfo registerSubscription(Properties 
properties) throws ADCException, UnregisteredCartridgeException {
 
-        subscriptionTenancyBehaviour.registerSubscription();
+        subscriptionTenancyBehaviour.registerSubscription(null);
 
         return 
ApplicationManagementUtil.createCartridgeSubscription(getCartridgeInfo(), 
getAutoscalingPolicy(),
                 getType(), getAlias(), getSubscriber().getTenantId(), 
getSubscriber().getTenantDomain(),

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/0fbd464c/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/tenancy/SubscriptionMultiTenantBehaviour.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/tenancy/SubscriptionMultiTenantBehaviour.java
 
b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/tenancy/SubscriptionMultiTenantBehaviour.java
index c441036..fbf63d2 100644
--- 
a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/tenancy/SubscriptionMultiTenantBehaviour.java
+++ 
b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/tenancy/SubscriptionMultiTenantBehaviour.java
@@ -33,6 +33,8 @@ import org.apache.stratos.adc.mgt.utils.PersistenceManager;
 import org.apache.stratos.adc.topology.mgt.service.TopologyManagementService;
 import org.apache.stratos.adc.topology.mgt.serviceobjects.DomainContext;
 
+import java.util.Properties;
+
 public class SubscriptionMultiTenantBehaviour extends 
SubscriptionTenancyBehaviour {
 
     private static Log log = 
LogFactory.getLog(SubscriptionMultiTenantBehaviour.class);
@@ -97,7 +99,7 @@ public class SubscriptionMultiTenantBehaviour extends 
SubscriptionTenancyBehavio
         }
     }
 
-    public void registerSubscription() throws ADCException, 
UnregisteredCartridgeException {
+    public void registerSubscription(Properties properties) throws 
ADCException, UnregisteredCartridgeException {
 
         //nothing to do
     }

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/0fbd464c/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/tenancy/SubscriptionSingleTenantBehaviour.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/tenancy/SubscriptionSingleTenantBehaviour.java
 
b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/tenancy/SubscriptionSingleTenantBehaviour.java
index 263c1d6..02807e3 100644
--- 
a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/tenancy/SubscriptionSingleTenantBehaviour.java
+++ 
b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/tenancy/SubscriptionSingleTenantBehaviour.java
@@ -32,6 +32,8 @@ import 
org.apache.stratos.adc.mgt.subscription.AbstractCartridgeSubscription;
 import org.apache.stratos.adc.mgt.utils.ApplicationManagementUtil;
 import org.apache.stratos.adc.mgt.utils.CartridgeConstants;
 
+import java.util.Properties;
+
 public class SubscriptionSingleTenantBehaviour extends 
SubscriptionTenancyBehaviour {
 
     private static Log log = 
LogFactory.getLog(SubscriptionSingleTenantBehaviour.class);
@@ -49,7 +51,7 @@ public class SubscriptionSingleTenantBehaviour extends 
SubscriptionTenancyBehavi
                 cartridgeSubscription.getCluster().getHostName());
     }
 
-    public void registerSubscription() throws ADCException, 
UnregisteredCartridgeException {
+    public void registerSubscription(Properties properties) throws 
ADCException, UnregisteredCartridgeException {
 
         
ApplicationManagementUtil.registerService(cartridgeSubscription.getType(),
                 cartridgeSubscription.getCluster().getClusterDomain(),
@@ -57,7 +59,7 @@ public class SubscriptionSingleTenantBehaviour extends 
SubscriptionTenancyBehavi
                 cartridgeSubscription.getPayload().createPayload(),
                 
cartridgeSubscription.getPayload().getPayloadArg().getTenantRange(),
                 cartridgeSubscription.getCluster().getHostName(),
-                null);
+                properties);
 
         cartridgeSubscription.getPayload().delete();
     }

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/0fbd464c/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/tenancy/SubscriptionTenancyBehaviour.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/tenancy/SubscriptionTenancyBehaviour.java
 
b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/tenancy/SubscriptionTenancyBehaviour.java
index eb073ce..d0e1b7b 100644
--- 
a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/tenancy/SubscriptionTenancyBehaviour.java
+++ 
b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/subscription/tenancy/SubscriptionTenancyBehaviour.java
@@ -26,6 +26,8 @@ import 
org.apache.stratos.adc.mgt.exception.UnregisteredCartridgeException;
 import org.apache.stratos.adc.mgt.payload.PayloadArg;
 import org.apache.stratos.adc.mgt.subscription.AbstractCartridgeSubscription;
 
+import java.util.Properties;
+
 public abstract class SubscriptionTenancyBehaviour {
 
     protected AbstractCartridgeSubscription cartridgeSubscription;
@@ -36,7 +38,7 @@ public abstract class SubscriptionTenancyBehaviour {
 
     public abstract void createSubscription() throws ADCException, 
AlreadySubscribedException;
 
-    public abstract void registerSubscription() throws ADCException, 
UnregisteredCartridgeException;
+    public abstract void registerSubscription(Properties properties) throws 
ADCException, UnregisteredCartridgeException;
 
     public abstract void removeSubscription() throws ADCException, 
NotSubscribedException;
 

Reply via email to