This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

View | Details | Raw Unified | Return to bug 249765
Collapse All | Expand All

(-)junit/src/org/netbeans/modules/junit/DefaultPlugin.java (-6 / +31 lines)
Lines 55-60 Link Here
55
import java.util.ArrayList;
55
import java.util.ArrayList;
56
import java.util.Collection;
56
import java.util.Collection;
57
import java.util.Collections;
57
import java.util.Collections;
58
import java.util.EnumSet;
58
import java.util.HashMap;
59
import java.util.HashMap;
59
import java.util.HashSet;
60
import java.util.HashSet;
60
import java.util.LinkedList;
61
import java.util.LinkedList;
Lines 121-126 Link Here
121
import static org.netbeans.api.java.classpath.ClassPath.SOURCE;
122
import static org.netbeans.api.java.classpath.ClassPath.SOURCE;
122
import static org.netbeans.api.java.classpath.ClassPath.COMPILE;
123
import static org.netbeans.api.java.classpath.ClassPath.COMPILE;
123
import static org.netbeans.api.java.project.JavaProjectConstants.SOURCES_TYPE_JAVA;
124
import static org.netbeans.api.java.project.JavaProjectConstants.SOURCES_TYPE_JAVA;
125
import org.netbeans.api.java.source.ClassIndex;
126
import org.netbeans.api.java.source.ClassIndex.SearchScope;
124
import org.netbeans.modules.gsf.testrunner.api.UnitTestsUsage;
127
import org.netbeans.modules.gsf.testrunner.api.UnitTestsUsage;
125
import org.netbeans.modules.java.testrunner.GuiUtils;
128
import org.netbeans.modules.java.testrunner.GuiUtils;
126
import static org.openide.ErrorManager.ERROR;
129
import static org.openide.ErrorManager.ERROR;
Lines 317-322 Link Here
317
                                   false);
320
                                   false);
318
    }
321
    }
319
    
322
    
323
    
320
    /**
324
    /**
321
     *
325
     *
322
     */
326
     */
Lines 342-352 Link Here
342
            return null;
346
            return null;
343
        }
347
        }
344
        
348
        
345
        ClassPath oppoRootsClassPath = ClassPathSupport
349
        ClassPath oppoRootsClassPath = ClassPathSupport.createClassPath(oppoRootsURLs);
346
                                           .createClassPath(oppoRootsURLs);
350
        Set<FileObject> oppositeFiles = new java.util.LinkedHashSet<FileObject>();
347
        final List<FileObject> oppoFiles = oppoRootsClassPath
351
        if (sourceToTest) {
348
                                           .findAllResources(oppoResourceName);
352
349
        if (oppoFiles.isEmpty()) {
353
            FileObject fo = sourceLocation.getFileObject();
354
            ClassPath bootCp = ClassPath.getClassPath(fo, ClassPath.BOOT);
355
            ClassPath compileCp = ClassPath.getClassPath(fo, ClassPath.COMPILE);
356
            final ClasspathInfo info = ClasspathInfo.create(bootCp, compileCp, oppoRootsClassPath);
357
358
            final Set<ElementHandle<TypeElement>> result = info.getClassIndex().getDeclaredTypes(String.format(".*%s.*(Test|IT)", fo.getName()), ClassIndex.NameKind.REGEXP, EnumSet.of(ClassIndex.SearchScope.SOURCE));
359
            for (ElementHandle<TypeElement> te : result) {
360
361
                Set<FileObject> resources = info.getClassIndex().getResources(te, EnumSet.of(ClassIndex.SearchKind.TYPE_REFERENCES), EnumSet.of(SearchScope.SOURCE));
362
                oppositeFiles.addAll(resources);
363
                System.out.println("resources = " + resources);
364
            }
365
        } else {
366
            oppositeFiles.addAll(oppoRootsClassPath.findAllResources(oppoResourceName));
367
        }
368
        
369
370
        
371
        
372
        
373
        if (oppositeFiles.isEmpty()) {
350
            //if (sourceToTest) {
374
            //if (sourceToTest) {
351
            //    PENDING - offer creation of new test class
375
            //    PENDING - offer creation of new test class
352
            //}
376
            //}
Lines 355-361 Link Here
355
        
379
        
356
//        final ElementHandle elementHandle = sourceLocation.getElementHandle();
380
//        final ElementHandle elementHandle = sourceLocation.getElementHandle();
357
//        if (elementHandle == null) {
381
//        if (elementHandle == null) {
358
            return new Location(oppoFiles.get(0)/*, null*/);
382
            //FIXME: handle more than one match
383
            return new Location(oppositeFiles.iterator().next()/*, null*/);
359
//        }
384
//        }
360
        
385
        
361
//        /* Build SOURCE classpath: */
386
//        /* Build SOURCE classpath: */

Return to bug 249765