Skip to content

Commit 34db073

Browse files
vjkoskelaBrandonArp
authored andcommitted
Switched from Guava Optional to Java Optional. (#47)
1 parent 67f42ea commit 34db073

File tree

60 files changed

+234
-223
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

60 files changed

+234
-223
lines changed

src/main/java/com/arpnetworking/clusteraggregator/AggDataUnifier.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,12 @@
2020
import com.arpnetworking.tsdcore.model.Quantity;
2121
import com.arpnetworking.tsdcore.model.Unit;
2222
import com.google.common.base.Function;
23-
import com.google.common.base.Optional;
2423
import com.google.common.collect.FluentIterable;
2524
import com.google.common.collect.Lists;
2625

2726
import java.util.Collection;
2827
import java.util.List;
28+
import java.util.Optional;
2929
import javax.annotation.Nonnull;
3030

3131
/**
@@ -42,7 +42,7 @@ private AggDataUnifier() {}
4242
* @return A new {@code List<AggregatedData>} with unified units.
4343
*/
4444
public static List<AggregatedData> unify(final Collection<AggregatedData> aggData) {
45-
Optional<Unit> smallestUnit = Optional.absent();
45+
Optional<Unit> smallestUnit = Optional.empty();
4646
for (final AggregatedData data : aggData) {
4747
smallestUnit = getSmaller(smallestUnit, data.getValue().getUnit());
4848

@@ -58,7 +58,7 @@ private static Optional<Unit> getSmaller(final Optional<Unit> a, final Optional<
5858
if (a.isPresent() && b.isPresent()) {
5959
return a.get().isSmallerThan(b.get()) ? a : b;
6060
} else {
61-
return a.or(b);
61+
return Optional.ofNullable(a.orElse(b.orElse(null)));
6262
}
6363
}
6464

src/main/java/com/arpnetworking/clusteraggregator/ClusterStatusCache.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,10 @@
2727
import com.arpnetworking.metrics.Metrics;
2828
import com.arpnetworking.metrics.MetricsFactory;
2929
import com.arpnetworking.utility.ParallelLeastShardAllocationStrategy;
30-
import com.google.common.base.Optional;
3130
import com.google.common.collect.ArrayListMultimap;
3231
import com.google.common.collect.Multimaps;
3332
import com.google.common.collect.Sets;
33+
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
3434
import scala.compat.java8.JFunction;
3535
import scala.concurrent.duration.Duration;
3636

@@ -39,6 +39,7 @@
3939
import java.util.Collections;
4040
import java.util.List;
4141
import java.util.Map;
42+
import java.util.Optional;
4243
import java.util.Set;
4344
import java.util.concurrent.TimeUnit;
4445
import java.util.stream.Collectors;
@@ -140,7 +141,7 @@ public void onReceive(final Object message) throws Exception {
140141

141142
private void sendResponse(final ActorRef sender) {
142143
final StatusResponse response = new StatusResponse(
143-
_clusterState.or(_cluster.state()),
144+
_clusterState.orElse(_cluster.state()),
144145
_rebalanceState);
145146
sender.tell(response, self());
146147
}
@@ -154,10 +155,10 @@ private static String hostFromActorRef(final ActorRef shardRegion) {
154155

155156
private final Cluster _cluster;
156157
private final MetricsFactory _metricsFactory;
157-
private Optional<ClusterEvent.CurrentClusterState> _clusterState = Optional.absent();
158+
private Optional<ClusterEvent.CurrentClusterState> _clusterState = Optional.empty();
158159
@Nullable
159160
private Cancellable _pollTimer;
160-
private Optional<ParallelLeastShardAllocationStrategy.RebalanceNotification> _rebalanceState = Optional.absent();
161+
private Optional<ParallelLeastShardAllocationStrategy.RebalanceNotification> _rebalanceState = Optional.empty();
161162

162163
private static final String POLL = "poll";
163164

@@ -203,7 +204,7 @@ public StatusResponse(
203204
.map(shardRegion -> computeShardAllocation(pendingRebalances, currentAllocations, shardRegion))
204205
.collect(Collectors.toList()));
205206
} else {
206-
_allocations = Optional.absent();
207+
_allocations = Optional.empty();
207208
}
208209
}
209210

@@ -245,6 +246,7 @@ public Optional<List<ShardAllocation>> getAllocations() {
245246
}
246247

247248
private final ClusterEvent.CurrentClusterState _clusterState;
249+
@SuppressFBWarnings("SE_BAD_FIELD")
248250
private final Optional<List<ShardAllocation>> _allocations;
249251
private static final long serialVersionUID = 603308359721162702L;
250252
}

src/main/java/com/arpnetworking/clusteraggregator/GuiceModule.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,6 @@
6565
import com.arpnetworking.utility.ParallelLeastShardAllocationStrategy;
6666
import com.arpnetworking.utility.partitioning.PartitionSet;
6767
import com.fasterxml.jackson.databind.ObjectMapper;
68-
import com.google.common.base.Optional;
6968
import com.google.common.base.Throwables;
7069
import com.google.inject.AbstractModule;
7170
import com.google.inject.Injector;
@@ -84,6 +83,7 @@
8483
import java.util.Collections;
8584
import java.util.Locale;
8685
import java.util.Map;
86+
import java.util.Optional;
8787
import java.util.concurrent.CompletionStage;
8888

8989
/**

src/main/java/com/arpnetworking/clusteraggregator/Main.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@
3030
import com.arpnetworking.utility.Database;
3131
import com.arpnetworking.utility.Launchable;
3232
import com.fasterxml.jackson.databind.ObjectMapper;
33-
import com.google.common.base.Optional;
3433
import com.google.common.base.Throwables;
3534
import com.google.common.collect.Lists;
3635
import com.google.inject.Guice;
@@ -45,6 +44,7 @@
4544
import java.io.File;
4645
import java.util.List;
4746
import java.util.Locale;
47+
import java.util.Optional;
4848
import java.util.concurrent.Semaphore;
4949
import java.util.concurrent.TimeUnit;
5050

@@ -92,8 +92,8 @@ public static void main(final String[] args) {
9292
.addData("file", args[0])
9393
.log();
9494

95-
Optional<DynamicConfiguration> configuration = Optional.absent();
96-
Optional<Configurator<Main, ClusterAggregatorConfiguration>> configurator = Optional.absent();
95+
Optional<DynamicConfiguration> configuration = Optional.empty();
96+
Optional<Configurator<Main, ClusterAggregatorConfiguration>> configurator = Optional.empty();
9797
try {
9898
final File configurationFile = new File(args[0]);
9999
configurator = Optional.of(new Configurator<>(Main::new, ClusterAggregatorConfiguration.class));

src/main/java/com/arpnetworking/clusteraggregator/client/AggClientConnection.java

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@
3232
import com.arpnetworking.tsdcore.model.FQDSN;
3333
import com.arpnetworking.tsdcore.model.PeriodicData;
3434
import com.arpnetworking.tsdcore.statistics.Statistic;
35-
import com.google.common.base.Optional;
3635
import com.google.common.collect.ImmutableList;
3736
import com.google.common.collect.ImmutableMap;
3837
import com.google.protobuf.GeneratedMessage;
@@ -44,6 +43,7 @@
4443
import java.time.Duration;
4544
import java.util.Collections;
4645
import java.util.Map;
46+
import java.util.Optional;
4747
import java.util.regex.Pattern;
4848

4949
/**
@@ -141,15 +141,15 @@ private void processMessages() {
141141
if (gm instanceof Messages.HostIdentification) {
142142
final Messages.HostIdentification hostIdent = (Messages.HostIdentification) gm;
143143
if (hostIdent.hasHostName()) {
144-
_hostName = Optional.fromNullable(hostIdent.getHostName());
144+
_hostName = Optional.ofNullable(hostIdent.getHostName());
145145
}
146146
if (hostIdent.hasClusterName()) {
147-
_clusterName = Optional.fromNullable(hostIdent.getClusterName());
147+
_clusterName = Optional.ofNullable(hostIdent.getClusterName());
148148
}
149149
LOGGER.info()
150150
.setMessage("Handshake received")
151-
.addData("host", _hostName.or(""))
152-
.addData("cluster", _clusterName.or(""))
151+
.addData("host", _hostName.orElse(""))
152+
.addData("cluster", _clusterName.orElse(""))
153153
.addContext("actor", self())
154154
.log();
155155
} else if (gm instanceof Messages.StatisticSetRecord) {
@@ -169,8 +169,8 @@ private void processMessages() {
169169
} else if (gm instanceof Messages.HeartbeatRecord) {
170170
LOGGER.debug()
171171
.setMessage("Heartbeat received")
172-
.addData("host", _hostName.or(""))
173-
.addData("cluster", _clusterName.or(""))
172+
.addData("host", _hostName.orElse(""))
173+
.addData("cluster", _clusterName.orElse(""))
174174
.addContext("actor", self())
175175
.log();
176176
} else {
@@ -198,27 +198,27 @@ private Optional<PeriodicData> buildPeriodicData(final Messages.StatisticSetReco
198198
final ImmutableList.Builder<AggregatedData> builder = ImmutableList.builder();
199199
final ImmutableMap.Builder<String, String> dimensionBuilder = ImmutableMap.builder();
200200

201-
Optional<String> host = Optional.absent();
202-
Optional<String> service = Optional.absent();
203-
Optional<String> cluster = Optional.absent();
201+
Optional<String> host = Optional.empty();
202+
Optional<String> service = Optional.empty();
203+
Optional<String> cluster = Optional.empty();
204204
for (final Messages.DimensionEntry dimensionEntry : setRecord.getDimensionsList()) {
205205
if (CombinedMetricData.HOST_KEY.equals(dimensionEntry.getKey())) {
206-
host = Optional.fromNullable(dimensionEntry.getValue());
206+
host = Optional.ofNullable(dimensionEntry.getValue());
207207
} else if (CombinedMetricData.SERVICE_KEY.equals(dimensionEntry.getKey())) {
208-
service = Optional.fromNullable(dimensionEntry.getValue());
208+
service = Optional.ofNullable(dimensionEntry.getValue());
209209
} else if (CombinedMetricData.CLUSTER_KEY.equals(dimensionEntry.getKey())) {
210-
cluster = Optional.fromNullable(dimensionEntry.getValue());
210+
cluster = Optional.ofNullable(dimensionEntry.getValue());
211211
} else {
212212
dimensionBuilder.put(dimensionEntry.getKey(), dimensionEntry.getValue());
213213
}
214214
}
215215

216216
if (!service.isPresent()) {
217-
service = Optional.fromNullable(setRecord.getService());
217+
service = Optional.ofNullable(setRecord.getService());
218218
}
219219

220220
if (!cluster.isPresent()) {
221-
cluster = Optional.fromNullable(setRecord.getCluster());
221+
cluster = Optional.ofNullable(setRecord.getCluster());
222222
if (!cluster.isPresent()) {
223223
cluster = _clusterName;
224224
}
@@ -228,9 +228,9 @@ private Optional<PeriodicData> buildPeriodicData(final Messages.StatisticSetReco
228228
host = _hostName;
229229
}
230230

231-
dimensionBuilder.put(CombinedMetricData.HOST_KEY, host.or(""));
232-
dimensionBuilder.put(CombinedMetricData.SERVICE_KEY, service.or(""));
233-
dimensionBuilder.put(CombinedMetricData.CLUSTER_KEY, cluster.or(""));
231+
dimensionBuilder.put(CombinedMetricData.HOST_KEY, host.orElse(""));
232+
dimensionBuilder.put(CombinedMetricData.SERVICE_KEY, service.orElse(""));
233+
dimensionBuilder.put(CombinedMetricData.CLUSTER_KEY, cluster.orElse(""));
234234

235235
if (!(host.isPresent() && service.isPresent() && cluster.isPresent())) {
236236
INCOMPLETE_RECORD_LOGGER.warn()
@@ -239,7 +239,7 @@ private Optional<PeriodicData> buildPeriodicData(final Messages.StatisticSetReco
239239
.addData("service", service)
240240
.addData("cluster", cluster)
241241
.log();
242-
return Optional.absent();
242+
return Optional.empty();
243243
}
244244

245245
final ImmutableMap<String, String> dimensions = dimensionBuilder.build();
@@ -273,8 +273,8 @@ private Optional<PeriodicData> buildPeriodicData(final Messages.StatisticSetReco
273273
.build());
274274
}
275275

276-
private Optional<String> _hostName = Optional.absent();
277-
private Optional<String> _clusterName = Optional.absent();
276+
private Optional<String> _hostName = Optional.empty();
277+
private Optional<String> _clusterName = Optional.empty();
278278
private ByteString _buffer = ByteString.empty();
279279
private final ActorRef _connection;
280280
private final InetSocketAddress _remoteAddress;

src/main/java/com/arpnetworking/clusteraggregator/configuration/ConfigurableActorProxy.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,14 @@
2424
import com.arpnetworking.steno.Logger;
2525
import com.arpnetworking.steno.LoggerFactory;
2626
import com.arpnetworking.utility.ConfiguredLaunchableFactory;
27-
import com.google.common.base.Optional;
2827
import com.google.common.collect.Lists;
2928
import com.google.common.util.concurrent.Service;
3029

3130
import java.io.Serializable;
3231
import java.util.Deque;
3332
import java.util.LinkedList;
3433
import java.util.List;
34+
import java.util.Optional;
3535

3636
/**
3737
* Serves as a router for configuration-created actors. Handles reconfiguration messages and swaps references on reconfiguration.
@@ -101,15 +101,15 @@ private void actorTerminated(final Terminated message) {
101101
.log();
102102
final ActorRef terminatedActor = message.actor();
103103
// Make sure the currentChild is the one that died
104-
if (!terminatedActor.equals(_currentChild.orNull())) {
104+
if (!terminatedActor.equals(_currentChild.orElse(null))) {
105105
LOGGER.error()
106106
.setMessage("Terminated message received from unknown actor")
107107
.addData("terminated", message)
108108
.addContext("actor", self())
109109
.log();
110110
return;
111111
}
112-
_currentChild = Optional.absent();
112+
_currentChild = Optional.empty();
113113
self().tell(new SwapActor(), self());
114114
}
115115

@@ -131,7 +131,7 @@ private void swapActor() {
131131
_observers.forEach(o -> o.tell(actorStartedNotification, self()));
132132

133133
_currentChild = Optional.of(newRef);
134-
_pendingConfiguration = Optional.absent();
134+
_pendingConfiguration = Optional.empty();
135135
_state = Service.State.RUNNING;
136136
while (!_messageBuffer.isEmpty()) {
137137
final BufferedMessage entry = _messageBuffer.remove();
@@ -165,8 +165,8 @@ private void applyConfiguration(final ApplyConfiguration<T> applyConfiguration)
165165
}
166166
}
167167

168-
private Optional<ActorRef> _currentChild = Optional.absent();
169-
private Optional<T> _pendingConfiguration = Optional.absent();
168+
private Optional<ActorRef> _currentChild = Optional.empty();
169+
private Optional<T> _pendingConfiguration = Optional.empty();
170170
private Service.State _state = Service.State.NEW;
171171
private final ConfiguredLaunchableFactory<Props, T> _factory;
172172
private final Deque<BufferedMessage> _messageBuffer = new LinkedList<>();

src/main/java/com/arpnetworking/clusteraggregator/models/CombinedMetricData.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727
import com.arpnetworking.tsdcore.statistics.HistogramStatistic;
2828
import com.arpnetworking.tsdcore.statistics.Statistic;
2929
import com.arpnetworking.tsdcore.statistics.StatisticFactory;
30-
import com.google.common.base.Optional;
3130
import com.google.common.base.Strings;
3231
import com.google.common.base.Throwables;
3332
import com.google.common.collect.Maps;
@@ -36,6 +35,7 @@
3635
import org.joda.time.Period;
3736

3837
import java.util.Map;
38+
import java.util.Optional;
3939

4040
/**
4141
* A metric-based aggregation model. Holds all of the statistics and supporting for a metric on a host.
@@ -231,17 +231,17 @@ private static Quantity getQuantity(final Messages.StatisticRecord statisticReco
231231
final Optional<Unit> unit;
232232
unit = getUnitFromName(statisticRecord.getUnit());
233233
return new Quantity.Builder()
234-
.setUnit(unit.orNull())
234+
.setUnit(unit.orElse(null))
235235
.setValue(statisticRecord.getValue())
236236
.build();
237237
}
238238

239239
private static Optional<Unit> getUnitFromName(final String unitString) {
240240
final Optional<Unit> unit;
241241
if (Strings.isNullOrEmpty(unitString)) {
242-
unit = Optional.absent();
242+
unit = Optional.empty();
243243
} else {
244-
unit = Optional.fromNullable(Unit.valueOf(unitString));
244+
unit = Optional.ofNullable(Unit.valueOf(unitString));
245245
}
246246
return unit;
247247
}

src/main/java/com/arpnetworking/clusteraggregator/models/StatusResponse.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@
2828
import com.fasterxml.jackson.databind.SerializerProvider;
2929
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
3030
import com.google.common.base.Charsets;
31-
import com.google.common.base.Optional;
3231
import com.google.common.collect.Iterables;
3332
import com.google.common.io.Resources;
3433
import net.sf.oval.constraint.NotEmpty;
@@ -40,6 +39,7 @@
4039
import java.util.Collections;
4140
import java.util.List;
4241
import java.util.Map;
42+
import java.util.Optional;
4343

4444
/**
4545
* Response model for the status http endpoint.
@@ -74,7 +74,7 @@ public Map<Period, PeriodMetrics> getLocalMetrics() {
7474
}
7575

7676
public Optional<List<ShardAllocation>> getAllocations() {
77-
return _allocations.transform(Collections::unmodifiableList);
77+
return _allocations.map(Collections::unmodifiableList);
7878
}
7979

8080
public String getVersion() {
@@ -102,15 +102,15 @@ private StatusResponse(final Builder builder) {
102102
_metrics = builder._bookkeeperData;
103103
_localMetrics = builder._localMetrics;
104104
_allocations = flatten(
105-
Optional.fromNullable(builder._clusterState)
106-
.transform(ClusterStatusCache.StatusResponse::getAllocations));
105+
Optional.ofNullable(builder._clusterState)
106+
.map(ClusterStatusCache.StatusResponse::getAllocations));
107107
}
108108

109109
private <T> Optional<T> flatten(final Optional<Optional<T>> value) {
110110
if (value.isPresent()) {
111111
return value.get();
112112
}
113-
return Optional.absent();
113+
return Optional.empty();
114114
}
115115

116116
private final Address _localAddress;

0 commit comments

Comments
 (0)