mirror of
https://github.com/google/nomulus.git
synced 2025-05-14 00:17:20 +02:00
Use Java 8 streams in RdeCounter
This also improves performance by calculating a set once rather than on-demand every time it is used. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=177471572
This commit is contained in:
parent
68768a561f
commit
087a500093
1 changed files with 10 additions and 15 deletions
|
@ -14,10 +14,8 @@
|
||||||
|
|
||||||
package google.registry.rde;
|
package google.registry.rde;
|
||||||
|
|
||||||
import static com.google.common.base.Predicates.equalTo;
|
import com.google.common.collect.ImmutableSet;
|
||||||
import static com.google.common.base.Predicates.not;
|
import com.google.common.collect.Sets;
|
||||||
import static com.google.common.collect.Iterables.filter;
|
|
||||||
|
|
||||||
import google.registry.model.rde.RdeMode;
|
import google.registry.model.rde.RdeMode;
|
||||||
import google.registry.xjc.rde.XjcRdeDepositTypeType;
|
import google.registry.xjc.rde.XjcRdeDepositTypeType;
|
||||||
import google.registry.xjc.rdeheader.XjcRdeHeader;
|
import google.registry.xjc.rdeheader.XjcRdeHeader;
|
||||||
|
@ -43,9 +41,7 @@ public final class RdeCounter {
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public RdeCounter() {
|
public RdeCounter() {
|
||||||
for (RdeResourceType resourceType : getResourceTypesExcludingHeader()) {
|
NON_HEADER_RDE_RESOURCE_TYPES.forEach(type -> counts.put(type, new AtomicLong()));
|
||||||
counts.put(resourceType, new AtomicLong());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Increment the count on a given resource. */
|
/** Increment the count on a given resource. */
|
||||||
|
@ -57,11 +53,10 @@ public final class RdeCounter {
|
||||||
public XjcRdeHeader makeHeader(String tld, RdeMode mode) {
|
public XjcRdeHeader makeHeader(String tld, RdeMode mode) {
|
||||||
XjcRdeHeader header = new XjcRdeHeader();
|
XjcRdeHeader header = new XjcRdeHeader();
|
||||||
header.setTld(tld);
|
header.setTld(tld);
|
||||||
for (RdeResourceType resourceType : getResourceTypesExcludingHeader()) {
|
NON_HEADER_RDE_RESOURCE_TYPES
|
||||||
if (resourceType.getModes().contains(mode)) {
|
.stream()
|
||||||
header.getCounts().add(makeCount(resourceType.getUri(), counts.get(resourceType).get()));
|
.filter(type -> type.getModes().contains(mode))
|
||||||
}
|
.forEach(type -> header.getCounts().add(makeCount(type.getUri(), counts.get(type).get())));
|
||||||
}
|
|
||||||
return header;
|
return header;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -81,9 +76,9 @@ public final class RdeCounter {
|
||||||
return report;
|
return report;
|
||||||
}
|
}
|
||||||
|
|
||||||
private Iterable<RdeResourceType> getResourceTypesExcludingHeader() {
|
private static final ImmutableSet<RdeResourceType> NON_HEADER_RDE_RESOURCE_TYPES =
|
||||||
return filter(EnumSet.allOf(RdeResourceType.class), not(equalTo(RdeResourceType.HEADER)));
|
Sets.difference(EnumSet.allOf(RdeResourceType.class), ImmutableSet.of(RdeResourceType.HEADER))
|
||||||
}
|
.immutableCopy();
|
||||||
|
|
||||||
private static XjcRdeHeaderCount makeCount(String uri, long count) {
|
private static XjcRdeHeaderCount makeCount(String uri, long count) {
|
||||||
XjcRdeHeaderCount bean = new XjcRdeHeaderCount();
|
XjcRdeHeaderCount bean = new XjcRdeHeaderCount();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue