Author: dazarov
Date: 2011-07-08 17:31:37 -0400 (Fri, 08 Jul 2011)
New Revision: 32776
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.seam.text.ext/src/org/jboss/tools/cdi/seam/text/ext/hyperlink/CDISeamResourceLoadingHyperlink.java
Log:
https://issues.jboss.org/browse/JBIDE-8202
Modified:
trunk/cdi/plugins/org.jboss.tools.cdi.seam.text.ext/src/org/jboss/tools/cdi/seam/text/ext/hyperlink/CDISeamResourceLoadingHyperlink.java
===================================================================
---
trunk/cdi/plugins/org.jboss.tools.cdi.seam.text.ext/src/org/jboss/tools/cdi/seam/text/ext/hyperlink/CDISeamResourceLoadingHyperlink.java 2011-07-08
20:16:59 UTC (rev 32775)
+++
trunk/cdi/plugins/org.jboss.tools.cdi.seam.text.ext/src/org/jboss/tools/cdi/seam/text/ext/hyperlink/CDISeamResourceLoadingHyperlink.java 2011-07-08
21:31:37 UTC (rev 32776)
@@ -27,6 +27,7 @@
import org.jboss.tools.common.text.ext.util.Utils;
public class CDISeamResourceLoadingHyperlink extends AbstractHyperlink{
+ private final static String PROPERTIES = ".properties";
private IRegion region;
private String path;
private IFile file;
@@ -50,16 +51,49 @@
@Override
public IFile getReadyToOpenFile(){
- IFile result = getFileFromProject(path);
+ String fileName = path;
+
+ IFile result = searchFile(fileName);
if(result != null && result.exists())
return result;
+ fileName = replaceDots(fileName);
+ result = searchFile(fileName);
+ if(result != null && result.exists())
+ return result;
+
+ fileName = path;
+ fileName += PROPERTIES;
+ fileName = replaceDots(fileName);
+ return searchFile(fileName);
+ }
+
+ private String replaceDots(String name){
+ String fileName = name;
+ int propIndex = fileName.lastIndexOf(".");
+ if(propIndex < 0)
+ return fileName;
+
+ String extension = fileName.substring(propIndex);
+
+ fileName = fileName.substring(0, propIndex);
+ fileName = fileName.replace(".", "/");
+ fileName += extension;
+
+ return fileName;
+ }
+
+ public IFile searchFile(String fileName){
+ IFile result = getFileFromProject(fileName);
+ if(result != null && result.exists())
+ return result;
+
if(file == null || !file.isAccessible()) return null;
- path = findAndReplaceElVariable(path);
+ fileName = findAndReplaceElVariable(fileName);
IProject project = file.getProject();
- String name = Utils.trimFilePath(path);
+ String name = Utils.trimFilePath(fileName);
IPath currentPath = file.getLocation().removeLastSegments(1);
IResource member = null;