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 3f1fedc [NETBEANS-2400] Fix for AWS Cloud missing Regions new 4785964 Merge pull request #1312 from peedeeboy/NETBEANS-2400 3f1fedc is described below commit 3f1fedc68824c3b3ef92dd06ce554de14a7d8fc6 Author: Pete Whelpton <peedee...@gmail.com> AuthorDate: Thu Jun 20 18:23:21 2019 +0100 [NETBEANS-2400] Fix for AWS Cloud missing Regions --- enterprise/cloud.amazon/nbproject/project.xml | 22 ++-- .../modules/cloud/amazon/AmazonInstance.java | 117 +++++++++++---------- .../cloud/amazon/AmazonInstanceManager.java | 10 +- .../modules/cloud/amazon/AmazonRegion.java | 83 +++++++++++++++ .../serverplugin/AmazonDeploymentFactory.java | 7 +- .../serverplugin/AmazonDeploymentManager.java | 6 +- .../AmazonJ2EEServerInstanceProvider.java | 1 + .../serverplugin/AmazonJ2eePlatformImpl2.java | 5 +- .../cloud/amazon/ui/AmazonWizardComponent.java | 58 ++-------- .../cloud/amazon/ui/AmazonWizardIterator.java | 3 +- .../modules/cloud/amazon/ui/AmazonWizardPanel.java | 4 +- .../cloud/amazon/ui/ViewAdminConsoleAction.java | 10 +- .../AmazonJ2EEServerWizardComponent.java | 2 + .../modules/cloud/amazon/AmazonInstanceTest.java | 7 +- ....txt => aws-java-sdk-core-1.11.569-license.txt} | 10 +- ...e.txt => aws-java-sdk-core-1.11.569-notice.txt} | 0 enterprise/libs.amazon/external/binaries-list | 16 ++- .../external/httpclient-4.1.1-notice.txt | 8 -- ....1-license.txt => httpclient-4.5.5-license.txt} | 2 +- .../external/httpclient-4.5.5-notice.txt | 8 ++ .../libs.amazon/external/httpcore-4.1-notice.txt | 5 - ...-4.1-license.txt => httpcore-4.4.9-license.txt} | 2 +- .../libs.amazon/external/httpcore-4.4.9-notice.txt | 8 ++ ....1.1-license.txt => ion-java-1.0.2-license.txt} | 10 +- .../libs.amazon/external/ion-java-1.0.2-notice.txt | 2 + ...e.txt => jackson-annotations-2.6.0-license.txt} | 11 +- ...-license.txt => jackson-core-2.6.7-license.txt} | 11 +- .../external/jackson-core-2.6.7-notice.txt | 20 ++++ ...se.txt => jackson-databind-2.6.7.2-license.txt} | 10 +- .../external/jackson-databind-2.6.7.2-notice.txt | 20 ++++ ...t => jackson-dataformat-cbor-2.6.7-license.txt} | 10 +- ...2.1-license.txt => joda-time-2.8.1-license.txt} | 10 +- .../external/joda-time-2.8.1-notice.txt | 2 + .../libs.amazon/nbproject/project.properties | 31 +++++- enterprise/libs.amazon/nbproject/project.xml | 57 ++++++++-- .../org/netbeans/nbbuild/extlibs/ignored-overlaps | 5 + 36 files changed, 401 insertions(+), 192 deletions(-) diff --git a/enterprise/cloud.amazon/nbproject/project.xml b/enterprise/cloud.amazon/nbproject/project.xml index 71e09e5..ebfd373 100644 --- a/enterprise/cloud.amazon/nbproject/project.xml +++ b/enterprise/cloud.amazon/nbproject/project.xml @@ -31,7 +31,7 @@ <compile-dependency/> <run-dependency> <release-version>1</release-version> - <specification-version>1.0</specification-version> + <specification-version>1.16</specification-version> </run-dependency> </dependency> <dependency> @@ -105,6 +105,14 @@ </run-dependency> </dependency> <dependency> + <code-name-base>org.netbeans.modules.web.common</code-name-base> + <build-prerequisite/> + <compile-dependency/> + <run-dependency> + <specification-version>1.49</specification-version> + </run-dependency> + </dependency> + <dependency> <code-name-base>org.openide.awt</code-name-base> <build-prerequisite/> <compile-dependency/> @@ -137,14 +145,6 @@ </run-dependency> </dependency> <dependency> - <code-name-base>org.openide.util.ui</code-name-base> - <build-prerequisite/> - <compile-dependency/> - <run-dependency> - <specification-version>9.3</specification-version> - </run-dependency> - </dependency> - <dependency> <code-name-base>org.openide.util</code-name-base> <build-prerequisite/> <compile-dependency/> @@ -161,11 +161,11 @@ </run-dependency> </dependency> <dependency> - <code-name-base>org.netbeans.modules.web.common</code-name-base> + <code-name-base>org.openide.util.ui</code-name-base> <build-prerequisite/> <compile-dependency/> <run-dependency> - <specification-version>1.49</specification-version> + <specification-version>9.3</specification-version> </run-dependency> </dependency> </module-dependencies> diff --git a/enterprise/cloud.amazon/src/org/netbeans/modules/cloud/amazon/AmazonInstance.java b/enterprise/cloud.amazon/src/org/netbeans/modules/cloud/amazon/AmazonInstance.java index d432a84..b1aa517 100644 --- a/enterprise/cloud.amazon/src/org/netbeans/modules/cloud/amazon/AmazonInstance.java +++ b/enterprise/cloud.amazon/src/org/netbeans/modules/cloud/amazon/AmazonInstance.java @@ -24,12 +24,14 @@ import java.io.IOException; import java.util.List; import org.netbeans.modules.cloud.amazon.serverplugin.AmazonJ2EEInstance; import com.amazonaws.auth.AWSCredentials; +import com.amazonaws.auth.AWSStaticCredentialsProvider; import com.amazonaws.auth.BasicAWSCredentials; import com.amazonaws.services.elasticbeanstalk.AWSElasticBeanstalk; -import com.amazonaws.services.elasticbeanstalk.AWSElasticBeanstalkClient; +import com.amazonaws.services.elasticbeanstalk.AWSElasticBeanstalkClientBuilder; import com.amazonaws.services.elasticbeanstalk.model.ApplicationDescription; import com.amazonaws.services.elasticbeanstalk.model.CheckDNSAvailabilityRequest; import com.amazonaws.services.elasticbeanstalk.model.CheckDNSAvailabilityResult; +import com.amazonaws.services.elasticbeanstalk.model.ConfigurationOptionSetting; import com.amazonaws.services.elasticbeanstalk.model.CreateApplicationRequest; import com.amazonaws.services.elasticbeanstalk.model.CreateApplicationVersionRequest; import com.amazonaws.services.elasticbeanstalk.model.CreateEnvironmentRequest; @@ -41,7 +43,7 @@ import com.amazonaws.services.elasticbeanstalk.model.S3Location; import com.amazonaws.services.elasticbeanstalk.model.UpdateEnvironmentRequest; import com.amazonaws.services.elasticbeanstalk.model.UpdateEnvironmentResult; import com.amazonaws.services.s3.AmazonS3; -import com.amazonaws.services.s3.AmazonS3Client; +import com.amazonaws.services.s3.AmazonS3ClientBuilder; import com.amazonaws.services.s3.model.AmazonS3Exception; import com.amazonaws.services.s3.model.ObjectMetadata; import com.amazonaws.services.s3.model.PutObjectRequest; @@ -83,18 +85,24 @@ public class AmazonInstance { public static final String DEFAULT_EMPTY_APPLICATION = "empty-nb-app-1.0.war"; + private final String INSTANCEPROFILE_NAMESPACE = "aws:autoscaling:launchconfiguration"; // NOI18N + private final String INSTANCEPROFILE_OPTIONNAME = "IamInstanceProfile"; // NOI18N + private final String INSTANCEPROFILE_VALUE = "aws-elasticbeanstalk-ec2-role"; // NOI18N + private final String keyId; private final String key; private final String name; private final String regionUrl; + private final String regionCode; private ServerInstance serverInstance; - public AmazonInstance(String name, String keyId, String key, String regionURL) { + public AmazonInstance(String name, String keyId, String key, String regionURL, String regionCode) { this.keyId = keyId; this.key = key; this.name = name; this.regionUrl = regionURL; + this.regionCode = regionCode; } void setServerInstance(ServerInstance serverInstance) { @@ -121,6 +129,10 @@ public class AmazonInstance { return regionUrl; } + public String getRegionCode() { + return regionCode; + } + private AWSCredentials getCredentials() { return new BasicAWSCredentials(keyId, key); } @@ -131,10 +143,7 @@ public class AmazonInstance { public void testConnection() { assert !SwingUtilities.isEventDispatchThread(); - AWSElasticBeanstalk client = new AWSElasticBeanstalkClient(getCredentials()); - if (regionUrl != null) { - client.setEndpoint(regionUrl); - } + AWSElasticBeanstalk client = createAWSElasticBeanstalkClient(); client.createStorageLocation(); } @@ -144,10 +153,7 @@ public class AmazonInstance { // try { LOG.log(Level.INFO, "read AWS environments"); // NOI18N - AWSElasticBeanstalk client = new AWSElasticBeanstalkClient(getCredentials()); - if (regionUrl != null) { - client.setEndpoint(regionUrl); - } + AWSElasticBeanstalk client = createAWSElasticBeanstalkClient(); for (EnvironmentDescription ed : client.describeEnvironments().getEnvironments()) { AmazonJ2EEInstance inst = new AmazonJ2EEInstance(this, ed.getApplicationName(), ed.getEnvironmentName(), ed.getEnvironmentId(), @@ -172,10 +178,7 @@ public class AmazonInstance { try { LOG.log(Level.INFO, "read AWS applications"); // NOI18N - AWSElasticBeanstalk client = new AWSElasticBeanstalkClient(getCredentials()); - if (regionUrl != null) { - client.setEndpoint(regionUrl); - } + AWSElasticBeanstalk client = createAWSElasticBeanstalkClient(); for (ApplicationDescription ad : client.describeApplications().getApplications()) { res.add(ad.getApplicationName()); } @@ -196,10 +199,7 @@ public class AmazonInstance { try { LOG.log(Level.INFO, "read AWS application templates"); // NOI18N - AWSElasticBeanstalk client = new AWSElasticBeanstalkClient(getCredentials()); - if (regionUrl != null) { - client.setEndpoint(regionUrl); - } + AWSElasticBeanstalk client = createAWSElasticBeanstalkClient(); for (ApplicationDescription ad : client.describeApplications().getApplications()) { res.put(ad.getApplicationName(), ad.getConfigurationTemplates()); } @@ -217,10 +217,7 @@ public class AmazonInstance { try { LOG.log(Level.INFO, "read AWS solution stacks"); // NOI18N - AWSElasticBeanstalk client = new AWSElasticBeanstalkClient(getCredentials()); - if (regionUrl != null) { - client.setEndpoint(regionUrl); - } + AWSElasticBeanstalk client = createAWSElasticBeanstalkClient(); res = client.listAvailableSolutionStacks().getSolutionStacks(); LOG.log(Level.INFO, "solution stacks available: "+res); // NOI18N } catch (AmazonClientException ex) { @@ -232,31 +229,31 @@ public class AmazonInstance { public boolean checkURLValidity(String url) { assert !SwingUtilities.isEventDispatchThread(); - AWSElasticBeanstalk client = new AWSElasticBeanstalkClient(getCredentials()); - if (regionUrl != null) { - client.setEndpoint(regionUrl); - } + AWSElasticBeanstalk client = createAWSElasticBeanstalkClient(); CheckDNSAvailabilityResult res = client.checkDNSAvailability(new CheckDNSAvailabilityRequest(url)); return res.isAvailable(); } public void createApplication(String appName) { assert !SwingUtilities.isEventDispatchThread(); - AWSElasticBeanstalk client = new AWSElasticBeanstalkClient(getCredentials()); - if (regionUrl != null) { - client.setEndpoint(regionUrl); - } + AWSElasticBeanstalk client = createAWSElasticBeanstalkClient(); CreateApplicationRequest req = new CreateApplicationRequest(appName); client.createApplication(req).getApplication(); } public S3Location createDefaultEmptyApplication() { assert !SwingUtilities.isEventDispatchThread(); - AWSElasticBeanstalk client = new AWSElasticBeanstalkClient(getCredentials()); - if (regionUrl != null) { - client.setEndpoint(regionUrl); - } - AmazonS3 s3 = new AmazonS3Client(getCredentials(keyId, key)); + + AWSStaticCredentialsProvider creds = new AWSStaticCredentialsProvider(getCredentials(keyId, key)); + + AWSElasticBeanstalk client = AWSElasticBeanstalkClientBuilder.standard() + .withCredentials(creds) + .withRegion(regionCode) + .build(); + AmazonS3 s3 = AmazonS3ClientBuilder.standard() + .withCredentials(creds) + .withRegion(regionCode) + .build(); String bucket = client.createStorageLocation().getS3Bucket(); boolean exist = false; @@ -282,10 +279,7 @@ public class AmazonInstance { public void createInitialEmptyApplication(String appName) { assert !SwingUtilities.isEventDispatchThread(); - AWSElasticBeanstalk client = new AWSElasticBeanstalkClient(getCredentials()); - if (regionUrl != null) { - client.setEndpoint(regionUrl); - } + AWSElasticBeanstalk client = createAWSElasticBeanstalkClient(); S3Location slocation = createDefaultEmptyApplication(); CreateApplicationVersionRequest req = new CreateApplicationVersionRequest(appName, "blank application from NetBeans"). @@ -295,12 +289,16 @@ public class AmazonInstance { public String createEnvironment(String appName, String envName, String url, String containerType, String template) { assert !SwingUtilities.isEventDispatchThread(); - AWSElasticBeanstalk client = new AWSElasticBeanstalkClient(getCredentials()); - if (regionUrl != null) { - client.setEndpoint(regionUrl); - } + AWSElasticBeanstalk client = createAWSElasticBeanstalkClient(); + + ConfigurationOptionSetting instanceProfileSetting = + new ConfigurationOptionSetting(INSTANCEPROFILE_NAMESPACE, + INSTANCEPROFILE_OPTIONNAME, + INSTANCEPROFILE_VALUE); + CreateEnvironmentRequest req = new CreateEnvironmentRequest(appName, envName). withCNAMEPrefix(url). + withOptionSettings(instanceProfileSetting). withSolutionStackName(containerType); if (template != null) { req = req.withTemplateName(template); @@ -310,12 +308,12 @@ public class AmazonInstance { public static Future<DeploymentStatus> deployAsync(final File f, final String applicationName, final String environmentId, final String keyId, final String key, - final ProgressObjectImpl po, final String regionUrl) { + final ProgressObjectImpl po, final String regionCode) { return runAsynchronously(new Callable<DeploymentStatus>() { @Override public DeploymentStatus call() throws Exception { String url[] = new String[1]; - DeploymentStatus ds = deploy(f, applicationName, environmentId, keyId, key, po, url, regionUrl); + DeploymentStatus ds = deploy(f, applicationName, environmentId, keyId, key, po, url, regionCode); LOG.log(Level.INFO, "deployment result: "+ds); // NOI18N po.updateDepoymentResult(ds, url[0]); return ds; @@ -325,7 +323,7 @@ public class AmazonInstance { public static DeploymentStatus deploy(File f, String applicationName, String environmentId, String keyId, String key, - ProgressObjectImpl po, String[] url, String regionUrl) { + ProgressObjectImpl po, String[] url, String regionCode) { assert !SwingUtilities.isEventDispatchThread(); try { if (po != null) { @@ -336,12 +334,18 @@ public class AmazonInstance { } } LOG.log(Level.INFO, "deploy to AWS["+environmentId+"] "+f); // NOI18N - AWSElasticBeanstalk client = new AWSElasticBeanstalkClient(getCredentials(keyId, key)); - if (regionUrl != null) { - client.setEndpoint(regionUrl); - } - AmazonS3 s3 = new AmazonS3Client(getCredentials(keyId, key)); - + + AWSStaticCredentialsProvider creds = new AWSStaticCredentialsProvider(getCredentials(keyId, key)); + + AWSElasticBeanstalk client = AWSElasticBeanstalkClientBuilder.standard() + .withCredentials(creds) + .withRegion(regionCode) + .build(); + AmazonS3 s3 = AmazonS3ClientBuilder.standard() + .withCredentials(creds) + .withRegion(regionCode) + .build(); + if (po != null) { po.updateDepoymentStage(NbBundle.getMessage(AmazonInstance.class, "MSG_DEPLOY_UPLOAD")); } @@ -451,4 +455,11 @@ public class AmazonInstance { os.write(buffer, 0, read); } } + + private AWSElasticBeanstalk createAWSElasticBeanstalkClient() { + return AWSElasticBeanstalkClientBuilder.standard() + .withCredentials(new AWSStaticCredentialsProvider(getCredentials())) + .withRegion(regionCode) + .build(); + } } diff --git a/enterprise/cloud.amazon/src/org/netbeans/modules/cloud/amazon/AmazonInstanceManager.java b/enterprise/cloud.amazon/src/org/netbeans/modules/cloud/amazon/AmazonInstanceManager.java index 1a5ca14..22d8b7d 100644 --- a/enterprise/cloud.amazon/src/org/netbeans/modules/cloud/amazon/AmazonInstanceManager.java +++ b/enterprise/cloud.amazon/src/org/netbeans/modules/cloud/amazon/AmazonInstanceManager.java @@ -39,6 +39,7 @@ public class AmazonInstanceManager { private static final String KEY_ID = "access-key-id"; // NOI18N private static final String KEY = "secret-access-key"; // NOI18N private static final String REGION = "region"; // NOI18N + private static final String CODE = "code"; // NOI18N private static AmazonInstanceManager instance; private List<AmazonInstance> instances = new ArrayList<AmazonInstance>(); @@ -91,6 +92,7 @@ public class AmazonInstanceManager { props.putString("name", ai.getName()); // NOI18N props.putString("region", ai.getRegionURL()); // NOI18N + props.putString("code", ai.getRegionCode()); // NOI18N } @@ -100,6 +102,12 @@ public class AmazonInstanceManager { String name = props.getString("name", null); // NOI18N assert name != null : "Instance without name"; String region = props.getString(REGION, null); // NOI18N + String code = props.getString(CODE, null); // NOI18N + + if(code == null) { + AmazonRegion r = (AmazonRegion) AmazonRegion.findRegion(region); + code = r.getCode(); + } char ch[] = Keyring.read(PREFIX+KEY_ID+"."+name); if (ch == null) { @@ -113,7 +121,7 @@ public class AmazonInstanceManager { continue; } String key = new String(ch); - result.add(new AmazonInstance(name, keyId, key, region)); + result.add(new AmazonInstance(name, keyId, key, region, code)); } return result; } diff --git a/enterprise/cloud.amazon/src/org/netbeans/modules/cloud/amazon/AmazonRegion.java b/enterprise/cloud.amazon/src/org/netbeans/modules/cloud/amazon/AmazonRegion.java new file mode 100644 index 0000000..f6fe961 --- /dev/null +++ b/enterprise/cloud.amazon/src/org/netbeans/modules/cloud/amazon/AmazonRegion.java @@ -0,0 +1,83 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.netbeans.modules.cloud.amazon; + +/** + * + * @author peedeeboy + */ +public enum AmazonRegion { + + US_EAST_2("US East (Ohio) Region", "elasticbeanstalk.us-east-2.amazonaws.com", "us-east-2"), + US_EAST_1("US East (Northern Virginia) Region", "elasticbeanstalk.us-east-1.amazonaws.com", "us-east-1"), + US_WEST_1("US West (Northern California) Region", "elasticbeanstalk.us-west-1.amazonaws.com", "us-west-1"), + US_WEST_2("US West (Oregon) Region", "elasticbeanstalk.us-west-2.amazonaws.com", " us-west-2"), + EU_WEST_1("EU (Ireland) Region", "elasticbeanstalk.eu-west-1.amazonaws.com", "eu-west-1"), + EU_CENTRAL_1("EU (Frankfurt) Region", "elasticbeanstalk.eu-central-1.amazonaws.com", "eu-central-1"), + EU_WEST_2("EU (London) Region", "elasticbeanstalk.eu-west-2.amazonaws.com", "eu-west-2"), + EU_WEST_3("EU (Paris) Region", "elasticbeanstalk.eu-west-3.amazonaws.com", "eu-west-3"), + EU_NORTH_1("EU (Stockholm) Region", "elasticbeanstalk.eu-north-1.amazonaws.com", "eu-north-1"), + AP_EAST_1("Asia Pacific (Hong Kong) Region", "elasticbeanstalk.ap-east-1.amazonaws.com", "ap-east-1"), + AP_SOUTH_1("Asia Pacific (Mumbai) Region", "elasticbeanstalk.ap-south-1.amazonaws.com", "ap-south-1"), + AP_NORTHEAST_3("Asia Pacific (Osaka) Region", "elasticbeanstalk.ap-northeast-3.amazonaws.com", "ap-northeast-3"), + AP_NORTHEAST_1("Asia Pacific (Tokyo) Region", "elasticbeanstalk.ap-northeast-1.amazonaws.com", "ap-northeast-1"), + AP_NORTHEAST_2("Asia Pacific (Seoul) Region", "elasticbeanstalk.ap-northeast-2.amazonaws.com", "ap-northeast-2"), + AP_SOUTHEAST_1("Asia Pacific (Singapore) Region", "elasticbeanstalk.ap-southeast-1.amazonaws.com", "ap-southeast-1"), + AP_SOUTHEAST_2("Asia Pacific (Sydney) Region", "elasticbeanstalk.ap-southeast-2.amazonaws.com", "ap-southeast-2"), + SA_EAST_1("South America (Sao Paulo) Region", "elasticbeanstalk.sa-east-1.amazonaws.com", "sa-east-1"), + CA_CENTRAL_1("Canada (Central) Region", "elasticbeanstalk.ca-central-1.amazonaws.com", "ca-central-1"), + CN_NORTH_1("China (Beijing) Region", "elasticbeanstalk.cn-north-1.amazonaws.com.cn", "cn-north-1"), + CN_NORTHWEST_1("China (Ningxia) Region", "elasticbeanstalk.cn-northwest-1.amazonaws.com.cn", "cn-northwest-1"); + + private String name; + private String url; + private String code; + + private AmazonRegion(String name, String url, String code) { + this.name = name; + this.url = url; + this.code = code; + } + + public String getName() { + return name; + } + + public String getUrl() { + return url; + } + + public String getCode() { + return code; + } + + @Override + public String toString() { + return name; + } + + public static Object findRegion(String regionURL) { + for (AmazonRegion r : values()) { + if (r.getUrl().equals(regionURL)) { + return r; + } + } + return null; + } +} diff --git a/enterprise/cloud.amazon/src/org/netbeans/modules/cloud/amazon/serverplugin/AmazonDeploymentFactory.java b/enterprise/cloud.amazon/src/org/netbeans/modules/cloud/amazon/serverplugin/AmazonDeploymentFactory.java index 90dc369..234decd 100644 --- a/enterprise/cloud.amazon/src/org/netbeans/modules/cloud/amazon/serverplugin/AmazonDeploymentFactory.java +++ b/enterprise/cloud.amazon/src/org/netbeans/modules/cloud/amazon/serverplugin/AmazonDeploymentFactory.java @@ -38,6 +38,7 @@ public class AmazonDeploymentFactory implements DeploymentFactory { public static final String IP_KEY = "access-key"; // NOI18N public static final String IP_CONTAINER_TYPE = "container-type"; // NOI18N public static final String IP_REGION_URL = "region-url"; // NOI18N + public static final String IP_REGION_CODE = "region-code"; // NOI18N @Override public boolean handlesURI(String string) { @@ -49,14 +50,16 @@ public class AmazonDeploymentFactory implements DeploymentFactory { String password) throws DeploymentManagerCreationException { InstanceProperties props = InstanceProperties.getInstanceProperties(uri); return new AmazonDeploymentManager(props.getProperty(IP_APPLICATION_NAME), props.getProperty(IP_ENVIRONMENT_ID), - props.getProperty(IP_KEY_ID), props.getProperty(IP_KEY), props.getProperty(IP_CONTAINER_TYPE), props.getProperty(IP_REGION_URL)); + props.getProperty(IP_KEY_ID), props.getProperty(IP_KEY), props.getProperty(IP_CONTAINER_TYPE), props.getProperty(IP_REGION_URL), + props.getProperty(IP_REGION_CODE)); } @Override public DeploymentManager getDisconnectedDeploymentManager(String uri) throws DeploymentManagerCreationException { InstanceProperties props = InstanceProperties.getInstanceProperties(uri); return new AmazonDeploymentManager(props.getProperty(IP_APPLICATION_NAME), props.getProperty(IP_ENVIRONMENT_ID), - props.getProperty(IP_KEY_ID), props.getProperty(IP_KEY), props.getProperty(IP_CONTAINER_TYPE), props.getProperty(IP_REGION_URL)); + props.getProperty(IP_KEY_ID), props.getProperty(IP_KEY), props.getProperty(IP_CONTAINER_TYPE), props.getProperty(IP_REGION_URL), + props.getProperty(IP_REGION_CODE)); } @Override diff --git a/enterprise/cloud.amazon/src/org/netbeans/modules/cloud/amazon/serverplugin/AmazonDeploymentManager.java b/enterprise/cloud.amazon/src/org/netbeans/modules/cloud/amazon/serverplugin/AmazonDeploymentManager.java index 07417d8..bc5380c 100644 --- a/enterprise/cloud.amazon/src/org/netbeans/modules/cloud/amazon/serverplugin/AmazonDeploymentManager.java +++ b/enterprise/cloud.amazon/src/org/netbeans/modules/cloud/amazon/serverplugin/AmazonDeploymentManager.java @@ -51,14 +51,16 @@ public class AmazonDeploymentManager implements DeploymentManager2 { private String key; private String containerType; private String regionUrl; + private String regionCode; - public AmazonDeploymentManager(String appName, String envID, String keyId, String key, String containerType, String regionUrl) { + public AmazonDeploymentManager(String appName, String envID, String keyId, String key, String containerType, String regionUrl, String regionCode) { this.appName = appName; this.envID = envID; this.keyId = keyId; this.key = key; this.containerType = containerType; this.regionUrl = regionUrl; + this.regionCode = regionCode; } @Override @@ -70,7 +72,7 @@ public class AmazonDeploymentManager implements DeploymentManager2 { public ProgressObject distribute(Target[] targets, DeploymentContext deployment) { File f = deployment.getModuleFile(); ProgressObjectImpl po = new ProgressObjectImpl(NbBundle.getMessage(AmazonDeploymentManager.class, "AmazonDeploymentManager.distributing"), false); - AmazonInstance.deployAsync(f, appName, envID, keyId, key, po, regionUrl); + AmazonInstance.deployAsync(f, appName, envID, keyId, key, po, regionCode); return po; } diff --git a/enterprise/cloud.amazon/src/org/netbeans/modules/cloud/amazon/serverplugin/AmazonJ2EEServerInstanceProvider.java b/enterprise/cloud.amazon/src/org/netbeans/modules/cloud/amazon/serverplugin/AmazonJ2EEServerInstanceProvider.java index a1b5fd4..3bd8647 100644 --- a/enterprise/cloud.amazon/src/org/netbeans/modules/cloud/amazon/serverplugin/AmazonJ2EEServerInstanceProvider.java +++ b/enterprise/cloud.amazon/src/org/netbeans/modules/cloud/amazon/serverplugin/AmazonJ2EEServerInstanceProvider.java @@ -94,6 +94,7 @@ public final class AmazonJ2EEServerInstanceProvider implements ServerInstancePro props.put(AmazonDeploymentFactory.IP_CONTAINER_TYPE, inst.getContainerType()); props.put(InstanceProperties.URL_ATTR, inst.getId()); props.put(AmazonDeploymentFactory.IP_REGION_URL, ai.getRegionURL()); + props.put(AmazonDeploymentFactory.IP_REGION_CODE, ai.getRegionCode()); try { ip = InstanceProperties.createInstancePropertiesNonPersistent(inst.getId(), ai.getKeyId(), ai.getKey(), inst.getDisplayName(), props); diff --git a/enterprise/cloud.amazon/src/org/netbeans/modules/cloud/amazon/serverplugin/AmazonJ2eePlatformImpl2.java b/enterprise/cloud.amazon/src/org/netbeans/modules/cloud/amazon/serverplugin/AmazonJ2eePlatformImpl2.java index 397ba0f..fdf0f42 100644 --- a/enterprise/cloud.amazon/src/org/netbeans/modules/cloud/amazon/serverplugin/AmazonJ2eePlatformImpl2.java +++ b/enterprise/cloud.amazon/src/org/netbeans/modules/cloud/amazon/serverplugin/AmazonJ2eePlatformImpl2.java @@ -94,7 +94,10 @@ public class AmazonJ2eePlatformImpl2 extends J2eePlatformImpl2 { return new HashSet<Profile>(Arrays.<Profile>asList(new Profile[]{Profile.JAVA_EE_5, Profile.J2EE_14})); } else if (dm.getContainerType().contains("Tomcat 7")) { return new HashSet<Profile>(Arrays.<Profile>asList(new Profile[]{Profile.JAVA_EE_6_FULL, Profile.JAVA_EE_6_WEB, Profile.JAVA_EE_5, Profile.J2EE_14})); - } else { + } else if (dm.getContainerType().contains("Tomcat 8")) { + return new HashSet<Profile>(Arrays.<Profile>asList(new Profile[]{Profile.JAVA_EE_7_FULL, Profile.JAVA_EE_7_WEB, Profile.JAVA_EE_6_FULL, Profile.JAVA_EE_6_WEB, Profile.JAVA_EE_5, Profile.J2EE_14})); + } + else { return new HashSet<Profile>(Arrays.<Profile>asList(new Profile[]{Profile.JAVA_EE_6_FULL, Profile.JAVA_EE_6_WEB, Profile.JAVA_EE_5, Profile.J2EE_14})); } } diff --git a/enterprise/cloud.amazon/src/org/netbeans/modules/cloud/amazon/ui/AmazonWizardComponent.java b/enterprise/cloud.amazon/src/org/netbeans/modules/cloud/amazon/ui/AmazonWizardComponent.java index 8ec4154..8f88425 100644 --- a/enterprise/cloud.amazon/src/org/netbeans/modules/cloud/amazon/ui/AmazonWizardComponent.java +++ b/enterprise/cloud.amazon/src/org/netbeans/modules/cloud/amazon/ui/AmazonWizardComponent.java @@ -20,11 +20,13 @@ package org.netbeans.modules.cloud.amazon.ui; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; import javax.swing.DefaultComboBoxModel; import javax.swing.event.DocumentEvent; import javax.swing.event.DocumentListener; import org.netbeans.modules.cloud.amazon.AmazonInstance; +import org.netbeans.modules.cloud.amazon.AmazonRegion; import org.openide.util.NbBundle; /** @@ -33,7 +35,7 @@ import org.openide.util.NbBundle; public class AmazonWizardComponent extends javax.swing.JPanel implements DocumentListener { private AmazonWizardPanel panel; - private List<Region> regions; + private List<AmazonRegion> regions; /** Creates new form AmazonWizardComponent */ public AmazonWizardComponent(AmazonWizardPanel panel, AmazonInstance ai) { @@ -48,24 +50,14 @@ public class AmazonWizardComponent extends javax.swing.JPanel implements Documen accessKey.setEditable(false); secret.setEditable(false); jRegionComboBox.setEnabled(false); - jRegionComboBox.setSelectedItem(findRegion(ai.getRegionURL())); + jRegionComboBox.setSelectedItem(AmazonRegion.findRegion(ai.getRegionURL())); } accessKey.getDocument().addDocumentListener(this); secret.getDocument().addDocumentListener(this); } private void initRegions() { - regions = new ArrayList<Region>(); - regions.add(new Region("US East (Northern Virginia) Region", "elasticbeanstalk.us-east-1.amazonaws.com")); - regions.add(new Region("US West (Northern California) Region", "elasticbeanstalk.us-west-1.amazonaws.com")); - regions.add(new Region("US West (Oregon) Region", "elasticbeanstalk.us-west-2.amazonaws.com")); - regions.add(new Region("EU (Ireland) Region", "elasticbeanstalk.eu-west-1.amazonaws.com")); - regions.add(new Region("EU (Frankfurt) Region", "elasticbeanstalk.eu-central-1.amazonaws.com")); - regions.add(new Region("Asia Pacific (Tokyo) Region", "elasticbeanstalk.ap-northeast-1.amazonaws.com")); - regions.add(new Region("Asia Pacific (Seoul) Region", "elasticbeanstalk.ap-northeast-2.amazonaws.com")); - regions.add(new Region("Asia Pacific (Singapore) Region", "elasticbeanstalk.ap-southeast-1.amazonaws.com")); - regions.add(new Region("Asia Pacific (Sydney) Region", "elasticbeanstalk.ap-southeast-2.amazonaws.com")); - regions.add(new Region("South America (Sao Paulo) Region", "elasticbeanstalk.sa-east-1.amazonaws.com")); + regions = new ArrayList<AmazonRegion>(Arrays.asList(AmazonRegion.values())); } /** This method is called from within the constructor to @@ -144,7 +136,11 @@ public class AmazonWizardComponent extends javax.swing.JPanel implements Documen } public String getRegionUrl() { - return ((Region)jRegionComboBox.getSelectedItem()).getUrl(); + return ((AmazonRegion)jRegionComboBox.getSelectedItem()).getUrl(); + } + + public String getRegionCode() { + return ((AmazonRegion)jRegionComboBox.getSelectedItem()).getCode(); } @Override @@ -167,38 +163,4 @@ public class AmazonWizardComponent extends javax.swing.JPanel implements Documen panel.fireChange(); } } - - private Object findRegion(String regionURL) { - for (Region r : regions) { - if (r.getUrl().equals(regionURL)) { - return r; - } - } - return regions.get(0); - } - - private static class Region { - private String name; - private String url; - - public Region(String name, String url) { - this.name = name; - this.url = url; - } - - public String getName() { - return name; - } - - public String getUrl() { - return url; - } - - @Override - public String toString() { - return name; - } - - - } } diff --git a/enterprise/cloud.amazon/src/org/netbeans/modules/cloud/amazon/ui/AmazonWizardIterator.java b/enterprise/cloud.amazon/src/org/netbeans/modules/cloud/amazon/ui/AmazonWizardIterator.java index f572dc4..d95789a 100644 --- a/enterprise/cloud.amazon/src/org/netbeans/modules/cloud/amazon/ui/AmazonWizardIterator.java +++ b/enterprise/cloud.amazon/src/org/netbeans/modules/cloud/amazon/ui/AmazonWizardIterator.java @@ -55,8 +55,9 @@ public class AmazonWizardIterator implements WizardDescriptor.InstantiatingItera String name = (String)wizard.getProperty(PROP_DISPLAY_NAME); assert name != null; String regionUrl = (String)wizard.getProperty(AmazonWizardPanel.REGION); + String regionCode = (String)wizard.getProperty(AmazonWizardPanel.CODE); - AmazonInstanceManager.getDefault().add(new AmazonInstance(name, keyId, key, regionUrl)); + AmazonInstanceManager.getDefault().add(new AmazonInstance(name, keyId, key, regionUrl, regionCode)); return Collections.emptySet(); } diff --git a/enterprise/cloud.amazon/src/org/netbeans/modules/cloud/amazon/ui/AmazonWizardPanel.java b/enterprise/cloud.amazon/src/org/netbeans/modules/cloud/amazon/ui/AmazonWizardPanel.java index 955178e..588c676 100644 --- a/enterprise/cloud.amazon/src/org/netbeans/modules/cloud/amazon/ui/AmazonWizardPanel.java +++ b/enterprise/cloud.amazon/src/org/netbeans/modules/cloud/amazon/ui/AmazonWizardPanel.java @@ -46,6 +46,7 @@ public class AmazonWizardPanel implements WizardDescriptor.AsynchronousValidatin public static final String KEY_ID = "access-key-id"; // String public static final String KEY = "secret-access-key"; // String public static final String REGION = "region"; // String + public static final String CODE = "code"; // String private ChangeSupport listeners; private AmazonWizardComponent component; @@ -90,6 +91,7 @@ public class AmazonWizardPanel implements WizardDescriptor.AsynchronousValidatin settings.putProperty(KEY, component.getKey()); settings.putProperty(CloudResourcesWizardPanel.PROP_SERVER_RESOURCES, servers); settings.putProperty(REGION, component.getRegionUrl()); + settings.putProperty(CODE, component.getRegionCode()); } } @@ -135,7 +137,7 @@ public class AmazonWizardPanel implements WizardDescriptor.AsynchronousValidatin public void validate() throws WizardValidationException { try { servers = new ArrayList<ServerResourceDescriptor>(); - AmazonInstance ai = new AmazonInstance("temporary", component.getKeyId(), component.getKey(), component.getRegionUrl()); + AmazonInstance ai = new AmazonInstance("temporary", component.getKeyId(), component.getKey(), component.getRegionUrl(), component.getRegionCode()); try { ai.testConnection(); } catch (AmazonClientException ex) { diff --git a/enterprise/cloud.amazon/src/org/netbeans/modules/cloud/amazon/ui/ViewAdminConsoleAction.java b/enterprise/cloud.amazon/src/org/netbeans/modules/cloud/amazon/ui/ViewAdminConsoleAction.java index 7c09ee2..35ed421 100644 --- a/enterprise/cloud.amazon/src/org/netbeans/modules/cloud/amazon/ui/ViewAdminConsoleAction.java +++ b/enterprise/cloud.amazon/src/org/netbeans/modules/cloud/amazon/ui/ViewAdminConsoleAction.java @@ -34,14 +34,8 @@ public class ViewAdminConsoleAction extends NodeAction { @Override protected void performAction(Node[] activatedNodes) { AmazonInstance ai = activatedNodes[0].getLookup().lookup(AmazonInstance.class); - String region = ai.getRegionURL(); - if (region != null) { - if (region.startsWith("elasticbeanstalk.") && region.endsWith(".amazonaws.com")) { // NOI18N - region = region.substring(17, region.length()-14); - } else { - region = null; - } - } + String region = ai.getRegionCode(); + URL url = WebUtils.stringToUrl("https://console.aws.amazon.com/elasticbeanstalk/home" + (region != null ? "?region="+region : "")); // NOI18N HtmlBrowser.URLDisplayer.getDefault().showURL(url); diff --git a/enterprise/cloud.amazon/src/org/netbeans/modules/cloud/amazon/ui/serverplugin/AmazonJ2EEServerWizardComponent.java b/enterprise/cloud.amazon/src/org/netbeans/modules/cloud/amazon/ui/serverplugin/AmazonJ2EEServerWizardComponent.java index f427c91..e8dc1da 100644 --- a/enterprise/cloud.amazon/src/org/netbeans/modules/cloud/amazon/ui/serverplugin/AmazonJ2EEServerWizardComponent.java +++ b/enterprise/cloud.amazon/src/org/netbeans/modules/cloud/amazon/ui/serverplugin/AmazonJ2EEServerWizardComponent.java @@ -50,6 +50,7 @@ public class AmazonJ2EEServerWizardComponent extends javax.swing.JPanel implemen private Map<String, List<String>> templates; private static final String SUFFIX = "-dev-env"; + private final String CONTAINER_FILER = "Tomcat"; // NOI18N /** Creates new form AmazonJ2EEServerWizardComponent */ public AmazonJ2EEServerWizardComponent(AmazonJ2EEServerWizardPanel wizardPanel, String suggestedName, AmazonJ2EEInstance aji) { @@ -440,6 +441,7 @@ public class AmazonJ2EEServerWizardComponent extends javax.swing.JPanel implemen @Override public Void call() { final List<String> containers = ai.readContainerTypes(); + containers.removeIf(c -> !c.contains(CONTAINER_FILER)); SwingUtilities.invokeLater(new Runnable() { @Override public void run() { diff --git a/enterprise/cloud.amazon/test/unit/src/org/netbeans/modules/cloud/amazon/AmazonInstanceTest.java b/enterprise/cloud.amazon/test/unit/src/org/netbeans/modules/cloud/amazon/AmazonInstanceTest.java index dbc6d7b..7c144f8 100644 --- a/enterprise/cloud.amazon/test/unit/src/org/netbeans/modules/cloud/amazon/AmazonInstanceTest.java +++ b/enterprise/cloud.amazon/test/unit/src/org/netbeans/modules/cloud/amazon/AmazonInstanceTest.java @@ -36,9 +36,10 @@ public class AmazonInstanceTest { @Test public void testCreateEmptyWar() throws IOException { - AmazonInstance ai = new AmazonInstance("dommy", "dummy", "dummy", "dummy"); + AmazonInstance ai = new AmazonInstance("dommy", "dummy", "dummy", "dummy", "dummy"); byte[] warData = ai.createEmptyWar(); - Files.write(Paths.get("/home/matthias/test.zip"), warData, StandardOpenOption.CREATE, StandardOpenOption.WRITE); + String filePath = System.getProperty("java.io.tmpdir") + "/test.zip"; + Files.write(Paths.get(filePath), warData, StandardOpenOption.CREATE, StandardOpenOption.WRITE); Assert.assertNotNull(warData); Assert.assertTrue(warData.length > 0); boolean welcomePageFound = false; @@ -59,6 +60,8 @@ public class AmazonInstanceTest { Assert.assertTrue(welcomePageFound); Assert.assertTrue(webXmlFound); Assert.assertTrue(manifestFound); + + Files.deleteIfExists(Paths.get(filePath)); } private boolean streamContainsData(InputStream is) throws IOException { diff --git a/enterprise/libs.amazon/external/aws-java-sdk-1.2.1-license.txt b/enterprise/libs.amazon/external/aws-java-sdk-core-1.11.569-license.txt similarity index 97% copy from enterprise/libs.amazon/external/aws-java-sdk-1.2.1-license.txt copy to enterprise/libs.amazon/external/aws-java-sdk-core-1.11.569-license.txt index fda3391..fbd3671 100644 --- a/enterprise/libs.amazon/external/aws-java-sdk-1.2.1-license.txt +++ b/enterprise/libs.amazon/external/aws-java-sdk-core-1.11.569-license.txt @@ -1,9 +1,11 @@ -Name: AWS SDK For Java +Name: AWS SDK for Java Origin: Amazon Web Services -Version: 1.2.1 +Version: 1.11.569 License: Apache-2.0 -Description: Amazon Web Services SDK for Java -URL: http://aws.amazon.com/sdkforjava/ +Description: The AWS SDK for Java +URL: https://aws.amazon.com/sdkforjava/ +Files: aws-java-sdk-core-1.11.569.jar, aws-java-sdk-elasticbeanstalk-1.11.569.jar, aws-java-sdk-kms-1.11.569.jar, aws-java-sdk-s3-1.11.569.jar, jmespath-java-1.11.569.jar + Apache License Version 2.0, January 2004 diff --git a/enterprise/libs.amazon/external/aws-java-sdk-1.2.1-notice.txt b/enterprise/libs.amazon/external/aws-java-sdk-core-1.11.569-notice.txt similarity index 100% rename from enterprise/libs.amazon/external/aws-java-sdk-1.2.1-notice.txt rename to enterprise/libs.amazon/external/aws-java-sdk-core-1.11.569-notice.txt diff --git a/enterprise/libs.amazon/external/binaries-list b/enterprise/libs.amazon/external/binaries-list index c58cccf..7b88ede 100644 --- a/enterprise/libs.amazon/external/binaries-list +++ b/enterprise/libs.amazon/external/binaries-list @@ -14,6 +14,16 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -8BFEBCD4B39B87BBE788B4EECED068C8DBE75822 com.amazonaws:aws-java-sdk:1.2.1 -3D1D918F32709E33BA7DDB2C4E8D1C543EBE713E org.apache.httpcomponents:httpclient:4.1.1 -33FC26C02F8043AB0EDE19EADC8C9885386B255C org.apache.httpcomponents:httpcore:4.1 +8F212989F934A378A5A9CE6BA04EE7CD4786419A com.amazonaws:aws-java-sdk-elasticbeanstalk:1.11.569 +1F0F2303C07C939CBE67708B094A84CC3D96D0D8 com.amazonaws:aws-java-sdk-s3:1.11.569 +0B27C314669F67FB6696826CF35DB842DC1C4BE3 com.amazonaws:aws-java-sdk-core:1.11.569 +EC8C51965DF3D885FD86F1B10BB01DD9C5259D60 com.amazonaws:aws-java-sdk-kms:1.11.569 +68FABCF08493C3554BB22D845FB7E9E64F38D61A com.amazonaws:jmespath-java:1.11.569 +F5BFC718C95A7B1D3C371BB02A188A4DF18361A9 joda-time:joda-time:2.8.1 +1603DFD56EBCD583CCDF337B6C3984AC55D89E58 org.apache.httpcomponents:httpclient:4.5.5 +A86CE739E5A7175B4B234C290A00A5FDB80957A0 org.apache.httpcomponents:httpcore:4.4.9 +EE9DACEA7726E495F8352B81C12C23834FFBC564 software.amazon.ion:ion-java:1.0.2 +A0990E2E812AC6639B6CE955C91B13228500476E com.fasterxml.jackson.core:jackson-annotations:2.6.0 +81838E08D5E10E33CDEE7299F9682D836B78C63E com.fasterxml.jackson.core:jackson-core:2.6.7 +7E405A7EA9AA34C8477C10E1CCC023D931E1D76D com.fasterxml.jackson.core:jackson-databind:2.6.7.2 +BA9E74B11135B18248E960DF657A2B86AE77A079 com.fasterxml.jackson.dataformat:jackson-dataformat-cbor:2.6.7 \ No newline at end of file diff --git a/enterprise/libs.amazon/external/httpclient-4.1.1-notice.txt b/enterprise/libs.amazon/external/httpclient-4.1.1-notice.txt deleted file mode 100644 index dbb4cbd..0000000 --- a/enterprise/libs.amazon/external/httpclient-4.1.1-notice.txt +++ /dev/null @@ -1,8 +0,0 @@ -Apache HttpComponents HttpClient -Copyright 1999-2011 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - -This project contains annotations derived from JCIP-ANNOTATIONS -Copyright (c) 2005 Brian Goetz and Tim Peierls. See http://www.jcip.net diff --git a/enterprise/libs.amazon/external/httpclient-4.1.1-license.txt b/enterprise/libs.amazon/external/httpclient-4.5.5-license.txt similarity index 99% copy from enterprise/libs.amazon/external/httpclient-4.1.1-license.txt copy to enterprise/libs.amazon/external/httpclient-4.5.5-license.txt index c55ca47..63726ef 100644 --- a/enterprise/libs.amazon/external/httpclient-4.1.1-license.txt +++ b/enterprise/libs.amazon/external/httpclient-4.5.5-license.txt @@ -1,6 +1,6 @@ Name: Apache HttpClient Origin: Apache Software Foundation -Version: 4.1.1 +Version: 4.5.5 License: Apache-2.0 Description: Apache HttpComponents Client URL: http://hc.apache.org/httpcomponents-client diff --git a/enterprise/libs.amazon/external/httpclient-4.5.5-notice.txt b/enterprise/libs.amazon/external/httpclient-4.5.5-notice.txt new file mode 100644 index 0000000..836ef82 --- /dev/null +++ b/enterprise/libs.amazon/external/httpclient-4.5.5-notice.txt @@ -0,0 +1,8 @@ + +Apache HttpClient +Copyright 1999-2018 The Apache Software Foundation + +This product includes software developed at +The Apache Software Foundation (http://www.apache.org/). + + diff --git a/enterprise/libs.amazon/external/httpcore-4.1-notice.txt b/enterprise/libs.amazon/external/httpcore-4.1-notice.txt deleted file mode 100644 index 53f89e6..0000000 --- a/enterprise/libs.amazon/external/httpcore-4.1-notice.txt +++ /dev/null @@ -1,5 +0,0 @@ -Apache HttpComponents HttpCore -Copyright 2005-2010 The Apache Software Foundation - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). diff --git a/enterprise/libs.amazon/external/httpcore-4.1-license.txt b/enterprise/libs.amazon/external/httpcore-4.4.9-license.txt similarity index 99% copy from enterprise/libs.amazon/external/httpcore-4.1-license.txt copy to enterprise/libs.amazon/external/httpcore-4.4.9-license.txt index d9fea07..b883313 100644 --- a/enterprise/libs.amazon/external/httpcore-4.1-license.txt +++ b/enterprise/libs.amazon/external/httpcore-4.4.9-license.txt @@ -1,6 +1,6 @@ Name: Apache HttpCore Origin: Apache Software Foundation -Version: 4.1 +Version: 4.4.9 License: Apache-2.0 Description: Apache HttpComponents Core (blocking I/O) URL: http://hc.apache.org/httpcomponents-core-ga/ diff --git a/enterprise/libs.amazon/external/httpcore-4.4.9-notice.txt b/enterprise/libs.amazon/external/httpcore-4.4.9-notice.txt new file mode 100644 index 0000000..3a042a3 --- /dev/null +++ b/enterprise/libs.amazon/external/httpcore-4.4.9-notice.txt @@ -0,0 +1,8 @@ + +Apache HttpCore +Copyright 2005-2018 The Apache Software Foundation + +This product includes software developed at +The Apache Software Foundation (http://www.apache.org/). + + diff --git a/enterprise/libs.amazon/external/httpclient-4.1.1-license.txt b/enterprise/libs.amazon/external/ion-java-1.0.2-license.txt similarity index 98% rename from enterprise/libs.amazon/external/httpclient-4.1.1-license.txt rename to enterprise/libs.amazon/external/ion-java-1.0.2-license.txt index c55ca47..e12addc 100644 --- a/enterprise/libs.amazon/external/httpclient-4.1.1-license.txt +++ b/enterprise/libs.amazon/external/ion-java-1.0.2-license.txt @@ -1,9 +1,9 @@ -Name: Apache HttpClient -Origin: Apache Software Foundation -Version: 4.1.1 +Name: Amazon Ion Java +Origin: Amazon Labs +Version: 1.0.2 License: Apache-2.0 -Description: Apache HttpComponents Client -URL: http://hc.apache.org/httpcomponents-client +Description: A Java implementation of the Amazon Ion data notation +URL: https://github.com/amznlabs/ion-java/ Apache License Version 2.0, January 2004 diff --git a/enterprise/libs.amazon/external/ion-java-1.0.2-notice.txt b/enterprise/libs.amazon/external/ion-java-1.0.2-notice.txt new file mode 100644 index 0000000..884a507 --- /dev/null +++ b/enterprise/libs.amazon/external/ion-java-1.0.2-notice.txt @@ -0,0 +1,2 @@ +Amazon Ion Java +Copyright 2007-2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. \ No newline at end of file diff --git a/enterprise/libs.amazon/external/httpcore-4.1-license.txt b/enterprise/libs.amazon/external/jackson-annotations-2.6.0-license.txt similarity index 98% copy from enterprise/libs.amazon/external/httpcore-4.1-license.txt copy to enterprise/libs.amazon/external/jackson-annotations-2.6.0-license.txt index d9fea07..ed10986 100644 --- a/enterprise/libs.amazon/external/httpcore-4.1-license.txt +++ b/enterprise/libs.amazon/external/jackson-annotations-2.6.0-license.txt @@ -1,9 +1,10 @@ -Name: Apache HttpCore -Origin: Apache Software Foundation -Version: 4.1 +Name: Jackson-annotations +Origin: FasterXML +Version: 2.6.0 License: Apache-2.0 -Description: Apache HttpComponents Core (blocking I/O) -URL: http://hc.apache.org/httpcomponents-core-ga/ +Description: Core annotations used for value types, used by Jackson data binding package +URL: https://github.com/FasterXML/jackson-annotations + Apache License Version 2.0, January 2004 diff --git a/enterprise/libs.amazon/external/httpcore-4.1-license.txt b/enterprise/libs.amazon/external/jackson-core-2.6.7-license.txt similarity index 98% copy from enterprise/libs.amazon/external/httpcore-4.1-license.txt copy to enterprise/libs.amazon/external/jackson-core-2.6.7-license.txt index d9fea07..2e613fa 100644 --- a/enterprise/libs.amazon/external/httpcore-4.1-license.txt +++ b/enterprise/libs.amazon/external/jackson-core-2.6.7-license.txt @@ -1,9 +1,10 @@ -Name: Apache HttpCore -Origin: Apache Software Foundation -Version: 4.1 +Name: Jackson-core +Origin: FasterXML +Version: 2.6.7 License: Apache-2.0 -Description: Apache HttpComponents Core (blocking I/O) -URL: http://hc.apache.org/httpcomponents-core-ga/ +Description: Core Jackson abstractions, basic JSON streaming API implementation +URL: https://github.com/FasterXML/jackson-core + Apache License Version 2.0, January 2004 diff --git a/enterprise/libs.amazon/external/jackson-core-2.6.7-notice.txt b/enterprise/libs.amazon/external/jackson-core-2.6.7-notice.txt new file mode 100644 index 0000000..4c976b7 --- /dev/null +++ b/enterprise/libs.amazon/external/jackson-core-2.6.7-notice.txt @@ -0,0 +1,20 @@ +# Jackson JSON processor + +Jackson is a high-performance, Free/Open Source JSON processing library. +It was originally written by Tatu Saloranta (tatu.salora...@iki.fi), and has +been in development since 2007. +It is currently developed by a community of developers, as well as supported +commercially by FasterXML.com. + +## Licensing + +Jackson core and extension components may licensed under different licenses. +To find the details that apply to this artifact see the accompanying LICENSE file. +For more information, including possible other licensing options, contact +FasterXML.com (http://fasterxml.com). + +## Credits + +A list of contributors may be found from CREDITS file, which is included +in some artifacts (usually source distributions); but is always available +from the source code management (SCM) system project uses. diff --git a/enterprise/libs.amazon/external/httpcore-4.1-license.txt b/enterprise/libs.amazon/external/jackson-databind-2.6.7.2-license.txt similarity index 98% copy from enterprise/libs.amazon/external/httpcore-4.1-license.txt copy to enterprise/libs.amazon/external/jackson-databind-2.6.7.2-license.txt index d9fea07..9b040b6 100644 --- a/enterprise/libs.amazon/external/httpcore-4.1-license.txt +++ b/enterprise/libs.amazon/external/jackson-databind-2.6.7.2-license.txt @@ -1,9 +1,9 @@ -Name: Apache HttpCore -Origin: Apache Software Foundation -Version: 4.1 +Name: Jackson-databind +Origin: FasterXML +Version: 2.6.7.2 License: Apache-2.0 -Description: Apache HttpComponents Core (blocking I/O) -URL: http://hc.apache.org/httpcomponents-core-ga/ +Description: General data-binding functionality for Jackson: works on core streaming API +URL: http://github.com/FasterXML/jackson Apache License Version 2.0, January 2004 diff --git a/enterprise/libs.amazon/external/jackson-databind-2.6.7.2-notice.txt b/enterprise/libs.amazon/external/jackson-databind-2.6.7.2-notice.txt new file mode 100644 index 0000000..5ab1e56 --- /dev/null +++ b/enterprise/libs.amazon/external/jackson-databind-2.6.7.2-notice.txt @@ -0,0 +1,20 @@ +# Jackson JSON processor + +Jackson is a high-performance, Free/Open Source JSON processing library. +It was originally written by Tatu Saloranta (tatu.salora...@iki.fi), and has +been in development since 2007. +It is currently developed by a community of developers, as well as supported +commercially by FasterXML.com. + +## Licensing + +Jackson core and extension components may be licensed under different licenses. +To find the details that apply to this artifact see the accompanying LICENSE file. +For more information, including possible other licensing options, contact +FasterXML.com (http://fasterxml.com). + +## Credits + +A list of contributors may be found from CREDITS file, which is included +in some artifacts (usually source distributions); but is always available +from the source code management (SCM) system project uses. diff --git a/enterprise/libs.amazon/external/httpcore-4.1-license.txt b/enterprise/libs.amazon/external/jackson-dataformat-cbor-2.6.7-license.txt similarity index 97% rename from enterprise/libs.amazon/external/httpcore-4.1-license.txt rename to enterprise/libs.amazon/external/jackson-dataformat-cbor-2.6.7-license.txt index d9fea07..81aaf24 100644 --- a/enterprise/libs.amazon/external/httpcore-4.1-license.txt +++ b/enterprise/libs.amazon/external/jackson-dataformat-cbor-2.6.7-license.txt @@ -1,9 +1,9 @@ -Name: Apache HttpCore -Origin: Apache Software Foundation -Version: 4.1 +Name: Jackson-dataformat-CBOR +Origin: FasterXML +Version: 2.6.7 License: Apache-2.0 -Description: Apache HttpComponents Core (blocking I/O) -URL: http://hc.apache.org/httpcomponents-core-ga/ +Description: Support for reading and writing Concise Binary Object Representation ([CBOR](https://www.rfc-editor.org/info/rfc7049) encoded data using Jackson abstractions (streaming API, data binding, tree model) +URL: http://wiki.fasterxml.com/JacksonForCbor Apache License Version 2.0, January 2004 diff --git a/enterprise/libs.amazon/external/aws-java-sdk-1.2.1-license.txt b/enterprise/libs.amazon/external/joda-time-2.8.1-license.txt similarity index 98% rename from enterprise/libs.amazon/external/aws-java-sdk-1.2.1-license.txt rename to enterprise/libs.amazon/external/joda-time-2.8.1-license.txt index fda3391..d267385 100644 --- a/enterprise/libs.amazon/external/aws-java-sdk-1.2.1-license.txt +++ b/enterprise/libs.amazon/external/joda-time-2.8.1-license.txt @@ -1,9 +1,9 @@ -Name: AWS SDK For Java -Origin: Amazon Web Services -Version: 1.2.1 +Name: Joda-Time +Origin: The Joda Project +Version: 2.8.1 License: Apache-2.0 -Description: Amazon Web Services SDK for Java -URL: http://aws.amazon.com/sdkforjava/ +Description: Date and time library to replace JDK date handling +URL: http://www.joda.org/joda-time/ Apache License Version 2.0, January 2004 diff --git a/enterprise/libs.amazon/external/joda-time-2.8.1-notice.txt b/enterprise/libs.amazon/external/joda-time-2.8.1-notice.txt new file mode 100644 index 0000000..c728715 --- /dev/null +++ b/enterprise/libs.amazon/external/joda-time-2.8.1-notice.txt @@ -0,0 +1,2 @@ +This product includes software developed by +Joda.org (http://www.joda.org/). diff --git a/enterprise/libs.amazon/nbproject/project.properties b/enterprise/libs.amazon/nbproject/project.properties index de774b4..2c869ec 100644 --- a/enterprise/libs.amazon/nbproject/project.properties +++ b/enterprise/libs.amazon/nbproject/project.properties @@ -15,9 +15,34 @@ # specific language governing permissions and limitations # under the License. +file.reference.aws-java-sdk-core-1.11.569.jar=external/aws-java-sdk-core-1.11.569.jar +file.reference.aws-java-sdk-elasticbeanstalk-1.11.569.jar=external/aws-java-sdk-elasticbeanstalk-1.11.569.jar +file.reference.aws-java-sdk-kms-1.11.569.jar=external/aws-java-sdk-kms-1.11.569.jar +file.reference.aws-java-sdk-s3-1.11.569.jar=external/aws-java-sdk-s3-1.11.569.jar +file.reference.httpclient-4.5.5.jar=external/httpclient-4.5.5.jar +file.reference.httpcore-4.4.9.jar=external/httpcore-4.4.9.jar +file.reference.ion-java-1.0.2.jar=external/ion-java-1.0.2.jar +file.reference.ion-java-1.0.2.jar-1=external/ion-java-1.0.2.jar +file.reference.jackson-annotations-2.6.0.jar=external/jackson-annotations-2.6.0.jar +file.reference.jackson-core-2.6.7.jar=external/jackson-core-2.6.7.jar +file.reference.jackson-databind-2.6.7.2.jar=external/jackson-databind-2.6.7.2.jar +file.reference.jackson-dataformat-cbor-2.6.7.jar=external/jackson-dataformat-cbor-2.6.7.jar +file.reference.jmespath-java-1.11.569.jar=external/jmespath-java-1.11.569.jar +file.reference.joda-time-2.8.1.jar=external/joda-time-2.8.1.jar is.autoload=true javac.compilerargs=-Xlint -Xlint:-serial javac.source=1.6 -release.external/httpcore-4.1.jar=modules/ext/aws-sdk/httpcore-4.1.jar -release.external/httpclient-4.1.1.jar=modules/ext/aws-sdk/httpclient-4.1.1.jar -release.external/aws-java-sdk-1.2.1.jar=modules/ext/aws-sdk/aws-java-sdk-1.2.1.jar \ No newline at end of file +sigtest.gen.fail.on.error=false +release.external/joda-time-2.8.1.jar=modules/ext/aws-sdk/joda-time-2.8.1.jar +release.external/aws-java-sdk-elasticbeanstalk-1.11.569.jar=modules/ext/aws-sdk/aws-java-sdk-elasticbeanstalk-1.11.569.jar +release.external/aws-java-sdk-s3-1.11.569.jar=modules/ext/aws-sdk/aws-java-sdk-s3-1.11.569.jar +release.external/aws-java-sdk-core-1.11.569.jar=modules/ext/aws-sdk/aws-java-sdk-core-1.11.569.jar +release.external/aws-java-sdk-kms-1.11.569.jar=modules/ext/aws-sdk/aws-java-sdk-kms-1.11.569.jar +release.external/httpclient-4.5.5.jar=modules/ext/aws-sdk/httpclient-4.5.5.jar +release.external/httpcore-4.4.9.jar=modules/ext/aws-sdk/httpcore-4.4.9.jar +release.external/ion-java-1.0.2.jar=modules/ext/aws-sdk/ion-java-1.0.2.jar +release.external/jackson-annotations-2.6.0.jar=modules/ext/aws-sdk/jackson-annotations-2.6.0.jar +release.external/jackson-core-2.6.7.jar=modules/ext/aws-sdk/jackson-core-2.6.7.jar +release.external/jackson-databind-2.6.7.2.jar=modules/ext/aws-sdk/jackson-databind-2.6.7.2.jar +release.external/jackson-dataformat-cbor-2.6.7.jar=modules/ext/aws-sdk/jackson-dataformat-cbor-2.6.7.jar +release.external/jmespath-java-1.11.569.jar=modules/ext/aws-sdk/jmespath-java-1.11.569.jar diff --git a/enterprise/libs.amazon/nbproject/project.xml b/enterprise/libs.amazon/nbproject/project.xml index 5679e44..703b584 100644 --- a/enterprise/libs.amazon/nbproject/project.xml +++ b/enterprise/libs.amazon/nbproject/project.xml @@ -39,23 +39,66 @@ <friend-packages> <friend>org.netbeans.modules.cloud.amazon</friend> <package>com.amazonaws</package> + <package>com.amazonaws.auth</package> + <package>com.amazonaws.client</package> + <package>com.amazonaws.client.builder</package> <package>com.amazonaws.services.elasticbeanstalk</package> <package>com.amazonaws.services.elasticbeanstalk.model</package> <package>com.amazonaws.services.s3</package> + <package>com.amazonaws.services.s3.internal</package> <package>com.amazonaws.services.s3.model</package> - <package>com.amazonaws.auth</package> </friend-packages> <class-path-extension> - <runtime-relative-path>ext/aws-sdk/httpcore-4.1.jar</runtime-relative-path> - <binary-origin>external/httpcore-4.1.jar</binary-origin> + <runtime-relative-path>ext/aws-sdk/jackson-databind-2.6.7.2.jar</runtime-relative-path> + <binary-origin>external/jackson-databind-2.6.7.2.jar</binary-origin> + </class-path-extension> + <class-path-extension> + <runtime-relative-path>ext/aws-sdk/jmespath-java-1.11.569.jar</runtime-relative-path> + <binary-origin>external/jmespath-java-1.11.569.jar</binary-origin> + </class-path-extension> + <class-path-extension> + <runtime-relative-path>ext/aws-sdk/ion-java-1.0.2.jar</runtime-relative-path> + <binary-origin>external/ion-java-1.0.2.jar</binary-origin> + </class-path-extension> + <class-path-extension> + <runtime-relative-path>ext/aws-sdk/httpcore-4.4.9.jar</runtime-relative-path> + <binary-origin>external/httpcore-4.4.9.jar</binary-origin> + </class-path-extension> + <class-path-extension> + <runtime-relative-path>ext/aws-sdk/jackson-annotations-2.6.0.jar</runtime-relative-path> + <binary-origin>external/jackson-annotations-2.6.0.jar</binary-origin> + </class-path-extension> + <class-path-extension> + <runtime-relative-path>ext/aws-sdk/joda-time-2.8.1.jar</runtime-relative-path> + <binary-origin>external/joda-time-2.8.1.jar</binary-origin> + </class-path-extension> + <class-path-extension> + <runtime-relative-path>ext/aws-sdk/aws-java-sdk-elasticbeanstalk-1.11.569.jar</runtime-relative-path> + <binary-origin>external/aws-java-sdk-elasticbeanstalk-1.11.569.jar</binary-origin> + </class-path-extension> + <class-path-extension> + <runtime-relative-path>ext/aws-sdk/aws-java-sdk-kms-1.11.569.jar</runtime-relative-path> + <binary-origin>external/aws-java-sdk-kms-1.11.569.jar</binary-origin> + </class-path-extension> + <class-path-extension> + <runtime-relative-path>ext/aws-sdk/httpclient-4.5.5.jar</runtime-relative-path> + <binary-origin>external/httpclient-4.5.5.jar</binary-origin> + </class-path-extension> + <class-path-extension> + <runtime-relative-path>ext/aws-sdk/jackson-dataformat-cbor-2.6.7.jar</runtime-relative-path> + <binary-origin>external/jackson-dataformat-cbor-2.6.7.jar</binary-origin> + </class-path-extension> + <class-path-extension> + <runtime-relative-path>ext/aws-sdk/jackson-core-2.6.7.jar</runtime-relative-path> + <binary-origin>external/jackson-core-2.6.7.jar</binary-origin> </class-path-extension> <class-path-extension> - <runtime-relative-path>ext/aws-sdk/httpclient-4.1.1.jar</runtime-relative-path> - <binary-origin>external/httpclient-4.1.1.jar</binary-origin> + <runtime-relative-path>ext/aws-sdk/aws-java-sdk-core-1.11.569.jar</runtime-relative-path> + <binary-origin>external/aws-java-sdk-core-1.11.569.jar</binary-origin> </class-path-extension> <class-path-extension> - <runtime-relative-path>ext/aws-sdk/aws-java-sdk-1.2.1.jar</runtime-relative-path> - <binary-origin>external/aws-java-sdk-1.2.1.jar</binary-origin> + <runtime-relative-path>ext/aws-sdk/aws-java-sdk-s3-1.11.569.jar</runtime-relative-path> + <binary-origin>external/aws-java-sdk-s3-1.11.569.jar</binary-origin> </class-path-extension> </data> </configuration> diff --git a/nbbuild/antsrc/org/netbeans/nbbuild/extlibs/ignored-overlaps b/nbbuild/antsrc/org/netbeans/nbbuild/extlibs/ignored-overlaps index feb28bc..aaf9fe5 100644 --- a/nbbuild/antsrc/org/netbeans/nbbuild/extlibs/ignored-overlaps +++ b/nbbuild/antsrc/org/netbeans/nbbuild/extlibs/ignored-overlaps @@ -75,3 +75,8 @@ ide/lsp.client/external/org.eclipse.xtext.xbase.lib-2.14.0.jar java/java.lsp.ser # Derby jar is used when run tests, so we can ignore the duplicates ide/db/external/derby-10.2.2.0.jar ide/db.metadata.model/external/derby-10.2.2.0.jar + +# Amazon Beanstalk SDK has frequently changing dependencies, so they are better kept separate +enterprise/libs.amazon/external/httpclient-4.5.5.jar groovy/gradle/external/gradle-4.10.2-bin.zip +enterprise/libs.amazon/external/ion-java-1.0.2.jar groovy/gradle/external/gradle-4.10.2-bin.zip +enterprise/libs.amazon/external/httpcore-4.4.9.jar groovy/gradle/external/gradle-4.10.2-bin.zip --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@netbeans.apache.org For additional commands, e-mail: commits-h...@netbeans.apache.org For further information about the NetBeans mailing lists, visit: https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists