Author: scabanovich
Date: 2008-04-02 12:07:01 -0400 (Wed, 02 Apr 2008)
New Revision: 7269
Modified:
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/core/ISeamProject.java
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/SeamProject.java
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/el/SeamExpressionResolver.java
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/validation/SeamCoreValidator.java
Log:
JBIDE-1409
Modified:
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/core/ISeamProject.java
===================================================================
---
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/core/ISeamProject.java 2008-04-02
13:49:14 UTC (rev 7268)
+++
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/core/ISeamProject.java 2008-04-02
16:07:01 UTC (rev 7269)
@@ -35,6 +35,13 @@
* or null if project has no parent project.
*/
public String getParentProjectName();
+
+ /**
+ *
+ * @return parent project or null
+ * @see getParentProjectName()
+ */
+ public ISeamProject getParentProject();
/**
* Returns Seam runtime name.
Modified:
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/SeamProject.java
===================================================================
---
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/SeamProject.java 2008-04-02
13:49:14 UTC (rev 7268)
+++
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/SeamProject.java 2008-04-02
16:07:01 UTC (rev 7269)
@@ -161,6 +161,13 @@
IEclipsePreferences p = getSeamPreferences();
return p == null ? null : p.get("seam.parent.project", null);
}
+
+ public ISeamProject getParentProject() {
+ String n = getParentProjectName();
+ if(n == null || n.length() == 0) return null;
+ IProject parent = ResourcesPlugin.getWorkspace().getRoot().getProject(n);
+ return n == null ? null : SeamCorePlugin.getSeamProject(parent, true);
+ }
public void setRuntimeName(String runtimeName) {
if(this.runtimeName == runtimeName) return;
@@ -267,14 +274,19 @@
// }
// });
}
+
+ IEclipsePreferences preferences = null;
/**
*
* @return
*/
public IEclipsePreferences getSeamPreferences() {
- IScopeContext projectScope = new ProjectScope(project);
- return projectScope.getNode(SeamCorePlugin.PLUGIN_ID);
+ if(preferences == null) {
+ IScopeContext projectScope = new ProjectScope(project);
+ preferences = projectScope.getNode(SeamCorePlugin.PLUGIN_ID);
+ }
+ return preferences;
}
/**
Modified:
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/el/SeamExpressionResolver.java
===================================================================
---
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/el/SeamExpressionResolver.java 2008-04-02
13:49:14 UTC (rev 7268)
+++
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/el/SeamExpressionResolver.java 2008-04-02
16:07:01 UTC (rev 7269)
@@ -56,6 +56,11 @@
*/
public static List<ISeamContextVariable> resolveVariables(ISeamProject project,
ScopeType scope, String name, boolean onlyEqualNames) {
if (project == null || name == null) return null;
+
+ ISeamProject parent = project.getParentProject();
+ if(parent != null) {
+ project = parent;
+ }
/*
* JBIDE-670 scope isn't used anymore
*/
Modified:
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/validation/SeamCoreValidator.java
===================================================================
---
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/validation/SeamCoreValidator.java 2008-04-02
13:49:14 UTC (rev 7268)
+++
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/validation/SeamCoreValidator.java 2008-04-02
16:07:01 UTC (rev 7269)
@@ -580,6 +580,12 @@
if(bijection.isOfType(BijectedAttributeType.IN)) {
Set<ISeamContextVariable> variables = project.getVariablesByName(name);
if(variables==null || variables.size()<1) {
+ ISeamProject parentProject = project.getParentProject();
+ if(parentProject != null) {
+ variables = parentProject.getVariablesByName(name);
+ }
+ }
+ if(variables==null || variables.size()<1) {
// Injection has unknown name. Mark it.
IResource declarationResource = declaration.getResource();
addError(UNKNOWN_VARIABLE_NAME_MESSAGE_ID, SeamPreferences.UNKNOWN_VARIABLE_NAME, new
String[]{name}, bijection, declarationResource);
Show replies by date