Author: scabanovich
Date: 2011-07-26 13:23:26 -0400 (Tue, 26 Jul 2011)
New Revision: 33203
Modified:
trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/MessagePropertyELSegmentImpl.java
Log:
JBIDE-9087
https://issues.jboss.org/browse/JBIDE-9087
Modified:
trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/MessagePropertyELSegmentImpl.java
===================================================================
---
trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/MessagePropertyELSegmentImpl.java 2011-07-26
17:13:54 UTC (rev 33202)
+++
trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/MessagePropertyELSegmentImpl.java 2011-07-26
17:23:26 UTC (rev 33203)
@@ -10,9 +10,15 @@
******************************************************************************/
package org.jboss.tools.common.el.core.resolver;
+import java.util.ArrayList;
+import java.util.List;
+
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IResource;
+import org.eclipse.swt.graphics.Image;
import org.jboss.tools.common.el.core.parser.LexicalToken;
+import org.jboss.tools.common.model.XModelObject;
+import org.jboss.tools.common.model.util.FindObjectHelper;
import org.jboss.tools.common.text.ITextSourceReference;
/**
@@ -27,6 +33,8 @@
private String baseName=null;
private boolean isBundle = false;
+ private List<XModelObject> objects = new ArrayList<XModelObject>();
+
public MessagePropertyELSegmentImpl(LexicalToken token) {
super(token);
}
@@ -81,4 +89,39 @@
public void setBaseName(String name){
baseName = name;
}
+
+ public void addObject(XModelObject object) {
+ objects.add(object);
+ }
+
+ public IOpenableReference[] getOpenable() {
+ if(objects != null) {
+ IOpenableReference[] result = new IOpenableReference[objects.size()];
+ for (int i = 0; i < objects.size(); i++) {
+ final XModelObject o = objects.get(i);
+ result[i] = new IOpenableReference() {
+ @Override
+ public boolean open() {
+ int q = FindObjectHelper.findModelObject(o, FindObjectHelper.IN_EDITOR_ONLY);
+ return q < 1;
+ }
+
+ @Override
+ public String getLabel() {
+ XModelObject p = o;
+ while(p != null && p.getFileType() < XModelObject.FILE) p =
p.getParent();
+ //improve label - now it returns file name, with locale
+ return p.getAttributeValue("name");
+ }
+
+ @Override
+ public Image getImage() {
+ return null;
+ }
+ };
+ }
+ return result;
+ }
+ return super.getOpenable();
+ }
}
\ No newline at end of file