Author: scabanovich
Date: 2011-08-16 19:05:05 -0400 (Tue, 16 Aug 2011)
New Revision: 33992
Modified:
trunk/jsf/plugins/org.jboss.tools.jsf/META-INF/MANIFEST.MF
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/jsf2/bean/el/JSF2ElResolver.java
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/jsf2/bean/model/impl/JSF2Project.java
Log:
JBIDE-8280
https://issues.jboss.org/browse/JBIDE-8280
Modified: trunk/jsf/plugins/org.jboss.tools.jsf/META-INF/MANIFEST.MF
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf/META-INF/MANIFEST.MF 2011-08-16 22:49:54 UTC
(rev 33991)
+++ trunk/jsf/plugins/org.jboss.tools.jsf/META-INF/MANIFEST.MF 2011-08-16 23:05:05 UTC
(rev 33992)
@@ -9,6 +9,7 @@
org.jboss.tools.jsf.el.refactoring,
org.jboss.tools.jsf.facelet.model,
org.jboss.tools.jsf.jsf2.bean.build,
+ org.jboss.tools.jsf.jsf2.bean.el,
org.jboss.tools.jsf.jsf2.bean.model,
org.jboss.tools.jsf.jsf2.model,
org.jboss.tools.jsf.jsf2.refactoring,
Modified:
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/jsf2/bean/el/JSF2ElResolver.java
===================================================================
---
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/jsf2/bean/el/JSF2ElResolver.java 2011-08-16
22:49:54 UTC (rev 33991)
+++
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/jsf2/bean/el/JSF2ElResolver.java 2011-08-16
23:05:05 UTC (rev 33992)
@@ -82,7 +82,7 @@
Set<IJSF2ManagedBean> resolvedBeans = null;
if (varName != null) {
IJSF2Project manager = JSF2ProjectFactory.getJSF2ProjectWithProgress(project);
- if (manager != null) {
+ if (manager != null && !manager.isMetadataComplete()) {
if(onlyEqualNames) {
resolvedBeans = manager.getManagedBeans(varName);
beans.addAll(resolvedBeans);
Modified:
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/jsf2/bean/model/impl/JSF2Project.java
===================================================================
---
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/jsf2/bean/model/impl/JSF2Project.java 2011-08-16
22:49:54 UTC (rev 33991)
+++
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/jsf2/bean/model/impl/JSF2Project.java 2011-08-16
23:05:05 UTC (rev 33992)
@@ -89,9 +89,9 @@
@Override
public Set<IJSF2ManagedBean> getManagedBeans(String name) {
Set<IJSF2ManagedBean> result = new HashSet<IJSF2ManagedBean>();
- Set<IJSF2ManagedBean> beans = beansByName.get(name);
- if(beans != null) {
- synchronized(beans) {
+ synchronized(this) {
+ Set<IJSF2ManagedBean> beans = beansByName.get(name);
+ if(beans != null) {
result.addAll(beans);
}
}
@@ -175,10 +175,8 @@
}
}
- void addUsedProjectInternal(IJSF2Project project) {
- synchronized (dependsOn) {
- dependsOn.add((JSF2Project)project);
- }
+ synchronized void addUsedProjectInternal(IJSF2Project project) {
+ dependsOn.add((JSF2Project)project);
}
public void addDependentProject(IJSF2Project project) {
@@ -190,7 +188,7 @@
JSF2Project p = (JSF2Project)project;
if(!dependsOn.contains(p)) return;
p.usedBy.remove(this);
- synchronized (dependsOn) {
+ synchronized (this) {
dependsOn.remove(p);
}
}
@@ -284,6 +282,9 @@
}
public void update() {
+ FacesConfigDefinition fc = definitions.getFacesConfig();
+ isMetadataComplete = fc != null && fc.isMetadataComplete();
+
List<TypeDefinition> typeDefinitions = getAllTypeDefinitions();
List<IJSF2ManagedBean> beans = new ArrayList<IJSF2ManagedBean>();
for (TypeDefinition typeDefinition : typeDefinitions) {
@@ -294,57 +295,43 @@
}
}
- synchronized (beansByPath) {
+ synchronized (this) {
beansByPath.clear();
- }
- synchronized (beansByName) {
beansByName.clear();
- }
- synchronized (namedBeans) {
namedBeans.clear();
- }
- synchronized (allBeans) {
allBeans.clear();
}
-
- for (IJSF2ManagedBean bean: beans) {
- addBean(bean);
- }
-
- FacesConfigDefinition fc = definitions.getFacesConfig();
- isMetadataComplete = fc != null && fc.isMetadataComplete();
+ if(!isMetadataComplete) {
+ //No JSF2 beans in model when metadata is complete.
+ for (IJSF2ManagedBean bean: beans) {
+ addBean(bean);
+ }
+ }
+
}
public void addBean(IJSF2ManagedBean bean) {
String name = bean.getName();
if(name != null && name.length() > 0) {
- Set<IJSF2ManagedBean> bs = beansByName.get(name);
- if(bs == null) {
- bs = new HashSet<IJSF2ManagedBean>();
- synchronized (beansByName) {
+ synchronized (this) {
+ Set<IJSF2ManagedBean> bs = beansByName.get(name);
+ if(bs == null) {
+ bs = new HashSet<IJSF2ManagedBean>();
beansByName.put(name, bs);
}
- }
- synchronized (bs) {
bs.add(bean);
- }
- synchronized (namedBeans) {
namedBeans.add(bean);
}
}
IPath path = bean.getSourcePath();
- Set<IJSF2ManagedBean> bs = beansByPath.get(path);
- if(bs == null) {
- bs = new HashSet<IJSF2ManagedBean>();
- synchronized (beansByPath) {
+ synchronized (this) {
+ Set<IJSF2ManagedBean> bs = beansByPath.get(path);
+ if(bs == null) {
+ bs = new HashSet<IJSF2ManagedBean>();
beansByPath.put(path, bs);
}
- }
- synchronized (bs) {
bs.add(bean);
- }
- synchronized (allBeans) {
allBeans.add(bean);
}
}