Skip to content

Commit

Permalink
#113 build is clean
Browse files Browse the repository at this point in the history
  • Loading branch information
yegor256 committed Jul 13, 2022
1 parent 4d178c6 commit 6c92b93
Show file tree
Hide file tree
Showing 16 changed files with 94 additions and 29 deletions.
7 changes: 7 additions & 0 deletions pom.xml
Expand Up @@ -60,6 +60,12 @@ OF THE POSSIBILITY OF SUCH DAMAGE.
</site>
</distributionManagement>
<dependencies>
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>2.0.1.Final</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
Expand Down Expand Up @@ -227,6 +233,7 @@ OF THE POSSIBILITY OF SUCH DAMAGE.
<configuration>
<excludes combine.children="append">
<exclude>findbugs:.*</exclude>
<exclude>duplicatefinder:.*</exclude>
</excludes>
</configuration>
</plugin>
Expand Down
2 changes: 0 additions & 2 deletions src/main/java/com/jcabi/dynamo/AttributeUpdates.java
Expand Up @@ -38,11 +38,9 @@
import com.jcabi.immutable.ArrayMap;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Locale;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import lombok.EqualsAndHashCode;

/**
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/com/jcabi/dynamo/AwsItem.java
Expand Up @@ -45,7 +45,6 @@
import com.jcabi.log.Logger;
import java.io.IOException;
import java.util.Collections;
import java.util.Locale;
import java.util.Map;
import java.util.NoSuchElementException;
import lombok.EqualsAndHashCode;
Expand All @@ -60,6 +59,7 @@
@Loggable(Loggable.DEBUG)
@ToString
@EqualsAndHashCode(of = { "credentials", "frm", "name", "attributes" })
@SuppressWarnings("PMD.GuardLogStatement")
final class AwsItem implements Item {

/**
Expand Down
8 changes: 8 additions & 0 deletions src/main/java/com/jcabi/dynamo/AwsIterator.java
Expand Up @@ -64,6 +64,7 @@
(
of = { "credentials", "conditions", "frame", "name", "keys", "valve" }
)
@SuppressWarnings("PMD.GuardLogStatement")
final class AwsIterator implements Iterator<Item> {

/**
Expand Down Expand Up @@ -220,17 +221,21 @@ public void remove() {

/**
* Dosage with fixed list of items.
*
* @since 0.1
*/
@Immutable
private static final class Fixed implements Dosage {
/**
* List of items.
*/
private final transient Array<Map<String, AttributeValue>> list;

/**
* Previous dosage.
*/
private final transient Dosage prev;

/**
* Ctor.
* @param dsg Dosage
Expand All @@ -240,14 +245,17 @@ private static final class Fixed implements Dosage {
this.prev = dsg;
this.list = new Array<>(items);
}

@Override
public List<Map<String, AttributeValue>> items() {
return Collections.unmodifiableList(this.list);
}

@Override
public Dosage next() {
return this.prev.next();
}

@Override
public boolean hasNext() {
return this.prev.hasNext();
Expand Down
1 change: 1 addition & 0 deletions src/main/java/com/jcabi/dynamo/AwsTable.java
Expand Up @@ -63,6 +63,7 @@
@Loggable(Loggable.DEBUG)
@ToString
@EqualsAndHashCode(of = { "credentials", "reg", "self" })
@SuppressWarnings("PMD.GuardLogStatement")
final class AwsTable implements Table {

/**
Expand Down
1 change: 1 addition & 0 deletions src/main/java/com/jcabi/dynamo/Conditions.java
Expand Up @@ -64,6 +64,7 @@
(
{
"PMD.TooManyMethods",
"PMD.ProhibitPublicStaticMethods",
"PMD.AvoidInstantiatingObjectsInLoops"
}
)
Expand Down
16 changes: 15 additions & 1 deletion src/main/java/com/jcabi/dynamo/Credentials.java
Expand Up @@ -29,7 +29,6 @@
*/
package com.jcabi.dynamo;

import com.amazonaws.auth.AWSCredentialsProvider;
import com.amazonaws.auth.AWSStaticCredentialsProvider;
import com.amazonaws.auth.BasicAWSCredentials;
import com.amazonaws.client.builder.AwsClientBuilder;
Expand Down Expand Up @@ -82,14 +81,17 @@ final class Simple implements Credentials {
* AWS key.
*/
private final transient String key;

/**
* AWS secret.
*/
private final transient String secret;

/**
* Region name.
*/
private final transient String region;

/**
* Public ctor, with "us-east-1" region.
* @param akey AWS key
Expand All @@ -98,6 +100,7 @@ final class Simple implements Credentials {
public Simple(final String akey, final String scrt) {
this(akey, scrt, Regions.US_EAST_1.getName());
}

/**
* Public ctor.
* @param akey AWS key
Expand All @@ -109,10 +112,12 @@ public Simple(final String akey, final String scrt, final String reg) {
this.secret = scrt;
this.region = reg;
}

@Override
public String toString() {
return String.format("%s/%s", this.region, this.key);
}

@Override
public AmazonDynamoDB aws() {
final com.amazonaws.regions.Region reg =
Expand Down Expand Up @@ -147,23 +152,27 @@ final class Assumed implements Credentials {
* Region name.
*/
private final transient String region;

/**
* Public ctor.
*/
public Assumed() {
this(Regions.US_EAST_1.getName());
}

/**
* Public ctor.
* @param reg Region
*/
public Assumed(final String reg) {
this.region = reg;
}

@Override
public String toString() {
return this.region;
}

@Override
public AmazonDynamoDB aws() {
final com.amazonaws.regions.Region reg =
Expand Down Expand Up @@ -192,10 +201,12 @@ final class Direct implements Credentials {
* Original credentials.
*/
private final transient Credentials.Simple origin;

/**
* Endpoint.
*/
private final transient String endpoint;

/**
* Public ctor.
* @param creds Original credentials
Expand All @@ -205,6 +216,7 @@ public Direct(final Credentials.Simple creds, final String pnt) {
this.origin = creds;
this.endpoint = pnt;
}

/**
* Public ctor.
* @param creds Original credentials
Expand All @@ -213,10 +225,12 @@ public Direct(final Credentials.Simple creds, final String pnt) {
public Direct(final Credentials.Simple creds, final int port) {
this(creds, String.format("http://localhost:%d", port));
}

@Override
public String toString() {
return String.format("%s at %s", this.origin, this.endpoint);
}

@Override
public AmazonDynamoDB aws() {
return AmazonDynamoDBClientBuilder.standard()
Expand Down
4 changes: 4 additions & 0 deletions src/main/java/com/jcabi/dynamo/Dosage.java
Expand Up @@ -66,6 +66,8 @@ public interface Dosage {

/**
* Always empty.
*
* @since 0.1
*/
@Immutable
@Loggable(Loggable.DEBUG)
Expand All @@ -76,12 +78,14 @@ final class Empty implements Dosage {
public List<Map<String, AttributeValue>> items() {
return new ArrayList<>(0);
}

@Override
public Dosage next() {
throw new IllegalStateException(
"this is nothing left"
);
}

@Override
public boolean hasNext() {
return false;
Expand Down
10 changes: 9 additions & 1 deletion src/main/java/com/jcabi/dynamo/QueryValve.java
Expand Up @@ -62,7 +62,7 @@
@ToString
@Loggable(Loggable.DEBUG)
@EqualsAndHashCode(of = { "limit", "forward" })
@SuppressWarnings("PMD.TooManyMethods")
@SuppressWarnings({"PMD.TooManyMethods", "PMD.GuardLogStatement"})
public final class QueryValve implements Valve {

/**
Expand Down Expand Up @@ -339,6 +339,8 @@ public QueryValve withAttributesToGet(final String... names) {

/**
* Next dosage.
*
* @since 0.1
*/
@ToString
@Loggable(Loggable.DEBUG)
Expand All @@ -348,14 +350,17 @@ private final class NextDosage implements Dosage {
* AWS client.
*/
private final transient Credentials credentials;

/**
* Query request.
*/
private final transient QueryRequest request;

/**
* Query request.
*/
private final transient QueryResult result;

/**
* Public ctor.
* @param creds Credentials
Expand All @@ -368,14 +373,17 @@ private final class NextDosage implements Dosage {
this.request = rqst;
this.result = rslt;
}

@Override
public List<Map<String, AttributeValue>> items() {
return this.result.getItems();
}

@Override
public boolean hasNext() {
return this.result.getLastEvaluatedKey() != null;
}

@Override
public Dosage next() {
if (!this.hasNext()) {
Expand Down
11 changes: 11 additions & 0 deletions src/main/java/com/jcabi/dynamo/Region.java
Expand Up @@ -74,6 +74,8 @@ public interface Region {

/**
* Simple region, basic implementation.
*
* @since 0.1
*/
@Immutable
@Loggable(Loggable.DEBUG)
Expand All @@ -84,17 +86,20 @@ final class Simple implements Region {
* Credentials.
*/
private final transient Credentials credentials;

/**
* Public ctor.
* @param creds Credentials
*/
public Simple(final Credentials creds) {
this.credentials = creds;
}

@Override
public AmazonDynamoDB aws() {
return this.credentials.aws();
}

@Override
public Table table(final String name) {
return new AwsTable(this.credentials, this, name);
Expand All @@ -116,6 +121,8 @@ public Table table(final String name) {
* instance pointing to the Dynamo DB table named {@code "foo-test"}. Could
* be a convenient mechanism when you have many tables for different
* projects in the same region.
*
* @since 0.1
*/
@Immutable
@Loggable(Loggable.DEBUG)
Expand All @@ -126,10 +133,12 @@ final class Prefixed implements Region {
* Original region.
*/
private final transient Region origin;

/**
* Prefix to add.
*/
private final transient String prefix;

/**
* Public ctor.
* @param region Original region
Expand All @@ -139,10 +148,12 @@ public Prefixed(final Region region, final String pfx) {
this.origin = region;
this.prefix = pfx;
}

@Override
public AmazonDynamoDB aws() {
return this.origin.aws();
}

@Override
public Table table(final String name) {
return this.origin.table(
Expand Down

0 comments on commit 6c92b93

Please sign in to comment.