diff options
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.java | 19 |
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); } } |