Author: scabanovich
Date: 2010-10-07 09:42:51 -0400 (Thu, 07 Oct 2010)
New Revision: 25556
Modified:
trunk/esb/plugins/org.jboss.tools.esb.validator/src/org/jboss/tools/esb/validator/ESBCoreValidator.java
trunk/esb/plugins/org.jboss.tools.esb.validator/src/org/jboss/tools/esb/validator/ESBValidatorMessages.java
trunk/esb/plugins/org.jboss.tools.esb.validator/src/org/jboss/tools/esb/validator/messages.properties
Log:
JBIDE-7235
https://jira.jboss.org/browse/JBIDE-7235
Modified:
trunk/esb/plugins/org.jboss.tools.esb.validator/src/org/jboss/tools/esb/validator/ESBCoreValidator.java
===================================================================
---
trunk/esb/plugins/org.jboss.tools.esb.validator/src/org/jboss/tools/esb/validator/ESBCoreValidator.java 2010-10-07
13:30:26 UTC (rev 25555)
+++
trunk/esb/plugins/org.jboss.tools.esb.validator/src/org/jboss/tools/esb/validator/ESBCoreValidator.java 2010-10-07
13:42:51 UTC (rev 25556)
@@ -2,9 +2,11 @@
import java.util.ArrayList;
import java.util.HashMap;
+import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
+import java.util.StringTokenizer;
import java.util.TreeSet;
import org.eclipse.core.resources.IFile;
@@ -24,6 +26,7 @@
import org.jboss.tools.esb.core.ESBProjectConstant;
import org.jboss.tools.esb.core.facet.IJBossESBFacetDataModelProperties;
import org.jboss.tools.esb.core.model.ESBConstants;
+import org.jboss.tools.esb.core.model.converters.ConverterConstants;
import org.jboss.tools.jst.web.kb.internal.validation.ContextValidationHelper;
import org.jboss.tools.jst.web.kb.internal.validation.ProjectValidationContext;
import org.jboss.tools.jst.web.kb.internal.validation.ValidatingProjectSet;
@@ -276,8 +279,34 @@
bindMarkerToPathAndAttribute(marker, object, ATTR_RULE_AUDIT_INTERVAL);
}
}
+
+ XModelObject[] ps = object.getChildren(ConverterConstants.OBJECT_PATH_ENTITY);
+ for (XModelObject path: ps) {
+ validateObjectPathForBusinessRulesProcessor(path, object, file);
+ }
}
+ static String ATTR_ESB = "esb"; //$NON-NLS-1$
+ static Set<String> OBJECT_PATH_LOCATIONS = new HashSet<String>();
+ static {
+ OBJECT_PATH_LOCATIONS.add("body"); //$NON-NLS-1$
+ OBJECT_PATH_LOCATIONS.add("header"); //$NON-NLS-1$
+ OBJECT_PATH_LOCATIONS.add("properties"); //$NON-NLS-1$
+ OBJECT_PATH_LOCATIONS.add("attachment"); //$NON-NLS-1$
+ }
+
+ void validateObjectPathForBusinessRulesProcessor(XModelObject path, XModelObject brp,
IFile file) {
+ String esb = path.getAttributeValue(ATTR_ESB);
+ StringTokenizer st = new StringTokenizer(esb, ".");
+ if(!st.hasMoreTokens()) return;
+ String location = st.nextToken();
+ if(!OBJECT_PATH_LOCATIONS.contains(location)) {
+ IMarker marker = addError(ESBValidatorMessages.INVALID_OBJECT_PATH_WRONG_LOCATION,
+ ESBPreferences.BUSINESS_RULES_PROCESSOR_PROBLEMS, getSourceReference(path,
ATTR_ESB), file);
+ bindMarkerToPathAndAttribute(marker, path, ATTR_ESB);
+ }
+ }
+
void bindMarkerToPathAndAttribute(IMarker marker, XModelObject object, String attr) {
if(marker != null) try {
marker.setAttribute(ATTR_PATH, object.getPath());
Modified:
trunk/esb/plugins/org.jboss.tools.esb.validator/src/org/jboss/tools/esb/validator/ESBValidatorMessages.java
===================================================================
---
trunk/esb/plugins/org.jboss.tools.esb.validator/src/org/jboss/tools/esb/validator/ESBValidatorMessages.java 2010-10-07
13:30:26 UTC (rev 25555)
+++
trunk/esb/plugins/org.jboss.tools.esb.validator/src/org/jboss/tools/esb/validator/ESBValidatorMessages.java 2010-10-07
13:42:51 UTC (rev 25556)
@@ -25,6 +25,8 @@
public static String INVALID_RULE_SET_FOR_RULE_LANGUAGE;
public static String INVALID_RULE_AUDIT_TYPE_AND_INTERVAL;
+
+ public static String INVALID_OBJECT_PATH_WRONG_LOCATION;
static {
NLS.initializeMessages(BUNDLE_NAME, ESBValidatorMessages.class);
Modified:
trunk/esb/plugins/org.jboss.tools.esb.validator/src/org/jboss/tools/esb/validator/messages.properties
===================================================================
---
trunk/esb/plugins/org.jboss.tools.esb.validator/src/org/jboss/tools/esb/validator/messages.properties 2010-10-07
13:30:26 UTC (rev 25555)
+++
trunk/esb/plugins/org.jboss.tools.esb.validator/src/org/jboss/tools/esb/validator/messages.properties 2010-10-07
13:42:51 UTC (rev 25556)
@@ -6,4 +6,5 @@
LISTENER_REFERENCES_INCOMPATIBLE_CHANNEL=Listener references incompatible channel
INVALID_RULE_SET_FOR_RULE_LANGUAGE=If "ruleLanguage" is specified, the file in
"ruleSet" should be a ".dslr" file
-INVALID_RULE_AUDIT_TYPE_AND_INTERVAL=If "ruleAuditInterval" is specified, it
only applies for a "ruleAuditType" of "THREADED_FILE"
\ No newline at end of file
+INVALID_RULE_AUDIT_TYPE_AND_INTERVAL=If "ruleAuditInterval" is specified, it
only applies for a "ruleAuditType" of "THREADED_FILE"
+INVALID_OBJECT_PATH_WRONG_LOCATION=Invalid object-path: location should be one of body,
header, properties, attachment
\ No newline at end of file