Repository: stratos
Updated Branches:
  refs/heads/master eb62ac508 -> 57b6e4728


Adding object convertion logic for persistance and adding persistance to 
SubscribableInfo.java


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

Branch: refs/heads/master
Commit: 7de6c43cee476db39385d86e408c5976b81e6cba
Parents: eb62ac5
Author: Lahiru Sandaruwan <[email protected]>
Authored: Wed Mar 18 00:16:48 2015 +0530
Committer: Lahiru Sandaruwan <[email protected]>
Committed: Wed Mar 18 00:16:48 2015 +0530

----------------------------------------------------------------------
 .../beans/application/SubscribableInfo.java     | 10 ++++
 .../util/converter/ObjectConverter.java         | 57 +++++++++++++++++++-
 2 files changed, 65 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/7de6c43c/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/application/SubscribableInfo.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/application/SubscribableInfo.java
 
b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/application/SubscribableInfo.java
index 0dda0d4..b0686f5 100644
--- 
a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/application/SubscribableInfo.java
+++ 
b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/application/SubscribableInfo.java
@@ -21,6 +21,7 @@ package org.apache.stratos.common.beans.application;
 
 import org.apache.stratos.common.beans.PropertyBean;
 import 
org.apache.stratos.common.beans.artifact.repository.ArtifactRepositoryBean;
+import org.apache.stratos.common.beans.cartridge.PersistenceBean;
 
 import java.io.Serializable;
 import java.util.List;
@@ -40,6 +41,7 @@ public class SubscribableInfo implements Serializable {
     private String[] dependencyAliases;
     private ArtifactRepositoryBean artifactRepository;
     private List<PropertyBean> property;
+    private PersistenceBean persistenceBean;
 
     public String getAlias() {
         return alias;
@@ -104,4 +106,12 @@ public class SubscribableInfo implements Serializable {
     public void setArtifactRepository(ArtifactRepositoryBean 
artifactRepository) {
         this.artifactRepository = artifactRepository;
     }
+
+    public PersistenceBean getPersistenceBean() {
+        return persistenceBean;
+    }
+
+    public void setPersistenceBean(PersistenceBean persistenceBean) {
+        this.persistenceBean = persistenceBean;
+    }
 }

http://git-wip-us.apache.org/repos/asf/stratos/blob/7de6c43c/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/util/converter/ObjectConverter.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/util/converter/ObjectConverter.java
 
b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/util/converter/ObjectConverter.java
index d3007b4..a048280 100644
--- 
a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/util/converter/ObjectConverter.java
+++ 
b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/util/converter/ObjectConverter.java
@@ -1313,9 +1313,37 @@ public class ObjectConverter {
 
             subscribableInfo.setArtifactRepository(artifactRepository);
         }
+        if (subscribableInfoContext.getPersistenceContext() != null){
+            PersistenceContext persistenceContext = 
subscribableInfoContext.getPersistenceContext();
+
+            PersistenceBean persistenceBean = new PersistenceBean();
+            
persistenceBean.setRequired(persistenceContext.getPersistanceRequired());
+            
persistenceBean.setVolume(convertStubVolumeToVolume(persistenceContext.getVolumes()));
+
+            subscribableInfo.setPersistenceBean(persistenceBean);
+        }
         return subscribableInfo;
     }
 
+    private static List<VolumeBean> convertStubVolumeToVolume(VolumeContext[] 
volumes) {
+
+        List<VolumeBean> volumeBeans = new ArrayList<VolumeBean>();
+        for(VolumeContext volumeContext: volumes){
+
+            VolumeBean volumeBean = new VolumeBean();
+            
volumeBean.setRemoveOnTermination(volumeContext.getRemoveOntermination());
+            volumeBean.setVolumeId(volumeContext.getVolumeId());
+            volumeBean.setMappingPath(volumeContext.getMappingPath());
+            volumeBean.setDevice(volumeContext.getDevice());
+            volumeBean.setSize(String.valueOf(volumeContext.getSize()));
+            volumeBean.setSnapshotId(volumeContext.getSnapshotId());
+            volumeBean.setId(volumeContext.getId());
+
+        }
+        return volumeBeans;
+
+    }
+
     private static List<org.apache.stratos.common.beans.PropertyBean>
     
convertStubPropertiesToPropertyBeanList(org.apache.stratos.autoscaler.stub.Properties
 properties) {
 
@@ -1352,8 +1380,7 @@ public class ObjectConverter {
         return cartridgeContextArray;
     }
 
-    private static SubscribableInfoContext convertSubscribableInfo(
-            SubscribableInfo subscribableInfo) {
+    private static SubscribableInfoContext 
convertSubscribableInfo(SubscribableInfo subscribableInfo) {
 
         SubscribableInfoContext infoContext = new SubscribableInfoContext();
         infoContext.setAlias(subscribableInfo.getAlias());
@@ -1375,10 +1402,36 @@ public class ObjectConverter {
             
infoContext.setArtifactRepositoryContext(artifactRepositoryContext);
         }
 
+        if (subscribableInfo.getPersistenceBean() != null){
+            PersistenceBean persistenceBean = 
subscribableInfo.getPersistenceBean();
+
+            PersistenceContext persistenceContext = new PersistenceContext();
+            
persistenceContext.setPersistanceRequired(persistenceBean.isRequired());
+            
persistenceContext.setVolumes(convertVolumeToStubVolume(persistenceBean.getVolume()));
+        }
         
infoContext.setProperties(convertPropertyBeansToStubProperties(subscribableInfo.getProperty()));
         return infoContext;
     }
 
+    private static VolumeContext[] convertVolumeToStubVolume(List<VolumeBean> 
volumes) {
+
+        List<VolumeContext> volumeContexts = new ArrayList<VolumeContext>();
+        for(VolumeBean volumeBean: volumes){
+
+            VolumeContext volumeContext = new VolumeContext();
+            
volumeContext.setRemoveOntermination(volumeBean.isRemoveOnTermination());
+            volumeContext.setVolumeId(volumeBean.getVolumeId());
+            volumeContext.setMappingPath(volumeBean.getMappingPath());
+            volumeContext.setDevice(volumeBean.getDevice());
+            volumeContext.setSize(Integer.parseInt(volumeBean.getSize()));
+            volumeContext.setSnapshotId(volumeBean.getSnapshotId());
+            volumeContext.setId(volumeBean.getId());
+
+            volumeContexts.add(volumeContext);
+        }
+        return (VolumeContext[]) volumeContexts.toArray();
+    }
+
     private static org.apache.stratos.autoscaler.stub.Properties 
convertPropertyBeansToStubProperties(
             List<org.apache.stratos.common.beans.PropertyBean> property) {
         org.apache.stratos.autoscaler.stub.Properties prop = new 
org.apache.stratos.autoscaler.stub.Properties();

Reply via email to