mirror of
https://github.com/google/nomulus.git
synced 2025-05-02 13:07:50 +02:00
This still retains the DnsWriter interface itself for better integration with Dagger and to preserve the option of having a DNS writer that does not have this requirement (e.g. because it is idempotent). This also makes the commit check thread-safe, which is a nice-to-have. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=168451114
58 lines
1.8 KiB
Java
58 lines
1.8 KiB
Java
// Copyright 2017 The Nomulus Authors. All Rights Reserved.
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
package google.registry.dns.writer;
|
|
|
|
import com.google.common.base.Joiner;
|
|
import java.util.HashSet;
|
|
import java.util.Set;
|
|
import java.util.logging.Logger;
|
|
import javax.inject.Inject;
|
|
|
|
/**
|
|
* {@link DnsWriter} that doesn't actually update records in a DNS server.
|
|
*
|
|
* <p>All this class does is write its displeasure to the logs.
|
|
*/
|
|
public final class VoidDnsWriter extends BaseDnsWriter {
|
|
|
|
/**
|
|
* The name of the pricing engine, as used in {@code Registry.dnsWriter}. Remember to change
|
|
* the value on affected Registry objects to prevent runtime failures.
|
|
*/
|
|
public static final String NAME = "VoidDnsWriter";
|
|
|
|
private static final Logger logger = Logger.getLogger(VoidDnsWriter.class.getName());
|
|
|
|
private final Set<String> names = new HashSet<>();
|
|
|
|
@Inject
|
|
public VoidDnsWriter() {}
|
|
|
|
@Override
|
|
public void publishDomain(String domainName) {
|
|
names.add(domainName);
|
|
}
|
|
|
|
@Override
|
|
public void publishHost(String hostName) {
|
|
names.add(hostName);
|
|
}
|
|
|
|
@Override
|
|
protected void commitUnchecked() {
|
|
logger.warning("Ignoring DNS zone updates! No DnsWriterFactory implementation specified!\n"
|
|
+ Joiner.on('\n').join(names));
|
|
}
|
|
}
|