Index: src/org/netbeans/modules/java/project/Bundle.properties
===================================================================
RCS file: /cvs/java/project/src/org/netbeans/modules/java/project/Bundle.properties,v
retrieving revision 1.34
diff -u -r1.34 Bundle.properties
--- src/org/netbeans/modules/java/project/Bundle.properties 4 Oct 2005 11:40:56 -0000 1.34
+++ src/org/netbeans/modules/java/project/Bundle.properties 27 Oct 2005 07:15:18 -0000
@@ -20,6 +20,7 @@
#layer
Templates/Classes/Enum.java=Java Enum
Templates/Classes/AnnotationType.java=Java Annotation Type
+Templates/Classes/package-info.java=Java Package Info
#Actions
LBL_CompileFile_Action=Compile File
Index: src/org/netbeans/modules/java/project/JavaTargetChooserPanel.java
===================================================================
RCS file: /cvs/java/project/src/org/netbeans/modules/java/project/JavaTargetChooserPanel.java,v
retrieving revision 1.25
diff -u -r1.25 JavaTargetChooserPanel.java
--- src/org/netbeans/modules/java/project/JavaTargetChooserPanel.java 23 Mar 2005 20:04:35 -0000 1.25
+++ src/org/netbeans/modules/java/project/JavaTargetChooserPanel.java 27 Oct 2005 07:15:20 -0000
@@ -40,7 +40,7 @@
*
* @author Petr Hrebejk
*/
-public final class JavaTargetChooserPanel implements WizardDescriptor.Panel, ChangeListener {
+public final class JavaTargetChooserPanel implements WizardDescriptor.Panel, ChangeListener {
static final String FOLDER_TO_DELETE = "folderToDelete"; //NOI18N
@@ -52,18 +52,18 @@
private Project project;
private SourceGroup folders[];
- private boolean isPackage;
+ private int type;
private boolean isValidPackageRequired;
- public JavaTargetChooserPanel( Project project, SourceGroup folders[], WizardDescriptor.Panel bottomPanel, boolean isPackage ) {
- this(project, folders, bottomPanel, isPackage, false);
+ public JavaTargetChooserPanel( Project project, SourceGroup folders[], WizardDescriptor.Panel bottomPanel, int type ) {
+ this(project, folders, bottomPanel, type, false);
}
- public JavaTargetChooserPanel( Project project, SourceGroup folders[], WizardDescriptor.Panel bottomPanel, boolean isPackage, boolean isValidPackageRequired ) {
+ public JavaTargetChooserPanel( Project project, SourceGroup folders[], WizardDescriptor.Panel bottomPanel, int type, boolean isValidPackageRequired ) {
this.project = project;
this.folders = folders;
this.bottomPanel = bottomPanel;
- this.isPackage = isPackage;
+ this.type = type;
if ( bottomPanel != null ) {
bottomPanel.addChangeListener( this );
}
@@ -72,7 +72,7 @@
public Component getComponent() {
if (gui == null) {
- gui = new JavaTargetChooserPanelGUI( project, folders, bottomPanel == null ? null : bottomPanel.getComponent(), isPackage );
+ gui = new JavaTargetChooserPanelGUI( project, folders, bottomPanel == null ? null : bottomPanel.getComponent(), type );
gui.addChangeListener(this);
}
return gui;
@@ -96,12 +96,19 @@
setErrorMessage( null );
return false;
}
- if ( isPackage ) {
+ if ( type == NewJavaFileWizardIterator.TYPE_PACKAGE) {
if ( !isValidPackageName( gui.getTargetName() ) ) {
setErrorMessage( "ERR_JavaTargetChooser_InvalidPackage" );
return false;
}
}
+ else if (type == NewJavaFileWizardIterator.TYPE_PKG_INFO) {
+ assert "package-info".equals( gui.getTargetName() ); //NOI18N
+ if ( !isValidPackageName( gui.getPackageName() ) ) {
+ setErrorMessage( "ERR_JavaTargetChooser_InvalidPackage" );
+ return false;
+ }
+ }
else {
if ( !isValidTypeIdentifier( gui.getTargetName() ) ) {
setErrorMessage( "ERR_JavaTargetChooser_InvalidClass" );
@@ -119,7 +126,7 @@
boolean returnValue=true;
FileObject rootFolder = gui.getRootFolder();
SpecificationVersion specVersion = null;
- if (!isPackage) {
+ if (type != NewJavaFileWizardIterator.TYPE_PACKAGE) {
String sl = SourceLevelQuery.getSourceLevel(rootFolder);
specVersion = sl != null? new SpecificationVersion(sl): null;
}
@@ -136,7 +143,7 @@
return false;
}
- if (!isPackage && returnValue && gui.getPackageName().length() == 0 && specVersion != null && JDK_14.compareTo(specVersion)<=0) {
+ if (type != NewJavaFileWizardIterator.TYPE_PACKAGE && returnValue && gui.getPackageName().length() == 0 && specVersion != null && JDK_14.compareTo(specVersion)<=0) {
if(isValidPackageRequired){
setErrorMessage( "ERR_JavaTargetChooser_CantUseDefaultPackage" );
return false;
@@ -230,7 +237,7 @@
assert gui != null;
FileObject rootFolder = gui.getRootFolder();
FileObject folder = null;
- if ( !isPackage ) {
+ if ( type != NewJavaFileWizardIterator.TYPE_PACKAGE ) {
String packageFileName = gui.getPackageFileName();
folder = rootFolder.getFileObject( packageFileName );
if ( folder == null ) {
Index: src/org/netbeans/modules/java/project/JavaTargetChooserPanelGUI.form
===================================================================
RCS file: /cvs/java/project/src/org/netbeans/modules/java/project/JavaTargetChooserPanelGUI.form,v
retrieving revision 1.9
diff -u -r1.9 JavaTargetChooserPanelGUI.form
--- src/org/netbeans/modules/java/project/JavaTargetChooserPanelGUI.form 13 Jul 2004 13:24:35 -0000 1.9
+++ src/org/netbeans/modules/java/project/JavaTargetChooserPanelGUI.form 27 Oct 2005 07:15:22 -0000
@@ -6,6 +6,13 @@
+
+
+
+
+
+
+
Index: src/org/netbeans/modules/java/project/JavaTargetChooserPanelGUI.java
===================================================================
RCS file: /cvs/java/project/src/org/netbeans/modules/java/project/JavaTargetChooserPanelGUI.java,v
retrieving revision 1.25
diff -u -r1.25 JavaTargetChooserPanelGUI.java
--- src/org/netbeans/modules/java/project/JavaTargetChooserPanelGUI.java 21 Mar 2005 18:05:39 -0000 1.25
+++ src/org/netbeans/modules/java/project/JavaTargetChooserPanelGUI.java 27 Oct 2005 07:15:25 -0000
@@ -59,26 +59,31 @@
private Project project;
private String expectedExtension;
private final List/**/ listeners = new ArrayList();
- private boolean isPackage;
+ private int type;
private SourceGroup groups[];
private boolean ignoreRootCombo;
/** Creates new form SimpleTargetChooserGUI */
- public JavaTargetChooserPanelGUI( Project p, SourceGroup[] groups, Component bottomPanel, boolean isPackage ) {
- this.isPackage = isPackage;
+ public JavaTargetChooserPanelGUI( Project p, SourceGroup[] groups, Component bottomPanel, int type ) {
+ this.type = type;
this.project = p;
this.groups = groups;
initComponents();
- if ( isPackage ) {
+ if ( type == NewJavaFileWizardIterator.TYPE_PACKAGE ) {
packageComboBox.setVisible( false );
packageLabel.setVisible( false );
Mnemonics.setLocalizedText (fileLabel, NbBundle.getMessage (JavaTargetChooserPanelGUI.class, "LBL_JavaTargetChooserPanelGUI_CreatedFolder_Label")); // NOI18N
Mnemonics.setLocalizedText (documentNameLabel, NbBundle.getMessage (JavaTargetChooserPanelGUI.class, "LBL_JavaTargetChooserPanelGUI_PackageName_Label")); // NOI18N
- }
+ documentNameTextField.getDocument().addDocumentListener( this );
+ }
+ else if ( type == NewJavaFileWizardIterator.TYPE_PKG_INFO ) {
+ documentNameTextField.setEditable (false);
+ }
else {
packageComboBox.getEditor().addActionListener( this );
+ documentNameTextField.getDocument().addDocumentListener( this );
}
@@ -87,7 +92,7 @@
}
//initValues( project, null, null );
- documentNameTextField.getDocument().addDocumentListener( this );
+
// Not very nice
Component packageEditor = packageComboBox.getEditor().getEditorComponent();
@@ -128,7 +133,7 @@
rootComboBox.setSelectedItem( preselectedGroup );
ignoreRootCombo = false;
Object preselectedPackage = getPreselectedPackage(preselectedGroup, preselectedFolder, packageComboBox.getModel());
- if ( isPackage ) {
+ if ( type == NewJavaFileWizardIterator.TYPE_PACKAGE ) {
String docName = preselectedPackage == null || preselectedPackage.toString().length() == 0 ?
DEFAULT_NEW_PACKAGE_NAME :
preselectedPackage.toString() + "." + DEFAULT_NEW_PACKAGE_NAME;
@@ -146,12 +151,16 @@
}
if (template != null) {
if ( documentNameTextField.getText().trim().length() == 0 ) { // To preserve the class name on back in the wiazard
- documentNameTextField.setText (NEW_CLASS_PREFIX + template.getName ());
- documentNameTextField.selectAll ();
+ if (this.type == NewJavaFileWizardIterator.TYPE_PKG_INFO) {
+ documentNameTextField.setText (template.getName ());
+ }
+ else {
+ //Ordinary file
+ documentNameTextField.setText (NEW_CLASS_PREFIX + template.getName ());
+ documentNameTextField.selectAll ();
+ }
}
}
- }
- if ( !isPackage ) {
updatePackages( false );
}
// Determine the extension
@@ -168,7 +177,7 @@
public String getPackageFileName() {
- if ( isPackage ) {
+ if ( type == NewJavaFileWizardIterator.TYPE_PACKAGE ) {
return ""; // NOI18N
}
@@ -180,7 +189,7 @@
* Name of selected package, or "" for default package.
*/
String getPackageName() {
- if ( isPackage ) {
+ if ( type == NewJavaFileWizardIterator.TYPE_PACKAGE ) {
return ""; // NOI18N
}
return packageComboBox.getEditor().getItem().toString();
@@ -372,7 +381,7 @@
public void actionPerformed(java.awt.event.ActionEvent e) {
if ( rootComboBox == e.getSource() ) {
- if ( !ignoreRootCombo && !isPackage ) {
+ if ( !ignoreRootCombo && type != NewJavaFileWizardIterator.TYPE_PACKAGE ) {
updatePackages( true );
}
updateText();
@@ -459,7 +468,7 @@
FileObject rootFolder = g.getRootFolder();
String packageName = getPackageFileName();
String documentName = documentNameTextField.getText().trim();
- if ( isPackage ) {
+ if ( type == NewJavaFileWizardIterator.TYPE_PACKAGE ) {
documentName = documentName.replace( '.', '/' ); // NOI18N
}
else if ( documentName.length() > 0 ) {
Index: src/org/netbeans/modules/java/project/NewJavaFileWizardIterator.java
===================================================================
RCS file: /cvs/java/project/src/org/netbeans/modules/java/project/NewJavaFileWizardIterator.java,v
retrieving revision 1.16
diff -u -r1.16 NewJavaFileWizardIterator.java
--- src/org/netbeans/modules/java/project/NewJavaFileWizardIterator.java 25 Aug 2004 02:23:36 -0000 1.16
+++ src/org/netbeans/modules/java/project/NewJavaFileWizardIterator.java 27 Oct 2005 07:15:25 -0000
@@ -44,18 +44,26 @@
private static final long serialVersionUID = 1L;
- private boolean isPackage = false;
+ public static final int TYPE_FILE = 0;
+ public static final int TYPE_PACKAGE = 1;
+ public static final int TYPE_PKG_INFO = 2;
+
+ private int type = TYPE_FILE;
/** Create a new wizard iterator. */
public NewJavaFileWizardIterator() {}
- private NewJavaFileWizardIterator( boolean isPackage ) {
- this.isPackage = isPackage;
+ private NewJavaFileWizardIterator( int type ) {
+ this.type = type;
}
public static NewJavaFileWizardIterator packageWizard() {
- return new NewJavaFileWizardIterator( true );
+ return new NewJavaFileWizardIterator( TYPE_PACKAGE );
+ }
+
+ public static NewJavaFileWizardIterator packageInfoWizard () {
+ return new NewJavaFileWizardIterator( TYPE_PKG_INFO );
}
private WizardDescriptor.Panel[] createPanels (WizardDescriptor wizardDescriptor) {
@@ -73,14 +81,14 @@
}
else {
- if ( isPackage ) {
+ if ( this.type == TYPE_FILE ) {
return new WizardDescriptor.Panel[] {
- new JavaTargetChooserPanel( project, groups, null, true ),
+ JavaTemplates.createPackageChooser( project, groups ),
};
}
- else {
+ else {
return new WizardDescriptor.Panel[] {
- JavaTemplates.createPackageChooser( project, groups ),
+ new JavaTargetChooserPanel( project, groups, null, this.type),
};
}
}
@@ -115,7 +123,7 @@
FileObject template = Templates.getTemplate( wiz );
FileObject createdFile = null;
- if ( isPackage ) {
+ if ( this.type == TYPE_PACKAGE ) {
targetName = targetName.replace( '.', '/' ); // NOI18N
createdFile = FileUtil.createFolder( dir, targetName );
}
Index: src/org/netbeans/modules/java/project/layer.xml
===================================================================
RCS file: /cvs/java/project/src/org/netbeans/modules/java/project/layer.xml,v
retrieving revision 1.20
diff -u -r1.20 layer.xml
--- src/org/netbeans/modules/java/project/layer.xml 5 Apr 2005 18:31:37 -0000 1.20
+++ src/org/netbeans/modules/java/project/layer.xml 27 Oct 2005 07:15:26 -0000
@@ -24,7 +24,8 @@
-
+
+
@@ -78,6 +79,15 @@
+
+
+
+
+
+
+
+
+
Index: src/org/netbeans/modules/java/project/resources/package-info.html
===================================================================
RCS file: src/org/netbeans/modules/java/project/resources/package-info.html
diff -N src/org/netbeans/modules/java/project/resources/package-info.html
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ src/org/netbeans/modules/java/project/resources/package-info.html 27 Oct 2005 07:15:26 -0000
@@ -0,0 +1,19 @@
+
+
+
+
+Creates a new Java package-info. To be able to use package annotations,
+your project must use JDK 5.0 or compatible.
+
+
Index: src/org/netbeans/modules/java/project/resources/package-info.template
===================================================================
RCS file: src/org/netbeans/modules/java/project/resources/package-info.template
diff -N src/org/netbeans/modules/java/project/resources/package-info.template
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ src/org/netbeans/modules/java/project/resources/package-info.template 27 Oct 2005 07:15:26 -0000
@@ -0,0 +1,10 @@
+/*
+ * __NAME__.java
+ *
+ * Created on __DATE__, __TIME__
+ *
+ * To change this template, choose Tools | Template Manager
+ * and open the template in the editor.
+ */
+
+package Templates.Classes;
Index: src/org/netbeans/spi/java/project/support/ui/templates/JavaTemplates.java
===================================================================
RCS file: /cvs/java/project/src/org/netbeans/spi/java/project/support/ui/templates/JavaTemplates.java,v
retrieving revision 1.15
diff -u -r1.15 JavaTemplates.java
--- src/org/netbeans/spi/java/project/support/ui/templates/JavaTemplates.java 30 Mar 2005 08:39:35 -0000 1.15
+++ src/org/netbeans/spi/java/project/support/ui/templates/JavaTemplates.java 27 Oct 2005 07:15:27 -0000
@@ -78,7 +78,7 @@
if (folders.length == 0) {
throw new IllegalArgumentException("No folders selected"); // NOI18N
}
- return new JavaTargetChooserPanel(project, folders, bottomPanel, false, validPackageRequired);
+ return new JavaTargetChooserPanel(project, folders, bottomPanel, NewJavaFileWizardIterator.TYPE_FILE, validPackageRequired);
}
/** Creates new WizardIterator containing standard Package chooser