Skip to content
This repository was archived by the owner on Jul 28, 2023. It is now read-only.

Commit ae3b186

Browse files
authored
Version Bumps and Code Cleanup (#114)
* version bumps * fix tests, resolve codenarc violations * Revert AwsClientUtil rename
1 parent 166845c commit ae3b186

File tree

7 files changed

+113
-49
lines changed

7 files changed

+113
-49
lines changed

gradle.properties

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
version=2.4.7
2-
awsJavaSdkVersion=1.11.714
3-
awsKinesisClientVersion=1.10.0
4-
gradleWrapperVersion=5.5.1
5-
grailsVersion=4.0.0
2+
awsJavaSdkVersion=1.11.874
3+
awsKinesisClientVersion=1.14.0
4+
gradleWrapperVersion=5.6.4
5+
grailsVersion=4.0.4
66
groovyVersion=2.5.6
77
logbackVersion=1.2.3
88
slf4jVersion=1.7.26

gradle/wrapper/gradle-wrapper.properties

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
33
distributionPath=wrapper/dists
44
zipStoreBase=GRADLE_USER_HOME
55
zipStorePath=wrapper/dists
6-
distributionUrl=https\://services.gradle.org/distributions/gradle-5.5.1-bin.zip
6+
distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-bin.zip

grails-aws-sdk-kinesis/grails-app/services/grails/plugin/awssdk/kinesis/AmazonKinesisService.groovy

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package grails.plugin.awssdk.kinesis
22

3-
import agorapulse.libs.awssdk.util.AwsClientUtil
4-
import com.amazonaws.regions.Region
3+
54
import com.amazonaws.services.kinesis.AmazonKinesis
65
import com.amazonaws.services.kinesis.AmazonKinesisClientBuilder
76
import com.amazonaws.services.kinesis.model.*

grails-aws-sdk-ses/src/integration-test/groovy/grails/plugin/awssdk/ses/AmazonSESServiceIntegrationSpec.groovy

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package grails.plugin.awssdk.ses
22

33
import com.agorapulse.awssdk.ses.UnsupportedAttachmentTypeException
4-
import grails.test.mixin.integration.Integration
4+
import grails.testing.mixin.integration.Integration
55
import grails.util.Environment
66
import org.springframework.beans.factory.annotation.Autowired
77
import spock.lang.IgnoreIf
@@ -102,6 +102,7 @@ class AmazonSESServiceIntegrationSpec extends Specification {
102102
!emailFound
103103
}
104104

105+
@IgnoreIf({ !System.getenv('TEST_INBOX_EMAIL') })
105106
void "test that if you try to send an unsupported attachment an exception is thrown "() {
106107
when:
107108
def subjectStr = 'GRAILS AWS SDK SES with Attachment'

grails-aws-sdk-ses/src/integration-test/groovy/grails/plugin/awssdk/ses/AmazonSESTemplateServiceIntegrationSpec.groovy

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package grails.plugin.awssdk.ses
22

3-
import grails.test.mixin.integration.Integration
3+
import grails.testing.mixin.integration.Integration
44
import grails.util.Environment
55
import org.springframework.beans.factory.annotation.Autowired
66
import spock.lang.IgnoreIf

groovy-aws-sdk-ses/src/main/groovy/com/agorapulse/awssdk/ses/AwsSesMailer.groovy

+13-5
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
package com.agorapulse.awssdk.ses
22

3+
import static com.agorapulse.awssdk.ses.AwsSdkSesEmailDeliveryStatus.STATUS_DELIVERED
4+
import static com.agorapulse.awssdk.ses.AwsSdkSesEmailDeliveryStatus.STATUS_NOT_DELIVERED
5+
import static com.agorapulse.awssdk.ses.AwsSdkSesEmailDeliveryStatus.STATUS_BLACKLISTED
6+
37
import com.agorapulse.awssdk.AwsSdkUtils
48
import com.amazonaws.AmazonClientException
59
import com.amazonaws.AmazonServiceException
@@ -12,7 +16,13 @@ import com.amazonaws.regions.RegionUtils
1216
import com.amazonaws.services.simpleemail.AmazonSimpleEmailService
1317
import com.amazonaws.services.simpleemail.AmazonSimpleEmailServiceClient
1418
import com.amazonaws.services.simpleemail.AmazonSimpleEmailServiceClientBuilder
15-
import com.amazonaws.services.simpleemail.model.*
19+
import com.amazonaws.services.simpleemail.model.Body
20+
import com.amazonaws.services.simpleemail.model.Content
21+
import com.amazonaws.services.simpleemail.model.Destination
22+
import com.amazonaws.services.simpleemail.model.Message
23+
import com.amazonaws.services.simpleemail.model.RawMessage
24+
import com.amazonaws.services.simpleemail.model.SendEmailRequest
25+
import com.amazonaws.services.simpleemail.model.SendRawEmailRequest
1626
import groovy.transform.CompileStatic
1727
import groovy.util.logging.Slf4j
1828

@@ -27,8 +37,6 @@ import javax.mail.internet.MimeMultipart
2737
import javax.mail.util.ByteArrayDataSource
2838
import java.nio.ByteBuffer
2939

30-
import static com.agorapulse.awssdk.ses.AwsSdkSesEmailDeliveryStatus.*
31-
3240
@Slf4j
3341
@CompileStatic
3442
class AwsSesMailer {
@@ -44,7 +52,7 @@ class AwsSesMailer {
4452
ClientConfiguration clientConfiguration = AwsSdkUtils.clientConfigurationWithMap([:])
4553
client = AmazonSimpleEmailServiceClientBuilder.standard()
4654
.withCredentials(new AWSCredentialsProvider() {
47-
@Override AWSCredentials getCredentials() { return new BasicAWSCredentials(accessKey, secretKey) }
55+
@Override AWSCredentials getCredentials() { new BasicAWSCredentials(accessKey, secretKey) }
4856

4957
@Override void refresh() { }
5058
})
@@ -71,7 +79,7 @@ class AwsSesMailer {
7179
sendEmailWithAttachment(transactionalEmail)
7280
}
7381

74-
@SuppressWarnings(['LineLength', 'ElseBlockBraces', 'JavaIoPackageAccess'])
82+
@SuppressWarnings(['LineLength', 'ElseBlockBraces', 'JavaIoPackageAccess', 'AbcMetric'])
7583
int sendEmailWithAttachment(TransactionalEmail transactionalEmail) throws UnsupportedAttachmentTypeException {
7684
int statusId = STATUS_NOT_DELIVERED
7785

groovy-aws-sdk-util/src/main/groovy/agorapulse/libs/awssdk/util/AwsClientUtil.groovy

+91-35
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,12 @@ import com.amazonaws.auth.AWSCredentialsProvider
66
import com.amazonaws.auth.AWSStaticCredentialsProvider
77
import com.amazonaws.auth.BasicAWSCredentials
88
import com.amazonaws.auth.DefaultAWSCredentialsProviderChain
9-
import com.amazonaws.client.builder.AwsClientBuilder
109
import com.amazonaws.client.builder.AwsSyncClientBuilder
10+
import com.amazonaws.client.builder.AwsClientBuilder.EndpointConfiguration
1111
import com.amazonaws.regions.Region
1212
import com.amazonaws.regions.RegionUtils
1313

14+
@SuppressWarnings(['FactoryMethodName'])
1415
class AwsClientUtil {
1516

1617
static final String DEFAULT_REGION = 'us-east-1'
@@ -19,7 +20,7 @@ class AwsClientUtil {
1920
Region region = buildRegion(config, serviceConfig)
2021
assert region.isServiceSupported(serviceName)
2122

22-
AwsClientBuilder.EndpointConfiguration endpointConfiguration = buildEndpointConfiguration(config, serviceConfig)
23+
EndpointConfiguration endpointConfiguration = buildEndpointConfiguration(config, serviceConfig)
2324

2425
if (endpointConfiguration) {
2526
builder.withEndpointConfiguration(endpointConfiguration)
@@ -38,6 +39,7 @@ class AwsClientUtil {
3839
* @param serviceConfig
3940
* @return
4041
*/
42+
@SuppressWarnings(['CyclomaticComplexity', 'AbcMetric', 'MethodSize'])
4143
static ClientConfiguration buildClientConfiguration(defaultConfig, serviceConfig) {
4244
Map config = [
4345
connectionTimeout: defaultConfig.connectionTimeout ?: 0,
@@ -54,36 +56,85 @@ class AwsClientUtil {
5456
proxyWorkstation: defaultConfig.proxyWorkstation ?: ''
5557
]
5658
if (serviceConfig) {
57-
if (serviceConfig.connectionTimeout) config.connectionTimeout = serviceConfig.connectionTimeout
58-
if (serviceConfig.maxConnections) config.maxConnections = serviceConfig.maxConnections
59-
if (serviceConfig.maxErrorRetry) config.maxErrorRetry = serviceConfig.maxErrorRetry
60-
if (serviceConfig.protocol) config.protocol = serviceConfig.protocol
61-
if (serviceConfig.socketTimeout) config.socketTimeout = serviceConfig.socketTimeout
62-
if (serviceConfig.userAgent) config.userAgent = serviceConfig.userAgent
63-
if (serviceConfig.proxyDomain) config.proxyDomain = serviceConfig.proxyDomain
64-
if (serviceConfig.proxyHost) config.proxyHost = serviceConfig.proxyHost
65-
if (serviceConfig.proxyPassword) config.proxyPassword = serviceConfig.proxyPassword
66-
if (serviceConfig.proxyPort) config.proxyPort = serviceConfig.proxyPort
67-
if (serviceConfig.proxyUsername) config.proxyUsername = serviceConfig.proxyUsername
68-
if (serviceConfig.proxyWorkstation) config.proxyWorkstation = serviceConfig.proxyWorkstation
59+
if (serviceConfig.connectionTimeout) {
60+
config.connectionTimeout = serviceConfig.connectionTimeout
61+
}
62+
if (serviceConfig.maxConnections) {
63+
config.maxConnections = serviceConfig.maxConnections
64+
}
65+
if (serviceConfig.maxErrorRetry) {
66+
config.maxErrorRetry = serviceConfig.maxErrorRetry
67+
}
68+
if (serviceConfig.protocol) {
69+
config.protocol = serviceConfig.protocol
70+
}
71+
if (serviceConfig.socketTimeout) {
72+
config.socketTimeout = serviceConfig.socketTimeout
73+
}
74+
if (serviceConfig.userAgent) {
75+
config.userAgent = serviceConfig.userAgent
76+
}
77+
if (serviceConfig.proxyDomain) {
78+
config.proxyDomain = serviceConfig.proxyDomain
79+
}
80+
if (serviceConfig.proxyHost) {
81+
config.proxyHost = serviceConfig.proxyHost
82+
}
83+
if (serviceConfig.proxyPassword) {
84+
config.proxyPassword = serviceConfig.proxyPassword
85+
}
86+
if (serviceConfig.proxyPort) {
87+
config.proxyPort = serviceConfig.proxyPort
88+
}
89+
if (serviceConfig.proxyUsername) {
90+
config.proxyUsername = serviceConfig.proxyUsername
91+
}
92+
if (serviceConfig.proxyWorkstation) {
93+
config.proxyWorkstation = serviceConfig.proxyWorkstation
94+
}
6995
}
7096

7197
ClientConfiguration clientConfiguration = new ClientConfiguration()
72-
if (config.connectionTimeout) clientConfiguration.connectionTimeout = config.connectionTimeout
73-
if (config.maxConnections) clientConfiguration.maxConnections = config.maxConnections
74-
if (config.maxErrorRetry) clientConfiguration.maxErrorRetry = config.maxErrorRetry
98+
if (config.connectionTimeout) {
99+
clientConfiguration.connectionTimeout = config.connectionTimeout
100+
}
101+
if (config.maxConnections) {
102+
clientConfiguration.maxConnections = config.maxConnections
103+
}
104+
if (config.maxErrorRetry) {
105+
clientConfiguration.maxErrorRetry = config.maxErrorRetry
106+
}
75107
if (config.protocol) {
76-
if (config.protocol.toUpperCase() == 'HTTP') clientConfiguration.protocol = Protocol.HTTP
77-
else clientConfiguration.protocol = Protocol.HTTPS
78-
}
79-
if (config.socketTimeout) clientConfiguration.socketTimeout = config.socketTimeout
80-
if (config.userAgent) clientConfiguration.userAgent = config.userAgent
81-
if (config.proxyDomain) clientConfiguration.proxyDomain = config.proxyDomain
82-
if (config.proxyHost) clientConfiguration.proxyHost = config.proxyHost
83-
if (config.proxyPassword) clientConfiguration.proxyPassword = config.proxyPassword
84-
if (config.proxyPort) clientConfiguration.proxyPort = config.proxyPort
85-
if (config.proxyUsername) clientConfiguration.proxyUsername = config.proxyUsername
86-
if (config.proxyWorkstation) clientConfiguration.proxyWorkstation = config.proxyWorkstation
108+
if (config.protocol.toUpperCase() == 'HTTP') {
109+
clientConfiguration.protocol = Protocol.HTTP
110+
} else {
111+
clientConfiguration.protocol = Protocol.HTTPS
112+
}
113+
}
114+
if (config.socketTimeout) {
115+
clientConfiguration.socketTimeout = config.socketTimeout
116+
}
117+
if (config.userAgent) {
118+
clientConfiguration.userAgent = config.userAgent
119+
}
120+
if (config.proxyDomain) {
121+
clientConfiguration.proxyDomain = config.proxyDomain
122+
}
123+
if (config.proxyHost) {
124+
clientConfiguration.proxyHost = config.proxyHost
125+
}
126+
if (config.proxyPassword) {
127+
clientConfiguration.proxyPassword = config.proxyPassword
128+
}
129+
if (config.proxyPort) {
130+
clientConfiguration.proxyPort = config.proxyPort
131+
}
132+
if (config.proxyUsername) {
133+
clientConfiguration.proxyUsername = config.proxyUsername
134+
}
135+
if (config.proxyWorkstation) {
136+
clientConfiguration.proxyWorkstation = config.proxyWorkstation
137+
}
87138
clientConfiguration
88139
}
89140

@@ -99,8 +150,12 @@ class AwsClientUtil {
99150
secretKey: defaultConfig.secretKey ?: ''
100151
]
101152
if (serviceConfig) {
102-
if (serviceConfig.accessKey) config.accessKey = serviceConfig.accessKey
103-
if (serviceConfig.secretKey) config.secretKey = serviceConfig.secretKey
153+
if (serviceConfig.accessKey) {
154+
config.accessKey = serviceConfig.accessKey
155+
}
156+
if (serviceConfig.secretKey) {
157+
config.secretKey = serviceConfig.secretKey
158+
}
104159
}
105160

106161
if (!config.accessKey || !config.secretKey) {
@@ -115,6 +170,7 @@ class AwsClientUtil {
115170
* @param defaultConfig
116171
* @param serviceConfig
117172
*/
173+
@SuppressWarnings(['ElseBlockBraces'])
118174
static buildRegion(defaultConfig, serviceConfig) {
119175
String regionName = DEFAULT_REGION
120176
if (serviceConfig?.region) {
@@ -125,15 +181,15 @@ class AwsClientUtil {
125181
RegionUtils.getRegion(regionName)
126182
}
127183

128-
static AwsClientBuilder.EndpointConfiguration buildEndpointConfiguration(defaultConfig, serviceConfig) {
184+
@SuppressWarnings(['ElseBlockBraces'])
185+
static EndpointConfiguration buildEndpointConfiguration(defaultConfig, serviceConfig) {
129186
Region region = buildRegion(defaultConfig, serviceConfig)
130187
if (serviceConfig?.endpoint) {
131-
return new AwsClientBuilder.EndpointConfiguration(serviceConfig.endpoint as String, region.name)
188+
return new EndpointConfiguration(serviceConfig.endpoint as String, region.name)
132189
} else if (defaultConfig?.endpoint) {
133-
return new AwsClientBuilder.EndpointConfiguration(defaultConfig.endpoint as String, region.name)
190+
return new EndpointConfiguration(defaultConfig.endpoint as String, region.name)
134191
}
135-
return null
192+
null
136193
}
137194

138-
139195
}

0 commit comments

Comments
 (0)