There is only one class used from this package, remove all the others.
Change-Id: I0a5d751ec2ef9cdf07694a4a640fe1ca25bf1afb
JIRA: CONTROLLER-2071
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
+++ /dev/null
-/*
- * Copyright 2016-present Open Networking Foundation
- *
- * 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 io.atomix.utils.misc;
-
-import java.util.Arrays;
-import java.util.Objects;
-import java.util.function.Function;
-
-import static com.google.common.base.MoreObjects.toStringHelper;
-
-/**
- * Utility class for checking matching values.
- *
- * @param <T> type of value
- */
-public final class Match<T> {
-
- public static final Match ANY = new Match<>();
- public static final Match NULL = new Match<>(null, false);
- public static final Match NOT_NULL = new Match<>(null, true);
-
- private final boolean matchAny;
- private final T value;
- private final boolean negation;
-
- /**
- * Returns a Match that matches any value including null.
- *
- * @param <T> match type
- * @return new instance
- */
- public static <T> Match<T> any() {
- return ANY;
- }
-
- /**
- * Returns a Match that matches null values.
- *
- * @param <T> match type
- * @return new instance
- */
- public static <T> Match<T> ifNull() {
- return NULL;
- }
-
- /**
- * Returns a Match that matches all non-null values.
- *
- * @param <T> match type
- * @return new instance
- */
- public static <T> Match<T> ifNotNull() {
- return NOT_NULL;
- }
-
- /**
- * Returns a Match that only matches the specified value.
- *
- * @param value value to match
- * @param <T> match type
- * @return new instance
- */
- public static <T> Match<T> ifValue(T value) {
- return new Match<>(value, false);
- }
-
- /**
- * Returns a Match that matches any value except the specified value.
- *
- * @param value value to not match
- * @param <T> match type
- * @return new instance
- */
- public static <T> Match<T> ifNotValue(T value) {
- return new Match<>(value, true);
- }
-
- private Match() {
- matchAny = true;
- negation = false;
- value = null;
- }
-
- private Match(T value, boolean negation) {
- matchAny = false;
- this.value = value;
- this.negation = negation;
- }
-
- /**
- * Maps this instance to a Match of another type.
- *
- * @param mapper transformation function
- * @param <V> new match type
- * @return new instance
- */
- public <V> Match<V> map(Function<T, V> mapper) {
- if (matchAny) {
- return any();
- } else if (value == null) {
- return negation ? ifNotNull() : ifNull();
- } else {
- return negation ? ifNotValue(mapper.apply(value)) : ifValue(mapper.apply(value));
- }
- }
-
- /**
- * Checks if this instance matches specified value.
- *
- * @param other other value
- * @return true if matches; false otherwise
- */
- public boolean matches(T other) {
- if (matchAny) {
- return true;
- } else if (other == null) {
- return negation ? value != null : value == null;
- } else {
- if (value instanceof byte[]) {
- boolean equal = Arrays.equals((byte[]) value, (byte[]) other);
- return negation ? !equal : equal;
- }
- return negation ? !Objects.equals(value, other) : Objects.equals(value, other);
- }
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(matchAny, value, negation);
- }
-
- @Override
- public boolean equals(Object other) {
- if (!(other instanceof Match)) {
- return false;
- }
- Match<T> that = (Match<T>) other;
- return this.matchAny == that.matchAny
- && Objects.equals(this.value, that.value)
- && this.negation == that.negation;
- }
-
- @Override
- public String toString() {
- return toStringHelper(this)
- .add("matchAny", matchAny)
- .add("negation", negation)
- .add("value", value)
- .toString();
- }
-}
+++ /dev/null
-/*
- * Copyright 2019-present Open Networking Foundation
- *
- * 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 io.atomix.utils.misc;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Collection of various helper methods to manipulate strings.
- */
-public final class StringUtils {
-
- private StringUtils() {
- }
-
- /**
- * Splits the input string with the given regex and filters empty strings.
- *
- * @param input the string to split.
- * @return the array of strings computed by splitting this string
- */
- public static String[] split(String input, String regex) {
- if (input == null) {
- return null;
- }
- String[] arr = input.split(regex);
- List<String> results = new ArrayList<>(arr.length);
- for (String a : arr) {
- if (!a.trim().isEmpty()) {
- results.add(a);
- }
- }
- return results.toArray(new String[0]);
- }
-}
+++ /dev/null
-/*
- * Copyright 2017-present Open Networking Foundation
- *
- * 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 io.atomix.utils.misc;
-
-import java.time.Instant;
-import java.time.LocalDateTime;
-import java.time.ZoneId;
-import java.time.format.DateTimeFormatter;
-
-/**
- * Timestamp printer.
- */
-public class TimestampPrinter {
-
- /**
- * Returns a new timestamp printer.
- *
- * @param timestamp the timestamp to print
- * @return the timestamp printer
- */
- public static TimestampPrinter of(long timestamp) {
- return new TimestampPrinter(timestamp);
- }
-
- private static final DateTimeFormatter FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd hh:mm:ss,SSS");
-
- private final long timestamp;
-
- public TimestampPrinter(long timestamp) {
- this.timestamp = timestamp;
- }
-
- @Override
- public String toString() {
- return FORMATTER.format(LocalDateTime.ofInstant(Instant.ofEpochMilli(timestamp), ZoneId.systemDefault()));
- }
-}
+++ /dev/null
-/*
- * Copyright 2016-present Open Networking Foundation
- *
- * 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 io.atomix.utils;
-
-import com.google.common.base.Objects;
-import io.atomix.utils.misc.Match;
-import org.junit.Test;
-
-import static junit.framework.TestCase.assertEquals;
-import static junit.framework.TestCase.assertFalse;
-import static junit.framework.TestCase.assertTrue;
-
-/**
- * Unit tests for Match.
- */
-public class MatchTest {
-
- @Test
- public void testMatches() {
- Match<String> m1 = Match.any();
- assertTrue(m1.matches(null));
- assertTrue(m1.matches("foo"));
- assertTrue(m1.matches("bar"));
-
- Match<String> m2 = Match.ifNull();
- assertTrue(m2.matches(null));
- assertFalse(m2.matches("foo"));
-
- Match<String> m3 = Match.ifValue("foo");
- assertFalse(m3.matches(null));
- assertFalse(m3.matches("bar"));
- assertTrue(m3.matches("foo"));
-
- Match<byte[]> m4 = Match.ifValue(new byte[8]);
- assertTrue(m4.matches(new byte[8]));
- assertFalse(m4.matches(new byte[7]));
- }
-
- @Test
- public void testEquals() {
- Match<String> m1 = Match.any();
- Match<String> m2 = Match.any();
- Match<String> m3 = Match.ifNull();
- Match<String> m4 = Match.ifValue("bar");
- assertEquals(m1, m2);
- assertFalse(Objects.equal(m1, m3));
- assertFalse(Objects.equal(m3, m4));
- Object o = new Object();
- assertFalse(Objects.equal(m1, o));
- }
-
- @Test
- public void testMap() {
- Match<String> m1 = Match.ifNull();
- assertEquals(m1.map(s -> "bar"), Match.ifNull());
- Match<String> m2 = Match.ifValue("foo");
- Match<String> m3 = m2.map(s -> "bar");
- assertTrue(m3.matches("bar"));
- }
-
- @Test
- public void testIfNotNull() {
- Match<String> m = Match.ifNotNull();
- assertFalse(m.matches(null));
- assertTrue(m.matches("foo"));
- }
-
- @Test
- public void testIfNotValue() {
- Match<String> m1 = Match.ifNotValue(null);
- Match<String> m2 = Match.ifNotValue("foo");
- assertFalse(m1.matches(null));
- assertFalse(m2.matches("foo"));
- }
-
- @Test
- public void testToString() {
- Match<String> m1 = Match.any();
- Match<String> m2 = Match.any();
- Match<String> m3 = Match.ifValue("foo");
- Match<String> m4 = Match.ifValue("foo");
- Match<String> m5 = Match.ifNotValue("foo");
-
- String note = "Results of toString() should be consistent -- ";
-
- assertTrue(note, m1.toString().equals(m2.toString()));
- assertTrue(note, m3.toString().equals(m4.toString()));
- assertFalse(note, m4.toString().equals(m5.toString()));
- }
-
- @Test
- public void testHashCode() {
- Match<String> m1 = Match.ifValue("foo");
- Match<String> m2 = Match.ifNotValue("foo");
- Match<String> m3 = Match.ifValue("foo");
- Match<String> m4 = Match.ifNotNull();
- Match<String> m5 = Match.ifNull();
-
- assertTrue(m1.hashCode() == m3.hashCode());
- assertFalse(m2.hashCode() == m1.hashCode());
- assertFalse(m4.hashCode() == m5.hashCode());
-
- }
-
-}
+++ /dev/null
-/*
- * Copyright 2017-present Open Networking Foundation
- *
- * 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 io.atomix.utils;
-
-import io.atomix.utils.misc.TimestampPrinter;
-import org.junit.Ignore;
-import org.junit.Test;
-
-import static org.junit.Assert.assertEquals;
-
-/**
- * Timestamp printer test.
- */
-public class TimestampPrinterTest {
- @Test
- @Ignore // Timestamp is environment specific
- public void testTimestampPrinter() throws Exception {
- TimestampPrinter printer = TimestampPrinter.of(1);
- assertEquals("1969-12-31 04:00:00,001", printer.toString());
- }
-}
+++ /dev/null
-/*
- * Copyright 2019-present Open Networking Foundation
- *
- * 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 io.atomix.utils.misc;
-
-import org.junit.Test;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-
-public class StringUtilsTest {
-
- @Test
- public void testNull() {
- assertNull(StringUtils.split(null, ","));
- }
-
- @Test
- public void testFilter() {
- String[] result = StringUtils.split("1, ,,", ",");
- assertNotNull(result);
- assertEquals(1, result.length);
- assertEquals("1", result[0]);
- }
-}