# HG changeset patch # User hmvictor # Date 1315023832 18000 # Node ID 9f7b3572be4179949b8127508850845409d8e2c3 # Parent eb6ca40e3779e659b11f1e54009ef7bb825c6e44 Make editable the textfield for war name. diff -r eb6ca40e3779 -r 9f7b3572be41 web.project/src/org/netbeans/modules/web/project/ui/customizer/CustomizerWar.form --- a/web.project/src/org/netbeans/modules/web/project/ui/customizer/CustomizerWar.form Fri Sep 02 05:03:10 2011 +0200 +++ b/web.project/src/org/netbeans/modules/web/project/ui/customizer/CustomizerWar.form Fri Sep 02 23:23:52 2011 -0500 @@ -1,4 +1,4 @@ - +
@@ -43,9 +43,6 @@ - - - diff -r eb6ca40e3779 -r 9f7b3572be41 web.project/src/org/netbeans/modules/web/project/ui/customizer/CustomizerWar.java --- a/web.project/src/org/netbeans/modules/web/project/ui/customizer/CustomizerWar.java Fri Sep 02 05:03:10 2011 +0200 +++ b/web.project/src/org/netbeans/modules/web/project/ui/customizer/CustomizerWar.java Fri Sep 02 23:23:52 2011 -0500 @@ -147,8 +147,6 @@ gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(0, 0, 11, 11); jPanel1.add(jLabelFileName, gridBagConstraints); - - jTextFieldFileName.setEditable(false); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; # HG changeset patch # User hmvictor # Date 1315024007 18000 # Node ID 75b4af6461a8339bccf2f232f5d9f23096f1e071 # Parent 9f7b3572be4179949b8127508850845409d8e2c3 Set war ear name equals to war name with a variable expression. diff -r 9f7b3572be41 -r 75b4af6461a8 web.project/src/org/netbeans/modules/web/project/api/WebProjectUtilities.java --- a/web.project/src/org/netbeans/modules/web/project/api/WebProjectUtilities.java Fri Sep 02 23:23:52 2011 -0500 +++ b/web.project/src/org/netbeans/modules/web/project/api/WebProjectUtilities.java Fri Sep 02 23:26:47 2011 -0500 @@ -761,9 +761,12 @@ ep.setProperty(WebProjectProperties.J2EE_PLATFORM, j2eeProfile.toPropertiesString()); + // TODO 59240 // war.name = f(name) + // war.ear.name = f(war.name) ep.setProperty(WebProjectProperties.WAR_NAME, PropertyUtils.getUsablePropertyName(name) + ".war"); // NOI18N //XXX the name of the dist.ear.jar file should be different, but now it cannot be since the name is used as a key in module provider mapping - ep.setProperty(WebProjectProperties.WAR_EAR_NAME, PropertyUtils.getUsablePropertyName(name) + ".war"); // NOI18N +// ep.setProperty(WebProjectProperties.WAR_EAR_NAME, PropertyUtils.getUsablePropertyName(name) + ".war"); // NOI18N + ep.setProperty(WebProjectProperties.WAR_EAR_NAME, "${"+WebProjectProperties.WAR_NAME+"}"); // NOI18N ep.setProperty(WebProjectProperties.WAR_COMPRESS, "false"); // NOI18N ep.setProperty(WebProjectProperties.WAR_CONTENT_ADDITIONAL, ""); // NOI18N # HG changeset patch # User hmvictor # Date 1315118132 18000 # Node ID 463f087eac8cf35b38681615f0603194a4512a2b # Parent 75b4af6461a8339bccf2f232f5d9f23096f1e071 Comments without use removed. diff -r 75b4af6461a8 -r 463f087eac8c web.project/src/org/netbeans/modules/web/project/api/WebProjectUtilities.java --- a/web.project/src/org/netbeans/modules/web/project/api/WebProjectUtilities.java Fri Sep 02 23:26:47 2011 -0500 +++ b/web.project/src/org/netbeans/modules/web/project/api/WebProjectUtilities.java Sun Sep 04 01:35:32 2011 -0500 @@ -761,11 +761,8 @@ ep.setProperty(WebProjectProperties.J2EE_PLATFORM, j2eeProfile.toPropertiesString()); - // TODO 59240 // war.name = f(name) - // war.ear.name = f(war.name) ep.setProperty(WebProjectProperties.WAR_NAME, PropertyUtils.getUsablePropertyName(name) + ".war"); // NOI18N //XXX the name of the dist.ear.jar file should be different, but now it cannot be since the name is used as a key in module provider mapping -// ep.setProperty(WebProjectProperties.WAR_EAR_NAME, PropertyUtils.getUsablePropertyName(name) + ".war"); // NOI18N ep.setProperty(WebProjectProperties.WAR_EAR_NAME, "${"+WebProjectProperties.WAR_NAME+"}"); // NOI18N ep.setProperty(WebProjectProperties.WAR_COMPRESS, "false"); // NOI18N # HG changeset patch # User hmvictor # Date 1315118411 18000 # Node ID 5a6e3d27390ff7ce94da88ebfec6af97fe2d9809 # Parent 463f087eac8cf35b38681615f0603194a4512a2b Fix to set the war name in usable form when project is moved. diff -r 463f087eac8c -r 5a6e3d27390f web.project/src/org/netbeans/modules/web/project/WebProjectOperations.java --- a/web.project/src/org/netbeans/modules/web/project/WebProjectOperations.java Sun Sep 04 01:35:32 2011 -0500 +++ b/web.project/src/org/netbeans/modules/web/project/WebProjectOperations.java Sun Sep 04 01:40:11 2011 -0500 @@ -224,10 +224,12 @@ String warName = (String) projectProps.get(WebProjectProperties.WAR_NAME); String warEarName = (String) projectProps.get(WebProjectProperties.WAR_EAR_NAME); String oldName = warName.substring(0, warName.length() - 4); - if (warName.endsWith(".war") && oldName.equals(oldProjectName)) //NOI18N + if (warName.endsWith(".war") && oldName.equals(oldProjectName)) { //NOI18N projectProps.put(WebProjectProperties.WAR_NAME, PropertyUtils.getUsablePropertyName(newName) + ".war"); //NOI18N - if (warEarName.endsWith(".war") && oldName.equals(oldProjectName)) //NOI18N + } + if (warEarName.endsWith(".war") && oldName.equals(oldProjectName)) { //NOI18N projectProps.put(WebProjectProperties.WAR_EAR_NAME, PropertyUtils.getUsablePropertyName(newName) + ".war"); //NOI18N + } ProjectWebModule wm = (ProjectWebModule) project.getLookup ().lookup(ProjectWebModule.class); if (wm != null) //should not be null @@ -266,10 +268,12 @@ String warName = (String) projectProps.get(WebProjectProperties.WAR_NAME); String warEarName = (String) projectProps.get(WebProjectProperties.WAR_EAR_NAME); String oldName = warName.substring(0, warName.length() - 4); - if (warName.endsWith(".war") && oldName.equals(oldProjectName)) //NOI18N - projectProps.put(WebProjectProperties.WAR_NAME, newName + ".war"); //NOI18N - if (warEarName.endsWith(".war") && oldName.equals(oldProjectName)) //NOI18N - projectProps.put(WebProjectProperties.WAR_EAR_NAME, newName + ".war"); //NOI18N + if (warName.endsWith(".war") && oldName.equals(oldProjectName)) {//NOI18N + projectProps.put(WebProjectProperties.WAR_NAME, PropertyUtils.getUsablePropertyName(newName) + ".war"); //NOI18N + } + if (warEarName.endsWith(".war") && oldName.equals(oldProjectName)) {//NOI18N + projectProps.put(WebProjectProperties.WAR_EAR_NAME, PropertyUtils.getUsablePropertyName(newName) + ".war"); //NOI18N + } ProjectWebModule wm = (ProjectWebModule) project.getLookup().lookup(ProjectWebModule.class); String serverId = privateProps.getProperty(WebProjectProperties.J2EE_SERVER_INSTANCE); # HG changeset patch # User hmvictor # Date 1315891602 18000 # Node ID 8981da39930bce37989898574a627f15ab7ff4c4 # Parent 5a6e3d27390ff7ce94da88ebfec6af97fe2d9809 WAR filename validation added. diff -r 5a6e3d27390f -r 8981da39930b web.project/src/org/netbeans/modules/web/project/WebProjectOperations.java --- a/web.project/src/org/netbeans/modules/web/project/WebProjectOperations.java Sun Sep 04 01:40:11 2011 -0500 +++ b/web.project/src/org/netbeans/modules/web/project/WebProjectOperations.java Tue Sep 13 00:26:42 2011 -0500 @@ -224,12 +224,10 @@ String warName = (String) projectProps.get(WebProjectProperties.WAR_NAME); String warEarName = (String) projectProps.get(WebProjectProperties.WAR_EAR_NAME); String oldName = warName.substring(0, warName.length() - 4); - if (warName.endsWith(".war") && oldName.equals(oldProjectName)) { //NOI18N + if (warName.endsWith(".war") && oldName.equals(oldProjectName)) //NOI18N projectProps.put(WebProjectProperties.WAR_NAME, PropertyUtils.getUsablePropertyName(newName) + ".war"); //NOI18N - } - if (warEarName.endsWith(".war") && oldName.equals(oldProjectName)) { //NOI18N + if (warEarName.endsWith(".war") && oldName.equals(oldProjectName)) //NOI18N projectProps.put(WebProjectProperties.WAR_EAR_NAME, PropertyUtils.getUsablePropertyName(newName) + ".war"); //NOI18N - } ProjectWebModule wm = (ProjectWebModule) project.getLookup ().lookup(ProjectWebModule.class); if (wm != null) //should not be null @@ -268,12 +266,10 @@ String warName = (String) projectProps.get(WebProjectProperties.WAR_NAME); String warEarName = (String) projectProps.get(WebProjectProperties.WAR_EAR_NAME); String oldName = warName.substring(0, warName.length() - 4); - if (warName.endsWith(".war") && oldName.equals(oldProjectName)) {//NOI18N + if (warName.endsWith(".war") && oldName.equals(oldProjectName)) //NOI18N projectProps.put(WebProjectProperties.WAR_NAME, PropertyUtils.getUsablePropertyName(newName) + ".war"); //NOI18N - } - if (warEarName.endsWith(".war") && oldName.equals(oldProjectName)) {//NOI18N + if (warEarName.endsWith(".war") && oldName.equals(oldProjectName)) //NOI18N projectProps.put(WebProjectProperties.WAR_EAR_NAME, PropertyUtils.getUsablePropertyName(newName) + ".war"); //NOI18N - } ProjectWebModule wm = (ProjectWebModule) project.getLookup().lookup(ProjectWebModule.class); String serverId = privateProps.getProperty(WebProjectProperties.J2EE_SERVER_INSTANCE); diff -r 5a6e3d27390f -r 8981da39930b web.project/src/org/netbeans/modules/web/project/ui/customizer/Bundle.properties --- a/web.project/src/org/netbeans/modules/web/project/ui/customizer/Bundle.properties Sun Sep 04 01:40:11 2011 -0500 +++ b/web.project/src/org/netbeans/modules/web/project/ui/customizer/Bundle.properties Tue Sep 13 00:26:42 2011 -0500 @@ -174,6 +174,8 @@ LBL_CustomizeLibraries_LibrariesP_JLabel=Pr&ocessor-path Libraries\: LBL_CustomizeLibraries_Processors_Tab=Processor +MSG_EmptyWarName=WAR file must not be empty +MSG_ForbiddenCharactersInWarName=Invalid name for WAR file. Forbidden characters are: {0} #AddFilter LBL_AddFilter_Title=AddFilter diff -r 5a6e3d27390f -r 8981da39930b web.project/src/org/netbeans/modules/web/project/ui/customizer/CustomizerWar.form --- a/web.project/src/org/netbeans/modules/web/project/ui/customizer/CustomizerWar.form Sun Sep 04 01:40:11 2011 -0500 +++ b/web.project/src/org/netbeans/modules/web/project/ui/customizer/CustomizerWar.form Tue Sep 13 00:26:42 2011 -0500 @@ -10,7 +10,7 @@ - + @@ -150,7 +150,7 @@ - + @@ -250,5 +250,12 @@ + + + + + + + diff -r 5a6e3d27390f -r 8981da39930b web.project/src/org/netbeans/modules/web/project/ui/customizer/CustomizerWar.java --- a/web.project/src/org/netbeans/modules/web/project/ui/customizer/CustomizerWar.java Sun Sep 04 01:40:11 2011 -0500 +++ b/web.project/src/org/netbeans/modules/web/project/ui/customizer/CustomizerWar.java Tue Sep 13 00:26:42 2011 -0500 @@ -41,62 +41,90 @@ * Version 2 license, then the option applies only if the new code is * made subject to such option by the copyright holder. */ - package org.netbeans.modules.web.project.ui.customizer; +import java.text.MessageFormat; +import java.util.regex.Pattern; import javax.swing.JButton; import javax.swing.JFileChooser; import javax.swing.JPanel; +import javax.swing.event.DocumentEvent; +import javax.swing.event.DocumentListener; import javax.swing.event.TableModelEvent; import javax.swing.event.TableModelListener; import javax.swing.table.TableModel; import org.netbeans.api.java.project.JavaProjectConstants; import org.netbeans.modules.j2ee.api.ejbjar.EjbProjectConstants; import org.netbeans.modules.j2ee.common.Util; +import org.netbeans.modules.j2ee.common.project.ui.MessageUtils; import org.netbeans.modules.java.api.common.classpath.ClassPathSupport; import org.netbeans.modules.java.api.common.classpath.ClassPathSupport.Item; import org.netbeans.modules.java.api.common.project.ui.ClassPathUiSupport; import org.netbeans.modules.java.api.common.project.ui.customizer.EditMediator; import org.netbeans.modules.j2ee.deployment.devmodules.api.J2eePlatform; import org.netbeans.modules.web.project.classpath.ClassPathSupportCallbackImpl; +import org.netbeans.spi.project.ui.support.ProjectCustomizer; import org.openide.DialogDisplayer; import org.openide.NotifyDescriptor; +import org.openide.WizardValidationException; import org.openide.util.HelpCtx; import org.openide.util.NbBundle; +import org.openide.util.Utilities; /** Customizer for WAR packaging. */ public class CustomizerWar extends JPanel implements HelpCtx.Provider, TableModelListener { - + WebProjectProperties uiProperties; - + ProjectCustomizer.Category category; + /** Creates new form CustomizerCompile */ - public CustomizerWar(WebProjectProperties uiProperties) { + public CustomizerWar(ProjectCustomizer.Category category, WebProjectProperties uiProperties) { + this.category=category; this.uiProperties = uiProperties; initComponents(); this.getAccessibleContext().setAccessibleDescription(NbBundle.getMessage(CustomizerWar.class, "ACS_CustomizeWAR_A11YDesc")); //NOI18N - - jTextFieldFileName.setDocument( uiProperties.WAR_NAME_MODEL ); - jTextFieldExContent.setDocument( uiProperties.BUILD_CLASSES_EXCLUDES_MODEL ); - uiProperties.WAR_COMPRESS_MODEL.setMnemonic( jCheckBoxCompress.getMnemonic() ); - jCheckBoxCompress.setModel( uiProperties.WAR_COMPRESS_MODEL ); + + jTextFieldFileName.setDocument(uiProperties.WAR_NAME_MODEL); + jTextFieldFileName.getDocument().addDocumentListener(new DocumentListener() { + + @Override + public void insertUpdate(DocumentEvent e) { + checkValidWarFilename(); + } + + @Override + public void removeUpdate(DocumentEvent e) { + checkValidWarFilename(); + } + + @Override + public void changedUpdate(DocumentEvent e) { + checkValidWarFilename(); + } + + }); + jTextFieldExContent.setDocument(uiProperties.BUILD_CLASSES_EXCLUDES_MODEL); + uiProperties.WAR_COMPRESS_MODEL.setMnemonic(jCheckBoxCompress.getMnemonic()); + jCheckBoxCompress.setModel(uiProperties.WAR_COMPRESS_MODEL); ClassPathUiSupport.Callback callback = new ClassPathUiSupport.Callback() { + public void initItem(Item item) { if (item.getType() != ClassPathSupport.Item.TYPE_LIBRARY || !item.getLibrary().getType().equals(J2eePlatform.LIBRARY_TYPE)) { item.setAdditionalProperty(ClassPathSupportCallbackImpl.PATH_IN_DEPLOYMENT, "/"); //NOI18N } } }; - - jTableAddContent.setModel( uiProperties.WAR_CONTENT_ADDITIONAL_MODEL); + + jTableAddContent.setModel(uiProperties.WAR_CONTENT_ADDITIONAL_MODEL); jTableAddContent.setDefaultRenderer(ClassPathSupport.Item.class, uiProperties.CLASS_PATH_TABLE_ITEM_RENDERER); Util.initTwoColumnTableVisualProperties(this, jTableAddContent); jTableAddContent.setRowHeight(jTableAddContent.getRowHeight() + 4); - - EditMediator.register( uiProperties.getProject(), + + EditMediator.register(uiProperties.getProject(), uiProperties.getProject().getAntProjectHelper(), uiProperties.getProject().getReferenceHelper(), - EditMediator.createListComponent(jTableAddContent, uiProperties.WAR_CONTENT_ADDITIONAL_MODEL.getDefaultListModel()) , + EditMediator.createListComponent(jTableAddContent, uiProperties.WAR_CONTENT_ADDITIONAL_MODEL.getDefaultListModel()), jButtonAddJar.getModel(), jButtonAddLib.getModel(), jButtonAddProject.getModel(), @@ -110,7 +138,7 @@ null, JFileChooser.FILES_AND_DIRECTORIES); uiProperties.WAR_CONTENT_ADDITIONAL_MODEL.addTableModelListener(this); } - + /** This method is called from within the constructor to * initialize the form. * WARNING: Do NOT modify this code. The content of this method is @@ -134,6 +162,7 @@ jButtonAddLib = new javax.swing.JButton(); jButtonAddJar = new javax.swing.JButton(); jButtonRemove = new javax.swing.JButton(); + errorLabel = new javax.swing.JLabel(); setLayout(new java.awt.GridBagLayout()); @@ -227,7 +256,7 @@ gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 4; - gridBagConstraints.gridheight = java.awt.GridBagConstraints.REMAINDER; + gridBagConstraints.gridheight = 6; gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; gridBagConstraints.weightx = 1.0; gridBagConstraints.weighty = 1.0; @@ -278,9 +307,18 @@ gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH; add(jButtonRemove, gridBagConstraints); jButtonRemove.getAccessibleContext().setAccessibleDescription(bundle.getString("ACS_CustomizeWAR_AdditionalRemove_A11YDesc")); // NOI18N + + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 10; + gridBagConstraints.gridwidth = 2; + gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; + gridBagConstraints.anchor = java.awt.GridBagConstraints.SOUTH; + gridBagConstraints.weightx = 1.0; + add(errorLabel, gridBagConstraints); }// //GEN-END:initComponents - // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JLabel errorLabel; private javax.swing.JLabel excludeMessage; private javax.swing.JButton jButtonAddJar; private javax.swing.JButton jButtonAddLib; @@ -296,13 +334,40 @@ private javax.swing.JTextField jTextFieldExContent; private javax.swing.JTextField jTextFieldFileName; // End of variables declaration//GEN-END:variables - + /** Help context where to find more about the paste type action. * @return the help context for this action */ public HelpCtx getHelpCtx() { return new HelpCtx(CustomizerWar.class); } + + private void checkValidWarFilename(){ + MessageUtils.clear(errorLabel); + category.setValid(true); + + String filename=jTextFieldFileName.getText(); + String pattern; + String forbiddenChars; + if (Utilities.isWindows()) { + pattern = ".*[\\/:*?\"<>|].*"; // NOI18N + forbiddenChars = "\\ / : * ? \" < > |"; // NOI18N + } else { + pattern = ".*[\\/].*"; // NOI18N + forbiddenChars = "\\ /"; // NOI18N + } + String message=null; + if (filename.trim().length() == 0) { + message = NbBundle.getMessage(CustomizerWar.class, "MSG_EmptyWarName"); + }else if (Pattern.matches(pattern, filename)) { + message = NbBundle.getMessage(CustomizerWar.class, "MSG_ForbiddenCharactersInWarName"); + message=MessageFormat.format(message, forbiddenChars); + } + if(message != null){ + category.setValid(false); + MessageUtils.setMessage(errorLabel, MessageUtils.MessageType.ERROR, ""+message+""); // NOI18N + } + } public void tableChanged(TableModelEvent e) { if (e.getColumn() != 1) { @@ -316,19 +381,18 @@ if (newPathInWar.equals("WEB-INF\\lib") || newPathInWar.equals("WEB-INF/lib")) { //NOI18N if (cpItem.getResolvedFile().isDirectory()) { message = NbBundle.getMessage(CustomizerWar.class, - "MSG_NO_FOLDER_IN_WEBINF_LIB", newPathInWar); // NOI18N + "MSG_NO_FOLDER_IN_WEBINF_LIB", newPathInWar); // NOI18N } else { message = NbBundle.getMessage(CustomizerWar.class, - "MSG_NO_FILE_IN_WEBINF_LIB", newPathInWar); // NOI18N + "MSG_NO_FILE_IN_WEBINF_LIB", newPathInWar); // NOI18N } } else if (newPathInWar.equals("WEB-INF\\classes") || newPathInWar.equals("WEB-INF/classes")) { //NOI18N - message = NbBundle.getMessage(CustomizerWar.class, + message = NbBundle.getMessage(CustomizerWar.class, "MSG_NO_FOLDER_IN_WEBINF_CLASSES", newPathInWar); // NOI18N } } if (message != null) { - DialogDisplayer.getDefault().notify(new NotifyDescriptor.Message (message, NotifyDescriptor.WARNING_MESSAGE)); + DialogDisplayer.getDefault().notify(new NotifyDescriptor.Message(message, NotifyDescriptor.WARNING_MESSAGE)); } } - } diff -r 5a6e3d27390f -r 8981da39930b web.project/src/org/netbeans/modules/web/project/ui/customizer/WebCompositePanelProvider.java --- a/web.project/src/org/netbeans/modules/web/project/ui/customizer/WebCompositePanelProvider.java Sun Sep 04 01:40:11 2011 -0500 +++ b/web.project/src/org/netbeans/modules/web/project/ui/customizer/WebCompositePanelProvider.java Tue Sep 13 00:26:42 2011 -0500 @@ -152,7 +152,7 @@ } else if (BUILD.equals(nm)) { return new CustomizerCompile(uiProps); } else if (WAR.equals(nm)) { - return new CustomizerWar(uiProps); + return new CustomizerWar(category, uiProps); } else if (JAVADOC.equals(nm)) { return new CustomizerJavadoc(uiProps); } else if (RUN.equals(nm)) { # HG changeset patch # User hmvictor # Date 1315969832 18000 # Node ID 63664177374169f33734781df66f01d6070d1e3c # Parent 8981da39930bce37989898574a627f15ab7ff4c4 Fixes in regex for WAR filename validation. diff -r 8981da39930b -r 636641773741 web.project/src/org/netbeans/modules/web/project/ui/customizer/CustomizerWar.java --- a/web.project/src/org/netbeans/modules/web/project/ui/customizer/CustomizerWar.java Tue Sep 13 00:26:42 2011 -0500 +++ b/web.project/src/org/netbeans/modules/web/project/ui/customizer/CustomizerWar.java Tue Sep 13 22:10:32 2011 -0500 @@ -85,7 +85,7 @@ initComponents(); this.getAccessibleContext().setAccessibleDescription(NbBundle.getMessage(CustomizerWar.class, "ACS_CustomizeWAR_A11YDesc")); //NOI18N - jTextFieldFileName.setDocument(uiProperties.WAR_NAME_MODEL); + jTextFieldFileName.setDocument( uiProperties.WAR_NAME_MODEL ); jTextFieldFileName.getDocument().addDocumentListener(new DocumentListener() { @Override @@ -104,9 +104,9 @@ } }); - jTextFieldExContent.setDocument(uiProperties.BUILD_CLASSES_EXCLUDES_MODEL); - uiProperties.WAR_COMPRESS_MODEL.setMnemonic(jCheckBoxCompress.getMnemonic()); - jCheckBoxCompress.setModel(uiProperties.WAR_COMPRESS_MODEL); + jTextFieldExContent.setDocument( uiProperties.BUILD_CLASSES_EXCLUDES_MODEL ); + uiProperties.WAR_COMPRESS_MODEL.setMnemonic( jCheckBoxCompress.getMnemonic() ); + jCheckBoxCompress.setModel( uiProperties.WAR_COMPRESS_MODEL ); ClassPathUiSupport.Callback callback = new ClassPathUiSupport.Callback() { public void initItem(Item item) { @@ -116,15 +116,15 @@ } }; - jTableAddContent.setModel(uiProperties.WAR_CONTENT_ADDITIONAL_MODEL); + jTableAddContent.setModel( uiProperties.WAR_CONTENT_ADDITIONAL_MODEL ); jTableAddContent.setDefaultRenderer(ClassPathSupport.Item.class, uiProperties.CLASS_PATH_TABLE_ITEM_RENDERER); Util.initTwoColumnTableVisualProperties(this, jTableAddContent); jTableAddContent.setRowHeight(jTableAddContent.getRowHeight() + 4); - EditMediator.register(uiProperties.getProject(), + EditMediator.register( uiProperties.getProject(), uiProperties.getProject().getAntProjectHelper(), uiProperties.getProject().getReferenceHelper(), - EditMediator.createListComponent(jTableAddContent, uiProperties.WAR_CONTENT_ADDITIONAL_MODEL.getDefaultListModel()), + EditMediator.createListComponent(jTableAddContent, uiProperties.WAR_CONTENT_ADDITIONAL_MODEL.getDefaultListModel()) , jButtonAddJar.getModel(), jButtonAddLib.getModel(), jButtonAddProject.getModel(), @@ -350,10 +350,10 @@ String pattern; String forbiddenChars; if (Utilities.isWindows()) { - pattern = ".*[\\/:*?\"<>|].*"; // NOI18N + pattern = ".*[\\\\/:\\*\\?\"<>\\|].*"; // NOI18N forbiddenChars = "\\ / : * ? \" < > |"; // NOI18N } else { - pattern = ".*[\\/].*"; // NOI18N + pattern = ".*[\\\\/].*"; // NOI18N forbiddenChars = "\\ /"; // NOI18N } String message=null; @@ -381,18 +381,18 @@ if (newPathInWar.equals("WEB-INF\\lib") || newPathInWar.equals("WEB-INF/lib")) { //NOI18N if (cpItem.getResolvedFile().isDirectory()) { message = NbBundle.getMessage(CustomizerWar.class, - "MSG_NO_FOLDER_IN_WEBINF_LIB", newPathInWar); // NOI18N + "MSG_NO_FOLDER_IN_WEBINF_LIB", newPathInWar); // NOI18N } else { message = NbBundle.getMessage(CustomizerWar.class, - "MSG_NO_FILE_IN_WEBINF_LIB", newPathInWar); // NOI18N + "MSG_NO_FILE_IN_WEBINF_LIB", newPathInWar); // NOI18N } } else if (newPathInWar.equals("WEB-INF\\classes") || newPathInWar.equals("WEB-INF/classes")) { //NOI18N - message = NbBundle.getMessage(CustomizerWar.class, + message = NbBundle.getMessage(CustomizerWar.class, "MSG_NO_FOLDER_IN_WEBINF_CLASSES", newPathInWar); // NOI18N } } if (message != null) { - DialogDisplayer.getDefault().notify(new NotifyDescriptor.Message(message, NotifyDescriptor.WARNING_MESSAGE)); + DialogDisplayer.getDefault().notify(new NotifyDescriptor.Message (message, NotifyDescriptor.WARNING_MESSAGE)); } } } # HG changeset patch # User hmvictor # Date 1316232257 18000 # Node ID 611e2773e326ab78224e4abd53c08419589b5196 # Parent 63664177374169f33734781df66f01d6070d1e3c Added warning when WAR name is change. diff -r 636641773741 -r 611e2773e326 web.project/src/org/netbeans/modules/web/project/ui/customizer/Bundle.properties --- a/web.project/src/org/netbeans/modules/web/project/ui/customizer/Bundle.properties Tue Sep 13 22:10:32 2011 -0500 +++ b/web.project/src/org/netbeans/modules/web/project/ui/customizer/Bundle.properties Fri Sep 16 23:04:17 2011 -0500 @@ -176,6 +176,8 @@ MSG_EmptyWarName=WAR file must not be empty MSG_ForbiddenCharactersInWarName=Invalid name for WAR file. Forbidden characters are: {0} +MSG_WarningOnWARnameChange=If this WAR is used from an Enterprise Application then such application will need \ + to be updated with a new WAR name as well #AddFilter LBL_AddFilter_Title=AddFilter diff -r 636641773741 -r 611e2773e326 web.project/src/org/netbeans/modules/web/project/ui/customizer/CustomizerWar.form --- a/web.project/src/org/netbeans/modules/web/project/ui/customizer/CustomizerWar.form Tue Sep 13 22:10:32 2011 -0500 +++ b/web.project/src/org/netbeans/modules/web/project/ui/customizer/CustomizerWar.form Fri Sep 16 23:04:17 2011 -0500 @@ -10,7 +10,7 @@ - + @@ -80,7 +80,7 @@ - + @@ -95,7 +95,7 @@ - + diff -r 636641773741 -r 611e2773e326 web.project/src/org/netbeans/modules/web/project/ui/customizer/CustomizerWar.java --- a/web.project/src/org/netbeans/modules/web/project/ui/customizer/CustomizerWar.java Tue Sep 13 22:10:32 2011 -0500 +++ b/web.project/src/org/netbeans/modules/web/project/ui/customizer/CustomizerWar.java Fri Sep 16 23:04:17 2011 -0500 @@ -63,10 +63,10 @@ import org.netbeans.modules.java.api.common.project.ui.customizer.EditMediator; import org.netbeans.modules.j2ee.deployment.devmodules.api.J2eePlatform; import org.netbeans.modules.web.project.classpath.ClassPathSupportCallbackImpl; +import org.netbeans.spi.project.support.ant.PropertyUtils; import org.netbeans.spi.project.ui.support.ProjectCustomizer; import org.openide.DialogDisplayer; import org.openide.NotifyDescriptor; -import org.openide.WizardValidationException; import org.openide.util.HelpCtx; import org.openide.util.NbBundle; import org.openide.util.Utilities; @@ -90,17 +90,23 @@ @Override public void insertUpdate(DocumentEvent e) { - checkValidWarFilename(); + if(checkValidWarFilename()){ + showWarningOnWARnameChange(); + } } @Override public void removeUpdate(DocumentEvent e) { - checkValidWarFilename(); + if(checkValidWarFilename()){ + showWarningOnWARnameChange(); + } } @Override public void changedUpdate(DocumentEvent e) { - checkValidWarFilename(); + if(checkValidWarFilename()){ + showWarningOnWARnameChange(); + } } }); @@ -114,6 +120,7 @@ item.setAdditionalProperty(ClassPathSupportCallbackImpl.PATH_IN_DEPLOYMENT, "/"); //NOI18N } } + }; jTableAddContent.setModel( uiProperties.WAR_CONTENT_ADDITIONAL_MODEL ); @@ -198,7 +205,6 @@ gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 1; - gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; jPanel1.add(jTextFieldExContent, gridBagConstraints); jTextFieldExContent.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(CustomizerWar.class, "ACS_CustomizeWAR_Content_A11YDesc")); // NOI18N @@ -208,7 +214,6 @@ gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 2; - gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; jPanel1.add(excludeMessage, gridBagConstraints); @@ -342,7 +347,7 @@ return new HelpCtx(CustomizerWar.class); } - private void checkValidWarFilename(){ + private boolean checkValidWarFilename(){ MessageUtils.clear(errorLabel); category.setValid(true); @@ -367,6 +372,12 @@ category.setValid(false); MessageUtils.setMessage(errorLabel, MessageUtils.MessageType.ERROR, ""+message+""); // NOI18N } + return message == null; + } + + private void showWarningOnWARnameChange(){ + String message=NbBundle.getMessage(CustomizerWar.class, "MSG_WarningOnWARnameChange"); + MessageUtils.setMessage(errorLabel, MessageUtils.MessageType.WARNING, ""+message+""); // NOI18N } public void tableChanged(TableModelEvent e) { # HG changeset patch # User hmvictor # Date 1316233504 18000 # Node ID 140f5aafcfe1870111e0b5c12ec32a63fbb12c50 # Parent 611e2773e326ab78224e4abd53c08419589b5196 [no commit message] diff -r 611e2773e326 -r 140f5aafcfe1 web.project/src/org/netbeans/modules/web/project/ui/customizer/CustomizerWar.form --- a/web.project/src/org/netbeans/modules/web/project/ui/customizer/CustomizerWar.form Fri Sep 16 23:04:17 2011 -0500 +++ b/web.project/src/org/netbeans/modules/web/project/ui/customizer/CustomizerWar.form Fri Sep 16 23:25:04 2011 -0500 @@ -10,7 +10,7 @@ - + @@ -80,7 +80,7 @@ - + @@ -95,7 +95,7 @@ - +