# HG changeset patch # User Milos Kleint # Date 1234276870 -3600 # Node ID e2a4b4dc410a22d04a2714818ae688edbe1ef381 # Parent d2c4d648ef7049f29cae3c9ea945226f5123cadb #102711 maiking use of new SourceGroupModifier api to create test java source roots if not existing.. diff -r d2c4d648ef70 -r e2a4b4dc410a junit/nbproject/project.xml --- a/junit/nbproject/project.xml Tue Feb 10 15:40:14 2009 +0100 +++ b/junit/nbproject/project.xml Tue Feb 10 15:41:10 2009 +0100 @@ -125,6 +125,7 @@ 1 + 1.24 @@ -150,7 +151,7 @@ 1 - 1.19 + 1.24 diff -r d2c4d648ef70 -r e2a4b4dc410a junit/src/org/netbeans/modules/junit/DefaultPlugin.java --- a/junit/src/org/netbeans/modules/junit/DefaultPlugin.java Tue Feb 10 15:40:14 2009 +0100 +++ b/junit/src/org/netbeans/modules/junit/DefaultPlugin.java Tue Feb 10 15:41:10 2009 +0100 @@ -67,6 +67,7 @@ import javax.swing.JPanel; import javax.swing.JRadioButton; import org.netbeans.api.java.classpath.ClassPath; +import org.netbeans.api.java.project.JavaProjectConstants; import org.netbeans.api.java.project.classpath.ProjectClassPathModifier; import org.netbeans.api.java.queries.UnitTestForSourceQuery; import org.netbeans.api.java.source.ClasspathInfo; @@ -78,6 +79,7 @@ import org.netbeans.api.project.ProjectManager; import org.netbeans.api.project.ProjectUtils; import org.netbeans.api.project.SourceGroup; +import org.netbeans.api.project.SourceGroupModifier; import org.netbeans.api.project.Sources; import org.netbeans.api.project.libraries.Library; import org.netbeans.api.project.libraries.LibraryManager; @@ -1024,7 +1026,16 @@ boolean storeSettings; try { - storeSettings = readProjectSettingsJUnitVer(project); + try { + storeSettings = readProjectSettingsJUnitVer(project); + } catch (IllegalStateException ex) { + if (SourceGroupModifier.createSourceGroup(project, JavaProjectConstants.SOURCES_TYPE_JAVA, JavaProjectConstants.SOURCES_HINT_TEST) != null) { + //repeat if the folder/Sourcegroup was created. + storeSettings = readProjectSettingsJUnitVer(project); + } else { + throw ex; + } + } if (!storeSettings) { LOG_JUNIT_VER.finest( " - will not be able to store JUnit version settings"); //NOI18N diff -r d2c4d648ef70 -r e2a4b4dc410a junit/src/org/netbeans/modules/junit/JUnitCfgOfCreate.java --- a/junit/src/org/netbeans/modules/junit/JUnitCfgOfCreate.java Tue Feb 10 15:40:14 2009 +0100 +++ b/junit/src/org/netbeans/modules/junit/JUnitCfgOfCreate.java Tue Feb 10 15:41:10 2009 +0100 @@ -78,7 +78,11 @@ import javax.swing.plaf.UIResource; import javax.swing.text.JTextComponent; import org.netbeans.api.java.classpath.ClassPath; +import org.netbeans.api.java.project.JavaProjectConstants; +import org.netbeans.api.project.FileOwnerQuery; +import org.netbeans.api.project.Project; import org.netbeans.api.project.SourceGroup; +import org.netbeans.api.project.SourceGroupModifier; import org.openide.DialogDescriptor; import org.openide.DialogDisplayer; import org.openide.awt.Mnemonics; @@ -879,6 +883,15 @@ */ private void setupLocationChooser(FileObject refFileObject) { Object[] targetFolders = TestUtil.getTestTargets(refFileObject); + if (targetFolders.length == 0) { + Project owner = FileOwnerQuery.getOwner(refFileObject); + if (owner != null) { + if (SourceGroupModifier.createSourceGroup(owner, JavaProjectConstants.SOURCES_TYPE_JAVA, JavaProjectConstants.SOURCES_HINT_TEST) != null) { + targetFolders = TestUtil.getTestTargets(refFileObject); + } + } + } + if (targetFolders.length != 0) { hasTargetFolders = true; cboxLocation.setModel(new DefaultComboBoxModel(targetFolders)); diff -r d2c4d648ef70 -r e2a4b4dc410a junit/src/org/netbeans/modules/junit/wizards/EmptyTestCaseWizardIterator.java --- a/junit/src/org/netbeans/modules/junit/wizards/EmptyTestCaseWizardIterator.java Tue Feb 10 15:40:14 2009 +0100 +++ b/junit/src/org/netbeans/modules/junit/wizards/EmptyTestCaseWizardIterator.java Tue Feb 10 15:41:10 2009 +0100 @@ -51,8 +51,10 @@ import java.util.Set; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; +import org.netbeans.api.java.project.JavaProjectConstants; import org.netbeans.api.project.Project; import org.netbeans.api.project.SourceGroup; +import org.netbeans.api.project.SourceGroupModifier; import org.netbeans.modules.junit.GuiUtils; import org.netbeans.modules.junit.JUnitPluginTrampoline; import org.netbeans.modules.junit.JUnitSettings; @@ -182,6 +184,11 @@ if (targetPanel == null || project != lastSelectedProject) { Collection sourceGroups = Utils.getTestTargets(project, true); if (sourceGroups.isEmpty()) { + if (SourceGroupModifier.createSourceGroup(project, JavaProjectConstants.SOURCES_TYPE_JAVA, JavaProjectConstants.SOURCES_HINT_TEST) != null) { + sourceGroups = Utils.getTestTargets(project, true); + } + } + if (sourceGroups.isEmpty()) { targetPanel = new StepProblemMessage( project, NbBundle.getMessage(EmptyTestCaseWizardIterator.class, diff -r d2c4d648ef70 -r e2a4b4dc410a junit/src/org/netbeans/modules/junit/wizards/SimpleTestCaseWizardIterator.java --- a/junit/src/org/netbeans/modules/junit/wizards/SimpleTestCaseWizardIterator.java Tue Feb 10 15:40:14 2009 +0100 +++ b/junit/src/org/netbeans/modules/junit/wizards/SimpleTestCaseWizardIterator.java Tue Feb 10 15:41:10 2009 +0100 @@ -51,7 +51,9 @@ import java.util.Set; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; +import org.netbeans.api.java.project.JavaProjectConstants; import org.netbeans.api.project.Project; +import org.netbeans.api.project.SourceGroupModifier; import org.netbeans.modules.junit.GuiUtils; import org.netbeans.modules.junit.JUnitPluginTrampoline; import org.netbeans.modules.junit.JUnitSettings; @@ -180,6 +182,7 @@ private WizardDescriptor.Panel getClassChooserPanel() { final Project project = Templates.getProject(wizard); if (classChooserPanel == null || project != lastSelectedProject) { + SourceGroupModifier.createSourceGroup(project, JavaProjectConstants.SOURCES_TYPE_JAVA, JavaProjectConstants.SOURCES_HINT_TEST); final Utils utils = new Utils(project); if (utils.getSourcesToTestsMap(true).isEmpty()) { classChooserPanel = new StepProblemMessage( diff -r d2c4d648ef70 -r e2a4b4dc410a junit/src/org/netbeans/modules/junit/wizards/TestSuiteWizardIterator.java --- a/junit/src/org/netbeans/modules/junit/wizards/TestSuiteWizardIterator.java Tue Feb 10 15:40:14 2009 +0100 +++ b/junit/src/org/netbeans/modules/junit/wizards/TestSuiteWizardIterator.java Tue Feb 10 15:41:10 2009 +0100 @@ -50,8 +50,10 @@ import java.util.Set; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; +import org.netbeans.api.java.project.JavaProjectConstants; import org.netbeans.api.project.Project; import org.netbeans.api.project.SourceGroup; +import org.netbeans.api.project.SourceGroupModifier; import org.netbeans.modules.junit.DefaultPlugin; import org.netbeans.modules.junit.GuiUtils; import org.netbeans.modules.junit.JUnitSettings; @@ -192,6 +194,12 @@ } else { Collection sourceGroups = Utils.getTestTargets(project, true); if (sourceGroups.isEmpty()) { + if (SourceGroupModifier.createSourceGroup(project, JavaProjectConstants.SOURCES_TYPE_JAVA, JavaProjectConstants.SOURCES_HINT_TEST) != null) { + sourceGroups = Utils.getTestTargets(project, true); + } + } + + if (sourceGroups.isEmpty()) { targetPanel = new StepProblemMessage( project, NbBundle.getMessage(TestSuiteWizardIterator.class,