Remove most of io.atomix.utils.misc 80/104680/1
authorRobert Varga <robert.varga@pantheon.tech>
Thu, 2 Mar 2023 00:25:36 +0000 (01:25 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Thu, 2 Mar 2023 00:25:36 +0000 (01:25 +0100)
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>
third-party/atomix/utils/src/main/java/io/atomix/utils/misc/Match.java [deleted file]
third-party/atomix/utils/src/main/java/io/atomix/utils/misc/StringUtils.java [deleted file]
third-party/atomix/utils/src/main/java/io/atomix/utils/misc/TimestampPrinter.java [deleted file]
third-party/atomix/utils/src/test/java/io/atomix/utils/MatchTest.java [deleted file]
third-party/atomix/utils/src/test/java/io/atomix/utils/TimestampPrinterTest.java [deleted file]
third-party/atomix/utils/src/test/java/io/atomix/utils/misc/StringUtilsTest.java [deleted file]

diff --git a/third-party/atomix/utils/src/main/java/io/atomix/utils/misc/Match.java b/third-party/atomix/utils/src/main/java/io/atomix/utils/misc/Match.java
deleted file mode 100644 (file)
index b46b0cf..0000000
+++ /dev/null
@@ -1,164 +0,0 @@
-/*
- * 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();
-  }
-}
diff --git a/third-party/atomix/utils/src/main/java/io/atomix/utils/misc/StringUtils.java b/third-party/atomix/utils/src/main/java/io/atomix/utils/misc/StringUtils.java
deleted file mode 100644 (file)
index 5390b6c..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * 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]);
-  }
-}
diff --git a/third-party/atomix/utils/src/main/java/io/atomix/utils/misc/TimestampPrinter.java b/third-party/atomix/utils/src/main/java/io/atomix/utils/misc/TimestampPrinter.java
deleted file mode 100644 (file)
index 0e4dcea..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * 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()));
-  }
-}
diff --git a/third-party/atomix/utils/src/test/java/io/atomix/utils/MatchTest.java b/third-party/atomix/utils/src/test/java/io/atomix/utils/MatchTest.java
deleted file mode 100644 (file)
index 033b75a..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * 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());
-
-  }
-
-}
diff --git a/third-party/atomix/utils/src/test/java/io/atomix/utils/TimestampPrinterTest.java b/third-party/atomix/utils/src/test/java/io/atomix/utils/TimestampPrinterTest.java
deleted file mode 100644 (file)
index 49f2875..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * 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());
-  }
-}
diff --git a/third-party/atomix/utils/src/test/java/io/atomix/utils/misc/StringUtilsTest.java b/third-party/atomix/utils/src/test/java/io/atomix/utils/misc/StringUtilsTest.java
deleted file mode 100644 (file)
index ce43e55..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * 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]);
-  }
-}