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();
