You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@netbeans.apache.org by ma...@apache.org on 2020/09/17 10:13:50 UTC
[netbeans] branch master updated: [NETBEANS-4718] Disallow FXML
controller in default package when modular java
This is an automated email from the ASF dual-hosted git repository.
matthiasblaesing pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/netbeans.git
The following commit(s) were added to refs/heads/master by this push:
new 61ffe62 [NETBEANS-4718] Disallow FXML controller in default package when modular java
new de6c967 Merge pull request #2331 from errael/ValidateFxmlControllerLocation
61ffe62 is described below
commit 61ffe62dbf956ede26c86302def877d96c161092
Author: Ernie Rael <er...@raelity.com>
AuthorDate: Tue Aug 25 19:26:35 2020 +0100
[NETBEANS-4718] Disallow FXML controller in default package when modular java
---
.../modules/javafx2/project/JFXProjectUtils.java | 16 ++++++++++++++++
.../modules/javafx2/project/fxml/Bundle.properties | 1 +
.../project/fxml/ConfigureFXMLControllerPanelVisual.java | 8 ++++++++
3 files changed, 25 insertions(+)
diff --git a/javafx/javafx2.project/src/org/netbeans/modules/javafx2/project/JFXProjectUtils.java b/javafx/javafx2.project/src/org/netbeans/modules/javafx2/project/JFXProjectUtils.java
index 5a84cbb..83129b5 100644
--- a/javafx/javafx2.project/src/org/netbeans/modules/javafx2/project/JFXProjectUtils.java
+++ b/javafx/javafx2.project/src/org/netbeans/modules/javafx2/project/JFXProjectUtils.java
@@ -31,6 +31,7 @@ import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.zip.CRC32;
import java.util.zip.Checksum;
+
import javax.lang.model.element.TypeElement;
import javax.lang.model.util.Elements;
import javax.xml.parsers.DocumentBuilder;
@@ -41,6 +42,7 @@ import javax.xml.xpath.XPathConstants;
import javax.xml.xpath.XPathExpression;
import javax.xml.xpath.XPathExpressionException;
import javax.xml.xpath.XPathFactory;
+
import org.netbeans.api.annotations.common.CheckForNull;
import org.netbeans.api.annotations.common.NonNull;
import org.netbeans.api.java.classpath.ClassPath;
@@ -61,6 +63,8 @@ import org.netbeans.modules.java.j2seproject.api.J2SEPropertyEvaluator;
import org.netbeans.modules.javafx2.platform.api.JavaFXPlatformUtils;
import org.netbeans.modules.javafx2.platform.api.JavaFxRuntimeInclusion;
import org.netbeans.modules.javafx2.project.JavaFXProjectWizardIterator.WizardType;
+import org.netbeans.modules.javafx2.project.fxml.SourceGroupSupport;
+import org.netbeans.modules.javafx2.project.fxml.SourceGroupSupport.SourceGroupProxy;
import org.netbeans.modules.javafx2.project.ui.JSEApplicationClassChooser;
import org.netbeans.spi.project.ProjectIconAnnotator;
import org.netbeans.spi.project.support.ant.AntProjectHelper;
@@ -1776,5 +1780,17 @@ public final class JFXProjectUtils {
}
}
}
+
+ private static final String MODULE_INFO = "module-info.java"; // NOI18N
+
+ // as in org.netbeans.modules.maven.api.ModuleInfoUtils.hasModuleInfoInSource;
+ public static boolean hasModuleInfo(SourceGroupSupport support) {
+ for (SourceGroupProxy sourceGroup : support.getSourceGroups()) {
+ if(sourceGroup.getRootFolder().getFileObject(MODULE_INFO) != null) {
+ return true;
+ }
+ }
+ return false;
+ }
}
diff --git a/javafx/javafx2.project/src/org/netbeans/modules/javafx2/project/fxml/Bundle.properties b/javafx/javafx2.project/src/org/netbeans/modules/javafx2/project/fxml/Bundle.properties
index 2ed0f7d..3d94df3 100644
--- a/javafx/javafx2.project/src/org/netbeans/modules/javafx2/project/fxml/Bundle.properties
+++ b/javafx/javafx2.project/src/org/netbeans/modules/javafx2/project/fxml/Bundle.properties
@@ -91,6 +91,7 @@ WARN_ConfigureFXMLPanel_Provide_Java_Name=Provide valid Java Controller File nam
WARN_ConfigureFXMLPanel_Provide_CSS_Name=Provide valid CSS File name
WARN_ConfigureFXMLPanel_Provide_Package_Name=Provide valid Package name
WARN_ConfigureFXMLPanel_Package_Invalid=The Package is not a folder
+WARN_ConfigureFXMLPanel_Default_Package_Invalid=Default Package not allowed
#MSG_FXMLTemplateWizardIterator_Folder_Exists=Directory already exists: {0}
MSG_fs_or_folder_does_not_exist=The target folder does not exist.
diff --git a/javafx/javafx2.project/src/org/netbeans/modules/javafx2/project/fxml/ConfigureFXMLControllerPanelVisual.java b/javafx/javafx2.project/src/org/netbeans/modules/javafx2/project/fxml/ConfigureFXMLControllerPanelVisual.java
index e8abd19..4a136b3 100644
--- a/javafx/javafx2.project/src/org/netbeans/modules/javafx2/project/fxml/ConfigureFXMLControllerPanelVisual.java
+++ b/javafx/javafx2.project/src/org/netbeans/modules/javafx2/project/fxml/ConfigureFXMLControllerPanelVisual.java
@@ -22,6 +22,7 @@ import java.awt.Component;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
+
import javax.swing.ComboBoxModel;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JFileChooser;
@@ -31,6 +32,8 @@ import javax.swing.SwingUtilities;
import javax.swing.event.ChangeListener;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
+
+import org.netbeans.modules.javafx2.project.JFXProjectUtils;
import org.netbeans.spi.java.project.support.ui.PackageView;
import org.netbeans.spi.project.ui.templates.support.Templates;
import org.openide.WizardDescriptor;
@@ -675,6 +678,11 @@ public class ConfigureFXMLControllerPanelVisual extends JPanel implements Action
return false;
}
+ if (JFXProjectUtils.hasModuleInfo(support) && component.getPackageName().isEmpty()) {
+ FXMLTemplateWizardIterator.setErrorMessage("WARN_ConfigureFXMLPanel_Default_Package_Invalid", settings); // NOI18N
+ return false;
+ }
+
if (!FXMLTemplateWizardIterator.isValidPackage(component.getLocationFolder(), component.getPackageName())) {
FXMLTemplateWizardIterator.setErrorMessage("WARN_ConfigureFXMLPanel_Package_Invalid", settings); // NOI18N
return false;
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@netbeans.apache.org
For additional commands, e-mail: commits-help@netbeans.apache.org
For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists