Skip to content

Commit

Permalink
Jakarta EE 9 GlassFish 6 Support (apache#2902)
Browse files Browse the repository at this point in the history
* Jakarta EE 9 GlassFish 6 Support
* Repair GlassfishWizardProvider createJakartaEe91 method and jakartaee9-doc-api.jar
  • Loading branch information
juneau001 authored Jul 26, 2021
1 parent c8eff57 commit ca39b72
Show file tree
Hide file tree
Showing 25 changed files with 346 additions and 26 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -1390,9 +1390,10 @@ CLSS public final org.netbeans.modules.glassfish.common.GlassfishInstanceProvide
fld public final static java.lang.String EE6WC_DEPLOYER_FRAGMENT = "deployer:gfv3ee6wc"
fld public final static java.lang.String EE6_DEPLOYER_FRAGMENT = "deployer:gfv3ee6"
fld public final static java.lang.String EE8_DEPLOYER_FRAGMENT = "deployer:gfv5ee8"
fld public final static java.lang.String GLASSFISH_AUTOREGISTERED_INSTANCE = "glassfish_autoregistered_instance"
fld public final static java.lang.String JAKARTAEE8_DEPLOYER_FRAGMENT = "deployer:gfv510ee8"
fld public final static java.lang.String JAKARTAEE9_DEPLOYER_FRAGMENT = "deployer:gfv6ee9"
fld public final static java.lang.String JAKARTAEE91_DEPLOYER_FRAGMENT = "deployer:gfv610ee9"
fld public final static java.lang.String GLASSFISH_AUTOREGISTERED_INSTANCE = "glassfish_autoregistered_instance"
fld public final static java.lang.String PRELUDE_DEPLOYER_FRAGMENT = "deployer:gfv3"
fld public final static java.util.Set<java.lang.String> activeRegistrationSet
fld public static java.lang.String EE6WC_DEFAULT_NAME
Expand Down Expand Up @@ -2224,6 +2225,7 @@ meth public static org.netbeans.modules.glassfish.spi.ServerUtilities getEe7Util
meth public static org.netbeans.modules.glassfish.spi.ServerUtilities getEe8Utilities()
meth public static org.netbeans.modules.glassfish.spi.ServerUtilities getJakartaEe8Utilities()
meth public static org.netbeans.modules.glassfish.spi.ServerUtilities getJakartaEe9Utilities()
meth public static org.netbeans.modules.glassfish.spi.ServerUtilities getJakartaEe91Utilities()
meth public static org.openide.WizardDescriptor$InstantiatingIterator getInstantiatingIterator()
supr java.lang.Object
hfds gip,gwp
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -159,6 +159,7 @@ STR_50_SERVER_NAME=GlassFish Server 5.0
STR_501_SERVER_NAME=GlassFish Server 5.0.1
STR_510_SERVER_NAME=GlassFish Server 5.1.0
STR_6_SERVER_NAME=GlassFish Server 6
STR_610_SERVER_NAME=GlassFish Server 6.1

# CommonServerSupport.java
MSG_FLAKEY_NETWORK=<html>Network communication problem<br/>Could not establish \
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,13 +66,15 @@ public final class GlassfishInstanceProvider implements ServerInstanceProvider,
public static final String EE8_DEPLOYER_FRAGMENT = "deployer:gfv5ee8"; // NOI18N
public static final String JAKARTAEE8_DEPLOYER_FRAGMENT = "deployer:gfv510ee8";
public static final String JAKARTAEE9_DEPLOYER_FRAGMENT = "deployer:gfv6ee9";
public static final String JAKARTAEE91_DEPLOYER_FRAGMENT = "deployer:gfv610ee9";
public static final String EE6WC_DEPLOYER_FRAGMENT = "deployer:gfv3ee6wc"; // NOI18N
public static final String PRELUDE_DEPLOYER_FRAGMENT = "deployer:gfv3"; // NOI18N
static private String EE6_INSTANCES_PATH = "/GlassFishEE6/Instances"; // NOI18N
static private String EE8_INSTANCES_PATH = "/GlassFishEE8/Instances"; // NOI18N
static private String EE9_INSTANCES_PATH = "/GlassFishEE9/Instances"; // NOI18N
static private String JAKARTAEE8_INSTANCES_PATH = "/GlassFishJakartaEE8/Instances"; // NOI18N
static private String JAKARTAEE9_INSTANCES_PATH = "/GlassFishJakartaEE9/Instances"; // NOI18N
// static private String JAKARTAEE91_INSTANCES_PATH = "/GlassFishJakartaEE91/Instances"; // NOI18N
static private String EE6WC_INSTANCES_PATH = "/GlassFishEE6WC/Instances"; // NOI18N

static public String PRELUDE_DEFAULT_NAME = "GlassFish_v3_Prelude"; //NOI18N
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@
import static org.netbeans.modules.glassfish.tooling.data.GlassFishVersion.GF_5;
import static org.netbeans.modules.glassfish.tooling.data.GlassFishVersion.GF_5_0_1;
import static org.netbeans.modules.glassfish.tooling.data.GlassFishVersion.GF_6;
import static org.netbeans.modules.glassfish.tooling.data.GlassFishVersion.GF_6_1_0;
import org.netbeans.modules.glassfish.tooling.utils.ServerUtils;
import org.openide.WizardDescriptor;
import org.openide.util.NbBundle;
Expand Down Expand Up @@ -209,8 +210,19 @@ public enum ServerDetails {
GLASSFISH_SERVER_6(NbBundle.getMessage(ServerDetails.class, "STR_6_SERVER_NAME", new Object[]{}), // NOI18N
"deployer:gfv6ee9", // NOI18N
6,
"https://repo1.maven.org/maven2/org/glassfish/main/distributions/glassfish/6.0.0-RC4/glassfish-6.0.0-RC4.zip", // NOI18N
"https://repo1.maven.org/maven2/org/glassfish/main/distributions/glassfish/6.0.0-RC4/glassfish-6.0.0-RC4.zip", // NOI18N
"https://repo1.maven.org/maven2/org/glassfish/main/distributions/glassfish/6.0.0/glassfish-6.0.0.zip", // NOI18N
"https://repo1.maven.org/maven2/org/glassfish/main/distributions/glassfish/6.0.0/glassfish-6.0.0.zip", // NOI18N
"http://www.eclipse.org/legal/epl-2.0" //NOI18N
),

/**
* details for an instance of GlassFish Server 6.1.0
*/
GLASSFISH_SERVER_6_1_0(NbBundle.getMessage(ServerDetails.class, "STR_610_SERVER_NAME", new Object[]{}), // NOI18N
"deployer:gfv610ee9", // NOI18N
6,
"https://repo1.maven.org/maven2/org/glassfish/main/distributions/glassfish/6.1.0/glassfish-6.1.0.zip", // NOI18N
"https://repo1.maven.org/maven2/org/glassfish/main/distributions/glassfish/6.1.0/glassfish-6.1.0.zip", // NOI18N
"http://www.eclipse.org/legal/epl-2.0" //NOI18N
);

Expand All @@ -223,6 +235,7 @@ public enum ServerDetails {
public static WizardDescriptor.InstantiatingIterator
getInstantiatingIterator() {
return new ServerWizardIterator(new ServerDetails[]{
GLASSFISH_SERVER_6_1_0,
GLASSFISH_SERVER_6,
GLASSFISH_SERVER_5_1_0,
GLASSFISH_SERVER_5_0_1,
Expand All @@ -239,6 +252,7 @@ public enum ServerDetails {
GLASSFISH_SERVER_3_0_1,
GLASSFISH_SERVER_3},
new ServerDetails[]{
GLASSFISH_SERVER_6_1_0,
GLASSFISH_SERVER_6,
GLASSFISH_SERVER_5_1_0,
GLASSFISH_SERVER_5_0_1,
Expand Down Expand Up @@ -283,6 +297,7 @@ public static int getVersionFromInstallDirectory(File glassfishDir) {
case GF_5_0_1: return GLASSFISH_SERVER_5_0_1.getVersion();
case GF_5_1_0: return GLASSFISH_SERVER_5_1_0.getVersion();
case GF_6: return GLASSFISH_SERVER_6.getVersion();
case GF_6_1_0: return GLASSFISH_SERVER_6_1_0.getVersion();
default: return -1;
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,9 @@ private static int autoregisterGlassFishInstance(String clusterDirValue, String
} else if (GlassFishVersion.ge(version, GlassFishVersion.GF_6)) {
deployer = "deployer:gfv6ee9";
config = "GlassFishJakartaEE9/Instances";
} else if (GlassFishVersion.ge(version, GlassFishVersion.GF_6_1_0)) {
deployer = "deployer:gfv610ee9";
config = "GlassFishJakartaEE9/Instances";
}
StringBuilder sb = new StringBuilder(
defaultDisplayNamePrefix.length() + 12);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ TIME_HOURS={0,choice, 1#{0} hour|2#{0} hours}
TIME_MINUTES={0,choice, 1#{0} minute|2#{0} minutes}
TIME_SECONDS={0,choice, 1#{0} second|2#{0} seconds}
TIME_MILISECONDS={0} ms
TIME_SEPARATOR=,\
TIME_SEPARATOR=,\
LBL_InstallLocation=Installation &Location:
V3_PRELUDE_NAME=GlassFish v3 Prelude
V3_EE6_NAME=GlassFish Server 3
Expand Down Expand Up @@ -157,6 +157,7 @@ STR_501_SERVER_NAME=GlassFish Server 5.0.1
STR_510_SERVER_NAME=GlassFish Server 5.1.0

STR_6_SERVER_NAME=GlassFish Server 6.0.0
STR_610_SERVER_NAME=GlassFish Server 6.1.0
STR_V6_FAMILY_NAME=GlassFish Server

LBL_SELECT_BITS=Select
Expand All @@ -173,7 +174,7 @@ AddServerLocationVisualPanel.agreeCheckBox.AccessibleContext.accessibleDescripti
AddServerLocationVisualPanel.remoteDomainRadioButton=Remote Domain
AddServerLocationVisualPanel.localDomainRadioButton=Local Domain
AddDomainLocationVisualPanel.targetValueLabel.text=&Target:
AddDomainLocationVisualPanel.targetValueField.text=\ \ \ \ \ \ \ \ \ \ \ \ \ \
AddDomainLocationVisualPanel.targetValueField.text=\ \ \ \ \ \ \ \ \ \ \ \ \ \
AddDomainLocationVisualPanel.userNameLabel.text=&User Name:
AddDomainLocationVisualPanel.passwordLabel.text=Pass&word:
AddDomainLocationVisualPanel.httpPortFieldLabel.text=HTTP Port:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,13 @@ public static GlassfishWizardProvider createJakartaEe9() {
);
}

public static GlassfishWizardProvider createJakartaEe91() {
return new GlassfishWizardProvider(
org.openide.util.NbBundle.getMessage(GlassfishWizardProvider.class,
"STR_V6_FAMILY_NAME", new Object[]{}) // NOI18N
);
}

private final String displayName;

private GlassfishWizardProvider(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,12 @@ public static ServerUtilities getJakartaEe9Utilities() {
GlassfishWizardProvider.createJakartaEe9());
}

public static ServerUtilities getJakartaEe91Utilities() {
GlassfishInstanceProvider gip = GlassfishInstanceProvider.getProvider();
return null == gip ? null : new ServerUtilities(gip,
GlassfishWizardProvider.createJakartaEe91());
}

// public static ServerUtilities getEe6WCUtilities() {
// GlassfishInstanceProvider gip = GlassfishInstanceProvider.getProvider();
// return null == gip ? null : new ServerUtilities(gip,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ private static int[] versionToResourceFilesIndexes(
return new int[]{0,1};
}
// glassfish-resources.xml for v6
if (GlassFishVersion.ge(version, GlassFishVersion.GF_6)) {
if (GlassFishVersion.ge(version, GlassFishVersion.GF_6) || GlassFishVersion.ge(version, GlassFishVersion.GF_6_1_0)) {
return new int[]{0};
}
// glassfish-resources.xml for v5
Expand Down Expand Up @@ -508,7 +508,8 @@ void internalSetAppServerVersion(ASDDVersion asVersion) {
"gfv3ee6wc",
"gfv5ee8",
"gfv510ee8",
"gfv6ee9"
"gfv6ee9",
"gfv610ee9"
};

protected ASDDVersion getTargetAppServerVersion() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,10 @@ public ModuleConfiguration create(final @NonNull J2eeModule module,
? instance.getVersion() : null;
try {
Hk2DeploymentManager evaluatedDm = null;
if(version != null && GlassFishVersion.ge(version, GlassFishVersion.GF_6)){
if(version != null && GlassFishVersion.ge(version, GlassFishVersion.GF_6_1_0)){
evaluatedDm = (Hk2DeploymentManager) Hk2DeploymentFactory.createJakartaEe91()
.getDisconnectedDeploymentManager(instanceUrl);
} else if(version != null && GlassFishVersion.ge(version, GlassFishVersion.GF_6)){
evaluatedDm = (Hk2DeploymentManager) Hk2DeploymentFactory.createJakartaEe9()
.getDisconnectedDeploymentManager(instanceUrl);
} else if(version != null && GlassFishVersion.ge(version, GlassFishVersion.GF_5_1_0)){
Expand All @@ -127,6 +130,10 @@ public ModuleConfiguration create(final @NonNull J2eeModule module,
? hk2dm
: evaluatedDm;
if (version != null
&& GlassFishVersion.ge(version, GlassFishVersion.GF_6_1_0)) {
retVal = new ModuleConfigurationImpl(
module, new Hk2Configuration(module, version), dm);
} else if (version != null
&& GlassFishVersion.ge(version, GlassFishVersion.GF_6)) {
retVal = new ModuleConfigurationImpl(
module, new Hk2Configuration(module, version), dm);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ LBL_V4ServerLibraries=GlassFish Server 4 Libraries
LBL_V5ServerLibraries=GlassFish Server 5 Libraries
LBL_V51ServerLibraries=GlassFish Server 5.1 Libraries
LBL_V6ServerLibraries=GlassFish Server 6 Libraries
LBL_V610ServerLibraries=GlassFish Server 6.1 Libraries

MSG_V1ServerPlatform=Unsupported GlassFish Server 1 Platform
MSG_V2ServerPlatform=Unsupported GlassFish Server 2 Platform
Expand All @@ -55,6 +56,7 @@ MSG_V4ServerPlatform=GlassFish Server 4 Platform
MSG_V5ServerPlatform=GlassFish Server 5 Platform
MSG_V51ServerPlatform=GlassFish Server 5.1 Platform
MSG_V6ServerPlatform=GlassFish Server 6 Platform
MSG_V610ServerPlatform=GlassFish Server 6.1 Platform

LBL_V3RunTimeDDCatalog=GlassFish Server 3 Catalog
DESC_V3RunTimeDDCatalog=List of all the runtime descriptors DTDs for GlassFish Server 3
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ public class Hk2DeploymentFactory implements DeploymentFactory {
private static Hk2DeploymentFactory ee8Instance;
private static Hk2DeploymentFactory jakartaee8Instance;
private static Hk2DeploymentFactory jakartaee9Instance;
private static Hk2DeploymentFactory jakartaee91Instance;
private String[] uriFragments;
private String version;
private String displayName;
Expand Down Expand Up @@ -135,6 +136,23 @@ public static synchronized DeploymentFactory createJakartaEe9() {
return jakartaee9Instance;
}

/**
* Stubbed in for NetBeans 12.4, awaiting release of Jakarta EE 9.1. Once Released,
* this will need to be modified accordingly.
* @return
*/
public static synchronized DeploymentFactory createJakartaEe91() {
// FIXME -- these strings should come from some constant place
if (jakartaee9Instance == null) {
ServerUtilities tmp = ServerUtilities.getJakartaEe9Utilities();
jakartaee9Instance = new Hk2DeploymentFactory(new String[]{"deployer:gfv610ee9:", "deployer:gfv610"}, "0.5", // NOI18N
NbBundle.getMessage(Hk2DeploymentFactory.class, "TXT_FactoryDisplayName")); // NOI18N
DeploymentFactoryManager.getInstance().registerDeploymentFactory(jakartaee9Instance);
jakartaee9Instance.setServerUtilities(tmp);
}
return jakartaee9Instance;
}

/**
*
* @param uri
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ public class Hk2JavaEEPlatformFactory extends J2eePlatformFactory {
private static final String V5_LOOKUP_KEY = "J2EE/DeploymentPlugins/gfv5ee8/Lookup";
private static final String V510_LOOKUP_KEY = "J2EE/DeploymentPlugins/gfv510ee8/Lookup";
private static final String V6_LOOKUP_KEY = "J2EE/DeploymentPlugins/gfv6ee9/Lookup";
private static final String V610_LOOKUP_KEY = "J2EE/DeploymentPlugins/gfv610ee9/Lookup";

/** GlassFish JavaEE platform factory singleton object. */
private static volatile Hk2JavaEEPlatformFactory instance;
Expand Down Expand Up @@ -101,7 +102,10 @@ public static Hk2JavaEEPlatformFactory getFactory() {
*/
private static String getDisplayName(final GlassFishVersion version) {
final int ord = version.ordinal();
if(ord >= GlassFishVersion.GF_6.ordinal()) {
if(ord >= GlassFishVersion.GF_6_1_0.ordinal()) {
return NbBundle.getMessage(
Hk2JavaEEPlatformFactory.class, "MSG_V610ServerPlatform");
} else if(ord >= GlassFishVersion.GF_6.ordinal()) {
return NbBundle.getMessage(
Hk2JavaEEPlatformFactory.class, "MSG_V6ServerPlatform");
} else if(ord >= GlassFishVersion.GF_5_1_0.ordinal()) {
Expand Down Expand Up @@ -135,7 +139,10 @@ private static String getDisplayName(final GlassFishVersion version) {
*/
private static String getLibraryName(final GlassFishVersion version) {
final int ord = version.ordinal();
if (ord >= GlassFishVersion.GF_6.ordinal()) {
if (ord >= GlassFishVersion.GF_6_1_0.ordinal()) {
return NbBundle.getMessage(
Hk2JavaEEPlatformFactory.class, "LBL_V610ServerLibraries");
} else if (ord >= GlassFishVersion.GF_6.ordinal()) {
return NbBundle.getMessage(
Hk2JavaEEPlatformFactory.class, "LBL_V6ServerLibraries");
} else if (ord >= GlassFishVersion.GF_5_1_0.ordinal()) {
Expand Down Expand Up @@ -169,7 +176,9 @@ private static String getLibraryName(final GlassFishVersion version) {
*/
private static String getLookupKey(final GlassFishVersion version) {
final int ord = version.ordinal();
if (ord >= GlassFishVersion.GF_6.ordinal()){
if (ord >= GlassFishVersion.GF_6_1_0.ordinal()){
return V610_LOOKUP_KEY;
} else if (ord >= GlassFishVersion.GF_6.ordinal()){
return V6_LOOKUP_KEY;
} else if (ord >= GlassFishVersion.GF_5_1_0.ordinal()){
return V510_LOOKUP_KEY;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,12 @@ public static Hk2OptionalFactory createJakartaEe9() {
t, true);
}

public static Hk2OptionalFactory createJakartaEe91() {
ServerUtilities t = ServerUtilities.getJakartaEe91Utilities();
return null == t ? null : new Hk2OptionalFactory(Hk2DeploymentFactory.createJakartaEe91(),
t, true);
}

@Override
public StartServer getStartServer(DeploymentManager dm) {
return new Hk2StartServer(dm);
Expand Down
Loading

0 comments on commit ca39b72

Please sign in to comment.