You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by is...@apache.org on 2014/07/17 11:49:29 UTC
[5/6] git commit: alias validation and a minor bug
alias validation and a minor bug
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/51ec31c5
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/51ec31c5
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/51ec31c5
Branch: refs/heads/4.0.0-grouping
Commit: 51ec31c50a0cd559345ca00371adb7491b2785cc
Parents: 7f5f19b
Author: Isuru Haththotuwa <is...@apache.org>
Authored: Thu Jul 17 15:18:11 2014 +0530
Committer: Isuru Haththotuwa <is...@apache.org>
Committed: Thu Jul 17 15:18:11 2014 +0530
----------------------------------------------------------------------
.../parser/DefaultCompositeApplicationParser.java | 12 +++++++-----
.../composite/application/utils/ApplicationUtils.java | 14 ++++++++++++++
2 files changed, 21 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/51ec31c5/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/composite/application/parser/DefaultCompositeApplicationParser.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/composite/application/parser/DefaultCompositeApplicationParser.java b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/composite/application/parser/DefaultCompositeApplicationParser.java
index 9bfc864..fdd0138 100644
--- a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/composite/application/parser/DefaultCompositeApplicationParser.java
+++ b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/composite/application/parser/DefaultCompositeApplicationParser.java
@@ -29,6 +29,7 @@ import org.apache.stratos.manager.composite.application.structure.CompositeAppCo
import org.apache.stratos.manager.composite.application.structure.GroupContext;
import org.apache.stratos.manager.composite.application.structure.StartupOrder;
import org.apache.stratos.manager.composite.application.structure.SubscribableContext;
+import org.apache.stratos.manager.composite.application.utils.ApplicationUtils;
import org.apache.stratos.manager.exception.CompositeApplicationDefinitionException;
import org.apache.stratos.manager.exception.PersistenceManagerException;
import org.apache.stratos.manager.grouping.definitions.ServiceGroupDefinition;
@@ -111,13 +112,13 @@ public class DefaultCompositeApplicationParser implements CompositeApplicationPa
}
// check if group is deployed
- if(isGroupDeployed(group.getName())) {
+ if(!isGroupDeployed(group.getName())) {
throw new CompositeApplicationDefinitionException("Group with name " + group.getName() + " not deployed");
}
// check validity of group alias
- if (group.getAlias() == null || group.getAlias().isEmpty()) {
- throw new CompositeApplicationDefinitionException("Invalid Group alias specified");
+ if (group.getAlias() == null || group.getAlias().isEmpty() || ApplicationUtils.isAliasValid(group.getAlias())) {
+ throw new CompositeApplicationDefinitionException("Invalid Group alias specified: [ " + group.getAlias() + " ]");
}
// check if a group is already defined under the same alias
@@ -148,8 +149,9 @@ public class DefaultCompositeApplicationParser implements CompositeApplicationPa
for (SubscribableInfo subscribableInfo : compositeAppDefinition.getSubscribableInfo()) {
- if (subscribableInfo.getAlias() == null || subscribableInfo.getAlias().isEmpty()) {
- throw new CompositeApplicationDefinitionException("Invalid alias specified for Subscribable Information Obj");
+ if (subscribableInfo.getAlias() == null || subscribableInfo.getAlias().isEmpty() ||
+ ApplicationUtils.isAliasValid(subscribableInfo.getAlias())) {
+ throw new CompositeApplicationDefinitionException("Invalid alias specified for Subscribable Information Obj: [ " + subscribableInfo.getAlias() + " ]");
}
// check if a group is already defined under the same alias
http://git-wip-us.apache.org/repos/asf/stratos/blob/51ec31c5/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/composite/application/utils/ApplicationUtils.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/composite/application/utils/ApplicationUtils.java b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/composite/application/utils/ApplicationUtils.java
index 8b7cdbb..7dde85c 100644
--- a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/composite/application/utils/ApplicationUtils.java
+++ b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/composite/application/utils/ApplicationUtils.java
@@ -1,9 +1,11 @@
package org.apache.stratos.manager.composite.application.utils;
import java.util.concurrent.Executor;
+import java.util.regex.Pattern;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.apache.stratos.manager.exception.InvalidCartridgeAliasException;
import org.apache.stratos.messaging.broker.publish.EventPublisher;
import org.apache.stratos.messaging.broker.publish.EventPublisherPool;
import org.apache.stratos.messaging.event.topology.CompositeApplicationCreatedEvent;
@@ -98,5 +100,17 @@ public class ApplicationUtils {
exec.execute(new ApplicationRemovedEventPublisher(configApplicationAlias));
}
+ public static boolean isAliasValid (String alias) {
+
+ String patternString = "([a-z0-9]+([-][a-z0-9])*)+";
+ Pattern pattern = Pattern.compile(patternString);
+
+ if (!pattern.matcher(alias).matches()) {
+ return false;
+ }
+
+ return true;
+ }
+
}