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/01/04 09:27:33 UTC
[07/12] git commit: continuation od Registry based Persistence
continuation od Registry based Persistence
Project: http://git-wip-us.apache.org/repos/asf/incubator-stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-stratos/commit/076c1737
Tree: http://git-wip-us.apache.org/repos/asf/incubator-stratos/tree/076c1737
Diff: http://git-wip-us.apache.org/repos/asf/incubator-stratos/diff/076c1737
Branch: refs/heads/master
Commit: 076c17374c7ae46babb4c0600163ac0a46078227
Parents: 47e4f43
Author: Isuru <is...@wso2.com>
Authored: Fri Jan 3 11:53:22 2014 +0530
Committer: Isuru <is...@wso2.com>
Committed: Fri Jan 3 11:53:22 2014 +0530
----------------------------------------------------------------------
.../DataCartridgeSubscriptionConnector.java | 4 +-
.../apache/stratos/adc/mgt/dto/Cartridge.java | 20 +++---
.../mgt/listener/InstanceStatusListener.java | 4 ++
.../adc/mgt/lookup/ClusterIdToSubscription.java | 14 +++--
.../adc/mgt/lookup/LookupDataHolder.java | 11 +++-
.../adc/mgt/lookup/SubscriptionContext.java | 48 ++++++++++++++-
.../lookup/TenantIdToSubscriptionContext.java | 16 +++++
.../manager/CartridgeSubscriptionManager.java | 44 +++++++++++---
.../adc/mgt/persistence/PersistenceManager.java | 2 +-
.../RegistryBasedPersistenceManager.java | 55 ++++++++++++++---
.../adc/mgt/registry/RegistryManager.java | 28 ++++++++-
.../DataInsertionAndRetrievalManager.java | 45 +++++++++++---
.../service/ApplicationManagementService.java | 6 +-
.../mgt/utils/ApplicationManagementUtil.java | 24 ++++----
.../rest/endpoint/services/ServiceUtils.java | 64 ++++++++++++--------
15 files changed, 295 insertions(+), 90 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/076c1737/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/connector/data/DataCartridgeSubscriptionConnector.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/connector/data/DataCartridgeSubscriptionConnector.java b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/connector/data/DataCartridgeSubscriptionConnector.java
index e4a080c..cc3d687 100644
--- a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/connector/data/DataCartridgeSubscriptionConnector.java
+++ b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/connector/data/DataCartridgeSubscriptionConnector.java
@@ -59,7 +59,7 @@ public class DataCartridgeSubscriptionConnector extends CartridgeSubscriptionCon
// This cannot happen here.
}
if (cartridge != null) {
- if (!cartridge.getStatus().equals("ACTIVE")) {
+ /*if (!cartridge.getStatus().equals("ACTIVE")) {
try {
Thread.sleep(3000);
} catch (InterruptedException ignore) {
@@ -71,7 +71,7 @@ public class DataCartridgeSubscriptionConnector extends CartridgeSubscriptionCon
log.info("Connection information retrieved for " + cartridgeSubscription + " and " +
connectingCartridgeSubscription);
break;
- }
+ }*/
}
if(attempts == maxAttempts) {
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/076c1737/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/dto/Cartridge.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/dto/Cartridge.java b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/dto/Cartridge.java
index da09254..dcd3dbe 100644
--- a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/dto/Cartridge.java
+++ b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/dto/Cartridge.java
@@ -28,16 +28,16 @@ public class Cartridge implements Comparable<Cartridge> {
private String description;
private String cartridgeAlias;
private String cartridgeType;
- private int activeInstances;
+ //private int activeInstances;
private String status;
- private String ip;
+ //private String ip;
private String password;
private String provider;
private String version;
private boolean multiTenant;
private String hostName;
- private String policy;
- private String policyDescription;
+ //private String policy;
+ //private String policyDescription;
private String repoURL;
private String dbUserName;
private String mappedDomain;
@@ -76,13 +76,13 @@ public class Cartridge implements Comparable<Cartridge> {
this.cartridgeType = cartridgeType;
}
- public int getActiveInstances() {
+ /*public int getActiveInstances() {
return activeInstances;
}
public void setActiveInstances(int activeInstances) {
this.activeInstances = activeInstances;
- }
+ }*/
public String getStatus() {
return status;
@@ -92,13 +92,13 @@ public class Cartridge implements Comparable<Cartridge> {
this.status = status;
}
- public String getIp() {
+ /*public String getIp() {
return ip;
}
public void setIp(String ip) {
this.ip = ip;
- }
+ }*/
public String getPassword() {
return password;
@@ -140,7 +140,7 @@ public class Cartridge implements Comparable<Cartridge> {
this.hostName = hostName;
}
- public String getPolicy() {
+ /*public String getPolicy() {
return policy;
}
@@ -154,7 +154,7 @@ public class Cartridge implements Comparable<Cartridge> {
public void setPolicyDescription(String policyDescription) {
this.policyDescription = policyDescription;
- }
+ }*/
public String getRepoURL() {
return repoURL;
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/076c1737/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/listener/InstanceStatusListener.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/listener/InstanceStatusListener.java b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/listener/InstanceStatusListener.java
index 8adf021..8fad7d9 100644
--- a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/listener/InstanceStatusListener.java
+++ b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/listener/InstanceStatusListener.java
@@ -75,6 +75,10 @@ public class InstanceStatusListener implements MessageListener {
ArtifactUpdatePublisher publisher = new ArtifactUpdatePublisher(cartridgeSubscription.getRepository(), clusterId,
String.valueOf(cartridgeSubscription.getSubscriber().getTenantId()));
publisher.publish();
+ } else {
+ //TODO: make this log debug
+ log.info("No repository found for subscription with alias: " + cartridgeSubscription.getAlias() + ", type: " + cartridgeSubscription.getType()+
+ ". Not sending the Depsync event");
}
}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/076c1737/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/lookup/ClusterIdToSubscription.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/lookup/ClusterIdToSubscription.java b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/lookup/ClusterIdToSubscription.java
index 95cd03f..a04ad2f 100644
--- a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/lookup/ClusterIdToSubscription.java
+++ b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/lookup/ClusterIdToSubscription.java
@@ -40,11 +40,6 @@ public class ClusterIdToSubscription implements Serializable {
public void addSubscription (CartridgeSubscription cartridgeSubscription) {
- add(cartridgeSubscription);
- }
-
- private void add (CartridgeSubscription cartridgeSubscription) {
-
clusterIdToCartridgeSubscription.put(cartridgeSubscription.getClusterDomain(), cartridgeSubscription);
}
@@ -52,4 +47,13 @@ public class ClusterIdToSubscription implements Serializable {
return clusterIdToCartridgeSubscription.get(clusterId);
}
+
+ public void removeSubscription (String clusterId) {
+
+ if (clusterIdToCartridgeSubscription.remove(clusterId) != null) {
+ if (log.isDebugEnabled()) {
+ log.debug("Deleted the subscription for cluster " + clusterId + " from [Cluster Id -> CartridgeSubscription] map");
+ }
+ }
+ }
}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/076c1737/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/lookup/LookupDataHolder.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/lookup/LookupDataHolder.java b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/lookup/LookupDataHolder.java
index 86cbd48..7215354 100644
--- a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/lookup/LookupDataHolder.java
+++ b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/lookup/LookupDataHolder.java
@@ -61,8 +61,8 @@ public class LookupDataHolder implements Serializable {
if (clusterIdToSubscription.getSubscription(cartridgeSubscription.getClusterDomain()) != null) {
if(log.isDebugEnabled()) {
- log.debug("Overwriting the existing CartridgeSubscription for tenant " + cartridgeSubscription.getSubscriber().getTenantId() +
- ", alias " + cartridgeSubscription.getAlias());
+ log.debug("Overwriting the existing CartridgeSubscription for cluster " + cartridgeSubscription.getClusterDomain() +
+ " in [Cluster Id -> CartridgeSubscription] map");
}
}
// add or update
@@ -82,8 +82,13 @@ public class LookupDataHolder implements Serializable {
}
- public Collection<CartridgeSubscription> getSubscriptions (int tenantId) {
+ public void removeSubscription (int tenantId, String type, String subscriptionAlias, String clusterId) {
+
+ tenantIdToSubscriptionContext.removeSubscriptionContext(tenantId, type, subscriptionAlias);
+ clusterIdToSubscription.removeSubscription(clusterId);
+ }
+ public Collection<CartridgeSubscription> getSubscriptions (int tenantId) {
SubscriptionContext subscriptionContext = tenantIdToSubscriptionContext.getSubscriptionContext(tenantId);
if (subscriptionContext == null) {
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/076c1737/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/lookup/SubscriptionContext.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/lookup/SubscriptionContext.java b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/lookup/SubscriptionContext.java
index 0af7728..4badf26 100644
--- a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/lookup/SubscriptionContext.java
+++ b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/lookup/SubscriptionContext.java
@@ -50,11 +50,16 @@ public class SubscriptionContext implements Serializable {
// if an existing subscription is present, remove it
if(existingSubscriptions.remove(cartridgeSubscription)){
if(log.isDebugEnabled()) {
- log.debug("Removed the existing Cartridge Subscription for type " + cartridgeType + ", alias " + cartridgeSubscription.getAlias());
+ log.debug("Removed the existing Cartridge Subscription for type " + cartridgeType + ", alias " + cartridgeSubscription.getAlias() +
+ " in [Cartridge Type -> Set<CartridgeSubscription>] map");
}
}
// add or update
existingSubscriptions.add(cartridgeSubscription);
+ if(log.isDebugEnabled()) {
+ log.debug("Overwrote the existing Cartridge Subscription for type " + cartridgeType + ", alias " + cartridgeSubscription.getAlias() +
+ " in [Cartridge Type -> Set<CartridgeSubscription>] map");
+ }
} else {
// create a new set and add it
@@ -63,10 +68,11 @@ public class SubscriptionContext implements Serializable {
cartridgeTypeToSubscriptions.put(cartridgeType, subscriptions);
}
- // putSubscription to aliasToSubscription map
+ // put Subscription to aliasToSubscription map
if (aliasToSubscription.put(cartridgeSubscription.getAlias(), cartridgeSubscription) != null) {
if(log.isDebugEnabled()) {
- log.debug("Overwrote the existing Cartridge Subscription for alias " + cartridgeSubscription.getAlias());
+ log.debug("Overwrote the existing Cartridge Subscription for alias " + cartridgeSubscription.getAlias() +
+ " in [Subscription Alias -> CartridgeSubscription] map");
}
}
}
@@ -86,4 +92,40 @@ public class SubscriptionContext implements Serializable {
return aliasToSubscription.get(subscriptionAlias);
}
+ public void deleteSubscription (String type, String subscriptionAlias) {
+
+ // remove Subscription from cartridgeTypeToSubscriptions map
+ Set<CartridgeSubscription> existingSubscriptions = cartridgeTypeToSubscriptions.get(type);
+ if (existingSubscriptions != null && !existingSubscriptions.isEmpty()) {
+ // iterate through the set
+ Iterator<CartridgeSubscription> iterator = existingSubscriptions.iterator();
+ while (iterator.hasNext()) {
+ CartridgeSubscription cartridgeSubscription = iterator.next();
+ // if a matching CartridgeSubscription is found, remove
+ if (cartridgeSubscription.getAlias().equals(subscriptionAlias)) {
+ iterator.remove();
+ if (log.isDebugEnabled()) {
+ log.debug("Deleted the subscription for alias " + subscriptionAlias + " and type " + type + " from [Type -> Set<CartridgeSubscription>] map");
+ }
+ break;
+ }
+ }
+ }
+
+ // if the Subscriptions set is empty now, remove it from cartridgeTypeToSubscriptions map
+ if (existingSubscriptions.isEmpty()) {
+ cartridgeTypeToSubscriptions.remove(type);
+ if (log.isDebugEnabled()) {
+ log.debug("Deleted the subscriptions set for type " + type + " from [Type -> Set<CartridgeSubscription>] map");
+ }
+ }
+
+ // remove from aliasToSubscription map
+ if (aliasToSubscription.remove(subscriptionAlias) != null) {
+ if (log.isDebugEnabled()) {
+ log.debug("Deleted the subscription for alias " + subscriptionAlias + " from [Alias -> CartridgeSubscription] map");
+ }
+ }
+ }
+
}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/076c1737/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/lookup/TenantIdToSubscriptionContext.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/lookup/TenantIdToSubscriptionContext.java b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/lookup/TenantIdToSubscriptionContext.java
index 87574cb..c2d029c 100644
--- a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/lookup/TenantIdToSubscriptionContext.java
+++ b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/lookup/TenantIdToSubscriptionContext.java
@@ -45,4 +45,20 @@ public class TenantIdToSubscriptionContext {
tenantIdToSubscriptionContext.put(tenantId, subscriptionContext);
}
+
+ public void removeSubscriptionContext (int tenantId, String type, String subscriptionAlias) {
+
+ if (tenantIdToSubscriptionContext.containsKey(tenantId)) {
+ SubscriptionContext subscriptionContext = tenantIdToSubscriptionContext.get(tenantId);
+ subscriptionContext.deleteSubscription(type, subscriptionAlias);
+
+ // delete the SubscriptionContext instance for the tenant if it carries no information
+ if (subscriptionContext.getSubscriptionsOfType(type) == null && subscriptionContext.getSubscriptionForAlias(subscriptionAlias) == null) {
+ tenantIdToSubscriptionContext.remove(tenantId);
+ if (log.isDebugEnabled()) {
+ log.debug("Deleted the subscriptionContext instance for tenant " + tenantId);
+ }
+ }
+ }
+ }
}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/076c1737/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 e530c12..50b5ba6 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
@@ -45,6 +45,7 @@ import org.apache.stratos.cloud.controller.pojo.CartridgeInfo;
import org.apache.stratos.cloud.controller.pojo.Property;
import org.wso2.carbon.context.CarbonContext;
+import java.util.Collection;
import java.util.Map;
import java.util.Set;
@@ -54,7 +55,7 @@ import java.util.Set;
public class CartridgeSubscriptionManager {
private static Log log = LogFactory.getLog(CartridgeSubscriptionManager.class);
- private DataInsertionAndRetrievalManager dataInsertionAndRetrievalManager = new DataInsertionAndRetrievalManager();
+ //private static DataInsertionAndRetrievalManager dataInsertionAndRetrievalManager = new DataInsertionAndRetrievalManager();
/**
* Subscribes to a cartridge
@@ -72,7 +73,7 @@ public class CartridgeSubscriptionManager {
* @param repositoryUsername Repository username
* @param repositoryPassword Repository password
*
- * @return Subscribed CartridgeSubscriptionInfo object
+ * @return Subscribed CartridgeSubscription object
* @throws ADCException
* @throws InvalidCartridgeAliasException
* @throws DuplicateCartridgeAliasException
@@ -326,7 +327,7 @@ public class CartridgeSubscriptionManager {
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
try {
- dataInsertionAndRetrievalManager.cacheAndPersistSubcription(cartridgeSubscription);
+ new DataInsertionAndRetrievalManager().cacheAndPersistSubcription(cartridgeSubscription);
} catch (PersistenceManagerException e) {
String errorMsg = "Error saving subscription for tenant " +
@@ -342,6 +343,21 @@ public class CartridgeSubscriptionManager {
createSubscriptionResponse(cartridgeSubscriptionInfo, cartridgeSubscription.getRepository());
}
+ public Collection<CartridgeSubscription> getCartridgeSubscriptions (int tenantId, String type) throws ADCException {
+
+ if (type == null || type.isEmpty()) {
+ return new DataInsertionAndRetrievalManager().getCartridgeSubscriptions(tenantId);
+
+ } else {
+ return new DataInsertionAndRetrievalManager().getCartridgeSubscriptions(tenantId, type);
+ }
+ }
+
+ public CartridgeSubscription getCartridgeSubscription (int tenantId, String subscriptionAlias) {
+
+ return new DataInsertionAndRetrievalManager().getCartridgeSubscription(tenantId, subscriptionAlias);
+ }
+
/**
* Unsubscribe from a Cartridge
*
@@ -370,6 +386,8 @@ public class CartridgeSubscriptionManager {
}*/
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//fix properly
+ DataInsertionAndRetrievalManager dataInsertionAndRetrievalManager = new DataInsertionAndRetrievalManager();
+
CartridgeSubscription cartridgeSubscription = dataInsertionAndRetrievalManager.getCartridgeSubscription(CarbonContext.getThreadLocalCarbonContext().getTenantId(), alias);
if(cartridgeSubscription != null) {
cartridgeSubscription.removeSubscription();
@@ -377,13 +395,23 @@ public class CartridgeSubscriptionManager {
//set status as 'UNSUBSCRIBED'
cartridgeSubscription.setSubscriptionStatus(CartridgeConstants.UNSUBSCRIBED);
- // persist changes
+ // currently this is disabled
+ // remove subscription
+ /*try {
+ dataInsertionAndRetrievalManager.removeSubscription(CarbonContext.getThreadLocalCarbonContext().getTenantId(), alias);
+
+ } catch (PersistenceManagerException e) {
+ String errorMsg = "Error removing subscription for tenant " + tenantDomain + ", alias " + cartridgeSubscription.getAlias();
+ log.error(errorMsg);
+ throw new ADCException(errorMsg, e);
+ }*/
+
+ // update with new state
try {
dataInsertionAndRetrievalManager.cacheAndPersistSubcription(cartridgeSubscription);
} catch (PersistenceManagerException e) {
- String errorMsg = "Error saving subscription for tenant " +
- cartridgeSubscription.getSubscriber().getTenantDomain() + ", alias " + cartridgeSubscription.getAlias();
+ String errorMsg = "Error updating subscription for tenant " + tenantDomain + ", alias " + cartridgeSubscription.getAlias();
log.error(errorMsg);
throw new ADCException(errorMsg, e);
}
@@ -567,7 +595,7 @@ public class CartridgeSubscriptionManager {
return subscriptions;
}*/
- private CartridgeSubscription populateCartridgeSubscriptionInformation(CartridgeInfo cartridgeInfo,
+ /*private CartridgeSubscription populateCartridgeSubscriptionInformation(CartridgeInfo cartridgeInfo,
CartridgeSubscriptionInfo cartridgeSubscriptionInfo)
throws ADCException {
@@ -595,5 +623,5 @@ public class CartridgeSubscriptionManager {
cartridgeSubscription.setRepository(cartridgeSubscriptionInfo.getRepository());
return cartridgeSubscription;
- }
+ }*/
}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/076c1737/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/persistence/PersistenceManager.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/persistence/PersistenceManager.java b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/persistence/PersistenceManager.java
index c4291ec..6eb93ad 100644
--- a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/persistence/PersistenceManager.java
+++ b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/persistence/PersistenceManager.java
@@ -29,7 +29,7 @@ public abstract class PersistenceManager {
public abstract void persistCartridgeSubscription (CartridgeSubscription cartridgeSubscription)
throws PersistenceManagerException;
- public abstract void removeCartridgeSubscription (int tenantId, String alias)
+ public abstract void removeCartridgeSubscription (int tenantId, String type, String alias)
throws PersistenceManagerException;
//public abstract CartridgeSubscription getCartridgeSubscription(int tenantId, String alias)
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/076c1737/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/persistence/RegistryBasedPersistenceManager.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/persistence/RegistryBasedPersistenceManager.java b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/persistence/RegistryBasedPersistenceManager.java
index 49f55b1..aed2655 100644
--- a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/persistence/RegistryBasedPersistenceManager.java
+++ b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/persistence/RegistryBasedPersistenceManager.java
@@ -57,6 +57,11 @@ public class RegistryBasedPersistenceManager extends PersistenceManager {
cartridgeSubscription.getType() + "/" +
cartridgeSubscription.getAlias(), Serializer.serializeSubscriptionSontextToByteArray(cartridgeSubscription), cartridgeSubscription.getClusterDomain());
+ if (log.isDebugEnabled()) {
+ log.debug("Persisted CartridgeSubscription successfully: [ " + cartridgeSubscription.getSubscriber().getTenantDomain()
+ + ", " + cartridgeSubscription.getType() + ", " + cartridgeSubscription.getAlias() + " ] ");
+ }
+
} catch (RegistryException e) {
throw new PersistenceManagerException(e);
@@ -78,8 +83,19 @@ public class RegistryBasedPersistenceManager extends PersistenceManager {
}
@Override
- public void removeCartridgeSubscription (int tenantId, String alias) throws PersistenceManagerException {
- //TODO
+ public void removeCartridgeSubscription (int tenantId, String type, String alias) throws PersistenceManagerException {
+
+ String resourcePath = STRATOS_MANAGER_REOSURCE + SUBSCRIPTIONS + "/" + Integer.toString(tenantId) + "/" + type + "/" + alias;
+
+ try {
+ RegistryManager.getInstance().delete(resourcePath);
+ if (log.isDebugEnabled()) {
+ log.debug("Deleted CartridgeSubscription on path " + resourcePath + " successfully");
+ }
+
+ } catch (RegistryException e) {
+ throw new PersistenceManagerException(e);
+ }
}
/*@Override
@@ -178,6 +194,10 @@ public class RegistryBasedPersistenceManager extends PersistenceManager {
private Collection<CartridgeSubscription> traverseAndGetCartridgeSubscriptions (String resourcePath) throws PersistenceManagerException {
+ if (log.isDebugEnabled()) {
+ log.debug("Root resource path: " + resourcePath);
+ }
+
Object resourceObj;
try {
@@ -187,6 +207,8 @@ public class RegistryBasedPersistenceManager extends PersistenceManager {
throw new PersistenceManagerException(e);
}
+ Collection<CartridgeSubscription> cartridgeSubscriptions = new ArrayList<CartridgeSubscription>();
+
if (resourceObj == null) {
// there is no resource at the given path
return null;
@@ -195,15 +217,20 @@ public class RegistryBasedPersistenceManager extends PersistenceManager {
// get the paths for all SubscriptionContext instances
String[] subscriptionResourcePaths = (String[]) resourceObj;
+ if (log.isDebugEnabled()) {
+ for (String retrievedResourcePath : subscriptionResourcePaths) {
+ log.debug("Retrieved resource sub-path " + retrievedResourcePath);
+ }
+ }
- Collection<CartridgeSubscription> cartridgeSubscriptions = new ArrayList<CartridgeSubscription>();
// traverse the paths recursively
for (String subscriptionResourcePath : subscriptionResourcePaths) {
+
+ if (log.isDebugEnabled()) {
+ log.debug("Traversing resource path " + subscriptionResourcePath);
+ }
+
cartridgeSubscriptions.addAll(traverseAndGetCartridgeSubscriptions(subscriptionResourcePath));
- // remove any nulls
- cartridgeSubscriptions.removeAll(Collections.singleton(null));
- // return the CartridgeSubscription list
- return cartridgeSubscriptions;
}
} else {
@@ -220,13 +247,21 @@ public class RegistryBasedPersistenceManager extends PersistenceManager {
}
if (subscriptionObj != null && subscriptionObj instanceof CartridgeSubscription) {
- // return a list out of the CartridgeSubscription instance
- return Collections.singletonList((CartridgeSubscription) subscriptionObj);
+
+ CartridgeSubscription deserilizedCartridgeSubscription = (CartridgeSubscription) subscriptionObj;
+ if (log.isDebugEnabled()) {
+ log.debug("Successfully de-serialized CartridgeSubscription: " + deserilizedCartridgeSubscription.toString());
+ }
+
+ //return Collections.singletonList(deserilizedCartridgeSubscription);
+ cartridgeSubscriptions.add(deserilizedCartridgeSubscription);
}
}
- return null;
+ // remove any nulls
+ cartridgeSubscriptions.removeAll(Collections.singleton(null));
+ return cartridgeSubscriptions;
}
/*@Override
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/076c1737/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/registry/RegistryManager.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/registry/RegistryManager.java b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/registry/RegistryManager.java
index 9e18811..08700da 100644
--- a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/registry/RegistryManager.java
+++ b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/registry/RegistryManager.java
@@ -42,9 +42,8 @@ public class RegistryManager {
if (registryManager == null) {
synchronized (RegistryManager.class) {
if (registryManager == null) {
- return registryManager;
+ registryManager = new RegistryManager();
}
- registryManager = new RegistryManager();
}
}
return registryManager;
@@ -261,6 +260,31 @@ public class RegistryManager {
}
}
+ public void delete (String resourcePath) throws RegistryException {
+
+ UserRegistry registry = initRegistry();
+
+ try {
+ registry.beginTransaction();
+ registry.delete(resourcePath);
+ registry.commitTransaction();
+
+ } catch (RegistryException e) {
+ String errorMsg = "Could not delete resource at "+ resourcePath;
+ log.error(errorMsg, e);
+ // rollback
+ try {
+ registry.rollbackTransaction();
+
+ } catch (RegistryException e1) {
+ errorMsg = "Failed to rollback the transaction in registry path " + resourcePath;
+ log.error(errorMsg, e1);
+ throw e1;
+ }
+ throw e;
+ }
+ }
+
public Object retrieve (String resourcePath) throws RegistryException {
UserRegistry registry = initRegistry();
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/076c1737/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/retriever/DataInsertionAndRetrievalManager.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/retriever/DataInsertionAndRetrievalManager.java b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/retriever/DataInsertionAndRetrievalManager.java
index b083a04..916835a 100644
--- a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/retriever/DataInsertionAndRetrievalManager.java
+++ b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/retriever/DataInsertionAndRetrievalManager.java
@@ -19,13 +19,13 @@
package org.apache.stratos.adc.mgt.retriever;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import org.apache.stratos.adc.mgt.exception.PersistenceManagerException;
import org.apache.stratos.adc.mgt.lookup.LookupDataHolder;
import org.apache.stratos.adc.mgt.persistence.PersistenceManager;
import org.apache.stratos.adc.mgt.persistence.RegistryBasedPersistenceManager;
import org.apache.stratos.adc.mgt.subscription.CartridgeSubscription;
-import org.jgroups.logging.Log;
-import org.jgroups.logging.LogFactory;
import java.util.Collection;
@@ -34,7 +34,7 @@ public class DataInsertionAndRetrievalManager {
private static final Log log = LogFactory.getLog(DataInsertionAndRetrievalManager.class);
// TODO: use a global object
- PersistenceManager persistenceManager = new RegistryBasedPersistenceManager();
+ private static PersistenceManager persistenceManager = new RegistryBasedPersistenceManager();
public void cacheAndPersistSubcription (CartridgeSubscription cartridgeSubscription) throws PersistenceManagerException {
@@ -61,6 +61,34 @@ public class DataInsertionAndRetrievalManager {
}
}
+ public void removeSubscription (int tenantId, String subscriptionAlias) throws PersistenceManagerException {
+
+ CartridgeSubscription cartridgeSubscription = getCartridgeSubscription(tenantId, subscriptionAlias);
+
+ String cartridgeType = cartridgeSubscription.getType();
+ String clusterId = cartridgeSubscription.getClusterDomain();
+
+ LookupDataHolder.getInstance().acquireWriteLock();
+
+ try {
+ // remove from cache
+ LookupDataHolder.getInstance().removeSubscription(tenantId, cartridgeType, subscriptionAlias, clusterId);
+
+ // remove from persistence manager
+ try {
+ persistenceManager.removeCartridgeSubscription(tenantId, cartridgeType, subscriptionAlias);
+
+ } catch (PersistenceManagerException e) {
+ String errorMsg = "Error in removing CartridgeSubscription from Persistence Manager";
+ log.error(errorMsg, e);
+ throw e;
+ }
+
+ } finally {
+ LookupDataHolder.getInstance().releaseWriteLock();
+ }
+ }
+
public void cachePersistedSubscriptions () throws PersistenceManagerException {
Collection<CartridgeSubscription> cartridgeSubscriptions;
@@ -78,11 +106,11 @@ public class DataInsertionAndRetrievalManager {
throw e;
}
- if(cartridgeSubscriptions != null || cartridgeSubscriptions.isEmpty()) {
+ if(cartridgeSubscriptions == null || cartridgeSubscriptions.isEmpty()) {
if(log.isDebugEnabled()) {
log.debug("No CartridgeSubscriptions found to add to the cache");
- return;
}
+ return;
}
cacheSubscriptions(cartridgeSubscriptions);
@@ -109,11 +137,11 @@ public class DataInsertionAndRetrievalManager {
throw e;
}
- if(cartridgeSubscriptions != null || cartridgeSubscriptions.isEmpty()) {
+ if(cartridgeSubscriptions == null || cartridgeSubscriptions.isEmpty()) {
if(log.isDebugEnabled()) {
log.debug("No CartridgeSubscriptions found to add to the cache");
- return;
}
+ return;
}
cacheSubscriptions(cartridgeSubscriptions);
@@ -128,6 +156,9 @@ public class DataInsertionAndRetrievalManager {
// cache all
for (CartridgeSubscription cartridgeSubscription : cartridgeSubscriptions) {
LookupDataHolder.getInstance().putSubscription(cartridgeSubscription);
+ if (log.isDebugEnabled()) {
+ log.debug("Updated the in memory cache with the CartridgeSubscription: " + cartridgeSubscription.toString());
+ }
}
}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/076c1737/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/service/ApplicationManagementService.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/service/ApplicationManagementService.java b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/service/ApplicationManagementService.java
index 741d306..abf19a3 100644
--- a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/service/ApplicationManagementService.java
+++ b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/service/ApplicationManagementService.java
@@ -162,9 +162,9 @@ public class ApplicationManagementService extends AbstractAdmin {
cartridge.setDescription(cartridgeInfo.getDescription());
cartridge.setVersion(cartridgeInfo.getVersion());
cartridge.setMultiTenant(cartridgeInfo.getMultiTenant());
- cartridge.setStatus(CartridgeConstants.NOT_SUBSCRIBED);
+ //cartridge.setStatus(CartridgeConstants.NOT_SUBSCRIBED);
cartridge.setCartridgeAlias("-");
- cartridge.setActiveInstances(0);
+ //cartridge.setActiveInstances(0);
cartridges.add(cartridge);
if (cartridgeInfo.getMultiTenant() && !allowMultipleSubscription) {
@@ -176,7 +176,7 @@ public class ApplicationManagementService extends AbstractAdmin {
log.debug("Already subscribed to " + cartridgeType
+ ". This multi-tenant cartridge will not be available to createSubscription");
}
- cartridge.setStatus(CartridgeConstants.SUBSCRIBED);
+ //cartridge.setStatus(CartridgeConstants.SUBSCRIBED);
}
}
}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/076c1737/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 a1e25bb..b4ea156 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
@@ -241,7 +241,7 @@ public class ApplicationManagementUtil {
// This cannot happen here.
}
if (c != null) {
- if (!c.getStatus().equals("ACTIVE")) {
+ /* if (!c.getStatus().equals("ACTIVE")) {
try {
Thread.sleep(3000);
} catch (InterruptedException ignore) {
@@ -250,7 +250,7 @@ public class ApplicationManagementUtil {
mySQLPassword = c.getPassword();
mySQLHostName = c.getIp();
break;
- }
+ }*/
}
}
log.info(" MYSQL Cartridge info retrieved ");
@@ -977,7 +977,7 @@ public class ApplicationManagementUtil {
}
if (CartridgeConstants.DATA_CARTRIDGE_PROVIDER.equals(sub.getProvider())) {
// FIXME Temporary fix for SPI-301
- cartridge.setIp(ips[ips.length - 1]);
+ //cartridge.setIp(ips[ips.length - 1]);
if (sub.getDataCartridge() != null) {
if (log.isDebugEnabled()) {
log.debug("Data Cartridge Info: " + sub.getDataCartridge().getUserName());
@@ -987,22 +987,22 @@ public class ApplicationManagementUtil {
}
}
if (cartridgeInfo.getMultiTenant()) { // TODO refactor logic for carbon cartridges.
- cartridge.setStatus(CartridgeConstants.ACTIVE);
- cartridge.setActiveInstances(ips.length);
+ //cartridge.setStatus(CartridgeConstants.ACTIVE);
+ //cartridge.setActiveInstances(ips.length);
} else {
Map<String, String> instanceIpMap;
try {
instanceIpMap = PersistenceManager.getCartridgeInstanceInfo(ips, sub.getClusterDomain(),
sub.getClusterSubdomain());
- cartridge.setActiveInstances(ips.length);
- cartridge.setStatus(CartridgeConstants.ACTIVE);
+ //cartridge.setActiveInstances(ips.length);
+ //cartridge.setStatus(CartridgeConstants.ACTIVE);
} catch (Exception e) {
throw new ADCException("Error checking cartridge status");
}
if(cartridgeInfo.getProvider().equalsIgnoreCase(CartridgeConstants.PROVIDER_NAME_WSO2)) {
- cartridge.setActiveInstances(ips.length);
- cartridge.setStatus(CartridgeConstants.ACTIVE);
+ //cartridge.setActiveInstances(ips.length);
+ //cartridge.setStatus(CartridgeConstants.ACTIVE);
/*List<Member> members = getMemberInstances(sub.getClusterDomain(), sub.getClusterSubdomain());
if(members != null) {
int activeInstancesCount = 0;
@@ -1018,7 +1018,7 @@ public class ApplicationManagementUtil {
}
} else {
log.warn("IPs have not returned through Topology Management for " + sub.getAlias());
- cartridge.setStatus(CartridgeConstants.SUBSCRIBED);
+ //cartridge.setStatus(CartridgeConstants.SUBSCRIBED);
}
cartridge.setDisplayName(cartridgeInfo.getDisplayName());
cartridge.setDescription(cartridgeInfo.getDescription());
@@ -1067,10 +1067,10 @@ public class ApplicationManagementUtil {
cartridge.setCartridgeAlias(sub.getAlias());
cartridge.setCartridgeType(sub.getCartridge());
cartridge.setHostName(sub.getHostName());
- cartridge.setPolicy(sub.getPolicy());
+ //cartridge.setPolicy(sub.getPolicy());
Policy policy = PolicyHolder.getInstance().getPolicy(sub.getPolicy());
if (policy != null) {
- cartridge.setPolicyDescription(policy.getDescription());
+ // cartridge.setPolicyDescription(policy.getDescription());
}
cartridge.setProvider(sub.getProvider());
cartridge.setMappedDomain(sub.getMappedDomain());
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/076c1737/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 3b77551..dc3d753 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
@@ -24,34 +24,27 @@ import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.stratos.adc.mgt.client.AutoscalerServiceClient;
import org.apache.stratos.adc.mgt.client.CloudControllerServiceClient;
-import org.apache.stratos.adc.mgt.dao.CartridgeSubscriptionInfo;
import org.apache.stratos.adc.mgt.deploy.service.ServiceDeploymentManager;
import org.apache.stratos.adc.mgt.dto.Cartridge;
import org.apache.stratos.adc.mgt.dto.SubscriptionInfo;
import org.apache.stratos.adc.mgt.exception.*;
-import org.apache.stratos.adc.mgt.internal.DataHolder;
import org.apache.stratos.adc.mgt.manager.CartridgeSubscriptionManager;
import org.apache.stratos.adc.mgt.subscription.CartridgeSubscription;
import org.apache.stratos.adc.mgt.topology.model.TopologyClusterInformationModel;
import org.apache.stratos.adc.mgt.utils.ApplicationManagementUtil;
import org.apache.stratos.adc.mgt.utils.CartridgeConstants;
import org.apache.stratos.adc.mgt.utils.PersistenceManager;
-import org.apache.stratos.adc.topology.mgt.service.TopologyManagementService;
import org.apache.stratos.autoscaler.deployment.policy.DeploymentPolicy;
-import org.apache.stratos.cloud.controller.pojo.CartridgeConfig;
-import org.apache.stratos.cloud.controller.pojo.CartridgeInfo;
-import org.apache.stratos.cloud.controller.pojo.LoadbalancerConfig;
+import org.apache.stratos.cloud.controller.pojo.*;
import org.apache.stratos.cloud.controller.pojo.Properties;
import org.apache.stratos.messaging.domain.topology.Cluster;
+import org.apache.stratos.messaging.util.Constants;
import org.apache.stratos.rest.endpoint.bean.autoscaler.partition.Partition;
import org.apache.stratos.rest.endpoint.bean.autoscaler.partition.PartitionGroup;
import org.apache.stratos.rest.endpoint.bean.autoscaler.policy.autoscale.AutoscalePolicy;
import org.apache.stratos.rest.endpoint.bean.cartridge.definition.CartridgeDefinitionBean;
import org.apache.stratos.rest.endpoint.bean.util.converter.PojoConverter;
import org.apache.stratos.rest.endpoint.exception.RestAPIException;
-import org.wso2.carbon.context.PrivilegedCarbonContext;
-import org.apache.stratos.cloud.controller.pojo.Property;
-import org.apache.stratos.messaging.util.Constants;
import java.util.*;
import java.util.regex.Pattern;
@@ -453,9 +446,9 @@ public class ServiceUtils {
cartridge.setDescription(cartridgeInfo.getDescription());
cartridge.setVersion(cartridgeInfo.getVersion());
cartridge.setMultiTenant(cartridgeInfo.getMultiTenant());
- cartridge.setStatus(CartridgeConstants.NOT_SUBSCRIBED);
+ //cartridge.setStatus(CartridgeConstants.NOT_SUBSCRIBED);
cartridge.setCartridgeAlias("-");
- cartridge.setActiveInstances(0);
+ //cartridge.setActiveInstances(0);
cartridges.add(cartridge);
if (cartridgeInfo.getMultiTenant() && !allowMultipleSubscription) {
@@ -467,7 +460,7 @@ public class ServiceUtils {
log.debug("Already subscribed to " + cartridgeType
+ ". This multi-tenant cartridge will not be available to createSubscription");
}
- cartridge.setStatus(CartridgeConstants.SUBSCRIBED);
+ //cartridge.setStatus(CartridgeConstants.SUBSCRIBED);
}
}
}
@@ -501,12 +494,14 @@ public class ServiceUtils {
try {
Pattern searchPattern = getSearchStringPattern(cartridgeSearchString);
- List<CartridgeSubscriptionInfo> subscriptionList = PersistenceManager
- .retrieveSubscribedCartridges(ApplicationManagementUtil.getTenantId(configurationContext));
+ //List<CartridgeSubscriptionInfo> subscriptionList = PersistenceManager
+ // .retrieveSubscribedCartridges(ApplicationManagementUtil.getTenantId(configurationContext));
+ Collection<CartridgeSubscription> subscriptions = cartridgeSubsciptionManager.getCartridgeSubscriptions(ApplicationManagementUtil.
+ getTenantId(configurationContext), null);
- if (subscriptionList != null && !subscriptionList.isEmpty()) {
- for (CartridgeSubscriptionInfo subscription : subscriptionList) {
- CartridgeInfo cartridgeInfo = null;
+ if (subscriptions != null && !subscriptions.isEmpty()) {
+ for (CartridgeSubscription subscription : subscriptions) {
+ /*CartridgeInfo cartridgeInfo = null;
try {
cartridgeInfo = CloudControllerServiceClient.getServiceClient().getCartridgeInfo(
subscription.getCartridge());
@@ -522,15 +517,36 @@ public class ServiceUtils {
log.debug("Cartridge Info not found: " + subscription.getCartridge());
}
continue;
+ }*/
+ if (!cartridgeMatches(subscription.getCartridgeInfo(), subscription, searchPattern)) {
+ continue;
}
- if (!cartridgeMatches(cartridgeInfo, subscription, searchPattern)) {
+
+ if (!subscription.getSubscriptionStatus().equals(CartridgeConstants.SUBSCRIBED)) {
+ // not in the subscribed state, skip
continue;
}
- TopologyManagementService topologyMgtService = DataHolder.getTopologyMgtService();
+ /*TopologyManagementService topologyMgtService = DataHolder.getTopologyMgtService();
String[] ips = topologyMgtService.getActiveIPs(subscription.getCartridge(),
subscription.getClusterDomain(), subscription.getClusterSubdomain());
String tenantDomain = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantDomain();
Cartridge cartridge = ApplicationManagementUtil.populateCartridgeInfo(cartridgeInfo, subscription, ips, tenantDomain);
+ cartridges.add(cartridge);*/
+ Cartridge cartridge = new Cartridge();
+ cartridge.setCartridgeType(subscription.getCartridgeInfo().getType());
+ cartridge.setMultiTenant(subscription.getCartridgeInfo().getMultiTenant());
+ cartridge.setProvider(subscription.getCartridgeInfo().getProvider());
+ cartridge.setVersion(subscription.getCartridgeInfo().getVersion());
+ cartridge.setDescription(subscription.getCartridgeInfo().getDescription());
+ cartridge.setDisplayName(subscription.getCartridgeInfo().getDisplayName());
+ cartridge.setCartridgeAlias(subscription.getAlias());
+ cartridge.setHostName(subscription.getHostName());
+ cartridge.setMappedDomain(subscription.getMappedDomain());
+ if (subscription.getRepository() != null) {
+ cartridge.setRepoURL(subscription.getRepository().getUrl());
+ }
+ cartridge.setStatus(subscription.getSubscriptionStatus());
+
cartridges.add(cartridge);
}
} else {
@@ -585,7 +601,7 @@ public class ServiceUtils {
return true;
}
- static boolean cartridgeMatches(CartridgeInfo cartridgeInfo, CartridgeSubscriptionInfo cartridgeSubscriptionInfo, Pattern pattern) {
+ static boolean cartridgeMatches(CartridgeInfo cartridgeInfo, CartridgeSubscription cartridgeSubscription, Pattern pattern) {
if (pattern != null) {
boolean matches = false;
if (cartridgeInfo.getDisplayName() != null) {
@@ -594,11 +610,11 @@ public class ServiceUtils {
if (!matches && cartridgeInfo.getDescription() != null) {
matches = pattern.matcher(cartridgeInfo.getDescription().toLowerCase()).find();
}
- if (!matches && cartridgeSubscriptionInfo.getCartridge() != null) {
- matches = pattern.matcher(cartridgeSubscriptionInfo.getCartridge().toLowerCase()).find();
+ if (!matches && cartridgeSubscription.getType() != null) {
+ matches = pattern.matcher(cartridgeSubscription.getType().toLowerCase()).find();
}
- if (!matches && cartridgeSubscriptionInfo.getAlias() != null) {
- matches = pattern.matcher(cartridgeSubscriptionInfo.getAlias().toLowerCase()).find();
+ if (!matches && cartridgeSubscription.getAlias() != null) {
+ matches = pattern.matcher(cartridgeSubscription.getAlias().toLowerCase()).find();
}
return matches;
}