mboudreau/Alternator — pull request #87 by rrutt (2014-06-16 00:42:39+00:00)
Title: Awssdk17 jetty9

This addresses the following issues:

https://github.com/mboudreau/Alternator/issues/85 regarding support for Jetty 9.
(Currently built against version 9.2.0.v20140526)

https://github.com/mboudreau/Alternator/issues/86 regarding support for version 1.7.x of the AWS SDK for Java.
(Currently built against version 1.7.13)

The AlternatorDB constructor setup of the Jetty server listener was simplified to this form:

this.server = new Server(port);

Based on the Jetty 9 documentation, the server will use a Java NIO connection selector by default.

The fixes for the AWS SDK was to modify AlternatorDBClient.setEndpoint to directly set the inherited this.endpoint URI value, and to @override the .getServiceNameIntern method to declare "dynamo" as the service the client supports.
These changes bypass service inference logic based on the class name of the client.
The following line was added to the .init method to bypass credential-based connection signing:

clientConfiguration.setSignerOverride("NoOpSignerType");

The exceptionUnmarshallers List declaration was updated for type-consistency with the latest AWS SDK methods.

The same revisions were also made to AlternatorDBClientV2.

All tests pass using 'mvn verify', including an alternate run with AlternatorTest.SPAWN_LOCAL_DB_SERVICE temporarily compiled as false, with an instance of Alternator running in another terminal window via 'mvn exec:java'.

I updated the snapshot version of Alternator to 0.9.0 since this involves referencing new versions of Jetty and the AWS SDK for Java for client projects.

The AWS SDK for Java source code can be reviewed at their GitHub repository:

https://github.com/aws/aws-sdk-java.git