diff --git a/enterprise/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/WildflyClassLoader.java b/enterprise/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/WildflyClassLoader.java index aed5956feb21..479c9f996537 100644 --- a/enterprise/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/WildflyClassLoader.java +++ b/enterprise/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/WildflyClassLoader.java @@ -102,9 +102,7 @@ public static WildflyClassLoader createWildFlyClassLoader(String serverRoot) { private static void findJarAddUrl(List urlList, Path folder, String pathMatcherRaw) { PathMatcher pathMatcher = FileSystems.getDefault().getPathMatcher(pathMatcherRaw); - Stream walk = null; - try { - walk = Files.walk(folder); + try (Stream walk = Files.walk(folder)) { Optional firstJarMatching = walk .filter(pathMatcher::matches) .findFirst(); @@ -115,10 +113,6 @@ private static void findJarAddUrl(List urlList, Path folder, String pathMat } } catch (IOException ex) { LOGGER.log(Level.INFO, null, ex); - } finally { - if (walk != null) { - walk.close(); - } } } diff --git a/enterprise/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/WildflyDeploymentManager.java b/enterprise/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/WildflyDeploymentManager.java index a37178f13206..5cac76b37c54 100644 --- a/enterprise/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/WildflyDeploymentManager.java +++ b/enterprise/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/WildflyDeploymentManager.java @@ -23,11 +23,11 @@ import java.io.InputStream; import java.util.ArrayList; import java.util.Collection; -import java.util.Collections; import java.util.List; import java.util.Locale; -import java.util.Map; import java.util.WeakHashMap; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentMap; import java.util.logging.Level; import java.util.logging.Logger; import javax.enterprise.deploy.model.DeployableObject; @@ -83,8 +83,8 @@ public class WildflyDeploymentManager implements DeploymentManager2 { * server instance bcs instance properties are also removed along with * instance. */ - private static final Map PROPERTIES_TO_IS_RUNNING - = Collections.synchronizedMap(new WeakHashMap()); + private static final ConcurrentMap PROPERTIES_TO_IS_RUNNING + = new ConcurrentHashMap(new WeakHashMap()); private final DeploymentFactory df; diff --git a/enterprise/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/config/WildflyMessageDestinationManager.java b/enterprise/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/config/WildflyMessageDestinationManager.java index 7d00bb462564..c9b714ccfbdd 100644 --- a/enterprise/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/config/WildflyMessageDestinationManager.java +++ b/enterprise/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/config/WildflyMessageDestinationManager.java @@ -90,11 +90,8 @@ public Set getMessageDestinations() throws ConfigurationExce SAXParserFactory factory = SAXParserFactory.newInstance(); SAXParser parser = factory.newSAXParser(); WildflyMessageDestinationHandler handler = new WildflyMessageDestinationHandler(); - InputStream is = new BufferedInputStream(configFile.getInputStream()); - try { + try (InputStream is = new BufferedInputStream(configFile.getInputStream())) { parser.parse(is, handler); - } finally { - is.close(); } messageDestinations.addAll(handler.getMessageDestinations()); } catch (IOException ex) { diff --git a/enterprise/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/customizer/WildflyTabVisualPanel.java b/enterprise/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/customizer/WildflyTabVisualPanel.java index 2c5e8275c674..feb9d7002eea 100644 --- a/enterprise/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/customizer/WildflyTabVisualPanel.java +++ b/enterprise/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/customizer/WildflyTabVisualPanel.java @@ -22,6 +22,7 @@ import java.util.HashSet; import java.util.Iterator; import java.util.Set; +import java.util.concurrent.ConcurrentHashMap; import javax.enterprise.deploy.spi.DeploymentManager; import javax.swing.JFileChooser; import javax.swing.JPanel; @@ -85,16 +86,12 @@ String getParentDirectory() { // Event handling // - private final Set listeners = new HashSet<>(1); + private final Set listeners = ConcurrentHashMap.newKeySet(2); public final void addChangeListener(ChangeListener l) { - synchronized (listeners) { - listeners.add(l); - } + listeners.add(l); } public final void removeChangeListener(ChangeListener l) { - synchronized (listeners) { - listeners.remove(l); - } + listeners.remove(l); } protected final void fireChangeEvent() { Iterator it; diff --git a/enterprise/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/ide/JBossJaxWsStack.java b/enterprise/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/ide/JBossJaxWsStack.java index 413f092f3944..9422473f7d16 100644 --- a/enterprise/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/ide/JBossJaxWsStack.java +++ b/enterprise/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/ide/JBossJaxWsStack.java @@ -134,21 +134,23 @@ private String resolveImplementationVersion() throws IOException { File wsToolsJar = new File(root, JAXWS_TOOLS_JAR); if (wsToolsJar.exists()) { - JarFile jarFile = new JarFile(wsToolsJar); - JarEntry entry = jarFile.getJarEntry("com/sun/tools/ws/version.properties"); //NOI18N - if (entry != null) { - InputStream is = jarFile.getInputStream(entry); - BufferedReader r = new BufferedReader(new InputStreamReader(is)); - String ln = null; - String ver = null; - while ((ln=r.readLine()) != null) { - String line = ln.trim(); - if (line.startsWith("major-version=")) { //NOI18N - ver = line.substring(14); + try (JarFile jarFile = new JarFile(wsToolsJar)) { + JarEntry entry = jarFile.getJarEntry("com/sun/tools/ws/version.properties"); //NOI18N + if (entry != null) { + String ver = null; + try (InputStream is = jarFile.getInputStream(entry); + BufferedReader r = new BufferedReader(new InputStreamReader(is))) { + String ln = null; + while ((ln=r.readLine()) != null) { + String line = ln.trim(); + if (line.startsWith("major-version=")) { //NOI18N + ver = line.substring(14); + break; + } + } } + return ver; } - r.close(); - return ver; } } return null; diff --git a/enterprise/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/ide/WildflyJ2eePlatformFactory.java b/enterprise/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/ide/WildflyJ2eePlatformFactory.java index d4f0d059fb29..c2bef086c7fe 100644 --- a/enterprise/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/ide/WildflyJ2eePlatformFactory.java +++ b/enterprise/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/ide/WildflyJ2eePlatformFactory.java @@ -91,7 +91,7 @@ public synchronized J2eePlatformImpl getJ2eePlatformImpl(DeploymentManager dm) { public static class J2eePlatformImplImpl extends J2eePlatformImpl2 { - private static final Set MODULE_TYPES = new HashSet(); + private static final Set MODULE_TYPES = new HashSet(8); static { MODULE_TYPES.add(Type.EAR); @@ -101,7 +101,7 @@ public static class J2eePlatformImplImpl extends J2eePlatformImpl2 { MODULE_TYPES.add(Type.CAR); } - private static final Set WILDFLY_PROFILES = new HashSet(); + private static final Set WILDFLY_PROFILES = new HashSet(16); static { WILDFLY_PROFILES.add(Profile.JAVA_EE_6_WEB); @@ -112,21 +112,21 @@ public static class J2eePlatformImplImpl extends J2eePlatformImpl2 { WILDFLY_PROFILES.add(Profile.JAVA_EE_8_FULL); WILDFLY_PROFILES.add(Profile.JAKARTA_EE_8_FULL); } - private static final Set JAKARTAEE_FULL_PROFILES = new HashSet(); + private static final Set JAKARTAEE_FULL_PROFILES = new HashSet(8); static { JAKARTAEE_FULL_PROFILES.add(Profile.JAKARTA_EE_9_FULL); JAKARTAEE_FULL_PROFILES.add(Profile.JAKARTA_EE_9_1_FULL); JAKARTAEE_FULL_PROFILES.add(Profile.JAKARTA_EE_10_FULL); } - private static final Set EAP6_PROFILES = new HashSet(); + private static final Set EAP6_PROFILES = new HashSet(4); static { EAP6_PROFILES.add(Profile.JAVA_EE_6_WEB); EAP6_PROFILES.add(Profile.JAVA_EE_6_FULL); } - private static final Set WILDFLY_WEB_PROFILES = new HashSet(); + private static final Set WILDFLY_WEB_PROFILES = new HashSet(16); static { WILDFLY_WEB_PROFILES.add(Profile.JAVA_EE_6_WEB); @@ -138,7 +138,7 @@ public static class J2eePlatformImplImpl extends J2eePlatformImpl2 { WILDFLY_WEB_PROFILES.add(Profile.JAKARTA_EE_10_WEB); } - private static final Set JAKARTAEE_WEB_PROFILES = new HashSet(); + private static final Set JAKARTAEE_WEB_PROFILES = new HashSet(8); static { JAKARTAEE_WEB_PROFILES.add(Profile.JAKARTA_EE_9_WEB); @@ -188,7 +188,7 @@ public Set getSupportedTypes() { } @Override - public Set/**/ getSupportedJavaPlatformVersions() { + public Set getSupportedJavaPlatformVersions() { Set versions = new HashSet(); versions.add("1.7"); // NOI18N versions.add("1.8"); // NOI18N @@ -198,6 +198,9 @@ public Set getSupportedTypes() { if (this.properties.getServerVersion().compareToIgnoreUpdate(WildflyPluginUtils.EAP_7_0) >= 0) { versions.add("17"); // NOI18N } + if (this.properties.getServerVersion().compareToIgnoreUpdate(WildflyPluginUtils.WILDFLY_30_0_0) >= 0) { + versions.add("21"); // NOI18N + } return versions; } @@ -383,21 +386,16 @@ private static boolean containsService(LibraryImplementation library, String ser } private static boolean containsService(FileObject serviceFO, String serviceName, String serviceImplName) { - try { - BufferedReader br = new BufferedReader(new InputStreamReader(serviceFO.getInputStream())); - try { - String line; - while ((line = br.readLine()) != null) { - int ci = line.indexOf('#'); - if (ci >= 0) { - line = line.substring(0, ci); - } - if (line.trim().equals(serviceImplName)) { - return true; - } + try (BufferedReader br = new BufferedReader(new InputStreamReader(serviceFO.getInputStream()))) { + String line; + while ((line = br.readLine()) != null) { + int ci = line.indexOf('#'); + if (ci >= 0) { + line = line.substring(0, ci); + } + if (line.trim().equals(serviceImplName)) { + return true; } - } finally { - br.close(); } } catch (Exception ex) { Exceptions.attachLocalizedMessage(ex, serviceFO.toURL().toString()); diff --git a/enterprise/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/ide/WildflyStartServer.java b/enterprise/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/ide/WildflyStartServer.java index f5b2162b7d96..c666661b4213 100644 --- a/enterprise/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/ide/WildflyStartServer.java +++ b/enterprise/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/ide/WildflyStartServer.java @@ -31,6 +31,7 @@ import org.netbeans.modules.j2ee.deployment.plugins.spi.StartServer; import org.openide.util.RequestProcessor; import java.util.Vector; +import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Level; import java.util.logging.Logger; import javax.enterprise.deploy.spi.DeploymentManager; @@ -78,8 +79,8 @@ static enum ACTION_STATUS { private boolean consoleConfigured = false; - private static final Set IS_DEBUG_MODE_URI = Collections.synchronizedSet( - new HashSet(AVERAGE_SERVER_INSTANCES)); + private static final Set IS_DEBUG_MODE_URI = + ConcurrentHashMap.newKeySet(AVERAGE_SERVER_INSTANCES); public WildflyStartServer(DeploymentManager dm) { this.dm = (WildflyDeploymentManager) dm; diff --git a/enterprise/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/ide/ui/AddServerLocationPanel.java b/enterprise/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/ide/ui/AddServerLocationPanel.java index 6d0a890a20e8..f9d795ca6e22 100644 --- a/enterprise/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/ide/ui/AddServerLocationPanel.java +++ b/enterprise/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/ide/ui/AddServerLocationPanel.java @@ -23,6 +23,7 @@ import java.util.HashSet; import java.util.Iterator; import java.util.Set; +import java.util.concurrent.ConcurrentHashMap; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; import org.netbeans.api.java.platform.JavaPlatformManager; @@ -43,7 +44,7 @@ public class AddServerLocationPanel implements WizardDescriptor.FinishablePanel, private AddServerLocationVisualPanel component; private WizardDescriptor wizard; - private final transient Set listeners = new HashSet(1); + private final transient Set listeners = ConcurrentHashMap.newKeySet(2); public AddServerLocationPanel(WildflyInstantiatingIterator instantiatingIterator) { this.instantiatingIterator = instantiatingIterator; @@ -113,16 +114,12 @@ public boolean isValid() { @Override public void removeChangeListener(ChangeListener l) { - synchronized (listeners) { - listeners.remove(l); - } + listeners.remove(l); } @Override public void addChangeListener(ChangeListener l) { - synchronized (listeners) { - listeners.add(l); - } + listeners.add(l); } @Override diff --git a/enterprise/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/ide/ui/AddServerLocationVisualPanel.java b/enterprise/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/ide/ui/AddServerLocationVisualPanel.java index 2a88bb7b2793..def1ddcebe77 100644 --- a/enterprise/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/ide/ui/AddServerLocationVisualPanel.java +++ b/enterprise/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/ide/ui/AddServerLocationVisualPanel.java @@ -22,6 +22,7 @@ import java.util.HashSet; import java.util.Iterator; import java.util.Set; +import java.util.concurrent.ConcurrentHashMap; import javax.swing.JFileChooser; import javax.swing.SwingUtilities; import javax.swing.event.ChangeEvent; @@ -41,7 +42,7 @@ */ public class AddServerLocationVisualPanel extends javax.swing.JPanel { - private final Set listeners = new HashSet(); + private final Set listeners = ConcurrentHashMap.newKeySet(); /** * Creates new form AddServerLocationVisualPanel @@ -92,15 +93,11 @@ public String getConfigurationLocation() { } public void addChangeListener(ChangeListener l) { - synchronized (listeners) { - listeners.add(l); - } + listeners.add(l); } public void removeChangeListener(ChangeListener l) { - synchronized (listeners) { - listeners.remove(l); - } + listeners.remove(l); } private void fireChangeEvent() { diff --git a/enterprise/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/ide/ui/AddServerPropertiesPanel.java b/enterprise/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/ide/ui/AddServerPropertiesPanel.java index b4a5a07a8c41..d93471d2a25e 100644 --- a/enterprise/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/ide/ui/AddServerPropertiesPanel.java +++ b/enterprise/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/ide/ui/AddServerPropertiesPanel.java @@ -23,6 +23,7 @@ import java.util.HashSet; import java.util.Iterator; import java.util.Set; +import java.util.concurrent.ConcurrentHashMap; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; import org.netbeans.modules.j2ee.deployment.plugins.api.InstanceProperties; @@ -181,19 +182,15 @@ private void fireChangeEvent(ChangeEvent ev) { } } - private final transient Set listeners = new HashSet(1); + private final transient Set listeners = ConcurrentHashMap.newKeySet(2); @Override public void removeChangeListener(ChangeListener l) { - synchronized (listeners) { - listeners.remove(l); - } + listeners.remove(l); } @Override public void addChangeListener(ChangeListener l) { - synchronized (listeners) { - listeners.add(l); - } + listeners.add(l); } @Override diff --git a/enterprise/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/ide/ui/AddServerPropertiesVisualPanel.java b/enterprise/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/ide/ui/AddServerPropertiesVisualPanel.java index d07e471eb0c9..bfb9f21c28a5 100644 --- a/enterprise/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/ide/ui/AddServerPropertiesVisualPanel.java +++ b/enterprise/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/ide/ui/AddServerPropertiesVisualPanel.java @@ -28,6 +28,7 @@ import java.util.Iterator; import java.util.Map; import java.util.Set; +import java.util.concurrent.ConcurrentHashMap; import javax.swing.AbstractListModel; import javax.swing.ComboBoxModel; import javax.swing.JComboBox; @@ -47,7 +48,7 @@ */ public class AddServerPropertiesVisualPanel extends JPanel { - private final Set listeners = new HashSet(); + private final Set listeners = ConcurrentHashMap.newKeySet(); private javax.swing.JComboBox domainField; // Domain name (list of registered domains) can be edited private javax.swing.JTextField domainPathField; // @@ -77,15 +78,11 @@ public AddServerPropertiesVisualPanel() { } public void addChangeListener(ChangeListener l) { - synchronized (listeners) { - listeners.add(l); - } + listeners.add(l); } public void removeChangeListener(ChangeListener l ) { - synchronized (listeners) { - listeners.remove(l); - } + listeners.remove(l); } private void somethingChanged() { diff --git a/enterprise/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/ide/ui/WildflyInstantiatingIterator.java b/enterprise/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/ide/ui/WildflyInstantiatingIterator.java index d95460d5688b..6404213224f6 100644 --- a/enterprise/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/ide/ui/WildflyInstantiatingIterator.java +++ b/enterprise/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/ide/ui/WildflyInstantiatingIterator.java @@ -26,6 +26,7 @@ import java.util.Map; import java.util.NoSuchElementException; import java.util.Set; +import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.JComponent; @@ -65,19 +66,15 @@ public class WildflyInstantiatingIterator implements WizardDescriptor.Instantiat // private InstallPanel panel; - private final transient Set listeners = new HashSet(1); + private final transient Set listeners = ConcurrentHashMap.newKeySet(2); @Override public void removeChangeListener(ChangeListener l) { - synchronized (listeners) { - listeners.remove(l); - } + listeners.remove(l); } @Override public void addChangeListener(ChangeListener l) { - synchronized (listeners) { - listeners.add(l); - } + listeners.add(l); } @Override diff --git a/enterprise/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/ide/ui/WildflyPluginUtils.java b/enterprise/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/ide/ui/WildflyPluginUtils.java index e5c4175600d1..354182784811 100644 --- a/enterprise/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/ide/ui/WildflyPluginUtils.java +++ b/enterprise/javaee.wildfly/src/org/netbeans/modules/javaee/wildfly/ide/ui/WildflyPluginUtils.java @@ -106,6 +106,10 @@ public class WildflyPluginUtils { public static final Version WILDFLY_27_0_0 = new Version("27.0.0", true); // NOI18N public static final Version WILDFLY_28_0_0 = new Version("28.0.0", true); // NOI18N + + public static final Version WILDFLY_29_0_0 = new Version("29.0.0", true); // NOI18N + + public static final Version WILDFLY_30_0_0 = new Version("30.0.0", true); // NOI18N private static final Logger LOGGER = Logger.getLogger(WildflyPluginUtils.class.getName());