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 51132
Collapse All | Expand All

(-)j2seproject/src/org/netbeans/modules/java/j2seproject/J2SEActionProvider.java (-2 / +4 lines)
Lines 25-30 Link Here
25
import javax.swing.event.ChangeEvent;
25
import javax.swing.event.ChangeEvent;
26
import javax.swing.event.ChangeListener;
26
import javax.swing.event.ChangeListener;
27
import org.apache.tools.ant.module.api.support.ActionUtils;
27
import org.apache.tools.ant.module.api.support.ActionUtils;
28
import org.netbeans.api.fileinfo.NonRecursiveFolder;
28
import org.netbeans.api.java.classpath.ClassPath;
29
import org.netbeans.api.java.classpath.ClassPath;
29
import org.netbeans.api.java.project.JavaProjectConstants;
30
import org.netbeans.api.java.project.JavaProjectConstants;
30
import org.netbeans.api.project.ProjectManager;
31
import org.netbeans.api.project.ProjectManager;
Lines 149-162 Link Here
149
        if ( command.equals( COMMAND_COMPILE_SINGLE ) ) {
150
        if ( command.equals( COMMAND_COMPILE_SINGLE ) ) {
150
            FileObject[] sourceRoots = project.getSourceRoots().getRoots();
151
            FileObject[] sourceRoots = project.getSourceRoots().getRoots();
151
            FileObject[] files = findSourcesAndPackages( context, sourceRoots);
152
            FileObject[] files = findSourcesAndPackages( context, sourceRoots);
153
            boolean recursive = (context.lookup(NonRecursiveFolder.class) == null);
152
            if (files != null) {
154
            if (files != null) {
153
                p.setProperty("javac.includes", ActionUtils.antIncludesList(files, getRoot(sourceRoots,files[0]))); // NOI18N
155
                p.setProperty("javac.includes", ActionUtils.antIncludesList(files, getRoot(sourceRoots,files[0]), recursive)); // NOI18N
154
                targetNames = new String[] {"compile-single"}; // NOI18N
156
                targetNames = new String[] {"compile-single"}; // NOI18N
155
            } 
157
            } 
156
            else {
158
            else {
157
                FileObject[] testRoots = project.getTestSourceRoots().getRoots();
159
                FileObject[] testRoots = project.getTestSourceRoots().getRoots();
158
                files = findSourcesAndPackages(context, testRoots);
160
                files = findSourcesAndPackages(context, testRoots);
159
                p.setProperty("javac.includes", ActionUtils.antIncludesList(files, getRoot(testRoots,files[0]))); // NOI18N
161
                p.setProperty("javac.includes", ActionUtils.antIncludesList(files, getRoot(testRoots,files[0]), recursive)); // NOI18N
160
                targetNames = new String[] {"compile-test-single"}; // NOI18N
162
                targetNames = new String[] {"compile-test-single"}; // NOI18N
161
            }
163
            }
162
        } 
164
        } 
(-)j2seproject/test/unit/src/org/netbeans/modules/java/j2seproject/J2SEActionProviderTest.java (-2 / +48 lines)
Lines 16-21 Link Here
16
import java.io.PrintWriter;
16
import java.io.PrintWriter;
17
import java.net.URL;
17
import java.net.URL;
18
import java.util.Properties;
18
import java.util.Properties;
19
import org.netbeans.api.fileinfo.NonRecursiveFolder;
19
import org.netbeans.api.java.project.JavaProjectConstants;
20
import org.netbeans.api.java.project.JavaProjectConstants;
20
import org.netbeans.api.project.Project;
21
import org.netbeans.api.project.Project;
21
import org.netbeans.api.project.ProjectManager;
22
import org.netbeans.api.project.ProjectManager;
Lines 166-172 Link Here
166
        assertEquals("There must be one target for COMMAND_COMPILE_SINGLE", 1, targets.length);
167
        assertEquals("There must be one target for COMMAND_COMPILE_SINGLE", 1, targets.length);
167
        assertEquals("Unexpected target name", "compile-single", targets[0]);
168
        assertEquals("Unexpected target name", "compile-single", targets[0]);
168
        assertEquals("There must be one target parameter", 1, p.keySet().size());
169
        assertEquals("There must be one target parameter", 1, p.keySet().size());
169
        assertEquals("There must be be target parameter", "foo/", p.getProperty("javac.includes"));
170
        assertEquals("There must be be target parameter", "foo/**", p.getProperty("javac.includes"));
170
        p = new Properties();
171
        p = new Properties();
171
        context = Lookups.fixed(new DataObject[] {sourcePkg1, sourcePkg2});
172
        context = Lookups.fixed(new DataObject[] {sourcePkg1, sourcePkg2});
172
        targets = actionProvider.getTargetNames(ActionProvider.COMMAND_COMPILE_SINGLE, context, p);
173
        targets = actionProvider.getTargetNames(ActionProvider.COMMAND_COMPILE_SINGLE, context, p);
Lines 174-180 Link Here
174
        assertEquals("There must be one target for COMMAND_COMPILE_SINGLE", 1, targets.length);
175
        assertEquals("There must be one target for COMMAND_COMPILE_SINGLE", 1, targets.length);
175
        assertEquals("Unexpected target name", "compile-single", targets[0]);
176
        assertEquals("Unexpected target name", "compile-single", targets[0]);
176
        assertEquals("There must be one target parameter", 1, p.keySet().size());
177
        assertEquals("There must be one target parameter", 1, p.keySet().size());
177
        assertEquals("There must be be target parameter", "foo/,foo2/", p.getProperty("javac.includes"));
178
        assertEquals("There must be be target parameter", "foo/**,foo2/**", p.getProperty("javac.includes"));
178
        p = new Properties();
179
        p = new Properties();
179
        context = Lookups.fixed(new DataObject[] {DataFolder.findFolder(sources)});
180
        context = Lookups.fixed(new DataObject[] {DataFolder.findFolder(sources)});
180
        targets = actionProvider.getTargetNames(ActionProvider.COMMAND_COMPILE_SINGLE, context, p);
181
        targets = actionProvider.getTargetNames(ActionProvider.COMMAND_COMPILE_SINGLE, context, p);
Lines 184-189 Link Here
184
        assertEquals("There must be one target parameter", 1, p.keySet().size());
185
        assertEquals("There must be one target parameter", 1, p.keySet().size());
185
        assertEquals("There must be be target parameter", "**", p.getProperty("javac.includes"));
186
        assertEquals("There must be be target parameter", "**", p.getProperty("javac.includes"));
186
        
187
        
188
        p = new Properties();
189
        context = Lookups.fixed(new Object[] {sourcePkg1, new NonRecursiveFolderImpl (sourcePkg1)});
190
        targets = actionProvider.getTargetNames(ActionProvider.COMMAND_COMPILE_SINGLE, context, p);
191
        assertNotNull("Must found some targets for COMMAND_COMPILE_SINGLE", targets);
192
        assertEquals("There must be one target for COMMAND_COMPILE_SINGLE", 1, targets.length);
193
        assertEquals("Unexpected target name", "compile-single", targets[0]);
194
        assertEquals("There must be one target parameter", 1, p.keySet().size());
195
        assertEquals("There must be be target parameter", "foo/*", p.getProperty("javac.includes"));
196
        p = new Properties();
197
        context = Lookups.fixed(new Object[] {sourcePkg1, sourcePkg2, new NonRecursiveFolderImpl(sourcePkg1), new NonRecursiveFolderImpl(sourcePkg2)});
198
        targets = actionProvider.getTargetNames(ActionProvider.COMMAND_COMPILE_SINGLE, context, p);
199
        assertNotNull("Must found some targets for COMMAND_COMPILE_SINGLE", targets);
200
        assertEquals("There must be one target for COMMAND_COMPILE_SINGLE", 1, targets.length);
201
        assertEquals("Unexpected target name", "compile-single", targets[0]);
202
        assertEquals("There must be one target parameter", 1, p.keySet().size());
203
        assertEquals("There must be be target parameter", "foo/*,foo2/*", p.getProperty("javac.includes"));
204
        p = new Properties();
205
        context = Lookups.fixed(new Object[] {DataFolder.findFolder(sources), new NonRecursiveFolderImpl(sources)});
206
        targets = actionProvider.getTargetNames(ActionProvider.COMMAND_COMPILE_SINGLE, context, p);
207
        assertNotNull("Must found some targets for COMMAND_COMPILE_SINGLE", targets);
208
        assertEquals("There must be one target for COMMAND_COMPILE_SINGLE", 1, targets.length);
209
        assertEquals("Unexpected target name", "compile-single", targets[0]);
210
        assertEquals("There must be one target parameter", 1, p.keySet().size());
211
        assertEquals("There must be be target parameter", "*", p.getProperty("javac.includes"));
212
        
187
        // test COMMAND_TEST_SINGLE
213
        // test COMMAND_TEST_SINGLE
188
214
189
        p = new Properties();
215
        p = new Properties();
Lines 572-577 Link Here
572
        context = Lookups.fixed(new DataObject[] {someSource1, someTest1});
598
        context = Lookups.fixed(new DataObject[] {someSource1, someTest1});
573
        enabled = actionProvider.isActionEnabled(ActionProvider.COMMAND_DEBUG_SINGLE, context);
599
        enabled = actionProvider.isActionEnabled(ActionProvider.COMMAND_DEBUG_SINGLE, context);
574
        assertFalse("COMMAND_DEBUG_SINGLE must be disabled on mixed multiple test files", enabled);
600
        assertFalse("COMMAND_DEBUG_SINGLE must be disabled on mixed multiple test files", enabled);
601
    }
602
    
603
    
604
    private static final class NonRecursiveFolderImpl implements NonRecursiveFolder {
605
        
606
        private FileObject fobj;
607
        
608
        public NonRecursiveFolderImpl (DataObject dobj) {
609
            assert dobj != null;
610
            this.fobj = dobj.getPrimaryFile();
611
        }
612
        
613
        public NonRecursiveFolderImpl (FileObject fobj) {
614
            assert fobj != null;
615
            this.fobj = fobj;
616
        }
617
                
618
        public FileObject getFolder() {
619
            return this.fobj;
620
        }        
575
    }
621
    }
576
622
577
}
623
}

Return to bug 51132