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 <[email protected]>
Authored: Tue Jan 7 18:20:43 2014 +0530
Committer: Pradeep Fernando <[email protected]>
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);
+        }
+    }
 }

Reply via email to