You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by is...@apache.org on 2014/07/17 11:49:28 UTC
[4/6] git commit: persisting composite app subscriptions and group
subscriptions
persisting composite app subscriptions and group subscriptions
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/7f5f19b5
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/7f5f19b5
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/7f5f19b5
Branch: refs/heads/4.0.0-grouping
Commit: 7f5f19b5ef8bd811fd4094d1c47226c81dc46c59
Parents: a8182ac
Author: Isuru Haththotuwa <is...@apache.org>
Authored: Wed Jul 16 18:52:49 2014 +0530
Committer: Isuru Haththotuwa <is...@apache.org>
Committed: Wed Jul 16 18:52:49 2014 +0530
----------------------------------------------------------------------
.../CompositeApplicationManager.java | 269 +++++++++++--------
.../CompositeAppSubscriptionException.java | 47 ++++
.../exception/GroupSubscriptionException.java | 47 ++++
.../manager/CartridgeSubscriptionManager.java | 52 +++-
.../manager/persistence/PersistenceManager.java | 32 ++-
.../RegistryBasedPersistenceManager.java | 259 ++----------------
.../DataInsertionAndRetrievalManager.java | 107 ++------
.../subscription/CompositeAppSubscription.java | 15 ++
.../manager/subscription/GroupSubscription.java | 21 +-
.../rest/endpoint/services/ServiceUtils.java | 46 ++--
10 files changed, 432 insertions(+), 463 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/7f5f19b5/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/composite/application/CompositeApplicationManager.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/composite/application/CompositeApplicationManager.java b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/composite/application/CompositeApplicationManager.java
index 0ca6ebc..fafcdcf 100644
--- a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/composite/application/CompositeApplicationManager.java
+++ b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/composite/application/CompositeApplicationManager.java
@@ -10,20 +10,23 @@ import org.apache.stratos.manager.composite.application.parser.DefaultCompositeA
import org.apache.stratos.manager.composite.application.structure.CompositeAppContext;
import org.apache.stratos.manager.composite.application.structure.GroupContext;
import org.apache.stratos.manager.composite.application.structure.SubscribableContext;
-import org.apache.stratos.manager.composite.application.utils.ApplicationUtils;
import org.apache.stratos.manager.exception.*;
import org.apache.stratos.manager.manager.CartridgeSubscriptionManager;
-import org.apache.stratos.manager.retriever.DataInsertionAndRetrievalManager;
import org.apache.stratos.manager.subscription.CartridgeSubscription;
import org.apache.stratos.manager.subscription.CompositeAppSubscription;
import org.apache.stratos.manager.subscription.GroupSubscription;
import org.apache.stratos.manager.subscription.SubscriptionData;
-import org.apache.stratos.messaging.domain.topology.ConfigCompositeApplication;
//Grouping
public class CompositeApplicationManager {
private static Log log = LogFactory.getLog(CompositeApplicationManager.class);
+
+ CartridgeSubscriptionManager cartridgeSubscriptionManager;
+
+ public CompositeApplicationManager () {
+ cartridgeSubscriptionManager = new CartridgeSubscriptionManager();
+ }
public void deployCompositeApplication (CompositeAppDefinition compositeAppDefinition, int tenantId, String tenantDomain,
String tenantAdminUsername) throws CompositeApplicationException, CompositeApplicationDefinitionException,
@@ -34,18 +37,22 @@ public class CompositeApplicationManager {
log.info("Composite Application [ Id: " + compositeAppDefinition.getApplicationId() + " , alias: "
+ compositeAppDefinition.getAlias() + " ] deployed successfully");
-
- //DataInsertionAndRetrievalManager mgr = new DataInsertionAndRetrievalManager();
- //mgr.persistCompositeApplication(compositeAppDefinition);
// create the CompositeAppSubscription
- CompositeAppSubscription compositeAppSubscription = new CompositeAppSubscription(compositeAppContext.getAppId());
+ CompositeAppSubscription compositeAppSubscription;
+ try {
+ compositeAppSubscription = cartridgeSubscriptionManager.createCompositeAppSubscription(compositeAppContext.getAppId(),
+ tenantAdminUsername, tenantDomain, tenantId);
+
+ } catch (CompositeAppSubscriptionException e) {
+ throw new CompositeApplicationDefinitionException(e);
+ }
// keep track of all CartridgeSubscriptions, against the alias
Map<String, CartridgeSubscription> aliasToCartridgeSubscription = new HashMap<String, CartridgeSubscription>();
// Keep track of all Group Subscriptions
- Set<GroupSubscription> groupSubscriptions = new HashSet<GroupSubscription>();
+ Map<String, GroupSubscription> groupAliasToGroupSubscription = new HashMap<String, GroupSubscription>();
// traverse through the Composite App Structure and create Cartridge Subscriptions
if(compositeAppContext.getSubscribableContexts() != null) {
@@ -53,6 +60,13 @@ public class CompositeApplicationManager {
for (CartridgeSubscription cartridgeSubscription : getCartridgeSybscriptionsForSubscribables(compositeAppContext.getSubscribableContexts(),
tenantId, tenantDomain, tenantAdminUsername)) {
+
+ // check if a Cartridge Subscription already exists with this alias for this Composite App
+ if (cartridgeSubscriptionExistsForAlias(aliasToCartridgeSubscription, cartridgeSubscription.getAlias())) {
+ throw new CompositeApplicationException("Cartridge Subscription with alias [ " + cartridgeSubscription.getAlias()
+ + " ] already exists in Composite Application [ " + compositeAppSubscription.getAppId() + " ]");
+ }
+
aliasToCartridgeSubscription.put(cartridgeSubscription.getAlias(), cartridgeSubscription);
}
// get top level cartridge aliases to add to Composite App Subscription
@@ -64,13 +78,31 @@ public class CompositeApplicationManager {
for (CartridgeSubscription cartridgeSubscription : getCartridgeSubscriptionForGroups(compositeAppContext.getGroupContexts(), tenantId,
tenantDomain, tenantAdminUsername)) {
+
+ // check if a Cartridge Subscription already exists with this alias for this Composite App
+ if (cartridgeSubscriptionExistsForAlias(aliasToCartridgeSubscription, cartridgeSubscription.getAlias())) {
+ throw new CompositeApplicationException("Cartridge Subscription with alias [ " + cartridgeSubscription.getAlias()
+ + " ] already exists in Composite Application [ " + compositeAppSubscription.getAppId() + " ]");
+ }
+
aliasToCartridgeSubscription.put(cartridgeSubscription.getAlias(), cartridgeSubscription);
}
+ // create Group Subscriptions and collect them
+ for (GroupSubscription groupSubscription : getGroupSubscriptions(compositeAppContext.getGroupContexts(),
+ tenantAdminUsername, tenantDomain, tenantId)) {
+
+ // check if a Group Subscription already exists with this alias for this Composite App
+ if (groupSubscriptionExistsForAlias(groupAliasToGroupSubscription, groupSubscription.getGroupAlias())) {
+ throw new CompositeApplicationException("Group Subscription with alias [ " + groupSubscription.getGroupAlias()
+ + " ] already exists in Composite Application [ " + compositeAppSubscription.getAppId() + " ]");
+ }
+
+ groupAliasToGroupSubscription.put(groupSubscription.getGroupAlias(), groupSubscription);
+ }
+
// set top level group aliases to Composite App Subscription
compositeAppSubscription.addGroupSubscriptionAliases(getGroupSubscriptionAliases(compositeAppContext.getGroupContexts()));
-
- groupSubscriptions.addAll(getGroupSubscriptions(compositeAppContext.getGroupContexts()));
}
}
@@ -84,12 +116,20 @@ public class CompositeApplicationManager {
return cartridgeSubscriptionAliases;
}
- private Set<GroupSubscription> getGroupSubscriptions (Set<GroupContext> groupContexts) throws CompositeApplicationException {
+ private Set<GroupSubscription> getGroupSubscriptions (Set<GroupContext> groupContexts, String tenantAdminUsername,
+ String tenantDomain, int tenantID) throws CompositeApplicationException {
Set<GroupSubscription> groupSubscriptions = new HashSet<GroupSubscription>();
for (GroupContext groupContext : groupContexts) {
// create Group Subscriptions for this Group
- GroupSubscription groupSubscription = new GroupSubscription(groupContext.getAlias());
+ GroupSubscription groupSubscription;
+ try {
+ groupSubscription = cartridgeSubscriptionManager.createGroupSubscription(groupContext.getName(),
+ groupContext.getAlias(), tenantAdminUsername, tenantDomain, tenantID);
+
+ } catch (GroupSubscriptionException e) {
+ throw new CompositeApplicationException(e);
+ }
if (groupContext.getSubscribableContexts() != null) {
groupSubscription.addCartridgeSubscriptionAliases(getCartrigdeSubscriptionAliases(groupContext.getSubscribableContexts()));
}
@@ -98,7 +138,7 @@ public class CompositeApplicationManager {
if (groupContext.getGroupContexts() != null) {
groupSubscription.addGroupSubscriptionAliases(getGroupSubscriptionAliases(groupContext.getGroupContexts()));
// need to recurse to get other nested groups, if any
- getGroupSubscriptions(groupContext.getGroupContexts());
+ getGroupSubscriptions(groupContext.getGroupContexts(),tenantAdminUsername, tenantDomain, tenantID);
}
groupSubscriptions.add(groupSubscription);
@@ -201,104 +241,117 @@ public class CompositeApplicationManager {
}
}
+
+ private boolean cartridgeSubscriptionExistsForAlias (Map<String, CartridgeSubscription> aliasToCartridgeSubscription,
+ String newCartridgeSubscriptionAlias) {
+
+ return aliasToCartridgeSubscription.get(newCartridgeSubscriptionAlias) != null;
+ }
+
+
+ private boolean groupSubscriptionExistsForAlias (Map<String, GroupSubscription> groupAliasToGroupSubscription,
+ String newGroupSubscriptionAlias) {
+
+ return groupAliasToGroupSubscription.get(newGroupSubscriptionAlias) != null;
+ }
- public void unDeployCompositeApplication(String configApplicationAlias) throws ADCException {
- if (log.isDebugEnabled()) {
- log.debug("undeploying composite application " + configApplicationAlias);
- }
- // unregister application
- unRegisterCompositeApplication(configApplicationAlias);
- if (log.isDebugEnabled()) {
- log.debug("publishing composite application removed event" + configApplicationAlias);
- }
- ApplicationUtils.publishApplicationUnDeployEvent(configApplicationAlias);
- if (log.isDebugEnabled()) {
- log.debug("composite application successfully removed " + configApplicationAlias);
- }
- }
+// public void unDeployCompositeApplication(String configApplicationAlias) throws ADCException {
+// if (log.isDebugEnabled()) {
+// log.debug("undeploying composite application " + configApplicationAlias);
+// }
+// // unregister application
+// unRegisterCompositeApplication(configApplicationAlias);
+// if (log.isDebugEnabled()) {
+// log.debug("publishing composite application removed event" + configApplicationAlias);
+// }
+// ApplicationUtils.publishApplicationUnDeployEvent(configApplicationAlias);
+// if (log.isDebugEnabled()) {
+// log.debug("composite application successfully removed " + configApplicationAlias);
+// }
+// }
- private void registerCompositeApplication(ConfigCompositeApplication configCompositeApplication) throws ADCException {
-
- try {
- if (log.isDebugEnabled()) {
- log.debug("registering composite application " + configCompositeApplication.getAlias());
- }
- DataInsertionAndRetrievalManager mgr = new DataInsertionAndRetrievalManager();
- mgr.persistCompositeApplication ( configCompositeApplication);
-
- if (log.isDebugEnabled()) {
- log.debug("testing to retrieve persisted composite application ");
- Collection<ConfigCompositeApplication> apps = mgr.getCompositeApplications();
- log.debug("retrieved persisted composite application " + apps.size());
- for (ConfigCompositeApplication app : apps) {
- log.debug("retrieved persisted composite application " + app.getAlias());
- }
- }
-
- } catch (PersistenceManagerException e) {
- String errorMsg = "Error saving composite application " + configCompositeApplication.getAlias();
- log.error(errorMsg);
- throw new ADCException(errorMsg, e);
- }
-
- log.info("Successfully registered composite application " + configCompositeApplication.getAlias());
-
- }
+// private void registerCompositeApplication(ConfigCompositeApplication configCompositeApplication) throws ADCException {
+//
+// try {
+// if (log.isDebugEnabled()) {
+// log.debug("registering composite application " + configCompositeApplication.getAlias());
+// }
+// DataInsertionAndRetrievalManager mgr = new DataInsertionAndRetrievalManager();
+// mgr.persistCompositeApplication ( configCompositeApplication);
+//
+// if (log.isDebugEnabled()) {
+// log.debug("testing to retrieve persisted composite application ");
+// Collection<ConfigCompositeApplication> apps = mgr.getCompositeApplications();
+// log.debug("retrieved persisted composite application " + apps.size());
+// for (ConfigCompositeApplication app : apps) {
+// log.debug("retrieved persisted composite application " + app.getAlias());
+// }
+// }
+//
+// } catch (PersistenceManagerException e) {
+// String errorMsg = "Error saving composite application " + configCompositeApplication.getAlias();
+// log.error(errorMsg);
+// throw new ADCException(errorMsg, e);
+// }
+//
+// log.info("Successfully registered composite application " + configCompositeApplication.getAlias());
+//
+// }
- private void unRegisterCompositeApplication(String configApplicationAlias) throws ADCException {
-
- try {
- if (log.isDebugEnabled()) {
- log.debug("unregistering composite application " + configApplicationAlias);
- }
- DataInsertionAndRetrievalManager mgr = new DataInsertionAndRetrievalManager();
- mgr.removeCompositeApplication(configApplicationAlias);
-
- if (log.isDebugEnabled()) {
- log.debug("removed persisted composite application successfully");
- }
-
- } catch (PersistenceManagerException e) {
- String errorMsg = "Error undeploying composite application " + configApplicationAlias;
- log.error(errorMsg);
- throw new ADCException(errorMsg, e);
- }
-
- log.info("Successfully undeployed composite application " + configApplicationAlias);
-
- }
+// private void unRegisterCompositeApplication(String configApplicationAlias) throws ADCException {
+//
+// try {
+// if (log.isDebugEnabled()) {
+// log.debug("unregistering composite application " + configApplicationAlias);
+// }
+// DataInsertionAndRetrievalManager mgr = new DataInsertionAndRetrievalManager();
+// mgr.removeCompositeApplication(configApplicationAlias);
+//
+// if (log.isDebugEnabled()) {
+// log.debug("removed persisted composite application successfully");
+// }
+//
+// } catch (PersistenceManagerException e) {
+// String errorMsg = "Error undeploying composite application " + configApplicationAlias;
+// log.error(errorMsg);
+// throw new ADCException(errorMsg, e);
+// }
+//
+// log.info("Successfully undeployed composite application " + configApplicationAlias);
+//
+// }
- public void restoreCompositeApplications () throws ADCException {
- try {
- if (log.isDebugEnabled()) {
- log.debug("restoring composite applications " );
- }
- DataInsertionAndRetrievalManager mgr = new DataInsertionAndRetrievalManager();
- Collection<ConfigCompositeApplication> apps = mgr.getCompositeApplications();
-
- if (apps == null) {
- if (log.isDebugEnabled()) {
- log.debug("no composite application configured");
- }
- return;
- }
- if (log.isDebugEnabled()) {
- log.debug("retrieved persisted composite application " + apps.size());
- for (ConfigCompositeApplication app : apps) {
- log.debug("retrieved persisted composite application " + app.getAlias());
- }
- }
- // sending application created event to restore in Toplogy
- for (ConfigCompositeApplication app : apps) {
- log.debug("restoring composite application " + app.getAlias());
- ApplicationUtils.publishApplicationCreatedEvent(app);
- }
-
- } catch (PersistenceManagerException e) {
- String errorMsg = "Error restoring composite application ";
- log.error(errorMsg);
- throw new ADCException(errorMsg, e);
- }
- }
+// public void restoreCompositeApplications () throws ADCException {
+// try {
+// if (log.isDebugEnabled()) {
+// log.debug("restoring composite applications " );
+// }
+// DataInsertionAndRetrievalManager mgr = new DataInsertionAndRetrievalManager();
+// Collection<ConfigCompositeApplication> apps = mgr.getCompositeApplications();
+//
+// if (apps == null) {
+// if (log.isDebugEnabled()) {
+// log.debug("no composite application configured");
+// }
+// return;
+// }
+// if (log.isDebugEnabled()) {
+// log.debug("retrieved persisted composite application " + apps.size());
+// for (ConfigCompositeApplication app : apps) {
+// log.debug("retrieved persisted composite application " + app.getAlias());
+// }
+// }
+// // sending application created event to restore in Toplogy
+// for (ConfigCompositeApplication app : apps) {
+// log.debug("restoring composite application " + app.getAlias());
+// ApplicationUtils.publishApplicationCreatedEvent(app);
+// }
+//
+// } catch (PersistenceManagerException e) {
+// String errorMsg = "Error restoring composite application ";
+// log.error(errorMsg);
+// throw new ADCException(errorMsg, e);
+// }
+// }
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/7f5f19b5/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/exception/CompositeAppSubscriptionException.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/exception/CompositeAppSubscriptionException.java b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/exception/CompositeAppSubscriptionException.java
new file mode 100644
index 0000000..710c5f5
--- /dev/null
+++ b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/exception/CompositeAppSubscriptionException.java
@@ -0,0 +1,47 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.stratos.manager.exception;
+
+public class CompositeAppSubscriptionException extends Exception {
+
+ private String message;
+
+ public CompositeAppSubscriptionException() {
+ super();
+ }
+
+ public CompositeAppSubscriptionException(String message, Throwable cause) {
+ super(message, cause);
+ this.message = message;
+ }
+
+ public CompositeAppSubscriptionException(String message) {
+ super(message);
+ this.message = message;
+ }
+
+ public CompositeAppSubscriptionException(Throwable cause) {
+ super(cause);
+ }
+
+ public String getMessage() {
+ return message;
+ }
+}
http://git-wip-us.apache.org/repos/asf/stratos/blob/7f5f19b5/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/exception/GroupSubscriptionException.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/exception/GroupSubscriptionException.java b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/exception/GroupSubscriptionException.java
new file mode 100644
index 0000000..de24a45
--- /dev/null
+++ b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/exception/GroupSubscriptionException.java
@@ -0,0 +1,47 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.stratos.manager.exception;
+
+public class GroupSubscriptionException extends Exception {
+
+ private String message;
+
+ public GroupSubscriptionException () {
+ super();
+ }
+
+ public GroupSubscriptionException (String message, Throwable cause) {
+ super(message, cause);
+ this.message = message;
+ }
+
+ public GroupSubscriptionException (String message) {
+ super(message);
+ this.message = message;
+ }
+
+ public GroupSubscriptionException (Throwable cause) {
+ super(cause);
+ }
+
+ public String getMessage() {
+ return message;
+ }
+}
http://git-wip-us.apache.org/repos/asf/stratos/blob/7f5f19b5/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/manager/CartridgeSubscriptionManager.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/manager/CartridgeSubscriptionManager.java b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/manager/CartridgeSubscriptionManager.java
index f778760..a86c379 100644
--- a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/manager/CartridgeSubscriptionManager.java
+++ b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/manager/CartridgeSubscriptionManager.java
@@ -31,9 +31,7 @@ import org.apache.stratos.manager.lb.category.*;
import org.apache.stratos.manager.repository.Repository;
import org.apache.stratos.manager.retriever.DataInsertionAndRetrievalManager;
import org.apache.stratos.manager.subscriber.Subscriber;
-import org.apache.stratos.manager.subscription.CartridgeSubscription;
-import org.apache.stratos.manager.subscription.PersistenceContext;
-import org.apache.stratos.manager.subscription.SubscriptionData;
+import org.apache.stratos.manager.subscription.*;
import org.apache.stratos.manager.subscription.factory.CartridgeSubscriptionFactory;
import org.apache.stratos.manager.subscription.tenancy.SubscriptionMultiTenantBehaviour;
import org.apache.stratos.manager.subscription.tenancy.SubscriptionSingleTenantBehaviour;
@@ -60,6 +58,54 @@ public class CartridgeSubscriptionManager {
private static Log log = LogFactory.getLog(CartridgeSubscriptionManager.class);
//private static DataInsertionAndRetrievalManager dataInsertionAndRetrievalManager = new DataInsertionAndRetrievalManager();
+ public GroupSubscription createGroupSubscription (String groupName, String groupAlias, String tenantAdminUsername,
+ String tenantDomain, int tenantId) throws GroupSubscriptionException {
+
+ DataInsertionAndRetrievalManager dataInsertionAndRetrievalMgr = new DataInsertionAndRetrievalManager();
+ GroupSubscription groupSubscription;
+
+ try {
+ groupSubscription = dataInsertionAndRetrievalMgr.getGroupSubscription(tenantId, groupName, groupAlias);
+
+ } catch (PersistenceManagerException e) {
+ throw new GroupSubscriptionException(e);
+ }
+
+ if (groupSubscription != null) {
+ // Group Subscription already exists with same Group name and alias
+ throw new GroupSubscriptionException("Group Subscription already exists with name [ " + groupName + " ], alias [ " + groupAlias + " ]");
+ }
+
+ groupSubscription = new GroupSubscription(groupName, groupAlias);
+ Subscriber subscriber = new Subscriber(tenantAdminUsername, tenantId, tenantDomain);
+ groupSubscription.setSubscriber(subscriber);
+ return groupSubscription;
+ }
+
+ public CompositeAppSubscription createCompositeAppSubscription (String appId, String tenantAdminUsername,
+ String tenantDomain, int tenantId) throws CompositeAppSubscriptionException {
+
+ DataInsertionAndRetrievalManager dataInsertionAndRetrievalMgr = new DataInsertionAndRetrievalManager();
+ CompositeAppSubscription compositeAppSubscription;
+
+ try {
+ compositeAppSubscription = dataInsertionAndRetrievalMgr.getCompositeAppSubscription(tenantId, appId);
+
+ } catch (PersistenceManagerException e) {
+ throw new CompositeAppSubscriptionException(e);
+ }
+
+ if (compositeAppSubscription != null) {
+ // Composite App Subscription already exists with same app id
+ throw new CompositeAppSubscriptionException("Composite App Subscription already exists with Id [ " + appId + " ]");
+ }
+
+ compositeAppSubscription = new CompositeAppSubscription(appId);
+ Subscriber subscriber = new Subscriber(tenantAdminUsername, tenantId, tenantDomain);
+ compositeAppSubscription.setSubscriber(subscriber);
+ return compositeAppSubscription;
+ }
+
public CartridgeSubscription createCartridgeSubscription (SubscriptionData subscriptionData) throws ADCException,
InvalidCartridgeAliasException, DuplicateCartridgeAliasException, PolicyException, UnregisteredCartridgeException,
RepositoryRequiredException, RepositoryCredentialsRequiredException, RepositoryTransportException,
http://git-wip-us.apache.org/repos/asf/stratos/blob/7f5f19b5/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/persistence/PersistenceManager.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/persistence/PersistenceManager.java b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/persistence/PersistenceManager.java
index c0203eb..9fba1a0 100644
--- a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/persistence/PersistenceManager.java
+++ b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/persistence/PersistenceManager.java
@@ -19,12 +19,12 @@
package org.apache.stratos.manager.persistence;
-import org.apache.stratos.manager.composite.application.beans.CompositeAppDefinition;
import org.apache.stratos.manager.deploy.service.Service;
import org.apache.stratos.manager.exception.PersistenceManagerException;
import org.apache.stratos.manager.grouping.definitions.ServiceGroupDefinition;
import org.apache.stratos.manager.subscription.CartridgeSubscription;
-import org.apache.stratos.messaging.domain.topology.ConfigCompositeApplication;
+import org.apache.stratos.manager.subscription.CompositeAppSubscription;
+import org.apache.stratos.manager.subscription.GroupSubscription;
import java.util.Collection;
@@ -33,6 +33,15 @@ public abstract class PersistenceManager {
public abstract void persistCartridgeSubscription (CartridgeSubscription cartridgeSubscription)
throws PersistenceManagerException;
+ public abstract void persistGroupSubscription (GroupSubscription groupSubscription)
+ throws PersistenceManagerException;
+
+ public abstract GroupSubscription getGroupSubscription (int tenantId, String groupName, String groupAlias)
+ throws PersistenceManagerException;
+
+ public abstract void removeGroupSubscription (int tenantId, String groupName, String groupAlias)
+ throws PersistenceManagerException;
+
public abstract void removeCartridgeSubscription (int tenantId, String type, String alias)
throws PersistenceManagerException;
@@ -42,6 +51,15 @@ public abstract class PersistenceManager {
public abstract Collection<CartridgeSubscription> getCartridgeSubscriptions(int tenantId)
throws PersistenceManagerException;
+ public abstract void persistCompositeAppSubscription (CompositeAppSubscription compositeAppSubscription)
+ throws PersistenceManagerException;
+
+ public abstract CompositeAppSubscription getCompositeAppSubscription (int tenantId, String compositeAppId)
+ throws PersistenceManagerException;
+
+ public abstract void removeCompositeAppSubscription (int tenantId, String compositeAppId)
+ throws PersistenceManagerException;
+
public abstract void persistService (Service service) throws PersistenceManagerException;
public abstract Collection<Service> getServices () throws PersistenceManagerException;
@@ -55,14 +73,4 @@ public abstract class PersistenceManager {
public abstract ServiceGroupDefinition getServiceGroupDefinition (String serviceGroupDefinitionName) throws PersistenceManagerException;
public abstract void removeServiceGroupDefinition (String serviceGroupDefinitionName) throws PersistenceManagerException;
-
- //Grouping
- public abstract void persistDeployedCompositeApplication(ConfigCompositeApplication configCompositeApplication) throws PersistenceManagerException;
- public abstract void persistCompositeApplication(CompositeAppDefinition compositeApplication) throws PersistenceManagerException;
-
- //Grouping
- public abstract void removeDeployedCompositeApplication(String configCompositeApplicationAlias) throws PersistenceManagerException;
-
- public abstract Collection<ConfigCompositeApplication> getDeployedCompositeApplications () throws PersistenceManagerException;
-
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/7f5f19b5/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/persistence/RegistryBasedPersistenceManager.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/persistence/RegistryBasedPersistenceManager.java b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/persistence/RegistryBasedPersistenceManager.java
index 2ef2680..239f815 100644
--- a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/persistence/RegistryBasedPersistenceManager.java
+++ b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/persistence/RegistryBasedPersistenceManager.java
@@ -27,6 +27,8 @@ import org.apache.stratos.manager.exception.PersistenceManagerException;
import org.apache.stratos.manager.grouping.definitions.ServiceGroupDefinition;
import org.apache.stratos.manager.registry.RegistryManager;
import org.apache.stratos.manager.subscription.CartridgeSubscription;
+import org.apache.stratos.manager.subscription.CompositeAppSubscription;
+import org.apache.stratos.manager.subscription.GroupSubscription;
import org.apache.stratos.manager.utils.Deserializer;
import org.apache.stratos.manager.utils.Serializer;
import org.apache.stratos.messaging.domain.topology.ConfigCompositeApplication;
@@ -136,6 +138,22 @@ public class RegistryBasedPersistenceManager extends PersistenceManager {
}
}
+
+ @Override
+ public void persistGroupSubscription(GroupSubscription groupSubscription) throws PersistenceManagerException {
+ //TODO
+ }
+
+ public GroupSubscription getGroupSubscription (int tenantId, String groupName, String groupAlias) throws PersistenceManagerException {
+ //TODO
+ return null;
+ }
+
+ @Override
+ public void removeGroupSubscription(int tenantId, String groupName, String groupAlias) throws PersistenceManagerException {
+ //TODO
+ }
+
@Override
public Collection<CartridgeSubscription> getCartridgeSubscriptions () throws PersistenceManagerException {
@@ -222,244 +240,23 @@ public class RegistryBasedPersistenceManager extends PersistenceManager {
return traverseAndGetCartridgeSubscriptions(STRATOS_MANAGER_REOSURCE + ACTIVE_SUBSCRIPTIONS + "/" + Integer.toString(tenantId));
}
-
-
- //Grouping
- public void persistDeployedCompositeApplication (ConfigCompositeApplication configCompositeAapplication)
- throws PersistenceManagerException {
-
- if (log.isDebugEnabled()) {
- log.debug(String.format("trying to persist ConfigCompositeApplication [ %s ]", configCompositeAapplication.getAlias()));
- }
- int tenantId = CarbonContext.getThreadLocalCarbonContext().getTenantId();
- if (tenantId != MultitenantConstants.SUPER_TENANT_ID) {
- // TODO: This is only a workaround. Proper fix is to write to tenant registry
- try {
- PrivilegedCarbonContext.startTenantFlow();
- PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext();
- carbonContext.setTenantDomain(MultitenantConstants.SUPER_TENANT_DOMAIN_NAME);
- carbonContext.setTenantId(MultitenantConstants.SUPER_TENANT_ID);
-
- persistCompApplication(configCompositeAapplication);
-
- } finally {
- PrivilegedCarbonContext.endTenantFlow();
- }
-
- } else {
- persistCompApplication(configCompositeAapplication);
- }
- }
-
- public void persistCompositeApplication (CompositeAppDefinition configCompositeApplication)
- throws PersistenceManagerException {
-
- if (log.isDebugEnabled()) {
- log.debug(String.format("trying to persist ConfigCompositeApplication [ %s ]", configCompositeApplication.getAlias()));
- }
- int tenantId = CarbonContext.getThreadLocalCarbonContext().getTenantId();
- if (tenantId != MultitenantConstants.SUPER_TENANT_ID) {
- // TODO: This is only a workaround. Proper fix is to write to tenant registry
- try {
- PrivilegedCarbonContext.startTenantFlow();
- PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext();
- carbonContext.setTenantDomain(MultitenantConstants.SUPER_TENANT_DOMAIN_NAME);
- carbonContext.setTenantId(MultitenantConstants.SUPER_TENANT_ID);
-
- persistCompApplication(configCompositeApplication);
-
- } finally {
- PrivilegedCarbonContext.endTenantFlow();
- }
-
- } else {
- persistCompApplication(configCompositeApplication);
- }
- }
-
- // Grouping
- private void persistCompApplication (ConfigCompositeApplication configCompositeAapplication) throws PersistenceManagerException {
-
- // persist Service
- try {
- //RegistryManager.getInstance().persist(STRATOS_MANAGER_REOSURCE + COMPOSITE_APPLICATION + "/" + configCompositeAapplication.getAlias(),
- RegistryManager.getInstance().persist(STRATOS_MANAGER_REOSURCE + COMPOSITE_APPLICATION + "/" + "compositeApplicationAlias",
- Serializer.serializeServiceToByteArray(configCompositeAapplication), null);
-
- if (log.isDebugEnabled()) {
- log.debug("Persisted ConfigCompositeApplication successfully: hardcoded [ " + configCompositeAapplication.getAlias() + " ]");
- }
-
- } catch (RegistryException e) {
- throw new PersistenceManagerException(e);
-
- } catch (IOException e) {
- throw new PersistenceManagerException(e);
- }
- }
-
- // Grouping
- private void persistCompApplication (CompositeAppDefinition configCompositeAapplication) throws PersistenceManagerException {
-
- // persist Service
- try {
- //RegistryManager.getInstance().persist(STRATOS_MANAGER_REOSURCE + COMPOSITE_APPLICATION + "/" + configCompositeAapplication.getAlias(),
- RegistryManager.getInstance().persist(STRATOS_MANAGER_REOSURCE + COMPOSITE_APPLICATION + "/" + "compositeApplicationAlias",
- Serializer.serializeServiceToByteArray(configCompositeAapplication), null);
- if (log.isDebugEnabled()) {
- log.debug("Persisted ConfigCompositeApplication successfully: hardcoded [ " + configCompositeAapplication.getAlias() + " ]");
- }
-
- } catch (RegistryException e) {
- throw new PersistenceManagerException(e);
-
- } catch (IOException e) {
- throw new PersistenceManagerException(e);
- }
- }
-
- public void removeDeployedCompositeApplication(String configCompositeApplicationAlias) throws PersistenceManagerException {
-
- int tenantId = CarbonContext.getThreadLocalCarbonContext().getTenantId();
- if (tenantId != MultitenantConstants.SUPER_TENANT_ID) {
- // TODO: This is only a workaround. Proper fix is to write to tenant registry
- try {
- PrivilegedCarbonContext.startTenantFlow();
- PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext();
- carbonContext.setTenantDomain(MultitenantConstants.SUPER_TENANT_DOMAIN_NAME);
- carbonContext.setTenantId(MultitenantConstants.SUPER_TENANT_ID);
-
- if (log.isDebugEnabled()) {
- log.debug("removing persisted ConfigCompositeApplication : [ " + configCompositeApplicationAlias + " ]");
- }
- removeCompApplication(configCompositeApplicationAlias);
-
- if (log.isDebugEnabled()) {
- log.debug("successfully removed persisted ConfigCompositeApplication : [ " + configCompositeApplicationAlias + " ]");
- }
-
- } finally {
- PrivilegedCarbonContext.endTenantFlow();
- }
-
- } else {
- if (log.isDebugEnabled()) {
- log.debug("removing persisted ConfigCompositeApplication 1 : [ " + configCompositeApplicationAlias + " ]");
- }
- removeCompApplication(configCompositeApplicationAlias);
-
- if (log.isDebugEnabled()) {
- log.debug("successfully removed persisted ConfigCompositeApplication 1 : [ " + configCompositeApplicationAlias + " ]");
- }
- }
+ @Override
+ public void persistCompositeAppSubscription(CompositeAppSubscription compositeAppSubscription) throws PersistenceManagerException {
+ //TODO
}
-
- public Collection<ConfigCompositeApplication> getDeployedCompositeApplications () throws PersistenceManagerException {;
- if (log.isDebugEnabled()) {
- log.debug("retrieving persisted ConfigCompositeApplication ");
- }
-
- int tenantId = CarbonContext.getThreadLocalCarbonContext().getTenantId();
- if (tenantId != MultitenantConstants.SUPER_TENANT_ID) {
- // TODO: This is only a workaround. Proper fix is to write to tenant registry
- try {
- PrivilegedCarbonContext.startTenantFlow();
- PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext();
- carbonContext.setTenantDomain(MultitenantConstants.SUPER_TENANT_DOMAIN_NAME);
- carbonContext.setTenantId(MultitenantConstants.SUPER_TENANT_ID);
- if (log.isDebugEnabled()) {
- log.debug("traversing ConfigCompositeApplications ");
- }
- return traverseAndGetDeloyedCompositeApplication(STRATOS_MANAGER_REOSURCE + COMPOSITE_APPLICATION);
-
- } finally {
- PrivilegedCarbonContext.endTenantFlow();
- }
-
- } else {
- return traverseAndGetDeloyedCompositeApplication(STRATOS_MANAGER_REOSURCE + COMPOSITE_APPLICATION);
- }
-
+ @Override
+ public CompositeAppSubscription getCompositeAppSubscription(int tenantId, String compositeAppId) throws PersistenceManagerException {
+ //TODO
+ return null;
}
-
- public Collection<ConfigCompositeApplication> traverseAndGetDeloyedCompositeApplication (String resourcePath) throws PersistenceManagerException {
-
- if (log.isDebugEnabled()) {
- log.debug("traverseAndGetDeloyedCompositeApplication: Root resource path: " + resourcePath);
- }
-
- Object resourceObj;
-
- try {
- resourceObj = RegistryManager.getInstance().retrieve(resourcePath);
- if (log.isDebugEnabled()) {
- log.debug("traversing com apps , retrieving resource: " + resourceObj);
- }
-
- } catch (RegistryException e) {
- throw new PersistenceManagerException(e);
- }
-
- Collection<ConfigCompositeApplication> comApps = new ArrayList<ConfigCompositeApplication>();
-
- if (resourceObj == null) {
- // there is no resource at the given path
- return null;
-
- } else if (resourceObj instanceof String[]) {
-
- // get the paths for all Service instances
- String[] compAppResourcePaths = (String[]) resourceObj;
- if (log.isDebugEnabled()) {
- for (String retrievedResourcePath : compAppResourcePaths) {
- log.debug("Retrieved resource sub-path " + retrievedResourcePath);
- }
- }
-
- // traverse the paths recursively
- for (String compAppResourcePath : compAppResourcePaths) {
-
- if (log.isDebugEnabled()) {
- log.debug("Traversing resource path " + compAppResourcePath);
- }
-
- comApps.addAll(traverseAndGetDeloyedCompositeApplication(compAppResourcePath));
- }
-
- } else {
- // De-serialize
- Object compAppObj;
-
- try {
- compAppObj = Deserializer.deserializeFromByteArray((byte[]) resourceObj);
-
- } catch (Exception e) {
- // issue might be de-serializing only this object, therefore log and continue without throwing
- log.error("Error while de-serializing the object retrieved from " + resourcePath, e);
- return null;
- }
-
- if (compAppObj != null && compAppObj instanceof ConfigCompositeApplication) {
-
- ConfigCompositeApplication deserilizedCompApp = (ConfigCompositeApplication) compAppObj;
- if (log.isDebugEnabled()) {
- log.debug("Successfully de-serialized ConfigCompositeApplication: " + deserilizedCompApp.toString());
- }
-
- comApps.add(deserilizedCompApp);
-
- }
- }
-
- // remove any nulls
- comApps.removeAll(Collections.singleton(null));
- return comApps;
+ @Override
+ public void removeCompositeAppSubscription(int tenantId, String compositeAppId) throws PersistenceManagerException {
+ //TODO
}
-
@Override
public void persistService(Service service) throws PersistenceManagerException {
http://git-wip-us.apache.org/repos/asf/stratos/blob/7f5f19b5/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/retriever/DataInsertionAndRetrievalManager.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/retriever/DataInsertionAndRetrievalManager.java b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/retriever/DataInsertionAndRetrievalManager.java
index 4f88f2c..c9b92aa 100644
--- a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/retriever/DataInsertionAndRetrievalManager.java
+++ b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/retriever/DataInsertionAndRetrievalManager.java
@@ -29,6 +29,8 @@ import org.apache.stratos.manager.lookup.LookupDataHolder;
import org.apache.stratos.manager.persistence.PersistenceManager;
import org.apache.stratos.manager.persistence.RegistryBasedPersistenceManager;
import org.apache.stratos.manager.subscription.CartridgeSubscription;
+import org.apache.stratos.manager.subscription.CompositeAppSubscription;
+import org.apache.stratos.manager.subscription.GroupSubscription;
import org.apache.stratos.messaging.domain.topology.ConfigCompositeApplication;
import java.util.Collection;
@@ -337,114 +339,49 @@ public class DataInsertionAndRetrievalManager {
LookupDataHolder.getInstance().releaseReadLock();
}
}
-
- // Grouping
- public void persistCompositeApplication (ConfigCompositeApplication configCompositeApplication) throws PersistenceManagerException {
- // get the write lock
- //LookupDataHolder.getInstance().acquireWriteLock();
-
- try {
- // store in LookupDataHolder
- //ToDo ... add to data holder
- // LookupDataHolder.getInstance().putSubscription(cartridgeSubscription);
-
- try {
- // store in Persistence Manager
- persistenceManager.persistDeployedCompositeApplication(configCompositeApplication);
-
- } catch (PersistenceManagerException e) {
- String errorMsg = "Error in persisting CartridgeSubscription in Persistence Manager";
- log.error(errorMsg, e);
- // remove from the in memory model since persisting failed
- /* TODO
- LookupDataHolder.getInstance().removeSubscription(cartridgeSubscription.getSubscriber().getTenantId(), cartridgeSubscription.getType(),
- cartridgeSubscription.getAlias(), cartridgeSubscription.getClusterDomain(),
- cartridgeSubscription.getRepository() != null ? cartridgeSubscription.getRepository().getUrl() : null);
- */
- throw e;
- }
+ public void peristServiceGroupDefinition (ServiceGroupDefinition serviceGroupDefinition) throws PersistenceManagerException {
- } finally {
- // release the write lock
- //LookupDataHolder.getInstance().releaseWriteLock();
- }
+ persistenceManager.persistServiceGroupDefinition(serviceGroupDefinition);
}
- public void persistCompositeApplication (CompositeAppDefinition compositeApplication) throws PersistenceManagerException {
-
- // get the write lock
- //LookupDataHolder.getInstance().acquireWriteLock();
-
- try {
- // store in LookupDataHolder
- //ToDo ... add to data holder
- // LookupDataHolder.getInstance().putSubscription(cartridgeSubscription);
+ public ServiceGroupDefinition getServiceGroupDefinition (String serviceGroupDefinitionName) throws PersistenceManagerException {
- try {
- // store in Persistence Manager
- persistenceManager.persistCompositeApplication(compositeApplication);
+ return persistenceManager.getServiceGroupDefinition(serviceGroupDefinitionName);
+ }
- } catch (PersistenceManagerException e) {
- String errorMsg = "Error in persisting CartridgeSubscription in Persistence Manager";
- log.error(errorMsg, e);
- // remove from the in memory model since persisting failed
- /* TODO
- LookupDataHolder.getInstance().removeSubscription(cartridgeSubscription.getSubscriber().getTenantId(), cartridgeSubscription.getType(),
- cartridgeSubscription.getAlias(), cartridgeSubscription.getClusterDomain(),
- cartridgeSubscription.getRepository() != null ? cartridgeSubscription.getRepository().getUrl() : null);
- */
- throw e;
- }
+ public void removeServiceGroupDefinition (String serviceGroupName) throws PersistenceManagerException {
- } finally {
- // release the write lock
- //LookupDataHolder.getInstance().releaseWriteLock();
- }
+ persistenceManager.removeServiceGroupDefinition(serviceGroupName);
}
- // Grouping
-
- public void removeCompositeApplication (String configCompositeApplicationAlias) throws PersistenceManagerException {
- LookupDataHolder.getInstance().acquireWriteLock();
+ public void persistGroupSubscription (GroupSubscription groupSubscription) throws PersistenceManagerException {
- try {
- // remove from persistence manager
- try {
- persistenceManager.removeDeployedCompositeApplication(configCompositeApplicationAlias);
+ persistenceManager.persistGroupSubscription(groupSubscription);
+ }
- } catch (PersistenceManagerException e) {
- String errorMsg = "Error in removing Composite application from Persistence Manager";
- log.error(errorMsg, e);
- throw e;
- }
+ public GroupSubscription getGroupSubscription (int tenantId, String groupName, String groupAlias) throws PersistenceManagerException {
- } finally {
- LookupDataHolder.getInstance().releaseWriteLock();
- }
+ return persistenceManager.getGroupSubscription(tenantId, groupName, groupAlias);
}
-
- // Grouping
-
-
- public Collection<ConfigCompositeApplication> getCompositeApplications() throws PersistenceManagerException {
+ public void removeGroupSubscription (int tenantId, String groupName, String groupAlias) throws PersistenceManagerException {
- return persistenceManager.getDeployedCompositeApplications();
+ persistenceManager.removeGroupSubscription(tenantId, groupName, groupAlias);
}
- public void peristServiceGroupDefinition (ServiceGroupDefinition serviceGroupDefinition) throws PersistenceManagerException {
+ public void persistCompositeAppSubscription (CompositeAppSubscription compositeAppSubscription) throws PersistenceManagerException {
- persistenceManager.persistServiceGroupDefinition(serviceGroupDefinition);
+ persistenceManager.persistCompositeAppSubscription(compositeAppSubscription);
}
- public ServiceGroupDefinition getServiceGroupDefinition (String serviceGroupDefinitionName) throws PersistenceManagerException {
+ public CompositeAppSubscription getCompositeAppSubscription (int tenantId, String appId) throws PersistenceManagerException {
- return persistenceManager.getServiceGroupDefinition(serviceGroupDefinitionName);
+ return persistenceManager.getCompositeAppSubscription(tenantId, appId);
}
- public void removeServiceGroupDefinition (String serviceGroupName) throws PersistenceManagerException {
+ public void removeCompositeAppSubscription (int tenantId, String appId) throws PersistenceManagerException {
- persistenceManager.removeServiceGroupDefinition(serviceGroupName);
+ persistenceManager.removeCompositeAppSubscription(tenantId, appId);
}
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/7f5f19b5/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/CompositeAppSubscription.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/CompositeAppSubscription.java b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/CompositeAppSubscription.java
index 86fb0cd..018d1c4 100644
--- a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/CompositeAppSubscription.java
+++ b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/CompositeAppSubscription.java
@@ -21,6 +21,7 @@ package org.apache.stratos.manager.subscription;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.apache.stratos.manager.subscriber.Subscriber;
import org.jboss.util.propertyeditor.StringArrayEditor;
import java.io.Serializable;
@@ -39,6 +40,8 @@ public class CompositeAppSubscription implements Serializable {
private Set<String> groupSubscriptionAliases;
+ private Subscriber subscriber;
+
public CompositeAppSubscription (String appId) {
this.appId = appId;
@@ -65,4 +68,16 @@ public class CompositeAppSubscription implements Serializable {
public void addGroupSubscriptionAliases (Set<String> groupSubscriptionAliases) {
cartridgeSubscriptionAliases.addAll(groupSubscriptionAliases);
}
+
+ public String getAppId() {
+ return appId;
+ }
+
+ public Subscriber getSubscriber() {
+ return subscriber;
+ }
+
+ public void setSubscriber(Subscriber subscriber) {
+ this.subscriber = subscriber;
+ }
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/7f5f19b5/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/GroupSubscription.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/GroupSubscription.java b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/GroupSubscription.java
index 31fcb73..ef327f5 100644
--- a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/GroupSubscription.java
+++ b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/subscription/GroupSubscription.java
@@ -19,20 +19,27 @@
package org.apache.stratos.manager.subscription;
+import org.apache.stratos.manager.subscriber.Subscriber;
+
import java.io.Serializable;
import java.util.HashSet;
import java.util.Set;
public class GroupSubscription implements Serializable {
+ private String name;
+
private String groupAlias;
private Set<String> cartridgeSubscriptionAliases;
private Set<String> groupSubscriptionAliases;
- public GroupSubscription (String groupAlias) {
+ private Subscriber subscriber;
+
+ public GroupSubscription (String name, String groupAlias) {
+ this.name = name;
this.groupAlias = groupAlias;
cartridgeSubscriptionAliases = new HashSet<String>();
groupSubscriptionAliases = new HashSet<String>();
@@ -61,4 +68,16 @@ public class GroupSubscription implements Serializable {
public String getGroupAlias() {
return groupAlias;
}
+
+ public String getName() {
+ return name;
+ }
+
+ public Subscriber getSubscriber() {
+ return subscriber;
+ }
+
+ public void setSubscriber(Subscriber subscriber) {
+ this.subscriber = subscriber;
+ }
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/7f5f19b5/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/ServiceUtils.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/ServiceUtils.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/ServiceUtils.java
index 8e10fda..e02ea11 100644
--- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/ServiceUtils.java
+++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/ServiceUtils.java
@@ -321,29 +321,29 @@ public class ServiceUtils {
}
- static StratosAdminResponse unDeployApplicationOld(String configCompositeApplicationAlias, ConfigurationContext ctxt,
- String userName, String tenantDomain) throws RestAPIException {
-
- log.info("Starting to undeploy a composite application " + configCompositeApplicationAlias);
-
- CompositeApplicationManager manager = new CompositeApplicationManager();
-
- try {
- manager.unDeployCompositeApplication(configCompositeApplicationAlias);
- } catch (ADCException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- String message = e.getMessage();
- log.error(message, e);
- throw new RestAPIException(message, e);
- }
-
- log.info("l [type] " + configCompositeApplicationAlias);
-
- StratosAdminResponse stratosAdminResponse = new StratosAdminResponse();
- stratosAdminResponse.setMessage("Successfully un-deployed application with alias " + configCompositeApplicationAlias);
- return stratosAdminResponse;
- }
+// static StratosAdminResponse unDeployApplicationOld(String configCompositeApplicationAlias, ConfigurationContext ctxt,
+// String userName, String tenantDomain) throws RestAPIException {
+//
+// log.info("Starting to undeploy a composite application " + configCompositeApplicationAlias);
+//
+// CompositeApplicationManager manager = new CompositeApplicationManager();
+//
+// try {
+// manager.unDeployCompositeApplication(configCompositeApplicationAlias);
+// } catch (ADCException e) {
+// // TODO Auto-generated catch block
+// e.printStackTrace();
+// String message = e.getMessage();
+// log.error(message, e);
+// throw new RestAPIException(message, e);
+// }
+//
+// log.info("l [type] " + configCompositeApplicationAlias);
+//
+// StratosAdminResponse stratosAdminResponse = new StratosAdminResponse();
+// stratosAdminResponse.setMessage("Successfully un-deployed application with alias " + configCompositeApplicationAlias);
+// return stratosAdminResponse;
+// }
@SuppressWarnings("unused")
private static DeploymentPolicy[] intersection(