Author: yradtsevich
Date: 2009-03-24 13:02:19 -0400 (Tue, 24 Mar 2009)
New Revision: 14313
Modified:
trunk/common/plugins/org.jboss.tools.common.resref.ui/src/org/jboss/tools/common/resref/ui/BaseAddReferenceSupport.java
trunk/vpe/plugins/org.jboss.tools.vpe.resref/src/org/jboss/tools/vpe/resref/core/Messages.java
trunk/vpe/plugins/org.jboss.tools.vpe.resref/src/org/jboss/tools/vpe/resref/core/VpeELReferenceSupport.java
trunk/vpe/plugins/org.jboss.tools.vpe.resref/src/org/jboss/tools/vpe/resref/core/VpeElVariableValidator.java
trunk/vpe/plugins/org.jboss.tools.vpe.resref/src/org/jboss/tools/vpe/resref/core/messages.properties
Log:
CODING IN PROGRESS - issue JBIDE-3576: EL expression overriding
https://jira.jboss.org/jira/browse/JBIDE-3576
- now validator for 'EL References' dialog checks if the expression already
exists.
Modified:
trunk/common/plugins/org.jboss.tools.common.resref.ui/src/org/jboss/tools/common/resref/ui/BaseAddReferenceSupport.java
===================================================================
---
trunk/common/plugins/org.jboss.tools.common.resref.ui/src/org/jboss/tools/common/resref/ui/BaseAddReferenceSupport.java 2009-03-24
15:43:02 UTC (rev 14312)
+++
trunk/common/plugins/org.jboss.tools.common.resref.ui/src/org/jboss/tools/common/resref/ui/BaseAddReferenceSupport.java 2009-03-24
17:02:19 UTC (rev 14313)
@@ -32,6 +32,7 @@
object.setAttributeValue("prefix", css.getProperties()); //$NON-NLS-1$
}
Properties p = new Properties();
+ p.put("resourceReference", css); //$NON-NLS-1$
p.put("scope",Integer.valueOf(css.getScope())); //$NON-NLS-1$
p.put("list", list); //$NON-NLS-1$
if(file != null) p.put("file", file); //$NON-NLS-1$
@@ -111,7 +112,7 @@
getProperties().put("scope", Integer.valueOf(scope)); //$NON-NLS-1$
}
- int getSelectedScope(Properties p0) {
+ public int getSelectedScope(Properties p0) {
String scopeName = p0.getProperty("scope"); //$NON-NLS-1$
for (int i = 0; i < scopeNames.length; i++) {
if(scopeNames[i].equals(scopeName)) return i;
Modified:
trunk/vpe/plugins/org.jboss.tools.vpe.resref/src/org/jboss/tools/vpe/resref/core/Messages.java
===================================================================
---
trunk/vpe/plugins/org.jboss.tools.vpe.resref/src/org/jboss/tools/vpe/resref/core/Messages.java 2009-03-24
15:43:02 UTC (rev 14312)
+++
trunk/vpe/plugins/org.jboss.tools.vpe.resref/src/org/jboss/tools/vpe/resref/core/Messages.java 2009-03-24
17:02:19 UTC (rev 14313)
@@ -41,4 +41,5 @@
public static String ACTUAL_RUN_TIME_ABSOLUTE_FOLDER;
public static String ACTUAL_RUN_TIME_RELATIVE_FOLDER;
public static String INVALID_EL_EXPRESSION;
+ public static String EL_EXPRESSION_ALREADY_EXISTS;
}
Modified:
trunk/vpe/plugins/org.jboss.tools.vpe.resref/src/org/jboss/tools/vpe/resref/core/VpeELReferenceSupport.java
===================================================================
---
trunk/vpe/plugins/org.jboss.tools.vpe.resref/src/org/jboss/tools/vpe/resref/core/VpeELReferenceSupport.java 2009-03-24
15:43:02 UTC (rev 14312)
+++
trunk/vpe/plugins/org.jboss.tools.vpe.resref/src/org/jboss/tools/vpe/resref/core/VpeELReferenceSupport.java 2009-03-24
17:02:19 UTC (rev 14313)
@@ -11,19 +11,21 @@
package org.jboss.tools.vpe.resref.core;
import org.jboss.tools.common.meta.action.impl.WizardDataValidator;
+import org.jboss.tools.common.resref.core.ResourceReference;
/**
* @author mareshkau
*
*/
public class VpeELReferenceSupport extends VpeAddReferenceSupport {
-
/* (non-Javadoc)
* @see org.jboss.tools.common.meta.action.impl.SpecialWizardSupport#getValidator(int)
*/
@Override
public WizardDataValidator getValidator(int step) {
- return new VpeElVariableValidator(this ,getStepId());
+ ResourceReference[] currentReferenceList =
(ResourceReference[])p.get("list"); //$NON-NLS-1$
+ ResourceReference editingReference =
(ResourceReference)p.get("resourceReference"); //$NON-NLS-1$
+ return new VpeElVariableValidator(this, getStepId(), currentReferenceList,
editingReference);
}
}
Modified:
trunk/vpe/plugins/org.jboss.tools.vpe.resref/src/org/jboss/tools/vpe/resref/core/VpeElVariableValidator.java
===================================================================
---
trunk/vpe/plugins/org.jboss.tools.vpe.resref/src/org/jboss/tools/vpe/resref/core/VpeElVariableValidator.java 2009-03-24
15:43:02 UTC (rev 14312)
+++
trunk/vpe/plugins/org.jboss.tools.vpe.resref/src/org/jboss/tools/vpe/resref/core/VpeElVariableValidator.java 2009-03-24
17:02:19 UTC (rev 14313)
@@ -16,21 +16,28 @@
import org.jboss.tools.common.el.core.parser.ELParser;
import org.jboss.tools.common.el.core.parser.ELParserUtil;
import org.jboss.tools.common.meta.action.impl.DefaultWizardDataValidator;
-import org.jboss.tools.common.meta.action.impl.SpecialWizardSupport;
+import org.jboss.tools.common.resref.core.ResourceReference;
+import org.jboss.tools.common.resref.ui.BaseAddReferenceSupport;
/**
* @author mareshkau
*
*/
public class VpeElVariableValidator extends DefaultWizardDataValidator {
+ private ResourceReference[] currentReferenceList;
+ private ResourceReference editingReference;
/**
*
* @param support
* @param step
+ * @param resourceReferences
+ * @param editingReference
*/
- public VpeElVariableValidator(SpecialWizardSupport support, int step) {
+ public VpeElVariableValidator(BaseAddReferenceSupport support, int step,
ResourceReference[] currentReferenceList, ResourceReference editingReference) {
super.setSupport(support, step);
+ this.currentReferenceList = currentReferenceList;
+ this.editingReference = editingReference;
}
/* (non-Javadoc)
@@ -43,14 +50,25 @@
if( (getErrorMessage()!=null) ||
(getWarningMessage()!=null)) {
return;
- }
+ }
String location = (String) data.get("location"); //$NON-NLS-1$
ELParser elParser = ELParserUtil.getDefaultFactory().createParser();
ELModel model = elParser.parse("#{"+location+'}'); //$NON-NLS-1$
if(model == null || model.getSyntaxErrors().size()>0) {
- message=Messages.INVALID_EL_EXPRESSION;
+ message = Messages.INVALID_EL_EXPRESSION;
+ } else {
+ // yradtsevich: JBIDE-3576: EL expression overriding
+ // check if there is no another EL reference in the same scope with the same name
+ final int selectedScope = ((BaseAddReferenceSupport)support).getSelectedScope(data);
+ for (ResourceReference listItemReference : currentReferenceList) {
+ if (editingReference != listItemReference
+ && listItemReference.getScope() == selectedScope
+ && location.equals(listItemReference.getLocation())) {
+ message = Messages.EL_EXPRESSION_ALREADY_EXISTS;
+ break;
+ }
+ }
}
-
}
}
Modified:
trunk/vpe/plugins/org.jboss.tools.vpe.resref/src/org/jboss/tools/vpe/resref/core/messages.properties
===================================================================
---
trunk/vpe/plugins/org.jboss.tools.vpe.resref/src/org/jboss/tools/vpe/resref/core/messages.properties 2009-03-24
15:43:02 UTC (rev 14312)
+++
trunk/vpe/plugins/org.jboss.tools.vpe.resref/src/org/jboss/tools/vpe/resref/core/messages.properties 2009-03-24
17:02:19 UTC (rev 14313)
@@ -1,7 +1,8 @@
INCLUDED_CSS_FILES=Included css files
INCLUDED_TAG_LIBS=Included tag libs
-SUBSTITUTED_EL_EXPRESSIONS=Substituted El expressions
+SUBSTITUTED_EL_EXPRESSIONS=Substituted EL expressions
ACTUAL_RUN_TIME_ABSOLUTE_FOLDER=Absolute Folder
ACTUAL_RUN_TIME_RELATIVE_FOLDER=Relative Folder
ACTUAL_RUN_TIME_FOLDERS=Actual Run-Time Folders
-INVALID_EL_EXPRESSION=Invalid El Expression
+INVALID_EL_EXPRESSION=Invalid EL Expression.
+EL_EXPRESSION_ALREADY_EXISTS=EL expression already exists in the selected scope.