diff --git a/pom.xml b/pom.xml
index bfb84d6..4226a09 100644
--- a/pom.xml
+++ b/pom.xml
@@ -33,17 +33,22 @@
+
+ 8.5.16
+ 1.11.259
+
+
com.amazonaws
aws-java-sdk-dynamodb
- 1.10.63
+ ${awsVersion}
true
org.apache.tomcat
tomcat-catalina
- 8.0.1
+ ${tomcatVersion}
provided
@@ -61,7 +66,7 @@
com.amazonaws
aws-java-sdk-test-utils
- 1.10.63
+ ${awsVersion}
test
@@ -73,13 +78,13 @@
org.apache.tomcat.embed
tomcat-embed-core
- 8.0.1
+ ${tomcatVersion}
test
org.apache.tomcat.embed
tomcat-embed-jasper
- 8.0.1
+ ${tomcatVersion}
test
diff --git a/src/main/java/com/amazonaws/services/dynamodb/sessionmanager/DynamoDBSessionManager.java b/src/main/java/com/amazonaws/services/dynamodb/sessionmanager/DynamoDBSessionManager.java
index 4b0086b..e24996b 100644
--- a/src/main/java/com/amazonaws/services/dynamodb/sessionmanager/DynamoDBSessionManager.java
+++ b/src/main/java/com/amazonaws/services/dynamodb/sessionmanager/DynamoDBSessionManager.java
@@ -16,17 +16,14 @@
import com.amazonaws.AmazonClientException;
import com.amazonaws.ClientConfiguration;
-import com.amazonaws.auth.AWSCredentialsProvider;
-import com.amazonaws.auth.BasicAWSCredentials;
-import com.amazonaws.auth.DefaultAWSCredentialsProviderChain;
-import com.amazonaws.auth.PropertiesCredentials;
-import com.amazonaws.internal.StaticCredentialsProvider;
-import com.amazonaws.regions.RegionUtils;
+import com.amazonaws.auth.*;
+import com.amazonaws.client.builder.AwsClientBuilder;
import com.amazonaws.services.dynamodb.sessionmanager.converters.SessionConverter;
import com.amazonaws.services.dynamodb.sessionmanager.util.DynamoUtils;
+import com.amazonaws.services.dynamodbv2.AmazonDynamoDB;
import com.amazonaws.services.dynamodbv2.AmazonDynamoDBClient;
+import com.amazonaws.services.dynamodbv2.AmazonDynamoDBClientBuilder;
import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMapper;
-import com.amazonaws.services.dynamodbv2.util.Tables;
import com.amazonaws.util.StringUtils;
import org.apache.catalina.LifecycleException;
@@ -42,26 +39,30 @@
*/
public class DynamoDBSessionManager extends PersistentManagerBase {
+ private static final Log LOGGER = LogFactory.getLog(DynamoDBSessionManager.class);
+
public static final String DEFAULT_TABLE_NAME = "Tomcat_SessionState";
- private static final String USER_AGENT = "DynamoSessionManager/2.0.1";
- private static final String name = "AmazonDynamoDBSessionManager";
- private static final String info = name + "/2.0.1";
+ private static final String AWS_REGION = "us-east-1";
+ private static final String USER_AGENT = "DynamoSessionManager/2.0.5";
+ private static final String NAME = "AmazonDynamoDBSessionManager";
+ private static final String INFO = NAME + "/2.0.5";
- private String regionId = "us-east-1";
+ // aws dynamo behaviors
+ private String tableName = DEFAULT_TABLE_NAME;
+ private String regionId = AWS_REGION;
private String endpoint;
+ private long readCapacityUnits = 10;
+ private long writeCapacityUnits = 5;
+ private boolean deleteCorruptSessions = false;
+ // aws credentials
private File credentialsFile;
private String accessKey;
private String secretKey;
- private long readCapacityUnits = 10;
- private long writeCapacityUnits = 5;
- private boolean createIfNotExist = true;
- private String tableName = DEFAULT_TABLE_NAME;
+ // local network config
private String proxyHost;
private Integer proxyPort;
- private boolean deleteCorruptSessions = false;
- private static final Log logger = LogFactory.getLog(DynamoDBSessionManager.class);
public DynamoDBSessionManager() {
setSaveOnRestart(true);
@@ -71,12 +72,12 @@ public DynamoDBSessionManager() {
}
public String getInfo() {
- return info;
+ return INFO;
}
@Override
public String getName() {
- return name;
+ return NAME;
}
public void setRegionId(String regionId) {
@@ -111,10 +112,6 @@ public void setWriteCapacityUnits(int writeCapacityUnits) {
this.writeCapacityUnits = writeCapacityUnits;
}
- public void setCreateIfNotExist(boolean createIfNotExist) {
- this.createIfNotExist = createIfNotExist;
- }
-
public void setProxyHost(String proxyHost) {
this.proxyHost = proxyHost;
}
@@ -129,24 +126,24 @@ public void setDeleteCorruptSessions(boolean deleteCorruptSessions) {
@Override
protected void initInternal() throws LifecycleException {
- AmazonDynamoDBClient dynamoClient = createDynamoClient();
+ AmazonDynamoDB dynamoClient = createDynamoClient();
initDynamoTable(dynamoClient);
DynamoSessionStorage sessionStorage = createSessionStorage(dynamoClient);
setStore(new DynamoDBSessionStore(sessionStorage, deleteCorruptSessions));
new ExpiredSessionReaperExecutor(new ExpiredSessionReaper(sessionStorage));
}
- private AmazonDynamoDBClient createDynamoClient() {
- AWSCredentialsProvider credentialsProvider = initCredentials();
- ClientConfiguration clientConfiguration = initClientConfiguration();
- AmazonDynamoDBClient dynamoClient = new AmazonDynamoDBClient(credentialsProvider, clientConfiguration);
- if (this.regionId != null) {
- dynamoClient.setRegion(RegionUtils.getRegion(this.regionId));
- }
+ private AmazonDynamoDB createDynamoClient() {
+ final String region = regionId != null ? regionId : AWS_REGION;
+ final AmazonDynamoDBClientBuilder dynamoClient = AmazonDynamoDBClient
+ .builder()
+ .withCredentials(initCredentials())
+ .withClientConfiguration(initClientConfiguration())
+ .withRegion(region);
if (this.endpoint != null) {
- dynamoClient.setEndpoint(this.endpoint);
+ dynamoClient.setEndpointConfiguration(new AwsClientBuilder.EndpointConfiguration(endpoint, region));
}
- return dynamoClient;
+ return dynamoClient.build();
}
private AWSCredentialsProvider initCredentials() {
@@ -156,17 +153,17 @@ private AWSCredentialsProvider initCredentials() {
if (credentialsInContextConfigAreValid()) {
throw new AmazonClientException("Incomplete AWS security credentials specified in context.xml.");
}
- logger.debug("Using AWS access key ID and secret key from context.xml");
- return new StaticCredentialsProvider(new BasicAWSCredentials(accessKey, secretKey));
+ LOGGER.debug("Using AWS access key ID and secret key from context.xml");
+ return new AWSStaticCredentialsProvider(new BasicAWSCredentials(accessKey, secretKey));
}
// Use any explicitly specified credentials properties file next
if (credentialsFile != null) {
try {
- logger.debug("Reading security credentials from properties file: " + credentialsFile);
+ LOGGER.debug("Reading security credentials from properties file: " + credentialsFile);
PropertiesCredentials credentials = new PropertiesCredentials(credentialsFile);
- logger.debug("Using AWS credentials from file: " + credentialsFile);
- return new StaticCredentialsProvider(credentials);
+ LOGGER.debug("Using AWS credentials from file: " + credentialsFile);
+ return new AWSStaticCredentialsProvider(credentials);
} catch (Exception e) {
throw new AmazonClientException(
"Unable to read AWS security credentials from file specified in context.xml: "
@@ -178,12 +175,12 @@ private AWSCredentialsProvider initCredentials() {
// Fall back to the default credentials chain provider if credentials weren't explicitly set
AWSCredentialsProvider defaultChainProvider = new DefaultAWSCredentialsProviderChain();
if (defaultChainProvider.getCredentials() == null) {
- logger.debug("Loading security credentials from default credentials provider chain.");
+ LOGGER.debug("Loading security credentials from default credentials provider chain.");
throw new AmazonClientException("Unable to find AWS security credentials. "
+ "Searched JVM system properties, OS env vars, and EC2 instance roles. "
+ "Specify credentials in Tomcat's context.xml file or put them in one of the places mentioned above.");
}
- logger.debug("Using default AWS credentials provider chain to load credentials");
+ LOGGER.debug("Using default AWS credentials provider chain to load credentials");
return defaultChainProvider;
}
@@ -205,38 +202,27 @@ private boolean credentialsInContextConfigAreValid() {
private ClientConfiguration initClientConfiguration() {
ClientConfiguration clientConfiguration = new ClientConfiguration();
- clientConfiguration.setUserAgent(USER_AGENT);
+ clientConfiguration.setUserAgentPrefix(USER_AGENT);
// Attempt to use an explicit proxy configuration
if (proxyHost != null || proxyPort != null) {
- logger.debug("Reading proxy settings from context.xml");
+ LOGGER.debug("Reading proxy settings from context.xml");
if (proxyHost == null || proxyPort == null) {
throw new AmazonClientException("Incomplete proxy settings specified in context.xml."
+ " Both proxy hot and proxy port needs to be specified");
}
- logger.debug("Using proxy host and port from context.xml");
+ LOGGER.debug("Using proxy host and port from context.xml");
clientConfiguration.withProxyHost(proxyHost).withProxyPort(proxyPort);
}
return clientConfiguration;
}
- private void initDynamoTable(AmazonDynamoDBClient dynamo) {
- boolean tableExists = Tables.doesTableExist(dynamo, this.tableName);
-
- if (!tableExists && !createIfNotExist) {
- throw new AmazonClientException("Session table '" + tableName + "' does not exist, "
- + "and automatic table creation has been disabled in context.xml");
- }
-
- if (!tableExists) {
- DynamoUtils.createSessionTable(dynamo, this.tableName, this.readCapacityUnits, this.writeCapacityUnits);
- }
-
- Tables.waitForTableToBecomeActive(dynamo, this.tableName);
+ private void initDynamoTable(AmazonDynamoDB dynamo) {
+ DynamoUtils.createSessionTable(dynamo, this.tableName, this.readCapacityUnits, this.writeCapacityUnits);
}
- private DynamoSessionStorage createSessionStorage(AmazonDynamoDBClient dynamoClient) {
+ private DynamoSessionStorage createSessionStorage(AmazonDynamoDB dynamoClient) {
DynamoDBMapper dynamoMapper = DynamoUtils.createDynamoMapper(dynamoClient, tableName);
return new DynamoSessionStorage(dynamoMapper, getSessionConverter());
}
diff --git a/src/main/java/com/amazonaws/services/dynamodb/sessionmanager/DynamoDBSessionStore.java b/src/main/java/com/amazonaws/services/dynamodb/sessionmanager/DynamoDBSessionStore.java
index b548b65..69a692d 100644
--- a/src/main/java/com/amazonaws/services/dynamodb/sessionmanager/DynamoDBSessionStore.java
+++ b/src/main/java/com/amazonaws/services/dynamodb/sessionmanager/DynamoDBSessionStore.java
@@ -34,7 +34,7 @@ public class DynamoDBSessionStore extends StoreBase {
private static final Log logger = LogFactory.getLog(DynamoDBSessionStore.class);
private static final String name = "AmazonDynamoDBSessionStore";
- private static final String info = name + "/1.0";
+ private static final String info = name + "/2.0";
private final Set sessionIds = Collections.synchronizedSet(new HashSet());
private final DynamoSessionStorage sessionStorage;
@@ -58,8 +58,8 @@ public String getStoreName() {
@Override
public void clear() throws IOException {
synchronized (sessionIds) {
- final Set sessionsToDelete = new HashSet(sessionIds);
- new Thread("dynamodb-session-manager-clear") {
+ final Set sessionsToDelete = new HashSet<>(sessionIds);
+ new Thread("dynamo-db-session-manager-clear") {
@Override
public void run() {
for (String sessionId : sessionsToDelete) {
diff --git a/src/main/java/com/amazonaws/services/dynamodb/sessionmanager/DynamoSessionStorage.java b/src/main/java/com/amazonaws/services/dynamodb/sessionmanager/DynamoSessionStorage.java
index 2f4760f..0f9204c 100644
--- a/src/main/java/com/amazonaws/services/dynamodb/sessionmanager/DynamoSessionStorage.java
+++ b/src/main/java/com/amazonaws/services/dynamodb/sessionmanager/DynamoSessionStorage.java
@@ -96,25 +96,25 @@ private Iterator getIteratorSafe(Iterable iterable) {
*/
private class SessionConverterIterator implements Iterator {
- private final Iterator sessionItemterator;
+ private final Iterator sessionItemIterator;
private SessionConverterIterator(Iterator sessionItemIterator) {
- this.sessionItemterator = sessionItemIterator;
+ this.sessionItemIterator = sessionItemIterator;
}
@Override
public boolean hasNext() {
- return sessionItemterator.hasNext();
+ return sessionItemIterator.hasNext();
}
@Override
public Session next() {
- return sessionConverter.toSession(sessionItemterator.next());
+ return sessionConverter.toSession(sessionItemIterator.next());
}
@Override
public void remove() {
- sessionItemterator.remove();
+ sessionItemIterator.remove();
}
}
diff --git a/src/main/java/com/amazonaws/services/dynamodb/sessionmanager/ExpiredSessionReaperExecutor.java b/src/main/java/com/amazonaws/services/dynamodb/sessionmanager/ExpiredSessionReaperExecutor.java
index 8f880fc..e54e148 100644
--- a/src/main/java/com/amazonaws/services/dynamodb/sessionmanager/ExpiredSessionReaperExecutor.java
+++ b/src/main/java/com/amazonaws/services/dynamodb/sessionmanager/ExpiredSessionReaperExecutor.java
@@ -27,7 +27,7 @@ public class ExpiredSessionReaperExecutor {
private static final int REAP_FREQUENCY_HOURS = 12;
private static final int MAX_JITTER_HOURS = 5;
- private static final String THREAD_NAME = "dynamo-session-manager-expired-sesion-reaper";
+ private static final String THREAD_NAME = "dynamo-db-session-manager-expired-sesion-reaper";
private final ScheduledThreadPoolExecutor executor;
diff --git a/src/main/java/com/amazonaws/services/dynamodb/sessionmanager/util/DynamoUtils.java b/src/main/java/com/amazonaws/services/dynamodb/sessionmanager/util/DynamoUtils.java
index 85a01ee..a08df68 100644
--- a/src/main/java/com/amazonaws/services/dynamodb/sessionmanager/util/DynamoUtils.java
+++ b/src/main/java/com/amazonaws/services/dynamodb/sessionmanager/util/DynamoUtils.java
@@ -14,8 +14,9 @@
*/
package com.amazonaws.services.dynamodb.sessionmanager.util;
+import com.amazonaws.AmazonClientException;
import com.amazonaws.services.dynamodb.sessionmanager.DynamoSessionItem;
-import com.amazonaws.services.dynamodbv2.AmazonDynamoDBClient;
+import com.amazonaws.services.dynamodbv2.AmazonDynamoDB;
import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMapper;
import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMapperConfig;
import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMapperConfig.TableNameOverride;
@@ -25,10 +26,11 @@
import com.amazonaws.services.dynamodbv2.model.KeyType;
import com.amazonaws.services.dynamodbv2.model.ProvisionedThroughput;
import com.amazonaws.services.dynamodbv2.model.ScalarAttributeType;
+import com.amazonaws.services.dynamodbv2.util.TableUtils;
public class DynamoUtils {
- public static void createSessionTable(AmazonDynamoDBClient dynamo,
+ public static void createSessionTable(AmazonDynamoDB dynamo,
String tableName,
long readCapacityUnits,
long writeCapacityUnits) {
@@ -44,14 +46,25 @@ public static void createSessionTable(AmazonDynamoDBClient dynamo,
request.setProvisionedThroughput(new ProvisionedThroughput().withReadCapacityUnits(readCapacityUnits)
.withWriteCapacityUnits(writeCapacityUnits));
- dynamo.createTable(request);
+ boolean created = TableUtils.createTableIfNotExists(dynamo, request);
+
+ if(created) {
+ try {
+ TableUtils.waitUntilActive(dynamo, tableName);
+ } catch (InterruptedException e) {
+ throw new AmazonClientException(e.getMessage(), e);
+ }
+ }
}
/**
* Create a new DynamoDBMapper with table name override
*/
- public static DynamoDBMapper createDynamoMapper(AmazonDynamoDBClient dynamoDbClient, String tableName) {
- return new DynamoDBMapper(dynamoDbClient, new DynamoDBMapperConfig(new TableNameOverride(tableName)));
+ public static DynamoDBMapper createDynamoMapper(AmazonDynamoDB dynamoDbClient, String tableName) {
+ final DynamoDBMapperConfig.Builder builder = DynamoDBMapperConfig
+ .builder()
+ .withTableNameOverride(new TableNameOverride(tableName));
+ return new DynamoDBMapper(dynamoDbClient, builder.build());
}
}
diff --git a/src/test/java/com/amazonaws/services/dynamodb/sessionmanager/CustomAsserts.java b/src/test/java/com/amazonaws/services/dynamodb/sessionmanager/CustomAsserts.java
index c3bcca6..9318786 100644
--- a/src/test/java/com/amazonaws/services/dynamodb/sessionmanager/CustomAsserts.java
+++ b/src/test/java/com/amazonaws/services/dynamodb/sessionmanager/CustomAsserts.java
@@ -43,7 +43,7 @@ public static void assertSessionDataEquals(HttpSession expectedSession, HttpSess
}
private static SortedSet toSortedSet(Enumeration enumeration) {
- SortedSet list = new TreeSet();
+ SortedSet list = new TreeSet<>();
while (enumeration.hasMoreElements()) {
list.add(enumeration.nextElement());
}
diff --git a/src/test/java/com/amazonaws/services/dynamodb/sessionmanager/DynamoDBSessionManagerIntegrationTest.java b/src/test/java/com/amazonaws/services/dynamodb/sessionmanager/DynamoDBSessionManagerIntegrationTest.java
index 96358cf..62283f4 100644
--- a/src/test/java/com/amazonaws/services/dynamodb/sessionmanager/DynamoDBSessionManagerIntegrationTest.java
+++ b/src/test/java/com/amazonaws/services/dynamodb/sessionmanager/DynamoDBSessionManagerIntegrationTest.java
@@ -15,9 +15,15 @@
package com.amazonaws.services.dynamodb.sessionmanager;
import com.amazonaws.AmazonServiceException;
+import com.amazonaws.auth.AWSStaticCredentialsProvider;
+import com.amazonaws.services.dynamodbv2.AmazonDynamoDB;
import com.amazonaws.services.dynamodbv2.AmazonDynamoDBClient;
+import com.amazonaws.services.dynamodbv2.AmazonDynamoDBClientBuilder;
+import com.amazonaws.services.dynamodbv2.model.DeleteTableRequest;
import com.amazonaws.services.dynamodbv2.model.DescribeTableRequest;
import com.amazonaws.services.dynamodbv2.model.TableDescription;
+import com.amazonaws.services.dynamodbv2.util.TableUtils;
+import com.amazonaws.test.AWSIntegrationTestBase;
import com.amazonaws.test.AWSTestBase;
import org.apache.catalina.Context;
@@ -38,13 +44,13 @@
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
-public class DynamoDBSessionManagerIntegrationTest extends AWSTestBase {
+public class DynamoDBSessionManagerIntegrationTest extends AWSIntegrationTestBase {
private static final String SESSION_ID = "1234";
private static final int MAX_IDLE_BACKUP_SECONDS = 1;
private static final String ATTR_NAME = "someAttr";
- private static AmazonDynamoDBClient dynamo;
+ private static AmazonDynamoDB dynamo;
private static Tomcat tomcat;
private static Context webapp;
@@ -54,7 +60,7 @@ public class DynamoDBSessionManagerIntegrationTest extends AWSTestBase {
@BeforeClass
public static void setupFixture() throws Exception {
setUpCredentials();
- dynamo = new AmazonDynamoDBClient(credentials);
+ dynamo = AmazonDynamoDBClientBuilder.standard().withCredentials(new AWSStaticCredentialsProvider(getCredentials())).withRegion("us-east-1").build();
String workingDir = System.getProperty("java.io.tmpdir");
File webappDirectory = Files.createTempDirectory(Paths.get(workingDir), null).toFile();
@@ -78,7 +84,7 @@ public void setup() {
@After
public void tearDown() {
- dynamo.deleteTable(sessionTableName);
+ TableUtils.deleteTableIfExists(dynamo, new DeleteTableRequest(sessionTableName));
}
@AfterClass
@@ -175,8 +181,8 @@ public void swappedOutSessionsDoNotReplaceActiveSessionDuringProcessExpires() th
}
private void configureWithExplicitCredentials(DynamoDBSessionManager sessionManager) {
- sessionManager.setAwsAccessKey(credentials.getAWSAccessKeyId());
- sessionManager.setAwsSecretKey(credentials.getAWSSecretKey());
+ sessionManager.setAwsAccessKey(getCredentials().getAWSAccessKeyId());
+ sessionManager.setAwsSecretKey(getCredentials().getAWSSecretKey());
sessionManager.setTable(sessionTableName);
webapp.setManager(sessionManager);
}
diff --git a/src/test/java/com/amazonaws/services/dynamodb/sessionmanager/SessionStorageIntegrationTestBase.java b/src/test/java/com/amazonaws/services/dynamodb/sessionmanager/SessionStorageIntegrationTestBase.java
index 1ae21f5..1001e44 100644
--- a/src/test/java/com/amazonaws/services/dynamodb/sessionmanager/SessionStorageIntegrationTestBase.java
+++ b/src/test/java/com/amazonaws/services/dynamodb/sessionmanager/SessionStorageIntegrationTestBase.java
@@ -19,35 +19,39 @@
import java.util.List;
+import com.amazonaws.auth.AWSCredentialsProvider;
+import com.amazonaws.auth.AWSStaticCredentialsProvider;
+import com.amazonaws.auth.BasicAWSCredentials;
+import com.amazonaws.services.dynamodbv2.AmazonDynamoDB;
+import com.amazonaws.services.dynamodbv2.AmazonDynamoDBClientBuilder;
+import com.amazonaws.services.dynamodbv2.model.DeleteTableRequest;
+import com.amazonaws.services.dynamodbv2.util.TableUtils;
+import com.amazonaws.test.AWSIntegrationTestBase;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import com.amazonaws.services.dynamodb.sessionmanager.converters.SessionConverter;
import com.amazonaws.services.dynamodb.sessionmanager.util.DynamoUtils;
-import com.amazonaws.services.dynamodbv2.AmazonDynamoDBClient;
import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMapper;
import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMapper.FailedBatch;
import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBScanExpression;
-import com.amazonaws.services.dynamodbv2.util.Tables;
-import com.amazonaws.test.AWSTestBase;
/**
* Base class for tests interacting directly with DynamoDB. Creates a unique table per test class
*/
-public class SessionStorageIntegrationTestBase extends AWSTestBase {
+public class SessionStorageIntegrationTestBase extends AWSIntegrationTestBase {
- private static AmazonDynamoDBClient dynamoClient;
+ private static AmazonDynamoDB dynamoClient;
private static DynamoDBMapper dynamoMapper;
private static String tableName;
@BeforeClass
public static final void baseSetupFixture() throws Exception {
setUpCredentials();
- dynamoClient = new AmazonDynamoDBClient(credentials);
+ dynamoClient = AmazonDynamoDBClientBuilder.standard().withCredentials(new AWSStaticCredentialsProvider(getCredentials())).withRegion("us-east-1").build();
tableName = getUniqueTableName();
DynamoUtils.createSessionTable(dynamoClient, tableName, 10L, 10L);
- Tables.waitForTableToBecomeActive(dynamoClient, tableName);
dynamoMapper = DynamoUtils.createDynamoMapper(dynamoClient, tableName);
}
@@ -65,7 +69,7 @@ public void baseTearDown() {
@AfterClass
public static final void baseTearDownFixture() {
- dynamoClient.deleteTable(tableName);
+ TableUtils.deleteTableIfExists(dynamoClient, new DeleteTableRequest(tableName));
}
private static String getUniqueTableName() {
diff --git a/src/test/java/com/amazonaws/services/dynamodb/sessionmanager/converters/TestSessionFactory.java b/src/test/java/com/amazonaws/services/dynamodb/sessionmanager/converters/TestSessionFactory.java
index 94dc562..0fdea37 100644
--- a/src/test/java/com/amazonaws/services/dynamodb/sessionmanager/converters/TestSessionFactory.java
+++ b/src/test/java/com/amazonaws/services/dynamodb/sessionmanager/converters/TestSessionFactory.java
@@ -120,7 +120,7 @@ public final TestStandardSession createTestStandardSession() {
}
private static Map getDefaultSessionAttributes() {
- Map sessionData = new HashMap();
+ Map sessionData = new HashMap<>();
sessionData.put("someAttribute", new CustomSessionClass("customData"));
return sessionData;
}