From a9916d6e5d387635c6629f2ae84acc520cb927c8 Mon Sep 17 00:00:00 2001 From: Rick Mangi Date: Wed, 15 Apr 2015 19:44:25 -0400 Subject: [PATCH 1/3] Use DynamoDB Local and Tomcat Maven Plugin for local development. System properties are set in dynamodb-geo-server/pom.xml in the tomcat plugin configuration. If is_local is defined the servlet will try to connect to a DynamoDB local instance on the default port. You can also use this to run the tomcat instance locally instead of using elastic beanstalk. The server can be run by executing 'mvn tomcat7:run' and will listen on localhost:9090 --- .../dynamodb-geo-ios/AWSConstants.m | 2 +- samples/dynamodb-geo-server/pom.xml | 32 +++++++++++++++++++ .../geo/server/GeoDynamoDBServlet.java | 8 ++++- .../amazonaws/geo/server/util/Utilities.java | 8 +++++ 4 files changed, 48 insertions(+), 2 deletions(-) diff --git a/samples/dynamodb-geo-ios/dynamodb-geo-ios/AWSConstants.m b/samples/dynamodb-geo-ios/dynamodb-geo-ios/AWSConstants.m index a48e5ef..d3d9849 100644 --- a/samples/dynamodb-geo-ios/dynamodb-geo-ios/AWSConstants.m +++ b/samples/dynamodb-geo-ios/dynamodb-geo-ios/AWSConstants.m @@ -15,7 +15,7 @@ #import "AWSConstants.h" -NSString *const AWSElasticBeanstalkEndpoint = @"http://YOUR-ENVIRONMENT.elasticbeanstalk.com/dynamodb-geo"; +NSString *const AWSElasticBeanstalkEndpoint = @"http://localhost:9090/dynamodb-geo"; @implementation AWSConstants diff --git a/samples/dynamodb-geo-server/pom.xml b/samples/dynamodb-geo-server/pom.xml index dc3815a..81ef340 100644 --- a/samples/dynamodb-geo-server/pom.xml +++ b/samples/dynamodb-geo-server/pom.xml @@ -103,6 +103,37 @@ + + org.apache.tomcat.maven + tomcat7-maven-plugin + 2.2 + + + 9090 + + / + + ${tomcatContextXml} + + + + XXXXXXXXX + YYYYYYYYY + geo-test + us-east-1 + true + + + false + + + + + + + @@ -120,6 +151,7 @@ + diff --git a/samples/dynamodb-geo-server/src/main/java/com/amazonaws/geo/server/GeoDynamoDBServlet.java b/samples/dynamodb-geo-server/src/main/java/com/amazonaws/geo/server/GeoDynamoDBServlet.java index a3e97ad..d9bf593 100644 --- a/samples/dynamodb-geo-server/src/main/java/com/amazonaws/geo/server/GeoDynamoDBServlet.java +++ b/samples/dynamodb-geo-server/src/main/java/com/amazonaws/geo/server/GeoDynamoDBServlet.java @@ -83,16 +83,22 @@ public void init() throws ServletException { } private void setupGeoDataManager() { + System.out.println("setup"); String accessKey = System.getProperty("AWS_ACCESS_KEY_ID"); String secretKey = System.getProperty("AWS_SECRET_KEY"); String tableName = System.getProperty("PARAM1"); String regionName = System.getProperty("PARAM2"); - AWSCredentials credentials = new BasicAWSCredentials(accessKey, secretKey); + AmazonDynamoDBClient ddb = new AmazonDynamoDBClient(credentials); Region region = Region.getRegion(Regions.fromName(regionName)); ddb.setRegion(region); + if(System.getProperties().containsKey("is_local")) { + System.out.println("local"); + ddb.setEndpoint("http://localhost:8000"); + } + config = new GeoDataManagerConfiguration(ddb, tableName); geoDataManager = new GeoDataManager(config); } diff --git a/samples/dynamodb-geo-server/src/main/java/com/amazonaws/geo/server/util/Utilities.java b/samples/dynamodb-geo-server/src/main/java/com/amazonaws/geo/server/util/Utilities.java index 3c174b7..34977fa 100644 --- a/samples/dynamodb-geo-server/src/main/java/com/amazonaws/geo/server/util/Utilities.java +++ b/samples/dynamodb-geo-server/src/main/java/com/amazonaws/geo/server/util/Utilities.java @@ -65,6 +65,10 @@ public boolean isRegionNameSet() { return regionName != null && regionName.length() > 0; } + public boolean isRunningLocal() { + return System.getProperties().containsKey("is_local"); + } + public void setupTable() { setupGeoDataManager(); @@ -98,6 +102,10 @@ private synchronized void setupGeoDataManager() { AmazonDynamoDBClient ddb = new AmazonDynamoDBClient(credentials, clientConfiguration); ddb.setRegion(region); + if(isRunningLocal()) { + ddb.setEndpoint("http://localhost:8000"); + } + GeoDataManagerConfiguration config = new GeoDataManagerConfiguration(ddb, tableName); geoDataManager = new GeoDataManager(config); } From a57322ebc7095c65eb8d0d02275ebd29a6f296c9 Mon Sep 17 00:00:00 2001 From: Rick Mangi Date: Wed, 15 Apr 2015 19:54:15 -0400 Subject: [PATCH 2/3] added user friendly comment and removed extraneous debug output --- samples/dynamodb-geo-ios/dynamodb-geo-ios/AWSConstants.m | 8 +++++++- .../java/com/amazonaws/geo/server/GeoDynamoDBServlet.java | 1 - 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/samples/dynamodb-geo-ios/dynamodb-geo-ios/AWSConstants.m b/samples/dynamodb-geo-ios/dynamodb-geo-ios/AWSConstants.m index d3d9849..f0d2307 100644 --- a/samples/dynamodb-geo-ios/dynamodb-geo-ios/AWSConstants.m +++ b/samples/dynamodb-geo-ios/dynamodb-geo-ios/AWSConstants.m @@ -15,7 +15,13 @@ #import "AWSConstants.h" -NSString *const AWSElasticBeanstalkEndpoint = @"http://localhost:9090/dynamodb-geo"; +NSString *const AWSElasticBeanstalkEndpoint = @"http://YOUR-ENVIRONMENT.elasticbeanstalk.com/dynamodb-geo"; + +/* + * Use this instead to run on a local tomcat instance + */ + +//NSString *const AWSElasticBeanstalkEndpoint = @"http://localhost:9090/dynamodb-geo"; @implementation AWSConstants diff --git a/samples/dynamodb-geo-server/src/main/java/com/amazonaws/geo/server/GeoDynamoDBServlet.java b/samples/dynamodb-geo-server/src/main/java/com/amazonaws/geo/server/GeoDynamoDBServlet.java index d9bf593..35b46ce 100644 --- a/samples/dynamodb-geo-server/src/main/java/com/amazonaws/geo/server/GeoDynamoDBServlet.java +++ b/samples/dynamodb-geo-server/src/main/java/com/amazonaws/geo/server/GeoDynamoDBServlet.java @@ -95,7 +95,6 @@ private void setupGeoDataManager() { ddb.setRegion(region); if(System.getProperties().containsKey("is_local")) { - System.out.println("local"); ddb.setEndpoint("http://localhost:8000"); } From d8e3854fd4c469c69cbf57045e3ad51d697cce13 Mon Sep 17 00:00:00 2001 From: Rick Mangi Date: Wed, 15 Apr 2015 20:01:23 -0400 Subject: [PATCH 3/3] Stupid keys... --- samples/dynamodb-geo-server/pom.xml | 3 --- 1 file changed, 3 deletions(-) diff --git a/samples/dynamodb-geo-server/pom.xml b/samples/dynamodb-geo-server/pom.xml index 81ef340..b3f61b5 100644 --- a/samples/dynamodb-geo-server/pom.xml +++ b/samples/dynamodb-geo-server/pom.xml @@ -116,9 +116,6 @@ ${tomcatContextXml} - XXXXXXXXX YYYYYYYYY geo-test