313166 - [JSF2.0] False warning for h:commandButton in a composite
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/strategy/ContainmentValidatingStrategy.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/strategy/ContainmentValidatingStrategy.java
index f7062d5..0d4a586 100644
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/strategy/ContainmentValidatingStrategy.java
+++ b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/validation/internal/strategy/ContainmentValidatingStrategy.java
@@ -58,8 +58,12 @@
Messages.ContainmentValidatingStrategy_DisplayName;
private final static ElementToTagIdentifierMapping elem2TagIdMapper =
new ElementToTagIdentifierMapping();
+
+ private static final String ENABLE_CONTAINMENT_VALIDATION_KEY = "jsfCoreEnableContainmentValidation"; //$NON-NLS-1$
+
private int _containmentValidationCount; // = 0;
private final JSFValidationContext _jsfValidationContext;
+ private boolean _enabled;
/**
* @param jsfValidationContext
@@ -69,9 +73,10 @@
{
super(ID, DISPLAY_NAME);
_jsfValidationContext = jsfValidationContext;
+ _enabled = getEnablementProperty();
}
- @Override
+ @Override
public boolean isInteresting(DOMAdapter domAdapter)
{
return domAdapter instanceof Region2ElementAdapter;
@@ -80,7 +85,8 @@
@Override
public void validate(DOMAdapter domAdapter)
{
- if (domAdapter instanceof Region2ElementAdapter)
+ if (_enabled
+ && domAdapter instanceof Region2ElementAdapter)
{
final Region2ElementAdapter elementAdapter =
(Region2ElementAdapter) domAdapter;
@@ -88,6 +94,15 @@
}
}
+ private boolean getEnablementProperty() {
+ String res = System.getProperty(ENABLE_CONTAINMENT_VALIDATION_KEY);
+ if (res == null) {
+ //check env var also
+ res = System.getenv(ENABLE_CONTAINMENT_VALIDATION_KEY);
+ }
+ return res != null;
+ }
+
private void validateContainment(
final Region2ElementAdapter elementAdapter,
final JSFValidationContext jsfValidationContext)