Skip to content

Commit

Permalink
Issue #9: Links to src/test/resources do not work
Browse files Browse the repository at this point in the history
* Use copied source root constants from org.netbeans.modules.maven.classpath.MavenSourcesImpl
* Update manual "test cases"
  • Loading branch information
markiewb committed Sep 7, 2014
1 parent d28a175 commit 18522f6
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@
* For example: {@code "com/foo/Bar.java"} will be resolved in the source-roots
* of
* {@link JavaProjectConstants.SOURCES_TYPE_JAVA}, {@link JavaProjectConstants.SOURCES_TYPE_RESOURCES}, {@link JavaProjectConstants.SOURCES_HINT_TEST}
* and in the Maven-Source-Roots
* </p>
* If there are multiple matches a dialog will pop up and let the user choose.
*
Expand All @@ -78,6 +79,16 @@
@MimeRegistration(mimeType = "text/x-java", service = HyperlinkProviderExt.class)
public class ResourceHyperlinkProvider implements HyperlinkProviderExt {


/**
* Copied from org.netbeans.modules.maven.classpath.MavenSourcesImpl.
* These constants where not public API, so they are duplicated in here.
* https://github.com/markiewb/nb-resource-hyperlink-at-cursor/issues/9
*/
public static final String MAVEN_TYPE_OTHER = "Resources"; //NOI18N
public static final String MAVEN_TYPE_TEST_OTHER = "TestResources"; //NOI18N
public static final String MAVEN_TYPE_GEN_SOURCES = "GeneratedSources"; //NOI18N

boolean enablePartialMatches;

public ResourceHyperlinkProvider() {
Expand Down Expand Up @@ -211,13 +222,17 @@ private List<FileObject> getMatchingFilesFromSourceRoots(Project p, String searc
list.addAll(Arrays.asList(sources.getSourceGroups(JavaProjectConstants.SOURCES_TYPE_JAVA)));
list.addAll(Arrays.asList(sources.getSourceGroups(JavaProjectConstants.SOURCES_TYPE_RESOURCES)));
list.addAll(Arrays.asList(sources.getSourceGroups(JavaProjectConstants.SOURCES_HINT_TEST)));
list.addAll(Arrays.asList(sources.getSourceGroups(JavaProjectConstants.SOURCES_HINT_MAIN)));
list.addAll(Arrays.asList(sources.getSourceGroups(MAVEN_TYPE_GEN_SOURCES)));
list.addAll(Arrays.asList(sources.getSourceGroups(MAVEN_TYPE_OTHER)));
list.addAll(Arrays.asList(sources.getSourceGroups(MAVEN_TYPE_TEST_OTHER)));
for (SourceGroup sourceGroup : list) {

//partial matches
Collection<FileObject> partialMatches = partialMatches(searchToken, sourceGroup.getRootFolder().getChildren());
foundMatches.addAll(partialMatches);

//exact matches
//exact matches, relative path
FileObject fileObject = sourceGroup.getRootFolder().getFileObject(searchToken);
if (fileObject != null && !fileObject.isFolder()) {
foundMatches.add(fileObject);
Expand Down
6 changes: 6 additions & 0 deletions src/test/java/NewMain.java
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,12 @@ public static void main(String[] args) {
System.out.println("Hyper");
System.out.println("./src\\test\\java\\foo\\NewMain.java");
System.out.println(".\\src\\test\\java\\foo\\NewMain.java");
//link to src/main/nbm
System.out.println("manifest.mf");
//link to src/main/resources
System.out.println("de/markiewb/netbeans/plugins/resourcehyperlink/options/Bundle.properties");
//link to src/test/resources
System.out.println("TestResource.txt");
System.out.println("de.markiewb.netbeans.plugins.resourcehyperlink.ResourceHyperlinkProvider");
System.out.println("de.markiewb.netbeans.plugins.resourcehyperlink.ResourceHyperlinkProvider");
System.out.println("D:\\ws\\nb-resource-hyperlink-at-cursor\\doc\\screenshot-1.0.0.png");
Expand Down
1 change: 1 addition & 0 deletions src/test/resources/TestResource.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Empty

0 comments on commit 18522f6

Please sign in to comment.