aboutsummaryrefslogtreecommitdiffstats
path: root/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/dns/CreateRecord.java
diff options
context:
space:
mode:
Diffstat (limited to 'controller-server/src/main/java/com/yahoo/vespa/hosted/controller/dns/CreateRecord.java')
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/dns/CreateRecord.java19
1 files changed, 15 insertions, 4 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/dns/CreateRecord.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/dns/CreateRecord.java
index 6f4ee3dfc06..f1e4ca3b82b 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/dns/CreateRecord.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/dns/CreateRecord.java
@@ -15,13 +15,14 @@ import java.util.Optional;
*
* @author mpolden
*/
-public class CreateRecord extends AbstractNameServiceRequest {
+public class CreateRecord implements NameServiceRequest {
+ private final Optional<TenantAndApplicationId> owner;
private final Record record;
/** DO NOT USE. Public for serialization purposes */
public CreateRecord(Optional<TenantAndApplicationId> owner, Record record) {
- super(owner, record.name());
+ this.owner = Objects.requireNonNull(owner, "owner must be non-null");
this.record = Objects.requireNonNull(record, "record must be non-null");
if (record.type() != Record.Type.CNAME && record.type() != Record.Type.A) {
throw new IllegalArgumentException("Record of type " + record.type() + " is not supported: " + record);
@@ -33,6 +34,16 @@ public class CreateRecord extends AbstractNameServiceRequest {
}
@Override
+ public Optional<RecordName> name() {
+ return Optional.of(record.name());
+ }
+
+ @Override
+ public Optional<TenantAndApplicationId> owner() {
+ return owner;
+ }
+
+ @Override
public void dispatchTo(NameService nameService) {
List<Record> records = nameService.findRecords(record.type(), record.name());
records.forEach(r -> {
@@ -56,12 +67,12 @@ public class CreateRecord extends AbstractNameServiceRequest {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
CreateRecord that = (CreateRecord) o;
- return owner().equals(that.owner()) && record.equals(that.record);
+ return owner.equals(that.owner) && record.equals(that.record);
}
@Override
public int hashCode() {
- return Objects.hash(owner(), record);
+ return Objects.hash(owner, record);
}
}