mirror of https://github.com/apache/jclouds.git
route53: replace usage of UnsignedInteger with int and corrected default ttl to 300
This commit is contained in:
parent
9937e29cb8
commit
fb4248eef7
|
@ -20,6 +20,7 @@ package org.jclouds.route53.domain;
|
||||||
|
|
||||||
import static com.google.common.base.Objects.equal;
|
import static com.google.common.base.Objects.equal;
|
||||||
import static com.google.common.base.Objects.toStringHelper;
|
import static com.google.common.base.Objects.toStringHelper;
|
||||||
|
import static com.google.common.base.Preconditions.checkArgument;
|
||||||
import static com.google.common.base.Preconditions.checkNotNull;
|
import static com.google.common.base.Preconditions.checkNotNull;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -31,7 +32,6 @@ import com.google.common.base.Objects;
|
||||||
import com.google.common.base.Objects.ToStringHelper;
|
import com.google.common.base.Objects.ToStringHelper;
|
||||||
import com.google.common.base.Optional;
|
import com.google.common.base.Optional;
|
||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
import com.google.common.primitives.UnsignedInteger;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -41,7 +41,7 @@ public class ResourceRecordSet {
|
||||||
|
|
||||||
protected final String name;
|
protected final String name;
|
||||||
protected final String type;
|
protected final String type;
|
||||||
protected final Optional<UnsignedInteger> ttl;
|
protected final Optional<Integer> ttl;
|
||||||
protected final List<String> values;
|
protected final List<String> values;
|
||||||
protected final Optional<AliasTarget> aliasTarget;
|
protected final Optional<AliasTarget> aliasTarget;
|
||||||
|
|
||||||
|
@ -98,9 +98,9 @@ public class ResourceRecordSet {
|
||||||
public static abstract class RecordSubset extends ResourceRecordSet {
|
public static abstract class RecordSubset extends ResourceRecordSet {
|
||||||
public static final class Weighted extends RecordSubset {
|
public static final class Weighted extends RecordSubset {
|
||||||
|
|
||||||
private final UnsignedInteger weight;
|
private final int weight;
|
||||||
|
|
||||||
private Weighted(String id, String name, String type, UnsignedInteger weight, Optional<UnsignedInteger> ttl, List<String> values,
|
private Weighted(String id, String name, String type, int weight, Optional<Integer> ttl, List<String> values,
|
||||||
Optional<AliasTarget> aliasTarget) {
|
Optional<AliasTarget> aliasTarget) {
|
||||||
super(id, name, type, ttl, values, aliasTarget);
|
super(id, name, type, ttl, values, aliasTarget);
|
||||||
this.weight = checkNotNull(weight, "weight");
|
this.weight = checkNotNull(weight, "weight");
|
||||||
|
@ -110,7 +110,7 @@ public class ResourceRecordSet {
|
||||||
* determines what portion of traffic for the current resource record
|
* determines what portion of traffic for the current resource record
|
||||||
* set is routed to this subset.
|
* set is routed to this subset.
|
||||||
*/
|
*/
|
||||||
public UnsignedInteger getWeight() {
|
public int getWeight() {
|
||||||
return weight;
|
return weight;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -124,7 +124,7 @@ public class ResourceRecordSet {
|
||||||
|
|
||||||
private final String region;
|
private final String region;
|
||||||
|
|
||||||
private Latency(String id, String name, String type, String region, Optional<UnsignedInteger> ttl, List<String> values,
|
private Latency(String id, String name, String type, String region, Optional<Integer> ttl, List<String> values,
|
||||||
Optional<AliasTarget> aliasTarget) {
|
Optional<AliasTarget> aliasTarget) {
|
||||||
super(id, name, type, ttl, values, aliasTarget);
|
super(id, name, type, ttl, values, aliasTarget);
|
||||||
this.region = checkNotNull(region, "region of %s", name);
|
this.region = checkNotNull(region, "region of %s", name);
|
||||||
|
@ -146,7 +146,7 @@ public class ResourceRecordSet {
|
||||||
|
|
||||||
private final String id;
|
private final String id;
|
||||||
|
|
||||||
private RecordSubset(String id, String name, String type, Optional<UnsignedInteger> ttl, List<String> values,
|
private RecordSubset(String id, String name, String type, Optional<Integer> ttl, List<String> values,
|
||||||
Optional<AliasTarget> aliasTarget) {
|
Optional<AliasTarget> aliasTarget) {
|
||||||
super(name, type, ttl, values, aliasTarget);
|
super(name, type, ttl, values, aliasTarget);
|
||||||
this.id = checkNotNull(id, "id of %s", name);
|
this.id = checkNotNull(id, "id of %s", name);
|
||||||
|
@ -183,10 +183,11 @@ public class ResourceRecordSet {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private ResourceRecordSet(String name, String type, Optional<UnsignedInteger> ttl, List<String> values, Optional<AliasTarget> aliasTarget) {
|
private ResourceRecordSet(String name, String type, Optional<Integer> ttl, List<String> values, Optional<AliasTarget> aliasTarget) {
|
||||||
this.name = checkNotNull(name, "name");
|
this.name = checkNotNull(name, "name");
|
||||||
this.type = checkNotNull(type, "type of %s", name);
|
this.type = checkNotNull(type, "type of %s", name);
|
||||||
this.ttl = checkNotNull(ttl, "ttl for %s", name);
|
this.ttl = checkNotNull(ttl, "ttl for %s", name);
|
||||||
|
checkArgument(ttl.or(0) >= 0, "ttl of %s must be unsigned", name);
|
||||||
this.values = checkNotNull(values, "values for %s", name);
|
this.values = checkNotNull(values, "values for %s", name);
|
||||||
this.aliasTarget = checkNotNull(aliasTarget, "aliasTarget for %s", aliasTarget);
|
this.aliasTarget = checkNotNull(aliasTarget, "aliasTarget for %s", aliasTarget);
|
||||||
}
|
}
|
||||||
|
@ -209,7 +210,7 @@ public class ResourceRecordSet {
|
||||||
* Present in all resource record sets except aliases. The resource record
|
* Present in all resource record sets except aliases. The resource record
|
||||||
* cache time to live (TTL), in seconds.
|
* cache time to live (TTL), in seconds.
|
||||||
*/
|
*/
|
||||||
public Optional<UnsignedInteger> getTTL() {
|
public Optional<Integer> getTTL() {
|
||||||
return ttl;
|
return ttl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -264,11 +265,11 @@ public class ResourceRecordSet {
|
||||||
private String id;
|
private String id;
|
||||||
private String name;
|
private String name;
|
||||||
private String type;
|
private String type;
|
||||||
private Optional<UnsignedInteger> ttl = Optional.absent();
|
private Optional<Integer> ttl = Optional.absent();
|
||||||
private ImmutableList.Builder<String> values = ImmutableList.<String> builder();
|
private ImmutableList.Builder<String> values = ImmutableList.<String> builder();
|
||||||
private String dnsName;
|
private String dnsName;
|
||||||
private String zoneId;
|
private String zoneId;
|
||||||
private UnsignedInteger weight;
|
private Integer weight;
|
||||||
private String region;
|
private String region;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -295,19 +296,12 @@ public class ResourceRecordSet {
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @see ResourceRecordSet#getTTL()
|
|
||||||
*/
|
|
||||||
public Builder ttl(UnsignedInteger ttl) {
|
|
||||||
this.ttl = Optional.fromNullable(ttl);
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @see ResourceRecordSet#getTTL()
|
* @see ResourceRecordSet#getTTL()
|
||||||
*/
|
*/
|
||||||
public Builder ttl(int ttl) {
|
public Builder ttl(int ttl) {
|
||||||
return ttl(UnsignedInteger.fromIntBits(ttl));
|
this.ttl = Optional.of(ttl);
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -359,7 +353,7 @@ public class ResourceRecordSet {
|
||||||
/**
|
/**
|
||||||
* @see RecordSubset.Weighted
|
* @see RecordSubset.Weighted
|
||||||
*/
|
*/
|
||||||
public Builder weight(UnsignedInteger weight) {
|
public Builder weight(int weight) {
|
||||||
this.weight = weight;
|
this.weight = weight;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,7 +27,6 @@ import org.jclouds.route53.domain.ResourceRecordSet.RecordSubset.Latency;
|
||||||
import org.jclouds.route53.domain.ResourceRecordSet.RecordSubset.Weighted;
|
import org.jclouds.route53.domain.ResourceRecordSet.RecordSubset.Weighted;
|
||||||
|
|
||||||
import com.google.common.base.Function;
|
import com.google.common.base.Function;
|
||||||
import com.google.common.primitives.UnsignedInteger;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Adrian Cole
|
* @author Adrian Cole
|
||||||
|
@ -54,7 +53,8 @@ public class SerializeRRS implements Function<Object, String> {
|
||||||
builder.append("<DNSName>").append(rrs.getAliasTarget().get().getDNSName()).append("</DNSName>");
|
builder.append("<DNSName>").append(rrs.getAliasTarget().get().getDNSName()).append("</DNSName>");
|
||||||
builder.append("</AliasTarget>");
|
builder.append("</AliasTarget>");
|
||||||
} else {
|
} else {
|
||||||
builder.append("<TTL>").append(rrs.getTTL().or(UnsignedInteger.ZERO)).append("</TTL>");
|
// default ttl from the amazon console is 300
|
||||||
|
builder.append("<TTL>").append(rrs.getTTL().or(300)).append("</TTL>");
|
||||||
builder.append("<ResourceRecords>");
|
builder.append("<ResourceRecords>");
|
||||||
for (String record : rrs.getValues())
|
for (String record : rrs.getValues())
|
||||||
builder.append("<ResourceRecord>").append("<Value>").append(record).append("</Value>")
|
builder.append("<ResourceRecord>").append("<Value>").append(record).append("</Value>")
|
||||||
|
|
|
@ -24,7 +24,6 @@ import org.jclouds.http.functions.ParseSax;
|
||||||
import org.jclouds.route53.domain.HostedZone;
|
import org.jclouds.route53.domain.HostedZone;
|
||||||
import org.xml.sax.Attributes;
|
import org.xml.sax.Attributes;
|
||||||
|
|
||||||
import com.google.common.primitives.UnsignedInteger;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -59,7 +58,7 @@ public class HostedZoneHandler extends ParseSax.HandlerForGeneratedRequestWithRe
|
||||||
} else if (qName.equals("Comment")) {
|
} else if (qName.equals("Comment")) {
|
||||||
builder.comment(currentOrNull(currentText));
|
builder.comment(currentOrNull(currentText));
|
||||||
} else if (qName.equals("ResourceRecordSetCount")) {
|
} else if (qName.equals("ResourceRecordSetCount")) {
|
||||||
builder.resourceRecordSetCount(UnsignedInteger.valueOf(currentOrNull(currentText)).intValue());
|
builder.resourceRecordSetCount(Integer.parseInt(currentOrNull(currentText)));
|
||||||
}
|
}
|
||||||
currentText = new StringBuilder();
|
currentText = new StringBuilder();
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,7 +24,6 @@ import org.jclouds.http.functions.ParseSax;
|
||||||
import org.jclouds.route53.domain.ResourceRecordSet;
|
import org.jclouds.route53.domain.ResourceRecordSet;
|
||||||
import org.xml.sax.Attributes;
|
import org.xml.sax.Attributes;
|
||||||
|
|
||||||
import com.google.common.primitives.UnsignedInteger;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -55,7 +54,7 @@ public class ResourceRecordSetHandler extends ParseSax.HandlerForGeneratedReques
|
||||||
} else if (qName.equals("Type")) {
|
} else if (qName.equals("Type")) {
|
||||||
builder.type(currentOrNull(currentText));
|
builder.type(currentOrNull(currentText));
|
||||||
} else if (qName.equals("TTL")) {
|
} else if (qName.equals("TTL")) {
|
||||||
builder.ttl(UnsignedInteger.valueOf(currentOrNull(currentText)));
|
builder.ttl(Integer.parseInt(currentOrNull(currentText)));
|
||||||
} else if (qName.equals("Value")) {
|
} else if (qName.equals("Value")) {
|
||||||
builder.add(currentOrNull(currentText));
|
builder.add(currentOrNull(currentText));
|
||||||
} else if (qName.equals("HostedZoneId")) {
|
} else if (qName.equals("HostedZoneId")) {
|
||||||
|
@ -65,7 +64,7 @@ public class ResourceRecordSetHandler extends ParseSax.HandlerForGeneratedReques
|
||||||
} else if (qName.equals("DNSName")) {
|
} else if (qName.equals("DNSName")) {
|
||||||
builder.dnsName(currentOrNull(currentText));
|
builder.dnsName(currentOrNull(currentText));
|
||||||
} else if (qName.equals("Weight")) {
|
} else if (qName.equals("Weight")) {
|
||||||
builder.weight(UnsignedInteger.valueOf(currentOrNull(currentText)));
|
builder.weight(Integer.parseInt(currentOrNull(currentText)));
|
||||||
} else if (qName.equals("Region")) {
|
} else if (qName.equals("Region")) {
|
||||||
builder.region(currentOrNull(currentText));
|
builder.region(currentOrNull(currentText));
|
||||||
}
|
}
|
||||||
|
|
|
@ -140,7 +140,7 @@ public class ResourceRecordSetApiExpectTest extends BaseRoute53ApiExpectTest {
|
||||||
|
|
||||||
public void testDeleteWhenResponseIs2xx() {
|
public void testDeleteWhenResponseIs2xx() {
|
||||||
Route53Api success = requestSendsResponse(delete, jobResponse);
|
Route53Api success = requestSendsResponse(delete, jobResponse);
|
||||||
assertEquals(success.getResourceRecordSetApiForHostedZone("Z1PA6795UKMFR9").create(ResourceRecordSet.builder().name("jclouds.org.").type("TXT").add("my texts").build()).toString(),
|
assertEquals(success.getResourceRecordSetApiForHostedZone("Z1PA6795UKMFR9").create(ResourceRecordSet.builder().name("jclouds.org.").type("TXT").ttl(0).add("my texts").build()).toString(),
|
||||||
new GetChangeResponseTest().expected().toString());
|
new GetChangeResponseTest().expected().toString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
<ChangeResourceRecordSetsRequest xmlns="https://route53.amazonaws.com/doc/2012-02-29/"><ChangeBatch><Changes><Change><Action>DELETE</Action><ResourceRecordSet><Name>jclouds.org.</Name><Type>TXT</Type><TTL>0</TTL><ResourceRecords><ResourceRecord><Value>my texts</Value></ResourceRecord></ResourceRecords></ResourceRecordSet></Change><Change><Action>CREATE</Action><ResourceRecordSet><Name>jclouds.org.</Name><Type>TXT</Type><TTL>0</TTL><ResourceRecords><ResourceRecord><Value>my better texts</Value></ResourceRecord></ResourceRecords></ResourceRecordSet></Change></Changes></ChangeBatch></ChangeResourceRecordSetsRequest>
|
<ChangeResourceRecordSetsRequest xmlns="https://route53.amazonaws.com/doc/2012-02-29/"><ChangeBatch><Changes><Change><Action>DELETE</Action><ResourceRecordSet><Name>jclouds.org.</Name><Type>TXT</Type><TTL>300</TTL><ResourceRecords><ResourceRecord><Value>my texts</Value></ResourceRecord></ResourceRecords></ResourceRecordSet></Change><Change><Action>CREATE</Action><ResourceRecordSet><Name>jclouds.org.</Name><Type>TXT</Type><TTL>300</TTL><ResourceRecords><ResourceRecord><Value>my better texts</Value></ResourceRecord></ResourceRecords></ResourceRecordSet></Change></Changes></ChangeBatch></ChangeResourceRecordSetsRequest>
|
|
@ -1 +1 @@
|
||||||
<ChangeResourceRecordSetsRequest xmlns="https://route53.amazonaws.com/doc/2012-02-29/"><ChangeBatch><Changes><Change><Action>CREATE</Action><ResourceRecordSet><Name>jclouds.org.</Name><Type>TXT</Type><TTL>0</TTL><ResourceRecords><ResourceRecord><Value>my texts</Value></ResourceRecord></ResourceRecords></ResourceRecordSet></Change></Changes></ChangeBatch></ChangeResourceRecordSetsRequest>
|
<ChangeResourceRecordSetsRequest xmlns="https://route53.amazonaws.com/doc/2012-02-29/"><ChangeBatch><Changes><Change><Action>CREATE</Action><ResourceRecordSet><Name>jclouds.org.</Name><Type>TXT</Type><TTL>300</TTL><ResourceRecords><ResourceRecord><Value>my texts</Value></ResourceRecord></ResourceRecords></ResourceRecordSet></Change></Changes></ChangeBatch></ChangeResourceRecordSetsRequest>
|
Loading…
Reference in New Issue