You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by pr...@apache.org on 2014/01/07 13:50:59 UTC
git commit: mockcontext changes
Updated Branches:
refs/heads/master 0e03fe2f2 -> 2231b6e40
mockcontext changes
Project: http://git-wip-us.apache.org/repos/asf/incubator-stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-stratos/commit/2231b6e4
Tree: http://git-wip-us.apache.org/repos/asf/incubator-stratos/tree/2231b6e4
Diff: http://git-wip-us.apache.org/repos/asf/incubator-stratos/diff/2231b6e4
Branch: refs/heads/master
Commit: 2231b6e40d44941763101bcdce0f665302c18a2c
Parents: 0e03fe2
Author: Pradeep Fernando <pr...@gmail.com>
Authored: Tue Jan 7 18:20:43 2014 +0530
Committer: Pradeep Fernando <pr...@gmail.com>
Committed: Tue Jan 7 18:20:43 2014 +0530
----------------------------------------------------------------------
.../stratos/rest/endpoint/mock/MockContext.java | 94 ++++++++++++++++++++
1 file changed, 94 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/2231b6e4/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/mock/MockContext.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/mock/MockContext.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/mock/MockContext.java
index ac0ec49..258c618 100644
--- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/mock/MockContext.java
+++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/mock/MockContext.java
@@ -16,5 +16,99 @@ package org.apache.stratos.rest.endpoint.mock;/*
* under the License.
*/
+import org.apache.stratos.adc.mgt.dto.Cartridge;
+import org.apache.stratos.adc.mgt.dto.SubscriptionInfo;
+import org.apache.stratos.rest.endpoint.bean.CartridgeInfoBean;
+import org.apache.stratos.rest.endpoint.bean.cartridge.definition.CartridgeDefinitionBean;
+
+import java.util.*;
+
public class MockContext {
+ private static MockContext mockContext = new MockContext(); // singleton
+ private List<CartridgeDefinitionBean> cartridgeDefinitionBeanList = new LinkedList<CartridgeDefinitionBean>();
+ private Map<String,Cartridge> availableSingleTenantCartridges = new HashMap<String,Cartridge>();
+ private Map<String,Cartridge> availableMultiTenantCartridges = new HashMap<String,Cartridge>();
+ private Map<String,Cartridge> subscribedCartridges = new HashMap<String,Cartridge>();
+
+ private Set<Cartridge> temp = new HashSet<Cartridge>();
+
+
+ private MockContext(){} // do not allow to initialize
+
+ public static MockContext getInstance(){
+ return mockContext;
+ }
+
+
+ public void addCartirdgeDefinition(CartridgeDefinitionBean cartridgeDefinitionBean){
+ this.cartridgeDefinitionBeanList.add(cartridgeDefinitionBean);
+ Cartridge cartridge = new Cartridge();
+ cartridge.setCartridgeType(cartridgeDefinitionBean.type);
+ cartridge.setDescription(cartridgeDefinitionBean.description);
+ cartridge.setDisplayName(cartridgeDefinitionBean.displayName);
+ cartridge.setMultiTenant(cartridgeDefinitionBean.multiTenant);
+ cartridge.setProvider(cartridgeDefinitionBean.provider);
+ cartridge.setVersion(cartridgeDefinitionBean.version);
+
+ if(cartridge.isMultiTenant()){
+ availableMultiTenantCartridges.put(cartridge.getCartridgeType(), cartridge);
+ }else{
+ availableSingleTenantCartridges.put(cartridge.getCartridgeType(), cartridge);
+ }
+ }
+
+
+
+ public Cartridge[] getAvailableMultiTenantCartridges(){
+ return availableMultiTenantCartridges.values().toArray(new Cartridge[0]);
+ }
+
+
+ public Cartridge[] getAvailableSingleTenantCartridges(){
+ return availableSingleTenantCartridges.values().toArray(new Cartridge[0]);
+ }
+
+ public Cartridge[] getSubscribedCartridges(){
+ return subscribedCartridges.values().toArray(new Cartridge[0]);
+ }
+
+ public SubscriptionInfo subscribeToCartridge(CartridgeInfoBean cartridgeInfoBean){
+ String cartridgeType = cartridgeInfoBean.getCartridgeType();
+ String alias = cartridgeInfoBean.getAlias();
+ Cartridge subscribedCartridge;
+ // retrieve the cartridge from available ones
+ if(availableSingleTenantCartridges.containsKey(alias)){
+ subscribedCartridge = availableSingleTenantCartridges.get(cartridgeType);
+
+ }else if(availableMultiTenantCartridges.containsKey(alias)){
+ subscribedCartridge = availableMultiTenantCartridges.get(cartridgeType);
+ }else {
+ throw new RuntimeException("Wrong programme sequence"); // TODO; handle properly
+ }
+ //Proper way is copy construrctor
+ Cartridge copy = new Cartridge();
+ copy.setCartridgeType(subscribedCartridge.getCartridgeType());
+ copy.setDescription(subscribedCartridge.getDescription());
+ copy.setDisplayName(subscribedCartridge.getDisplayName());
+ copy.setMultiTenant(subscribedCartridge.isMultiTenant());
+ copy.setProvider(subscribedCartridge.getProvider());
+ copy.setVersion(subscribedCartridge.getVersion());
+ copy.setCartridgeAlias(alias);
+ copy.setHostName("dummy.stratos.com");
+ copy.setRepoURL("http://dummy.stratos.com/myrepo.git");
+
+ subscribedCartridges.put(alias,copy);
+
+ SubscriptionInfo subscriptionInfo = new SubscriptionInfo();
+ subscriptionInfo.setHostname(copy.getHostName());
+ subscriptionInfo.setRepositoryURL(copy.getRepoURL());
+
+ return subscriptionInfo;
+ }
+
+ public void unsubscribe(String alias) {
+ if(subscribedCartridges.containsKey(alias)){
+ subscribedCartridges.remove(alias);
+ }
+ }
}