1 19 package org.netbeans.modules.web.project.queries; 20 21 import java.net.URL ; 22 import org.netbeans.api.project.FileOwnerQuery; 23 import org.netbeans.api.project.Project; 24 import org.netbeans.spi.java.queries.MultipleRootsUnitTestForSourceQueryImplementation; 25 import org.netbeans.modules.web.project.SourceRoots; 26 import org.openide.filesystems.FileObject; 27 28 public class UnitTestForSourceQueryImpl implements MultipleRootsUnitTestForSourceQueryImplementation { 29 30 private final SourceRoots sourceRoots; 31 private final SourceRoots testRoots; 32 33 public UnitTestForSourceQueryImpl(SourceRoots sourceRoots, SourceRoots testRoots) { 34 this.sourceRoots = sourceRoots; 35 this.testRoots = testRoots; 36 } 37 38 public URL [] findUnitTests(FileObject source) { 39 return find(source, sourceRoots, testRoots); } 41 42 public URL [] findSources(FileObject unitTest) { 43 return find(unitTest, testRoots, sourceRoots); } 45 46 private URL [] find(FileObject file, SourceRoots from, SourceRoots to) { 47 Project p = FileOwnerQuery.getOwner(file); 48 if (p == null) { 49 return null; 50 } 51 FileObject[] fromRoots = from.getRoots(); 52 for (int i = 0; i < fromRoots.length; i++) { 53 if (fromRoots[i].equals(file)) { 54 return to.getRootURLs(); 55 } 56 } 57 return null; 58 } 59 60 } 61 | Popular Tags |