Repository: stratos Updated Branches: refs/heads/master bc548b084 -> 6de22b176
Fixing 'Artifact repositories not found for application signup' error when two nested groups are used Project: http://git-wip-us.apache.org/repos/asf/stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/6de22b17 Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/6de22b17 Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/6de22b17 Branch: refs/heads/master Commit: 6de22b17678b90c27ae40f6662217ce999b235ca Parents: bc548b0 Author: Lahiru Sandaruwan <[email protected]> Authored: Tue Mar 31 14:51:08 2015 +0530 Committer: Lahiru Sandaruwan <[email protected]> Committed: Tue Mar 31 14:51:08 2015 +0530 ---------------------------------------------------------------------- .../services/impl/AutoscalerServiceImpl.java | 33 +++++++++++++++----- 1 file changed, 26 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/stratos/blob/6de22b17/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/impl/AutoscalerServiceImpl.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/impl/AutoscalerServiceImpl.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/impl/AutoscalerServiceImpl.java index 780c835..9c2dee9 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/impl/AutoscalerServiceImpl.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/impl/AutoscalerServiceImpl.java @@ -252,13 +252,10 @@ public class AutoscalerServiceImpl implements AutoscalerService { updateArtifactRepositoryList(artifactRepositoryList, cartridgeContexts); } - GroupContext[] groupContexts = components.getGroupContexts(); - if (groupContexts != null) { - for (GroupContext groupContext : groupContexts) { - if (groupContext != null) { - updateArtifactRepositoryList(artifactRepositoryList, groupContext.getCartridgeContexts()); - } - } + CartridgeContext[] cartridgeContextsOfGroups = getCartridgeContextsOfGroupsRecursively( + components.getGroupContexts()); + if (cartridgeContextsOfGroups != null) { + updateArtifactRepositoryList(artifactRepositoryList, cartridgeContextsOfGroups); } ArtifactRepository[] artifactRepositoryArray = artifactRepositoryList.toArray( @@ -283,6 +280,28 @@ public class AutoscalerServiceImpl implements AutoscalerService { } } + + private CartridgeContext[] getCartridgeContextsOfGroupsRecursively(GroupContext[] passedGroupContexts) { + + List<CartridgeContext> cartridgeContextsList = new ArrayList<CartridgeContext>(); + + for(GroupContext groupContext : passedGroupContexts){ + if(groupContext.getCartridgeContexts() != null){ + for(CartridgeContext cartridgeContext : groupContext.getCartridgeContexts()){ + + cartridgeContextsList.add(cartridgeContext); + } + } + if(groupContext.getGroupContexts() != null){ + for(CartridgeContext cartridgeContext : getCartridgeContextsOfGroupsRecursively(groupContext.getGroupContexts())){ + + cartridgeContextsList.add(cartridgeContext); + } + } + } + return cartridgeContextsList.toArray(new CartridgeContext[0]); + } + private void removeApplicationSignUp(ApplicationContext applicationContext){ try { if (log.isInfoEnabled()) {
