From: Robert Varga Date: Fri, 18 Aug 2017 09:38:16 +0000 (+0200) Subject: Cleanup use of Guava library X-Git-Tag: v2.0.0~206 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=8f2876d895936b36aba1fc3ec65b18900e559184;p=yangtools.git Cleanup use of Guava library Turn Preconditions.checkNotNull into Objects.requireNonNull, use it as static import. Eliminate the use of Optional/Function/Supplier concepts, which are now native to Java 8. Change-Id: Ie470283e1b4f706b0601a191626bd1e036d4d723 Signed-off-by: Robert Varga --- diff --git a/common/checkstyle-logging/src/main/java/org/opendaylight/yangtools/checkstyle/AbstractLogMessageCheck.java b/common/checkstyle-logging/src/main/java/org/opendaylight/yangtools/checkstyle/AbstractLogMessageCheck.java index 02ba5b8d78..4c1d4a1f11 100644 --- a/common/checkstyle-logging/src/main/java/org/opendaylight/yangtools/checkstyle/AbstractLogMessageCheck.java +++ b/common/checkstyle-logging/src/main/java/org/opendaylight/yangtools/checkstyle/AbstractLogMessageCheck.java @@ -20,7 +20,7 @@ public abstract class AbstractLogMessageCheck extends AbstractCheck { } @Override - public void visitToken(DetailAST ast) { + public void visitToken(final DetailAST ast) { String methodName = CheckLoggingUtil.getMethodName(ast); if (CheckLoggingUtil.isLogMethod(methodName)) { Optional optLogMessage = getLogMessage(ast); @@ -28,7 +28,7 @@ public abstract class AbstractLogMessageCheck extends AbstractCheck { } } - private Optional getLogMessage(DetailAST ast) { + private static Optional getLogMessage(DetailAST ast) { ast = ast.findFirstToken(TokenTypes.ELIST); if (ast != null) { ast = ast.getFirstChild(); diff --git a/common/checkstyle-logging/src/main/java/org/opendaylight/yangtools/checkstyle/CheckLoggingUtil.java b/common/checkstyle-logging/src/main/java/org/opendaylight/yangtools/checkstyle/CheckLoggingUtil.java index e5e079d88b..d7d3379a44 100644 --- a/common/checkstyle-logging/src/main/java/org/opendaylight/yangtools/checkstyle/CheckLoggingUtil.java +++ b/common/checkstyle-logging/src/main/java/org/opendaylight/yangtools/checkstyle/CheckLoggingUtil.java @@ -8,12 +8,12 @@ package org.opendaylight.yangtools.checkstyle; -import com.google.common.collect.Lists; +import com.google.common.collect.ImmutableSet; import com.puppycrawl.tools.checkstyle.api.DetailAST; import com.puppycrawl.tools.checkstyle.api.FullIdent; import com.puppycrawl.tools.checkstyle.api.TokenTypes; import com.puppycrawl.tools.checkstyle.utils.CheckUtils; -import java.util.List; +import java.util.Set; import org.slf4j.Logger; public final class CheckLoggingUtil { @@ -21,8 +21,9 @@ public final class CheckLoggingUtil { public static final String LOGGER_TYPE_NAME = Logger.class.getSimpleName(); public static final String LOGGER_TYPE_FULL_NAME = Logger.class.getName(); public static final String LOGGER_VAR_NAME = "LOG"; - private static final List LOG_METHODS = - Lists.newArrayList("LOG.debug", "LOG.info", "LOG.error", "LOG.warn", "LOG.trace"); + + private static final Set LOG_METHODS = ImmutableSet.of( + "LOG.debug", "LOG.info", "LOG.error", "LOG.warn", "LOG.trace"); private CheckLoggingUtil() { throw new UnsupportedOperationException("Utility class should not be instantiated!"); diff --git a/common/checkstyle-logging/src/main/java/org/opendaylight/yangtools/checkstyle/LogMessageConcatenationCheck.java b/common/checkstyle-logging/src/main/java/org/opendaylight/yangtools/checkstyle/LogMessageConcatenationCheck.java index 877db4181b..da8ba1c344 100644 --- a/common/checkstyle-logging/src/main/java/org/opendaylight/yangtools/checkstyle/LogMessageConcatenationCheck.java +++ b/common/checkstyle-logging/src/main/java/org/opendaylight/yangtools/checkstyle/LogMessageConcatenationCheck.java @@ -22,7 +22,7 @@ public class LogMessageConcatenationCheck extends AbstractCheck { } @Override - public void visitToken(DetailAST ast) { + public void visitToken(final DetailAST ast) { final String methodName = CheckLoggingUtil.getMethodName(ast); if (CheckLoggingUtil.isLogMethod(methodName)) { DetailAST plus = ast.findFirstToken(TokenTypes.ELIST).getFirstChild().findFirstToken(TokenTypes.PLUS); diff --git a/common/checkstyle-logging/src/main/java/org/opendaylight/yangtools/checkstyle/LogMessageExtractorCheck.java b/common/checkstyle-logging/src/main/java/org/opendaylight/yangtools/checkstyle/LogMessageExtractorCheck.java index c4c14e8f79..fdaff3a21f 100644 --- a/common/checkstyle-logging/src/main/java/org/opendaylight/yangtools/checkstyle/LogMessageExtractorCheck.java +++ b/common/checkstyle-logging/src/main/java/org/opendaylight/yangtools/checkstyle/LogMessageExtractorCheck.java @@ -7,7 +7,9 @@ */ package org.opendaylight.yangtools.checkstyle; -import com.google.common.base.Preconditions; +import static java.util.Objects.requireNonNull; + +import com.google.common.io.FileWriteMode; import com.google.common.io.Files; import com.puppycrawl.tools.checkstyle.api.DetailAST; import java.io.File; @@ -35,7 +37,7 @@ public class LogMessageExtractorCheck extends AbstractLogMessageCheck { private File logMessagesReportFile = DEFAULT_REPORT_FILE; - public void setLogMessagesReportFileName(String fileName) { + public void setLogMessagesReportFileName(final String fileName) { logMessagesReportFile = new File(fileName); logMessagesReportFile.getParentFile().mkdirs(); } @@ -45,7 +47,7 @@ public class LogMessageExtractorCheck extends AbstractLogMessageCheck { } @Override - protected void visitLogMessage(DetailAST ast, String logMessage) { + protected void visitLogMessage(final DetailAST ast, final String logMessage) { File file = new File(getFileContents().getFileName()); String fileName = FileNameUtil.getPathRelativeToMavenProjectRootIfPossible(file).getPath(); int lineNumber = ast.getLineNo(); @@ -53,15 +55,11 @@ public class LogMessageExtractorCheck extends AbstractLogMessageCheck { updateMessagesReportFile(log); } - protected void updateMessagesReportFile(LogMessageOccurence log) { + protected void updateMessagesReportFile(final LogMessageOccurence log) { try { final File file = getLogMessagesReportFile(); file.getParentFile().mkdirs(); - if (file.exists()) { - Files.append(log.toString() + "\n", file, StandardCharsets.UTF_8); - } else { - Files.write(log.toString() + "\n", file, StandardCharsets.UTF_8); - } + Files.asCharSink(file, StandardCharsets.UTF_8, FileWriteMode.APPEND).write(log.toString() + "\n"); } catch (IOException e) { LOG.error("Failed to append to file: {}", logMessagesReportFile.getPath(), e); } @@ -74,10 +72,10 @@ public class LogMessageExtractorCheck extends AbstractLogMessageCheck { public final int lineNumber; public final String message; - public LogMessageOccurence(String javaSourceFilePath, int lineNumber, String message) { - this.javaSourceFilePath = Preconditions.checkNotNull(javaSourceFilePath, "javaSourceFilePath"); + public LogMessageOccurence(final String javaSourceFilePath, final int lineNumber, final String message) { + this.javaSourceFilePath = requireNonNull(javaSourceFilePath, "javaSourceFilePath"); this.lineNumber = lineNumber; - this.message = Preconditions.checkNotNull(message, "message"); + this.message = requireNonNull(message, "message"); } @Override diff --git a/common/checkstyle-logging/src/main/java/org/opendaylight/yangtools/checkstyle/LogMessagePlaceholderCountCheck.java b/common/checkstyle-logging/src/main/java/org/opendaylight/yangtools/checkstyle/LogMessagePlaceholderCountCheck.java index 7c0ceec950..17c14e0c42 100644 --- a/common/checkstyle-logging/src/main/java/org/opendaylight/yangtools/checkstyle/LogMessagePlaceholderCountCheck.java +++ b/common/checkstyle-logging/src/main/java/org/opendaylight/yangtools/checkstyle/LogMessagePlaceholderCountCheck.java @@ -18,7 +18,7 @@ public class LogMessagePlaceholderCountCheck extends AbstractLogMessageCheck { private static final String EXCEPTION_TYPE = "Exception"; @Override - protected void visitLogMessage(DetailAST ast, String logMessage) { + protected void visitLogMessage(final DetailAST ast, final String logMessage) { int placeholdersCount = placeholdersCount(logMessage); int argumentsCount = ast.findFirstToken(TokenTypes.ELIST).getChildCount(TokenTypes.EXPR) - 1; final String lastArg = ast.findFirstToken(TokenTypes.ELIST).getLastChild().getFirstChild().getText(); @@ -30,11 +30,11 @@ public class LogMessagePlaceholderCountCheck extends AbstractLogMessageCheck { } } - private int placeholdersCount(final String message) { + private static int placeholdersCount(final String message) { return (message.length() - message.replace(PLACEHOLDER, "").length()) / PLACEHOLDER.length(); } - private boolean hasCatchBlockParentWithArgument(final String argumentName, final DetailAST ast) { + private static boolean hasCatchBlockParentWithArgument(final String argumentName, final DetailAST ast) { DetailAST parent = ast.getParent(); while (parent != null && parent.getType() != TokenTypes.LITERAL_CATCH) { parent = parent.getParent(); @@ -47,7 +47,7 @@ public class LogMessagePlaceholderCountCheck extends AbstractLogMessageCheck { return false; } - private boolean hasMethodDefinitionWithExceptionArgument(final String argumentName, final DetailAST ast) { + private static boolean hasMethodDefinitionWithExceptionArgument(final String argumentName, final DetailAST ast) { DetailAST parent = ast.getParent(); while (parent != null && parent.getType() != TokenTypes.METHOD_DEF) { parent = parent.getParent(); @@ -68,7 +68,7 @@ public class LogMessagePlaceholderCountCheck extends AbstractLogMessageCheck { return false; } - private boolean isExceptionType(final DetailAST parameterDef) { + private static boolean isExceptionType(final DetailAST parameterDef) { if (parameterDef != null) { final DetailAST type = parameterDef.findFirstToken(TokenTypes.TYPE); if (type != null && type.findFirstToken(TokenTypes.IDENT) != null) { diff --git a/common/checkstyle-logging/src/main/java/org/opendaylight/yangtools/checkstyle/LoggerFactoryClassParameterCheck.java b/common/checkstyle-logging/src/main/java/org/opendaylight/yangtools/checkstyle/LoggerFactoryClassParameterCheck.java index 08a4275892..e16129ec4e 100644 --- a/common/checkstyle-logging/src/main/java/org/opendaylight/yangtools/checkstyle/LoggerFactoryClassParameterCheck.java +++ b/common/checkstyle-logging/src/main/java/org/opendaylight/yangtools/checkstyle/LoggerFactoryClassParameterCheck.java @@ -8,10 +8,10 @@ package org.opendaylight.yangtools.checkstyle; -import com.google.common.base.Optional; import com.puppycrawl.tools.checkstyle.api.AbstractCheck; import com.puppycrawl.tools.checkstyle.api.DetailAST; import com.puppycrawl.tools.checkstyle.api.TokenTypes; +import java.util.Optional; public class LoggerFactoryClassParameterCheck extends AbstractCheck { @@ -24,7 +24,7 @@ public class LoggerFactoryClassParameterCheck extends AbstractCheck { } @Override - public void visitToken(DetailAST ast) { + public void visitToken(final DetailAST ast) { final String methodName = CheckLoggingUtil.getMethodName(ast); if (methodName.equals(METHOD_NAME)) { final String className = CheckLoggingUtil.getClassName(ast); @@ -40,7 +40,7 @@ public class LoggerFactoryClassParameterCheck extends AbstractCheck { } } - protected Optional getFirstArgument(DetailAST ast) { + protected Optional getFirstArgument(final DetailAST ast) { final DetailAST findFirstToken = ast.findFirstToken(TokenTypes.ELIST); if (findFirstToken != null) { DetailAST childToken = findFirstToken.getFirstChild(); @@ -54,7 +54,7 @@ public class LoggerFactoryClassParameterCheck extends AbstractCheck { } } } - return Optional.absent(); + return Optional.empty(); } } diff --git a/common/checkstyle-logging/src/main/java/org/opendaylight/yangtools/checkstyle/LoggerVariableModifiersCheck.java b/common/checkstyle-logging/src/main/java/org/opendaylight/yangtools/checkstyle/LoggerVariableModifiersCheck.java index f41b1dea88..2cd397acc3 100644 --- a/common/checkstyle-logging/src/main/java/org/opendaylight/yangtools/checkstyle/LoggerVariableModifiersCheck.java +++ b/common/checkstyle-logging/src/main/java/org/opendaylight/yangtools/checkstyle/LoggerVariableModifiersCheck.java @@ -22,20 +22,16 @@ public class LoggerVariableModifiersCheck extends AbstractCheck { } @Override - public void visitToken(DetailAST ast) { + public void visitToken(final DetailAST ast) { if (CheckLoggingUtil.isAFieldVariable(ast) && CheckLoggingUtil.isLoggerType(ast) && !hasPrivatStaticFinalModifier(ast)) { log(ast.getLineNo(), LOG_MESSAGE); } } - private boolean hasPrivatStaticFinalModifier(DetailAST ast) { - DetailAST modifiers = ast.findFirstToken(TokenTypes.MODIFIERS); - if (modifiers != null && modifiers.branchContains(TokenTypes.LITERAL_PRIVATE) - && modifiers.branchContains(TokenTypes.LITERAL_STATIC) && modifiers.branchContains(TokenTypes.FINAL)) { - return true; - } - return false; + private static boolean hasPrivatStaticFinalModifier(final DetailAST ast) { + final DetailAST modifiers = ast.findFirstToken(TokenTypes.MODIFIERS); + return modifiers != null && modifiers.branchContains(TokenTypes.LITERAL_PRIVATE) + && modifiers.branchContains(TokenTypes.LITERAL_STATIC) && modifiers.branchContains(TokenTypes.FINAL); } - } diff --git a/common/checkstyle-logging/src/main/java/org/opendaylight/yangtools/checkstyle/LoggerVariableNameCheck.java b/common/checkstyle-logging/src/main/java/org/opendaylight/yangtools/checkstyle/LoggerVariableNameCheck.java index 153117104b..ffa9d9800f 100644 --- a/common/checkstyle-logging/src/main/java/org/opendaylight/yangtools/checkstyle/LoggerVariableNameCheck.java +++ b/common/checkstyle-logging/src/main/java/org/opendaylight/yangtools/checkstyle/LoggerVariableNameCheck.java @@ -24,11 +24,10 @@ public class LoggerVariableNameCheck extends AbstractCheck { } @Override - public void visitToken(DetailAST ast) { + public void visitToken(final DetailAST ast) { if (CheckLoggingUtil.isAFieldVariable(ast) && CheckLoggingUtil.isLoggerType(ast) && !LOGGER_VAR_NAME.equals(CheckLoggingUtil.getVariableName(ast))) { log(ast.getLineNo(), LOG_MESSAGE); } } - } diff --git a/common/checkstyle-logging/src/test/java/org/opendaylight/yangtools/checkstyle/CheckstyleTest.java b/common/checkstyle-logging/src/test/java/org/opendaylight/yangtools/checkstyle/CheckstyleTest.java index 9c0342355b..36a9812323 100644 --- a/common/checkstyle-logging/src/test/java/org/opendaylight/yangtools/checkstyle/CheckstyleTest.java +++ b/common/checkstyle-logging/src/test/java/org/opendaylight/yangtools/checkstyle/CheckstyleTest.java @@ -11,9 +11,7 @@ package org.opendaylight.yangtools.checkstyle; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; -import com.google.common.base.Charsets; import com.google.common.collect.Lists; -import com.google.common.io.Files; import com.puppycrawl.tools.checkstyle.Checker; import com.puppycrawl.tools.checkstyle.ConfigurationLoader; import com.puppycrawl.tools.checkstyle.DefaultLogger; @@ -23,6 +21,8 @@ import com.puppycrawl.tools.checkstyle.api.CheckstyleException; import com.puppycrawl.tools.checkstyle.api.Configuration; import java.io.ByteArrayOutputStream; import java.io.File; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; import java.util.List; import org.junit.After; import org.junit.Before; @@ -73,7 +73,7 @@ public class CheckstyleTest { File logMessageReport = LogMessageExtractorCheck.DEFAULT_REPORT_FILE; logMessageReport.delete(); verify(CheckLoggingTestClass.class, false); - List reportLines = Files.readLines(logMessageReport, Charsets.UTF_8); + List reportLines = Files.readAllLines(logMessageReport.toPath(), StandardCharsets.UTF_8); assertEquals(6, reportLines.size()); assertEquals("src/test/java/org/opendaylight/yangtools/checkstyle/CheckLoggingTestClass.java:27:\"foo {} {}\"", reportLines.get(0)); // TODO assertEquals("src/test/java/org/opendaylight/yangtools/checkstyle/CheckLoggingTestClass.java:28:\"foo {} bar {}\"", reportLines.get(1)); diff --git a/common/concepts/src/main/java/org/opendaylight/yangtools/concepts/AbstractObjectRegistration.java b/common/concepts/src/main/java/org/opendaylight/yangtools/concepts/AbstractObjectRegistration.java index 2f9d6cbe16..820f8af02c 100644 --- a/common/concepts/src/main/java/org/opendaylight/yangtools/concepts/AbstractObjectRegistration.java +++ b/common/concepts/src/main/java/org/opendaylight/yangtools/concepts/AbstractObjectRegistration.java @@ -7,7 +7,8 @@ */ package org.opendaylight.yangtools.concepts; -import com.google.common.base.Preconditions; +import static java.util.Objects.requireNonNull; + import javax.annotation.Nonnull; /** @@ -20,7 +21,7 @@ public abstract class AbstractObjectRegistration extends AbstractRegistration private final T instance; protected AbstractObjectRegistration(final @Nonnull T instance) { - this.instance = Preconditions.checkNotNull(instance); + this.instance = requireNonNull(instance); } @Override diff --git a/common/concepts/src/main/java/org/opendaylight/yangtools/concepts/SemVer.java b/common/concepts/src/main/java/org/opendaylight/yangtools/concepts/SemVer.java index ea4813a051..8bdae1d24b 100644 --- a/common/concepts/src/main/java/org/opendaylight/yangtools/concepts/SemVer.java +++ b/common/concepts/src/main/java/org/opendaylight/yangtools/concepts/SemVer.java @@ -7,8 +7,9 @@ */ package org.opendaylight.yangtools.concepts; +import static com.google.common.base.Preconditions.checkArgument; + import com.google.common.annotations.Beta; -import com.google.common.base.Preconditions; import java.io.Serializable; import java.util.Objects; import javax.annotation.Nonnull; @@ -24,11 +25,11 @@ public final class SemVer implements Comparable, Serializable { private final int patch; private SemVer(final int major, final int minor, final int patch) { - Preconditions.checkArgument(major >= 0); + checkArgument(major >= 0); this.major = major; - Preconditions.checkArgument(minor >= 0); + checkArgument(minor >= 0); this.minor = minor; - Preconditions.checkArgument(patch >= 0); + checkArgument(patch >= 0); this.patch = patch; } diff --git a/common/concepts/src/main/java/org/opendaylight/yangtools/concepts/WritableObjects.java b/common/concepts/src/main/java/org/opendaylight/yangtools/concepts/WritableObjects.java index 7d22ec2116..aeae85af3c 100644 --- a/common/concepts/src/main/java/org/opendaylight/yangtools/concepts/WritableObjects.java +++ b/common/concepts/src/main/java/org/opendaylight/yangtools/concepts/WritableObjects.java @@ -7,8 +7,9 @@ */ package org.opendaylight.yangtools.concepts; +import static com.google.common.base.Preconditions.checkArgument; + import com.google.common.annotations.Beta; -import com.google.common.base.Preconditions; import java.io.DataInput; import java.io.DataOutput; import java.io.IOException; @@ -56,7 +57,7 @@ public final class WritableObjects { * @throws NullPointerException if output is null */ public static void writeLong(final DataOutput out, final long value, final int flags) throws IOException { - Preconditions.checkArgument((flags & 0xFFFFFF0F) == 0, "Invalid flags %s", flags); + checkArgument((flags & 0xFFFFFF0F) == 0, "Invalid flags %s", flags); final int bytes = valueBytes(value); out.writeByte(bytes | flags); writeValue(out, value, bytes); diff --git a/common/object-cache-api/src/main/java/org/opendaylight/yangtools/objcache/ObjectCacheFactory.java b/common/object-cache-api/src/main/java/org/opendaylight/yangtools/objcache/ObjectCacheFactory.java index ac9087a899..fcd9ea6fc9 100644 --- a/common/object-cache-api/src/main/java/org/opendaylight/yangtools/objcache/ObjectCacheFactory.java +++ b/common/object-cache-api/src/main/java/org/opendaylight/yangtools/objcache/ObjectCacheFactory.java @@ -7,7 +7,8 @@ */ package org.opendaylight.yangtools.objcache; -import com.google.common.base.Preconditions; +import static java.util.Objects.requireNonNull; + import javax.annotation.Nonnull; import javax.annotation.concurrent.GuardedBy; import org.opendaylight.yangtools.objcache.impl.StaticObjectCacheBinder; @@ -59,6 +60,6 @@ public final class ObjectCacheFactory { fa = initialize(); } - return fa.getObjectCache(Preconditions.checkNotNull(objClass)); + return fa.getObjectCache(requireNonNull(objClass)); } } diff --git a/common/object-cache-api/src/main/java/org/opendaylight/yangtools/objcache/spi/AbstractObjectCache.java b/common/object-cache-api/src/main/java/org/opendaylight/yangtools/objcache/spi/AbstractObjectCache.java index 0bced73ded..82111c21f4 100644 --- a/common/object-cache-api/src/main/java/org/opendaylight/yangtools/objcache/spi/AbstractObjectCache.java +++ b/common/object-cache-api/src/main/java/org/opendaylight/yangtools/objcache/spi/AbstractObjectCache.java @@ -7,12 +7,12 @@ */ package org.opendaylight.yangtools.objcache.spi; +import static java.util.Objects.requireNonNull; + import com.google.common.annotations.VisibleForTesting; import com.google.common.base.FinalizableReferenceQueue; import com.google.common.base.FinalizableSoftReference; -import com.google.common.base.Preconditions; import com.google.common.cache.Cache; -import java.util.concurrent.Callable; import java.util.concurrent.ExecutionException; import javax.annotation.Nonnull; import org.opendaylight.yangtools.concepts.ProductAwareBuilder; @@ -37,7 +37,7 @@ public abstract class AbstractObjectCache implements ObjectCache { private final ProductAwareBuilder builder; private BuilderKey(final ProductAwareBuilder builder) { - this.builder = Preconditions.checkNotNull(builder); + this.builder = requireNonNull(builder); } @Override @@ -88,7 +88,7 @@ public abstract class AbstractObjectCache implements ObjectCache { private final int hashCode; public SoftKey(final T referent, final FinalizableReferenceQueue queue) { - super(Preconditions.checkNotNull(referent), queue); + super(requireNonNull(referent), queue); hashCode = referent.hashCode(); } @@ -113,8 +113,8 @@ public abstract class AbstractObjectCache implements ObjectCache { private final Cache, Object> cache; protected AbstractObjectCache(final Cache, Object> cache, final FinalizableReferenceQueue queue) { - this.queue = Preconditions.checkNotNull(queue); - this.cache = Preconditions.checkNotNull(cache); + this.queue = requireNonNull(queue); + this.cache = requireNonNull(cache); } protected SoftKey createSoftKey(final T object) { @@ -158,12 +158,7 @@ public abstract class AbstractObjectCache implements ObjectCache { final SoftKey key = createSoftKey(object); try { - return (T) cache.get(key, new Callable() { - @Override - public T call() { - return object; - } - }); + return (T) cache.get(key, () -> object); } catch (ExecutionException e) { throw new IllegalStateException("Failed to load value", e); } diff --git a/common/object-cache-api/src/main/java/org/opendaylight/yangtools/objcache/spi/AbstractObjectCacheBinder.java b/common/object-cache-api/src/main/java/org/opendaylight/yangtools/objcache/spi/AbstractObjectCacheBinder.java index 776f7273a8..718a1dd7c1 100644 --- a/common/object-cache-api/src/main/java/org/opendaylight/yangtools/objcache/spi/AbstractObjectCacheBinder.java +++ b/common/object-cache-api/src/main/java/org/opendaylight/yangtools/objcache/spi/AbstractObjectCacheBinder.java @@ -7,14 +7,15 @@ */ package org.opendaylight.yangtools.objcache.spi; -import com.google.common.base.Preconditions; +import static java.util.Objects.requireNonNull; + import javax.annotation.Nonnull; public abstract class AbstractObjectCacheBinder implements ObjectCacheFactoryBinder { private final IObjectCacheFactory factory; protected AbstractObjectCacheBinder(@Nonnull final IObjectCacheFactory factory) { - this.factory = Preconditions.checkNotNull(factory); + this.factory = requireNonNull(factory); } @Override diff --git a/common/util/src/main/java/org/opendaylight/yangtools/util/AbstractIdentifier.java b/common/util/src/main/java/org/opendaylight/yangtools/util/AbstractIdentifier.java index 49a05cf50d..57b53dc436 100644 --- a/common/util/src/main/java/org/opendaylight/yangtools/util/AbstractIdentifier.java +++ b/common/util/src/main/java/org/opendaylight/yangtools/util/AbstractIdentifier.java @@ -7,8 +7,9 @@ */ package org.opendaylight.yangtools.util; +import static java.util.Objects.requireNonNull; + import com.google.common.base.MoreObjects; -import com.google.common.base.Preconditions; import org.opendaylight.yangtools.concepts.Identifier; /** @@ -25,7 +26,7 @@ public abstract class AbstractIdentifier implements Identifier { private final T value; public AbstractIdentifier(final T value) { - this.value = Preconditions.checkNotNull(value); + this.value = requireNonNull(value); } public final T getValue() { diff --git a/common/util/src/main/java/org/opendaylight/yangtools/util/ClassLoaderUtils.java b/common/util/src/main/java/org/opendaylight/yangtools/util/ClassLoaderUtils.java index cef9e469f3..f9c1674147 100644 --- a/common/util/src/main/java/org/opendaylight/yangtools/util/ClassLoaderUtils.java +++ b/common/util/src/main/java/org/opendaylight/yangtools/util/ClassLoaderUtils.java @@ -7,18 +7,17 @@ */ package org.opendaylight.yangtools.util; -import static com.google.common.base.Preconditions.checkNotNull; +import static java.util.Objects.requireNonNull; import com.google.common.base.Joiner; -import com.google.common.base.Preconditions; import com.google.common.base.Splitter; -import com.google.common.base.Supplier; import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; import java.util.List; import java.util.concurrent.Callable; +import java.util.function.Supplier; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -42,8 +41,8 @@ public final class ClassLoaderUtils { * @return Result of supplier invocation. */ public static V withClassLoader(final ClassLoader cls, final Supplier function) { - checkNotNull(cls, "Classloader should not be null"); - checkNotNull(function, "Function should not be null"); + requireNonNull(cls, "Classloader should not be null"); + requireNonNull(function, "Function should not be null"); final Thread currentThread = Thread.currentThread(); final ClassLoader oldCls = currentThread.getContextClassLoader(); @@ -67,8 +66,8 @@ public final class ClassLoaderUtils { * @return Result of callable invocation. */ public static V withClassLoader(final ClassLoader cls, final Callable function) throws Exception { - checkNotNull(cls, "Classloader should not be null"); - checkNotNull(function, "Function should not be null"); + requireNonNull(cls, "Classloader should not be null"); + requireNonNull(function, "Function should not be null"); final Thread currentThread = Thread.currentThread(); final ClassLoader oldCls = currentThread.getContextClassLoader(); @@ -161,8 +160,8 @@ public final class ClassLoaderUtils { } public static ParameterizedType findParameterizedType(final Class subclass, final Class genericType) { - Preconditions.checkNotNull(subclass); - Preconditions.checkNotNull(genericType); + requireNonNull(subclass); + requireNonNull(genericType); for (final Type type : subclass.getGenericInterfaces()) { if (type instanceof ParameterizedType && genericType.equals(((ParameterizedType) type).getRawType())) { diff --git a/common/util/src/main/java/org/opendaylight/yangtools/util/ConstantArrayCollection.java b/common/util/src/main/java/org/opendaylight/yangtools/util/ConstantArrayCollection.java index 56ebc36a57..1dcfaa2a56 100644 --- a/common/util/src/main/java/org/opendaylight/yangtools/util/ConstantArrayCollection.java +++ b/common/util/src/main/java/org/opendaylight/yangtools/util/ConstantArrayCollection.java @@ -7,7 +7,8 @@ */ package org.opendaylight.yangtools.util; -import com.google.common.base.Preconditions; +import static java.util.Objects.requireNonNull; + import com.google.common.collect.UnmodifiableIterator; import java.io.Serializable; import java.util.Arrays; @@ -29,7 +30,7 @@ final class ConstantArrayCollection implements Collection, Serializable { private final E[] array; ConstantArrayCollection(final E[] array) { - this.array = Preconditions.checkNotNull(array); + this.array = requireNonNull(array); } @Override diff --git a/common/util/src/main/java/org/opendaylight/yangtools/util/EmptyDeque.java b/common/util/src/main/java/org/opendaylight/yangtools/util/EmptyDeque.java index 057ac520cd..27e40edec6 100644 --- a/common/util/src/main/java/org/opendaylight/yangtools/util/EmptyDeque.java +++ b/common/util/src/main/java/org/opendaylight/yangtools/util/EmptyDeque.java @@ -7,8 +7,9 @@ */ package org.opendaylight.yangtools.util; +import static java.util.Objects.requireNonNull; + import com.google.common.annotations.Beta; -import com.google.common.base.Preconditions; import java.util.AbstractQueue; import java.util.Collections; import java.util.Deque; @@ -110,7 +111,7 @@ public final class EmptyDeque extends AbstractQueue implements Deque, I @Override @SuppressWarnings("checkstyle:parameterName") public T[] toArray(final T[] a) { - return Preconditions.checkNotNull(a); + return requireNonNull(a); } @Override diff --git a/common/util/src/main/java/org/opendaylight/yangtools/util/ImmutableOffsetMap.java b/common/util/src/main/java/org/opendaylight/yangtools/util/ImmutableOffsetMap.java index f45bbf6f15..5d66d317af 100644 --- a/common/util/src/main/java/org/opendaylight/yangtools/util/ImmutableOffsetMap.java +++ b/common/util/src/main/java/org/opendaylight/yangtools/util/ImmutableOffsetMap.java @@ -7,8 +7,10 @@ */ package org.opendaylight.yangtools.util; +import static com.google.common.base.Preconditions.checkArgument; +import static java.util.Objects.requireNonNull; + import com.google.common.annotations.Beta; -import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableMap; import com.google.common.collect.UnmodifiableIterator; import java.io.IOException; @@ -93,9 +95,9 @@ public abstract class ImmutableOffsetMap implements UnmodifiableMapPhase offsets, @Nonnull final V[] objects) { - this.offsets = Preconditions.checkNotNull(offsets); - this.objects = Preconditions.checkNotNull(objects); - Preconditions.checkArgument(offsets.size() == objects.length); + this.offsets = requireNonNull(offsets); + this.objects = requireNonNull(objects); + checkArgument(offsets.size() == objects.length); } @Nonnull diff --git a/common/util/src/main/java/org/opendaylight/yangtools/util/Immutables.java b/common/util/src/main/java/org/opendaylight/yangtools/util/Immutables.java index 43be1d7045..88a670d5b3 100644 --- a/common/util/src/main/java/org/opendaylight/yangtools/util/Immutables.java +++ b/common/util/src/main/java/org/opendaylight/yangtools/util/Immutables.java @@ -7,7 +7,8 @@ */ package org.opendaylight.yangtools.util; -import com.google.common.base.Preconditions; +import static com.google.common.base.Preconditions.checkArgument; + import com.google.common.collect.ImmutableSet; import java.math.BigDecimal; import java.math.BigInteger; @@ -36,7 +37,7 @@ public final class Immutables { * @return true if object is known to be immutable false otherwise. */ public static boolean isImmutable(final Object obj) { - Preconditions.checkArgument(obj != null,"Object should not be null"); + checkArgument(obj != null,"Object should not be null"); if (obj instanceof Mutable) { return false; } else if (obj instanceof Immutable) { diff --git a/common/util/src/main/java/org/opendaylight/yangtools/util/MapAdaptor.java b/common/util/src/main/java/org/opendaylight/yangtools/util/MapAdaptor.java index 6ca8710b18..1198df67ac 100644 --- a/common/util/src/main/java/org/opendaylight/yangtools/util/MapAdaptor.java +++ b/common/util/src/main/java/org/opendaylight/yangtools/util/MapAdaptor.java @@ -7,7 +7,8 @@ */ package org.opendaylight.yangtools.util; -import com.google.common.base.Preconditions; +import static com.google.common.base.Preconditions.checkArgument; + import com.google.common.collect.ImmutableMap; import com.google.common.collect.Maps; import java.util.Collections; @@ -72,10 +73,9 @@ public final class MapAdaptor { public static MapAdaptor getInstance(final boolean useSingleton, final int copyMaxItems, final int persistMinItems) { - Preconditions.checkArgument(copyMaxItems >= 0, "copyMaxItems has to be a non-negative integer"); - Preconditions.checkArgument(persistMinItems >= 0, "persistMinItems has to be a positive integer"); - Preconditions.checkArgument(persistMinItems <= copyMaxItems, - "persistMinItems must be less than or equal to copyMaxItems"); + checkArgument(copyMaxItems >= 0, "copyMaxItems has to be a non-negative integer"); + checkArgument(persistMinItems >= 0, "persistMinItems has to be a positive integer"); + checkArgument(persistMinItems <= copyMaxItems, "persistMinItems must be less than or equal to copyMaxItems"); return new MapAdaptor(useSingleton, copyMaxItems, persistMinItems); } @@ -87,7 +87,7 @@ public final class MapAdaptor { * @return An empty mutable map. */ public Map initialSnapshot(final int expectedSize) { - Preconditions.checkArgument(expectedSize >= 0); + checkArgument(expectedSize >= 0); if (expectedSize > persistMinItems) { return new ReadWriteTrieMap<>(); } diff --git a/common/util/src/main/java/org/opendaylight/yangtools/util/MutableOffsetMap.java b/common/util/src/main/java/org/opendaylight/yangtools/util/MutableOffsetMap.java index 9917de9ea2..8a04f32307 100644 --- a/common/util/src/main/java/org/opendaylight/yangtools/util/MutableOffsetMap.java +++ b/common/util/src/main/java/org/opendaylight/yangtools/util/MutableOffsetMap.java @@ -7,10 +7,11 @@ */ package org.opendaylight.yangtools.util; +import static com.google.common.base.Verify.verify; +import static java.util.Objects.requireNonNull; + import com.google.common.annotations.Beta; import com.google.common.annotations.VisibleForTesting; -import com.google.common.base.Preconditions; -import com.google.common.base.Verify; import com.google.common.collect.ImmutableMap; import java.util.AbstractMap; import java.util.AbstractSet; @@ -122,10 +123,10 @@ public abstract class MutableOffsetMap extends AbstractMap implement private boolean needClone = true; MutableOffsetMap(final Map offsets, final V[] objects, final HashMap newKeys) { - Verify.verify(newKeys.isEmpty()); - this.offsets = Preconditions.checkNotNull(offsets); - this.objects = Preconditions.checkNotNull(objects); - this.newKeys = Preconditions.checkNotNull(newKeys); + verify(newKeys.isEmpty()); + this.offsets = requireNonNull(offsets); + this.objects = requireNonNull(objects); + this.newKeys = requireNonNull(newKeys); } @SuppressWarnings("unchecked") @@ -138,7 +139,7 @@ public abstract class MutableOffsetMap extends AbstractMap implement this(offsets, (V[]) new Object[offsets.size()], newKeys); for (Entry e : source.entrySet()) { - objects[offsets.get(e.getKey())] = Preconditions.checkNotNull(e.getValue()); + objects[offsets.get(e.getKey())] = requireNonNull(e.getValue()); } this.needClone = false; @@ -239,8 +240,8 @@ public abstract class MutableOffsetMap extends AbstractMap implement @Override public final V put(final K key, final V value) { - Preconditions.checkNotNull(value); - final Integer offset = offsets.get(Preconditions.checkNotNull(key)); + requireNonNull(value); + final Integer offset = offsets.get(requireNonNull(key)); if (offset != null) { final Object obj = objects[offset]; @@ -531,9 +532,9 @@ public abstract class MutableOffsetMap extends AbstractMap implement @Override @SuppressWarnings("checkstyle:parameterName") public boolean add(final Entry e) { - Preconditions.checkNotNull(e.getValue()); - final V p = MutableOffsetMap.this.put(e.getKey(), e.getValue()); - return !e.getValue().equals(p); + final V v = requireNonNull(e.getValue()); + final V p = MutableOffsetMap.this.put(e.getKey(), v); + return !v.equals(p); } @Override @@ -619,7 +620,7 @@ public abstract class MutableOffsetMap extends AbstractMap implement @Override public final void remove() { - Preconditions.checkState(currentKey != null); + requireNonNull(currentKey != null); checkModCount(); final Integer offset = offsets.get(currentKey); diff --git a/common/util/src/main/java/org/opendaylight/yangtools/util/ReadOnlyTrieMap.java b/common/util/src/main/java/org/opendaylight/yangtools/util/ReadOnlyTrieMap.java index 547ed99d29..fe2091a80c 100644 --- a/common/util/src/main/java/org/opendaylight/yangtools/util/ReadOnlyTrieMap.java +++ b/common/util/src/main/java/org/opendaylight/yangtools/util/ReadOnlyTrieMap.java @@ -7,7 +7,8 @@ */ package org.opendaylight.yangtools.util; -import com.google.common.base.Preconditions; +import static java.util.Objects.requireNonNull; + import com.google.common.collect.ForwardingMap; import java.util.Map; import java.util.concurrent.atomic.AtomicReferenceFieldUpdater; @@ -33,7 +34,7 @@ final class ReadOnlyTrieMap extends ForwardingMap { private volatile ImmutableTrieMap readOnly; ReadOnlyTrieMap(final MutableTrieMap map, final int size) { - this.readWrite = Preconditions.checkNotNull(map); + this.readWrite = requireNonNull(map); this.size = size; } diff --git a/common/util/src/main/java/org/opendaylight/yangtools/util/ReadWriteTrieMap.java b/common/util/src/main/java/org/opendaylight/yangtools/util/ReadWriteTrieMap.java index 788c2d9b66..ee0591a067 100644 --- a/common/util/src/main/java/org/opendaylight/yangtools/util/ReadWriteTrieMap.java +++ b/common/util/src/main/java/org/opendaylight/yangtools/util/ReadWriteTrieMap.java @@ -7,7 +7,8 @@ */ package org.opendaylight.yangtools.util; -import com.google.common.base.Preconditions; +import static java.util.Objects.requireNonNull; + import com.google.common.collect.ForwardingMap; import java.util.Collection; import java.util.Collections; @@ -43,7 +44,7 @@ final class ReadWriteTrieMap extends ForwardingMap { } ReadWriteTrieMap(final MutableTrieMap delegate, final int size) { - this.delegate = Preconditions.checkNotNull(delegate); + this.delegate = requireNonNull(delegate); this.size = size; } diff --git a/common/util/src/main/java/org/opendaylight/yangtools/util/RecursiveObjectLeaker.java b/common/util/src/main/java/org/opendaylight/yangtools/util/RecursiveObjectLeaker.java index f69134f391..ddd31ebdb8 100644 --- a/common/util/src/main/java/org/opendaylight/yangtools/util/RecursiveObjectLeaker.java +++ b/common/util/src/main/java/org/opendaylight/yangtools/util/RecursiveObjectLeaker.java @@ -7,8 +7,9 @@ */ package org.opendaylight.yangtools.util; +import static com.google.common.base.Preconditions.checkState; + import com.google.common.annotations.Beta; -import com.google.common.base.Preconditions; import java.util.AbstractMap.SimpleEntry; import java.util.ArrayDeque; import java.util.Deque; @@ -91,7 +92,7 @@ public final class RecursiveObjectLeaker { // Make sure to call this from a finally block public static void afterConstructor(final Object key) { final Deque> stack = STACK.get(); - Preconditions.checkState(stack != null, "No stack allocated when completing %s", key); + checkState(stack != null, "No stack allocated when completing %s", key); final Entry top = stack.pop(); if (stack.isEmpty()) { @@ -99,8 +100,8 @@ public final class RecursiveObjectLeaker { STACK.set(null); } - Preconditions.checkState(key == top.getKey(), "Expected key %s, have %s", top.getKey(), key); - Preconditions.checkState(top.getValue() != null, ""); + checkState(key == top.getKey(), "Expected key %s, have %s", top.getKey(), key); + checkState(top.getValue() != null, ""); } // BEWARE: this method returns incpmpletely-initialized objects (that is the purpose of this class). @@ -112,7 +113,7 @@ public final class RecursiveObjectLeaker { for (Entry e : stack) { // Keys are treated as identities if (key == e.getKey()) { - Preconditions.checkState(e.getValue() != null, "Object for %s is not resolved", key); + checkState(e.getValue() != null, "Object for %s is not resolved", key); LOG.debug("Looked up key {}", e.getKey()); return requiredClass.cast(e.getValue()); } diff --git a/common/util/src/main/java/org/opendaylight/yangtools/util/SharedSingletonMap.java b/common/util/src/main/java/org/opendaylight/yangtools/util/SharedSingletonMap.java index f48425a9c1..0b7a5900fa 100644 --- a/common/util/src/main/java/org/opendaylight/yangtools/util/SharedSingletonMap.java +++ b/common/util/src/main/java/org/opendaylight/yangtools/util/SharedSingletonMap.java @@ -7,8 +7,10 @@ */ package org.opendaylight.yangtools.util; +import static com.google.common.base.Preconditions.checkArgument; +import static java.util.Objects.requireNonNull; + import com.google.common.annotations.Beta; -import com.google.common.base.Preconditions; import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheLoader; import com.google.common.cache.LoadingCache; @@ -69,7 +71,7 @@ public abstract class SharedSingletonMap implements Serializable, Unmodifi @SuppressWarnings("unchecked") SharedSingletonMap(final K key, final V value) { this.keySet = (SingletonSet) CACHE.getUnchecked(key); - this.value = Preconditions.checkNotNull(value); + this.value = requireNonNull(value); } public static SharedSingletonMap orderedOf(final K key, final V value) { @@ -81,14 +83,14 @@ public abstract class SharedSingletonMap implements Serializable, Unmodifi } public static SharedSingletonMap orderedCopyOf(final Map map) { - Preconditions.checkArgument(map.size() == 1); + checkArgument(map.size() == 1); final Entry e = map.entrySet().iterator().next(); return new Ordered<>(e.getKey(), e.getValue()); } public static SharedSingletonMap unorderedCopyOf(final Map map) { - Preconditions.checkArgument(map.size() == 1); + checkArgument(map.size() == 1); final Entry e = map.entrySet().iterator().next(); return new Unordered<>(e.getKey(), e.getValue()); diff --git a/common/util/src/main/java/org/opendaylight/yangtools/util/SingletonSet.java b/common/util/src/main/java/org/opendaylight/yangtools/util/SingletonSet.java index af024857da..76359e2f7c 100644 --- a/common/util/src/main/java/org/opendaylight/yangtools/util/SingletonSet.java +++ b/common/util/src/main/java/org/opendaylight/yangtools/util/SingletonSet.java @@ -7,8 +7,9 @@ */ package org.opendaylight.yangtools.util; +import static java.util.Objects.requireNonNull; + import com.google.common.annotations.Beta; -import com.google.common.base.Preconditions; import com.google.common.collect.Iterators; import java.io.Serializable; import java.util.Collection; @@ -176,7 +177,7 @@ public abstract class SingletonSet implements Set, Immutable, Serializable private final E element; RegularSingletonSet(final E element) { - this.element = Preconditions.checkNotNull(element); + this.element = requireNonNull(element); } @Override diff --git a/common/util/src/main/java/org/opendaylight/yangtools/util/TopologicalSort.java b/common/util/src/main/java/org/opendaylight/yangtools/util/TopologicalSort.java index 9a8c532285..34eabea9aa 100644 --- a/common/util/src/main/java/org/opendaylight/yangtools/util/TopologicalSort.java +++ b/common/util/src/main/java/org/opendaylight/yangtools/util/TopologicalSort.java @@ -7,8 +7,9 @@ */ package org.opendaylight.yangtools.util; +import static com.google.common.base.Preconditions.checkState; + import com.google.common.annotations.Beta; -import com.google.common.base.Preconditions; import java.util.ArrayList; import java.util.HashSet; import java.util.List; @@ -85,7 +86,7 @@ public final class TopologicalSort { break; } } - Preconditions.checkState(!cycle, "Cycle detected in graph around node: " + cycledNode); + checkState(!cycle, "Cycle detected in graph around node: " + cycledNode); } /** diff --git a/common/util/src/main/java/org/opendaylight/yangtools/util/UnmodifiableCollection.java b/common/util/src/main/java/org/opendaylight/yangtools/util/UnmodifiableCollection.java index 2ae19a7a72..d5a9a27c24 100644 --- a/common/util/src/main/java/org/opendaylight/yangtools/util/UnmodifiableCollection.java +++ b/common/util/src/main/java/org/opendaylight/yangtools/util/UnmodifiableCollection.java @@ -7,7 +7,8 @@ */ package org.opendaylight.yangtools.util; -import com.google.common.base.Preconditions; +import static java.util.Objects.requireNonNull; + import com.google.common.collect.ImmutableCollection; import com.google.common.collect.ImmutableSet; import com.google.common.collect.ImmutableSet.Builder; @@ -47,7 +48,7 @@ public final class UnmodifiableCollection implements Collection, Serializa private final Collection delegate; private UnmodifiableCollection(final Collection delegate) { - this.delegate = Preconditions.checkNotNull(delegate); + this.delegate = requireNonNull(delegate); } /** diff --git a/common/util/src/main/java/org/opendaylight/yangtools/util/concurrent/AsyncNotifyingListenableFutureTask.java b/common/util/src/main/java/org/opendaylight/yangtools/util/concurrent/AsyncNotifyingListenableFutureTask.java index 71524999c8..ec03529f76 100644 --- a/common/util/src/main/java/org/opendaylight/yangtools/util/concurrent/AsyncNotifyingListenableFutureTask.java +++ b/common/util/src/main/java/org/opendaylight/yangtools/util/concurrent/AsyncNotifyingListenableFutureTask.java @@ -8,7 +8,8 @@ package org.opendaylight.yangtools.util.concurrent; -import com.google.common.base.Preconditions; +import static java.util.Objects.requireNonNull; + import com.google.common.util.concurrent.ExecutionList; import com.google.common.util.concurrent.ListenableFuture; import com.google.common.util.concurrent.ListenableFutureTask; @@ -57,13 +58,13 @@ public class AsyncNotifyingListenableFutureTask extends FutureTask impleme private DelegatingAsyncNotifyingListenableFutureTask(final Callable callable, @Nullable final Executor listenerExecutor) { super(callable); - this.listenerExecutor = Preconditions.checkNotNull(listenerExecutor); + this.listenerExecutor = requireNonNull(listenerExecutor); } private DelegatingAsyncNotifyingListenableFutureTask(final Runnable runnable, @Nullable final V result, @Nullable final Executor listenerExecutor) { super(runnable, result); - this.listenerExecutor = Preconditions.checkNotNull(listenerExecutor); + this.listenerExecutor = requireNonNull(listenerExecutor); } @Override @@ -86,8 +87,8 @@ public class AsyncNotifyingListenableFutureTask extends FutureTask impleme private final Executor executor; DelegatingRunnable(final Runnable delegate, final Executor executor) { - this.delegate = Preconditions.checkNotNull(delegate); - this.executor = Preconditions.checkNotNull(executor); + this.delegate = requireNonNull(delegate); + this.executor = requireNonNull(executor); } @Override diff --git a/common/util/src/main/java/org/opendaylight/yangtools/util/concurrent/AsyncNotifyingListeningExecutorService.java b/common/util/src/main/java/org/opendaylight/yangtools/util/concurrent/AsyncNotifyingListeningExecutorService.java index 2106e92a78..48b2a5a8cc 100644 --- a/common/util/src/main/java/org/opendaylight/yangtools/util/concurrent/AsyncNotifyingListeningExecutorService.java +++ b/common/util/src/main/java/org/opendaylight/yangtools/util/concurrent/AsyncNotifyingListeningExecutorService.java @@ -8,9 +8,10 @@ package org.opendaylight.yangtools.util.concurrent; +import static java.util.Objects.requireNonNull; + import com.google.common.base.MoreObjects; import com.google.common.base.MoreObjects.ToStringHelper; -import com.google.common.base.Preconditions; import com.google.common.util.concurrent.AbstractListeningExecutorService; import com.google.common.util.concurrent.ListenableFuture; import java.util.List; @@ -65,7 +66,7 @@ public class AsyncNotifyingListeningExecutorService extends AbstractListeningExe */ public AsyncNotifyingListeningExecutorService(final ExecutorService delegate, @Nullable final Executor listenableFutureExecutor) { - this.delegate = Preconditions.checkNotNull(delegate); + this.delegate = requireNonNull(delegate); this.listenableFutureExecutor = listenableFutureExecutor; } diff --git a/common/util/src/main/java/org/opendaylight/yangtools/util/concurrent/CachedThreadPoolExecutor.java b/common/util/src/main/java/org/opendaylight/yangtools/util/concurrent/CachedThreadPoolExecutor.java index 5ec958eab8..1419080509 100644 --- a/common/util/src/main/java/org/opendaylight/yangtools/util/concurrent/CachedThreadPoolExecutor.java +++ b/common/util/src/main/java/org/opendaylight/yangtools/util/concurrent/CachedThreadPoolExecutor.java @@ -7,9 +7,10 @@ */ package org.opendaylight.yangtools.util.concurrent; +import static java.util.Objects.requireNonNull; + import com.google.common.base.MoreObjects; import com.google.common.base.MoreObjects.ToStringHelper; -import com.google.common.base.Preconditions; import com.google.common.util.concurrent.ThreadFactoryBuilder; import java.util.concurrent.BlockingQueue; import java.util.concurrent.LinkedBlockingQueue; @@ -63,7 +64,7 @@ public class CachedThreadPoolExecutor extends ThreadPoolExecutor { super(0, maximumPoolSize, IDLE_TIMEOUT_IN_SEC, TimeUnit.SECONDS, new ExecutorQueue(maximumQueueSize)); - this.threadPrefix = Preconditions.checkNotNull(threadPrefix); + this.threadPrefix = requireNonNull(threadPrefix); this.maximumQueueSize = maximumQueueSize; setThreadFactory(new ThreadFactoryBuilder().setDaemon(true) @@ -78,8 +79,7 @@ public class CachedThreadPoolExecutor extends ThreadPoolExecutor { @Override public void setRejectedExecutionHandler(final RejectedExecutionHandler handler) { - Preconditions.checkNotNull(handler); - rejectedTaskHandler.setDelegateRejectedExecutionHandler(handler); + rejectedTaskHandler.setDelegateRejectedExecutionHandler(requireNonNull(handler)); } @Override diff --git a/common/util/src/main/java/org/opendaylight/yangtools/util/concurrent/CountingRejectedExecutionHandler.java b/common/util/src/main/java/org/opendaylight/yangtools/util/concurrent/CountingRejectedExecutionHandler.java index 491ccd674b..61adf52645 100644 --- a/common/util/src/main/java/org/opendaylight/yangtools/util/concurrent/CountingRejectedExecutionHandler.java +++ b/common/util/src/main/java/org/opendaylight/yangtools/util/concurrent/CountingRejectedExecutionHandler.java @@ -8,7 +8,8 @@ package org.opendaylight.yangtools.util.concurrent; -import com.google.common.base.Preconditions; +import static java.util.Objects.requireNonNull; + import java.util.concurrent.RejectedExecutionHandler; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.atomic.LongAdder; @@ -30,7 +31,7 @@ public class CountingRejectedExecutionHandler implements RejectedExecutionHandle * @param delegate the backing RejectedExecutionHandler. */ public CountingRejectedExecutionHandler(final RejectedExecutionHandler delegate) { - this.delegate = Preconditions.checkNotNull(delegate); + this.delegate = requireNonNull(delegate); } @Override diff --git a/common/util/src/main/java/org/opendaylight/yangtools/util/concurrent/DeadlockDetectingListeningExecutorService.java b/common/util/src/main/java/org/opendaylight/yangtools/util/concurrent/DeadlockDetectingListeningExecutorService.java index 959b8d418e..fc17d890f5 100644 --- a/common/util/src/main/java/org/opendaylight/yangtools/util/concurrent/DeadlockDetectingListeningExecutorService.java +++ b/common/util/src/main/java/org/opendaylight/yangtools/util/concurrent/DeadlockDetectingListeningExecutorService.java @@ -8,8 +8,9 @@ package org.opendaylight.yangtools.util.concurrent; -import com.google.common.base.Preconditions; -import com.google.common.base.Supplier; +import static com.google.common.base.Preconditions.checkState; +import static java.util.Objects.requireNonNull; + import com.google.common.util.concurrent.ForwardingListenableFuture; import com.google.common.util.concurrent.ListenableFuture; import java.util.concurrent.Callable; @@ -18,6 +19,7 @@ import java.util.concurrent.Executor; import java.util.concurrent.ExecutorService; import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; +import java.util.function.Supplier; import javax.annotation.Nonnull; import javax.annotation.Nullable; @@ -82,7 +84,7 @@ public class DeadlockDetectingListeningExecutorService extends AsyncNotifyingLis @Nonnull final Supplier deadlockExceptionSupplier, @Nullable final Executor listenableFutureExecutor) { super(delegate, listenableFutureExecutor); - this.deadlockExceptionFunction = Preconditions.checkNotNull(deadlockExceptionSupplier); + this.deadlockExceptionFunction = requireNonNull(deadlockExceptionSupplier); } @Override @@ -118,7 +120,7 @@ public class DeadlockDetectingListeningExecutorService extends AsyncNotifyingLis private SettableBoolean primeDetector() { final SettableBoolean b = deadlockDetector.get(); - Preconditions.checkState(!b.isSet(), "Detector for {} has already been primed", this); + checkState(!b.isSet(), "Detector for {} has already been primed", this); b.set(); return b; } diff --git a/common/util/src/main/java/org/opendaylight/yangtools/util/concurrent/ExceptionMapper.java b/common/util/src/main/java/org/opendaylight/yangtools/util/concurrent/ExceptionMapper.java index f6c37296d8..53e0936214 100644 --- a/common/util/src/main/java/org/opendaylight/yangtools/util/concurrent/ExceptionMapper.java +++ b/common/util/src/main/java/org/opendaylight/yangtools/util/concurrent/ExceptionMapper.java @@ -8,8 +8,9 @@ package org.opendaylight.yangtools.util.concurrent; +import static java.util.Objects.requireNonNull; + import com.google.common.base.Function; -import com.google.common.base.Preconditions; import java.util.concurrent.CancellationException; import java.util.concurrent.ExecutionException; @@ -47,8 +48,8 @@ public abstract class ExceptionMapper implements Function exceptionType) { - this.exceptionType = Preconditions.checkNotNull(exceptionType); - this.opName = Preconditions.checkNotNull(opName); + this.exceptionType = requireNonNull(exceptionType); + this.opName = requireNonNull(opName); } /** diff --git a/common/util/src/main/java/org/opendaylight/yangtools/util/concurrent/MappingCheckedFuture.java b/common/util/src/main/java/org/opendaylight/yangtools/util/concurrent/MappingCheckedFuture.java index 24001d8cd7..ce70f35a02 100644 --- a/common/util/src/main/java/org/opendaylight/yangtools/util/concurrent/MappingCheckedFuture.java +++ b/common/util/src/main/java/org/opendaylight/yangtools/util/concurrent/MappingCheckedFuture.java @@ -8,14 +8,15 @@ package org.opendaylight.yangtools.util.concurrent; -import com.google.common.base.Function; -import com.google.common.base.Preconditions; +import static java.util.Objects.requireNonNull; + import com.google.common.util.concurrent.AbstractCheckedFuture; import com.google.common.util.concurrent.ListenableFuture; import java.util.concurrent.CancellationException; import java.util.concurrent.ExecutionException; import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; +import java.util.function.Function; import javax.annotation.Nonnull; /** @@ -39,7 +40,7 @@ public final class MappingCheckedFuture extends Abstract private MappingCheckedFuture(final ListenableFuture delegate, final Function mapper) { super(delegate); - this.mapper = Preconditions.checkNotNull(mapper); + this.mapper = requireNonNull(mapper); } /** diff --git a/common/util/src/main/java/org/opendaylight/yangtools/util/concurrent/QueuedNotificationManager.java b/common/util/src/main/java/org/opendaylight/yangtools/util/concurrent/QueuedNotificationManager.java index c47a5884fa..2942799556 100644 --- a/common/util/src/main/java/org/opendaylight/yangtools/util/concurrent/QueuedNotificationManager.java +++ b/common/util/src/main/java/org/opendaylight/yangtools/util/concurrent/QueuedNotificationManager.java @@ -8,7 +8,9 @@ package org.opendaylight.yangtools.util.concurrent; -import com.google.common.base.Preconditions; +import static com.google.common.base.Preconditions.checkArgument; +import static java.util.Objects.requireNonNull; + import com.google.common.collect.ImmutableList; import java.util.ArrayDeque; import java.util.Collection; @@ -100,11 +102,11 @@ public class QueuedNotificationManager implements NotificationManager listenerInvoker, final int maxQueueCapacity, final String name) { - Preconditions.checkArgument(maxQueueCapacity > 0, "Invalid maxQueueCapacity %s must be > 0", maxQueueCapacity); - this.executor = Preconditions.checkNotNull(executor); - this.listenerInvoker = Preconditions.checkNotNull(listenerInvoker); + checkArgument(maxQueueCapacity > 0, "Invalid maxQueueCapacity %s must be > 0", maxQueueCapacity); + this.executor = requireNonNull(executor); + this.listenerInvoker = requireNonNull(listenerInvoker); this.maxQueueCapacity = maxQueueCapacity; - this.name = Preconditions.checkNotNull(name); + this.name = requireNonNull(name); } /** @@ -129,7 +131,7 @@ public class QueuedNotificationManager implements NotificationManager implements NotificationManager implements NotificationManager listenerKey, final Iterator notifications) { - this.listenerKey = Preconditions.checkNotNull(listenerKey); + this.listenerKey = requireNonNull(listenerKey); while (notifications.hasNext()) { queue.offer(notifications.next()); } diff --git a/common/util/src/test/java/org/opendaylight/yangtools/util/UnmodifiableCollectionTest.java b/common/util/src/test/java/org/opendaylight/yangtools/util/UnmodifiableCollectionTest.java index af7d65beb9..b36370102b 100644 --- a/common/util/src/test/java/org/opendaylight/yangtools/util/UnmodifiableCollectionTest.java +++ b/common/util/src/test/java/org/opendaylight/yangtools/util/UnmodifiableCollectionTest.java @@ -5,7 +5,6 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ - package org.opendaylight.yangtools.util; import static org.junit.Assert.assertEquals; @@ -14,8 +13,8 @@ import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import com.google.common.collect.ImmutableList; -import com.google.common.collect.Lists; import com.google.common.collect.UnmodifiableIterator; +import java.util.Arrays; import java.util.Collection; import java.util.Iterator; import java.util.List; @@ -35,13 +34,9 @@ public class UnmodifiableCollectionTest { final Collection testUnmodifiableCollection = UnmodifiableCollection.create(immutableTestList); assertNotNull(testUnmodifiableCollection); - final List testList = Lists.newArrayList(); - testList.add(1); - testList.add(2); - testList.add(3); - testList.add(4); - testList.add(5); - + // Note: this cannot be ImmutableList, because UnmodifiableCollection does recognize it and returns it as is, + // without converting it to an UnmodifiableCollection -- which is not what we want. + final List testList = Arrays.asList(1, 2, 3, 4, 5); final Collection testUnmodifiableCollection2 = UnmodifiableCollection.create(testList); final Iterator iterator = testUnmodifiableCollection2.iterator(); diff --git a/common/util/src/test/java/org/opendaylight/yangtools/util/concurrent/DeadlockDetectingListeningExecutorServiceTest.java b/common/util/src/test/java/org/opendaylight/yangtools/util/concurrent/DeadlockDetectingListeningExecutorServiceTest.java index 0546fa3098..e33b81be73 100644 --- a/common/util/src/test/java/org/opendaylight/yangtools/util/concurrent/DeadlockDetectingListeningExecutorServiceTest.java +++ b/common/util/src/test/java/org/opendaylight/yangtools/util/concurrent/DeadlockDetectingListeningExecutorServiceTest.java @@ -16,7 +16,6 @@ import static org.opendaylight.yangtools.util.concurrent.CommonTestUtils.SUBMIT_ import static org.opendaylight.yangtools.util.concurrent.CommonTestUtils.SUBMIT_RUNNABLE; import static org.opendaylight.yangtools.util.concurrent.CommonTestUtils.SUBMIT_RUNNABLE_WITH_RESULT; -import com.google.common.base.Supplier; import com.google.common.util.concurrent.FutureCallback; import com.google.common.util.concurrent.Futures; import com.google.common.util.concurrent.ListenableFuture; @@ -30,6 +29,7 @@ import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicReference; +import java.util.function.Supplier; import javax.annotation.Nonnull; import org.junit.After; import org.junit.Before; diff --git a/yang/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/OperationFailedException.java b/yang/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/OperationFailedException.java index cbfee5bc8b..9049e32e59 100644 --- a/yang/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/OperationFailedException.java +++ b/yang/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/OperationFailedException.java @@ -8,8 +8,9 @@ package org.opendaylight.yangtools.yang.common; +import static java.util.Objects.requireNonNull; + import com.google.common.base.MoreObjects; -import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableList; import java.util.Arrays; import java.util.List; @@ -47,7 +48,7 @@ public class OperationFailedException extends Exception { */ public OperationFailedException(final String message, final Throwable cause, final RpcError... errors) { - super(Preconditions.checkNotNull(message), cause); + super(requireNonNull(message), cause); if (errors != null && errors.length > 0) { errorList = ImmutableList.copyOf(Arrays.asList(errors)); diff --git a/yang/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/QName.java b/yang/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/QName.java index 29abd7880c..39aaa9487b 100644 --- a/yang/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/QName.java +++ b/yang/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/QName.java @@ -7,9 +7,10 @@ */ package org.opendaylight.yangtools.yang.common; +import static com.google.common.base.Preconditions.checkArgument; +import static java.util.Objects.requireNonNull; import static org.opendaylight.yangtools.yang.common.SimpleDateFormatUtil.getRevisionFormat; -import com.google.common.base.Preconditions; import com.google.common.base.Strings; import com.google.common.collect.Interner; import com.google.common.collect.Interners; @@ -96,9 +97,8 @@ public final class QName implements Immutable, Serializable, Comparable { } private static String checkLocalName(final String localName) { - Preconditions.checkArgument(localName != null, "Parameter 'localName' may not be null."); - Preconditions.checkArgument(!Strings.isNullOrEmpty(localName), - "Parameter 'localName' must be a non-empty string."); + checkArgument(localName != null, "Parameter 'localName' may not be null."); + checkArgument(!Strings.isNullOrEmpty(localName), "Parameter 'localName' must be a non-empty string."); for (final char c : ILLEGAL_CHARACTERS) { if (localName.indexOf(c) != -1) { @@ -145,7 +145,7 @@ public final class QName implements Immutable, Serializable, Comparable { * @return Instance of QName */ public static QName create(final QNameModule qnameModule, final String localName) { - return new QName(Preconditions.checkNotNull(qnameModule,"module may not be null"), localName); + return new QName(requireNonNull(qnameModule, "module may not be null"), localName); } /** diff --git a/yang/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/Revision.java b/yang/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/Revision.java index a5a59acd86..54279d7a49 100644 --- a/yang/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/Revision.java +++ b/yang/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/Revision.java @@ -7,7 +7,8 @@ */ package org.opendaylight.yangtools.yang.common; -import com.google.common.base.Preconditions; +import static java.util.Objects.requireNonNull; + import java.io.Externalizable; import java.io.IOException; import java.io.ObjectInput; @@ -37,12 +38,12 @@ public abstract class Revision implements Comparable, Serializable { private String str; ForDate(final Date date) { - this.date = Preconditions.checkNotNull(date); + this.date = requireNonNull(date); } ForDate(final Date date, final String str) { - this.date = Preconditions.checkNotNull(date); - this.str = Preconditions.checkNotNull(str); + this.date = requireNonNull(date); + this.str = requireNonNull(str); } @Override @@ -78,7 +79,7 @@ public abstract class Revision implements Comparable, Serializable { } Proxy(final String str) { - this.str = Preconditions.checkNotNull(str); + this.str = requireNonNull(str); } @Override diff --git a/yang/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/YangVersion.java b/yang/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/YangVersion.java index 2009465e9a..f25e453d56 100644 --- a/yang/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/YangVersion.java +++ b/yang/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/YangVersion.java @@ -7,8 +7,9 @@ */ package org.opendaylight.yangtools.yang.common; +import static java.util.Objects.requireNonNull; + import com.google.common.annotations.Beta; -import com.google.common.base.Preconditions; import com.google.common.collect.Maps; import java.util.Arrays; import java.util.Map; @@ -38,8 +39,8 @@ public enum YangVersion { private String reference; YangVersion(final String str, final String reference) { - this.str = Preconditions.checkNotNull(str); - this.reference = Preconditions.checkNotNull(reference); + this.str = requireNonNull(str); + this.reference = requireNonNull(reference); } /** @@ -50,7 +51,7 @@ public enum YangVersion { * @throws NullPointerException if the string is null */ public static Optional parse(@Nonnull final String str) { - return Optional.ofNullable(YANG_VERSION_MAP.get(Preconditions.checkNotNull(str))); + return Optional.ofNullable(YANG_VERSION_MAP.get(requireNonNull(str))); } /** diff --git a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/FixedYangInstanceIdentifier.java b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/FixedYangInstanceIdentifier.java index 18a34fea1d..d48be0278d 100644 --- a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/FixedYangInstanceIdentifier.java +++ b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/FixedYangInstanceIdentifier.java @@ -7,7 +7,9 @@ */ package org.opendaylight.yangtools.yang.data.api; -import com.google.common.base.Preconditions; +import static com.google.common.base.Preconditions.checkArgument; +import static java.util.Objects.requireNonNull; + import com.google.common.collect.ImmutableList; import java.io.ObjectStreamException; import java.util.List; @@ -24,7 +26,7 @@ final class FixedYangInstanceIdentifier extends YangInstanceIdentifier implement private FixedYangInstanceIdentifier(final ImmutableList path, final int hash) { super(hash); - this.path = Preconditions.checkNotNull(path, "path must not be null."); + this.path = requireNonNull(path, "path must not be null."); } static FixedYangInstanceIdentifier create(final Iterable path, final int hash) { @@ -63,8 +65,8 @@ final class FixedYangInstanceIdentifier extends YangInstanceIdentifier implement @Nonnull @Override public YangInstanceIdentifier getAncestor(final int depth) { - Preconditions.checkArgument(depth >= 0, "Negative depth is not allowed"); - Preconditions.checkArgument(depth <= path.size(), "Depth %s exceeds maximum depth %s", depth, path.size()); + checkArgument(depth >= 0, "Negative depth is not allowed"); + checkArgument(depth <= path.size(), "Depth %s exceeds maximum depth %s", depth, path.size()); if (depth == path.size()) { return this; diff --git a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/StackedPathArguments.java b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/StackedPathArguments.java index f35c186879..d295b01c5e 100644 --- a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/StackedPathArguments.java +++ b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/StackedPathArguments.java @@ -7,8 +7,9 @@ */ package org.opendaylight.yangtools.yang.data.api; -import com.google.common.base.Preconditions; -import com.google.common.base.Verify; +import static com.google.common.base.Verify.verify; +import static java.util.Objects.requireNonNull; + import com.google.common.collect.UnmodifiableIterator; import java.util.Iterator; import java.util.List; @@ -20,7 +21,7 @@ final class StackedPathArguments extends PathArgumentList { private final List stack; StackedPathArguments(@Nonnull final YangInstanceIdentifier base, @Nonnull final List stack) { - Verify.verify(!stack.isEmpty()); + verify(!stack.isEmpty()); this.base = base.getPathArguments(); this.stack = stack; } @@ -33,7 +34,7 @@ final class StackedPathArguments extends PathArgumentList { @Override @SuppressWarnings("checkstyle:parameterName") public boolean contains(final Object o) { - final PathArgument srch = (PathArgument) Preconditions.checkNotNull(o); + final PathArgument srch = (PathArgument) requireNonNull(o); return stack.contains(srch) || base.contains(srch); } @@ -48,7 +49,7 @@ final class StackedPathArguments extends PathArgumentList { @Override @SuppressWarnings("checkstyle:parameterName") public int indexOf(final Object o) { - final PathArgument srch = (PathArgument) Preconditions.checkNotNull(o); + final PathArgument srch = (PathArgument) requireNonNull(o); int ret = base.indexOf(srch); if (ret == -1) { @@ -63,7 +64,7 @@ final class StackedPathArguments extends PathArgumentList { @Override @SuppressWarnings("checkstyle:parameterName") public int lastIndexOf(final Object o) { - final PathArgument srch = (PathArgument) Preconditions.checkNotNull(o); + final PathArgument srch = (PathArgument) requireNonNull(o); final int ret = stack.lastIndexOf(srch); if (ret != -1) { diff --git a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/StackedReversePathArguments.java b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/StackedReversePathArguments.java index fbe02fc392..f0290d006e 100644 --- a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/StackedReversePathArguments.java +++ b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/StackedReversePathArguments.java @@ -7,8 +7,9 @@ */ package org.opendaylight.yangtools.yang.data.api; -import com.google.common.base.Preconditions; -import com.google.common.base.Verify; +import static com.google.common.base.Verify.verify; +import static java.util.Objects.requireNonNull; + import com.google.common.collect.Iterators; import com.google.common.collect.UnmodifiableIterator; import java.util.Collection; @@ -22,7 +23,7 @@ final class StackedReversePathArguments extends PathArgumentList { private volatile boolean haveSize; StackedReversePathArguments(final StackedYangInstanceIdentifier identifier) { - this.identifier = Preconditions.checkNotNull(identifier); + this.identifier = requireNonNull(identifier); } private static int calculateSize(final YangInstanceIdentifier parent) { @@ -33,7 +34,7 @@ final class StackedReversePathArguments extends PathArgumentList { return i + args.size(); } - Verify.verify(current instanceof StackedYangInstanceIdentifier); + verify(current instanceof StackedYangInstanceIdentifier); current = current.getParent(); } } @@ -53,7 +54,7 @@ final class StackedReversePathArguments extends PathArgumentList { @Override @SuppressWarnings("checkstyle:parameterName") public boolean contains(final Object o) { - final PathArgument srch = (PathArgument) Preconditions.checkNotNull(o); + final PathArgument srch = (PathArgument) requireNonNull(o); return Iterators.contains(iterator(), srch); } @@ -65,14 +66,14 @@ final class StackedReversePathArguments extends PathArgumentList { @Override @SuppressWarnings("checkstyle:parameterName") public int indexOf(final Object o) { - final PathArgument srch = (PathArgument) Preconditions.checkNotNull(o); + final PathArgument srch = (PathArgument) requireNonNull(o); return super.indexOf(srch); } @Override @SuppressWarnings("checkstyle:parameterName") public int lastIndexOf(final Object o) { - final PathArgument srch = (PathArgument) Preconditions.checkNotNull(o); + final PathArgument srch = (PathArgument) requireNonNull(o); int ret = -1; final Iterator it = iterator(); @@ -96,7 +97,7 @@ final class StackedReversePathArguments extends PathArgumentList { private Iterator tail; IteratorImpl(final StackedYangInstanceIdentifier identifier) { - this.identifier = Preconditions.checkNotNull(identifier); + this.identifier = requireNonNull(identifier); } @Override @@ -117,7 +118,7 @@ final class StackedReversePathArguments extends PathArgumentList { tail = args.iterator(); identifier = null; } else { - Verify.verify(next instanceof StackedYangInstanceIdentifier); + verify(next instanceof StackedYangInstanceIdentifier); identifier = (StackedYangInstanceIdentifier) next; } diff --git a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/StackedYangInstanceIdentifier.java b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/StackedYangInstanceIdentifier.java index 51218a315a..f4fc50cd60 100644 --- a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/StackedYangInstanceIdentifier.java +++ b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/StackedYangInstanceIdentifier.java @@ -7,8 +7,10 @@ */ package org.opendaylight.yangtools.yang.data.api; -import com.google.common.base.Preconditions; -import com.google.common.base.Verify; +import static com.google.common.base.Preconditions.checkArgument; +import static com.google.common.base.Verify.verify; +import static java.util.Objects.requireNonNull; + import com.google.common.collect.Iterables; import com.google.common.collect.Lists; import java.io.IOException; @@ -44,8 +46,8 @@ final class StackedYangInstanceIdentifier extends YangInstanceIdentifier impleme StackedYangInstanceIdentifier(final YangInstanceIdentifier parent, final PathArgument pathArgument, final int hash) { super(hash); - this.parent = Preconditions.checkNotNull(parent); - this.pathArgument = Preconditions.checkNotNull(pathArgument); + this.parent = requireNonNull(parent); + this.pathArgument = requireNonNull(pathArgument); } @Override @@ -65,7 +67,7 @@ final class StackedYangInstanceIdentifier extends YangInstanceIdentifier impleme @Nonnull @Override public YangInstanceIdentifier getAncestor(final int depth) { - Preconditions.checkArgument(depth >= 0, "Steps cannot be negative"); + checkArgument(depth >= 0, "Steps cannot be negative"); // Calculate how far up our FixedYangInstanceIdentifier ancestor is int stackedDepth = 1; @@ -83,7 +85,7 @@ final class StackedYangInstanceIdentifier extends YangInstanceIdentifier impleme // Calculate our depth and check argument final int ourDepth = stackedDepth + fixedDepth; - Preconditions.checkArgument(depth <= ourDepth, "Depth %s exceeds maximum depth %s", depth, ourDepth); + checkArgument(depth <= ourDepth, "Depth %s exceeds maximum depth %s", depth, ourDepth); // Requested depth is covered by the stack, traverse up for specified number of steps final int toWalk = ourDepth - depth; @@ -107,7 +109,7 @@ final class StackedYangInstanceIdentifier extends YangInstanceIdentifier impleme final List stack = new ArrayList<>(); YangInstanceIdentifier current = this; do { - Verify.verify(current instanceof StackedYangInstanceIdentifier); + verify(current instanceof StackedYangInstanceIdentifier); final StackedYangInstanceIdentifier stacked = (StackedYangInstanceIdentifier) current; stack.add(stacked.getLastPathArgument()); current = stacked.getParent(); diff --git a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/YangInstanceIdentifier.java b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/YangInstanceIdentifier.java index 3926219368..6f2c49cfa3 100644 --- a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/YangInstanceIdentifier.java +++ b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/YangInstanceIdentifier.java @@ -7,11 +7,11 @@ */ package org.opendaylight.yangtools.yang.data.api; +import static com.google.common.base.Preconditions.checkArgument; import static com.google.common.base.Verify.verify; +import static java.util.Objects.requireNonNull; import com.google.common.annotations.Beta; -import com.google.common.base.Optional; -import com.google.common.base.Preconditions; import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheLoader; import com.google.common.cache.LoadingCache; @@ -28,6 +28,7 @@ import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.Objects; +import java.util.Optional; import java.util.Set; import java.util.concurrent.atomic.AtomicReferenceFieldUpdater; import javax.annotation.Nonnull; @@ -239,7 +240,7 @@ public abstract class YangInstanceIdentifier implements Path lit = getPathArguments().iterator(); final Iterator oit = other.getPathArguments().iterator(); @@ -427,7 +428,7 @@ public abstract class YangInstanceIdentifier implements Path(); } - YangInstanceIdentifierBuilder(final Iterable prefix, final int hash) { - this.path = Lists.newArrayList(prefix); + YangInstanceIdentifierBuilder(final List prefix, final int hash) { + this.path = new ArrayList<>(prefix); this.hash = new HashCodeBuilder<>(hash); } @@ -42,7 +42,7 @@ final class YangInstanceIdentifierBuilder implements InstanceIdentifierBuilder { @Override public InstanceIdentifierBuilder node(final PathArgument arg) { - return addArgument(Preconditions.checkNotNull(arg)); + return addArgument(requireNonNull(arg)); } @Override diff --git a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/NormalizedNodeContainer.java b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/NormalizedNodeContainer.java index b4cd9efc9b..df81ece420 100644 --- a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/NormalizedNodeContainer.java +++ b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/NormalizedNodeContainer.java @@ -7,8 +7,8 @@ */ package org.opendaylight.yangtools.yang.data.api.schema; -import com.google.common.base.Optional; import java.util.Collection; +import java.util.Optional; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; /** @@ -49,7 +49,7 @@ public interface NormalizedNodeContainer getChild(K child); } diff --git a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/NormalizedNodes.java b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/NormalizedNodes.java index 154a163a66..c560e1fd94 100644 --- a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/NormalizedNodes.java +++ b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/NormalizedNodes.java @@ -7,15 +7,15 @@ */ package org.opendaylight.yangtools.yang.data.api.schema; -import static com.google.common.base.Preconditions.checkNotNull; +import static java.util.Objects.requireNonNull; import com.google.common.annotations.Beta; -import com.google.common.base.Optional; import com.google.common.base.Strings; import com.google.common.collect.Maps; import java.util.Arrays; import java.util.Iterator; import java.util.Map; +import java.util.Optional; import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.AugmentationIdentifier; @@ -37,13 +37,13 @@ public final class NormalizedNodes { public static Optional> findNode(final YangInstanceIdentifier rootPath, final NormalizedNode rootNode, final YangInstanceIdentifier childPath) { final Optional relativePath = childPath.relativeTo(rootPath); - return relativePath.isPresent() ? findNode(rootNode, relativePath.get()) : Optional.absent(); + return relativePath.isPresent() ? findNode(rootNode, relativePath.get()) : Optional.empty(); } public static Optional> findNode(final Optional> parent, final Iterable relativePath) { - checkNotNull(parent, "Parent must not be null"); - checkNotNull(relativePath, "Relative path must not be null"); + requireNonNull(parent, "Parent must not be null"); + requireNonNull(relativePath, "Relative path must not be null"); Optional> currentNode = parent; final Iterator pathIterator = relativePath.iterator(); @@ -60,7 +60,7 @@ public final class NormalizedNodes { public static Optional> findNode(final NormalizedNode parent, final Iterable relativePath) { - return findNode(Optional.fromNullable(parent), relativePath); + return findNode(Optional.ofNullable(parent), relativePath); } public static Optional> findNode(final NormalizedNode parent, @@ -70,8 +70,8 @@ public final class NormalizedNodes { public static Optional> findNode(final NormalizedNode tree, final YangInstanceIdentifier path) { - checkNotNull(tree, "Tree must not be null"); - checkNotNull(path, "Path must not be null"); + requireNonNull(tree, "Tree must not be null"); + requireNonNull(path, "Path must not be null"); return findNode(Optional.of(tree), path.getPathArguments()); } @@ -80,7 +80,7 @@ public final class NormalizedNodes { public static Optional> getDirectChild(final NormalizedNode node, final PathArgument pathArg) { if (node instanceof LeafNode || node instanceof LeafSetEntryNode) { - return Optional.absent(); + return Optional.empty(); } else if (node instanceof DataContainerNode) { return (Optional) ((DataContainerNode) node).getChild(pathArg); } else if (node instanceof MapNode && pathArg instanceof NodeIdentifierWithPredicates) { @@ -88,7 +88,7 @@ public final class NormalizedNodes { } else if (node instanceof LeafSetNode) { return (Optional) ((LeafSetNode) node).getChild((NodeWithValue) pathArg); } - return Optional.absent(); + return Optional.empty(); } /** diff --git a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/stream/NormalizedNodeStreamWriter.java b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/stream/NormalizedNodeStreamWriter.java index f07aa0dabf..2f3b2af7bc 100644 --- a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/stream/NormalizedNodeStreamWriter.java +++ b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/stream/NormalizedNodeStreamWriter.java @@ -7,7 +7,8 @@ */ package org.opendaylight.yangtools.yang.data.api.schema.stream; -import com.google.common.base.Preconditions; +import static java.util.Objects.requireNonNull; + import java.io.Closeable; import java.io.Flushable; import java.io.IOException; @@ -18,7 +19,6 @@ import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdent import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates; import org.opendaylight.yangtools.yang.model.api.DataSchemaNode; - /** * Event Stream Writer based on Normalized Node tree representation * @@ -476,7 +476,7 @@ public interface NormalizedNodeStreamWriter extends Closeable, Flushable { * @throws NullPointerException if the argument is null */ default void nextDataSchemaNode(@Nonnull final DataSchemaNode schema) { - Preconditions.checkNotNull(schema); + requireNonNull(schema); } @Override diff --git a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/stream/NormalizedNodeWriter.java b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/stream/NormalizedNodeWriter.java index 62e221c307..7a7bbf7a7e 100644 --- a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/stream/NormalizedNodeWriter.java +++ b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/stream/NormalizedNodeWriter.java @@ -7,16 +7,16 @@ */ package org.opendaylight.yangtools.yang.data.api.schema.stream; +import static java.util.Objects.requireNonNull; import static org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter.UNKNOWN_SIZE; import com.google.common.annotations.Beta; -import com.google.common.base.Optional; -import com.google.common.base.Preconditions; import com.google.common.collect.Iterables; import java.io.Closeable; import java.io.Flushable; import java.io.IOException; import java.util.Collection; +import java.util.Optional; import java.util.Set; import javax.xml.stream.XMLStreamReader; import org.opendaylight.yangtools.yang.common.QName; @@ -50,7 +50,7 @@ public class NormalizedNodeWriter implements Closeable, Flushable { private final NormalizedNodeStreamWriter writer; protected NormalizedNodeWriter(final NormalizedNodeStreamWriter writer) { - this.writer = Preconditions.checkNotNull(writer); + this.writer = requireNonNull(writer); } protected final NormalizedNodeStreamWriter getWriter() { @@ -125,7 +125,7 @@ public class NormalizedNodeWriter implements Closeable, Flushable { * @return Best estimate of the collection size required to hold all the children. */ protected static int childSizeHint(final Iterable children) { - return (children instanceof Collection) ? ((Collection) children).size() : UNKNOWN_SIZE; + return children instanceof Collection ? ((Collection) children).size() : UNKNOWN_SIZE; } protected boolean wasProcessAsSimpleNode(final NormalizedNode node) throws IOException { diff --git a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/DataTreeCandidateNode.java b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/DataTreeCandidateNode.java index 95f52d5527..849f7ad4a6 100644 --- a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/DataTreeCandidateNode.java +++ b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/DataTreeCandidateNode.java @@ -7,8 +7,8 @@ */ package org.opendaylight.yangtools.yang.data.api.schema.tree; -import com.google.common.base.Optional; import java.util.Collection; +import java.util.Optional; import javax.annotation.Nonnull; import javax.annotation.Nullable; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; diff --git a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/DataTreeCandidateNodes.java b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/DataTreeCandidateNodes.java index 8e271e69cb..2b133a8765 100644 --- a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/DataTreeCandidateNodes.java +++ b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/DataTreeCandidateNodes.java @@ -7,8 +7,9 @@ */ package org.opendaylight.yangtools.yang.data.api.schema.tree; +import static java.util.Objects.requireNonNull; + import com.google.common.annotations.Beta; -import com.google.common.base.Preconditions; import java.util.Collection; import java.util.Iterator; import javax.annotation.Nonnull; @@ -122,7 +123,7 @@ public final class DataTreeCandidateNodes { private final Iterator iterator; AbstractNodeIterator(final Iterator iterator) { - this.iterator = Preconditions.checkNotNull(iterator); + this.iterator = requireNonNull(iterator); } AbstractNodeIterator next(final DataTreeModificationCursor cursor) { diff --git a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/DataTreeCandidates.java b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/DataTreeCandidates.java index 629c782b2b..840ceab47f 100644 --- a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/DataTreeCandidates.java +++ b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/DataTreeCandidates.java @@ -7,8 +7,9 @@ */ package org.opendaylight.yangtools.yang.data.api.schema.tree; +import static java.util.Objects.requireNonNull; + import com.google.common.annotations.Beta; -import com.google.common.base.Preconditions; import java.util.Iterator; import javax.annotation.Nonnull; import javax.annotation.Nullable; @@ -98,8 +99,8 @@ public final class DataTreeCandidates { NodeIterator(@Nullable final NodeIterator parent, @Nonnull final YangInstanceIdentifier path, @Nonnull final Iterator iterator) { - this.iterator = Preconditions.checkNotNull(iterator); - this.path = Preconditions.checkNotNull(path); + this.iterator = requireNonNull(iterator); + this.path = requireNonNull(path); this.parent = parent; } diff --git a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/DataTreeConfiguration.java b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/DataTreeConfiguration.java index 3f8c52b85f..cd1598b275 100644 --- a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/DataTreeConfiguration.java +++ b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/DataTreeConfiguration.java @@ -7,9 +7,10 @@ */ package org.opendaylight.yangtools.yang.data.api.schema.tree; +import static java.util.Objects.requireNonNull; + import com.google.common.annotations.Beta; import com.google.common.base.MoreObjects; -import com.google.common.base.Preconditions; import javax.annotation.Nonnull; import org.opendaylight.yangtools.concepts.Immutable; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; @@ -52,8 +53,8 @@ public class DataTreeConfiguration implements Immutable { DataTreeConfiguration(final TreeType treeType, final YangInstanceIdentifier rootPath, final boolean uniqueIndexes, final boolean mandatoryNodesValidation) { - this.treeType = Preconditions.checkNotNull(treeType); - this.rootPath = Preconditions.checkNotNull(rootPath); + this.treeType = requireNonNull(treeType); + this.rootPath = requireNonNull(rootPath); this.uniqueIndexes = uniqueIndexes; this.mandatoryNodesValidation = mandatoryNodesValidation; } @@ -82,8 +83,7 @@ public class DataTreeConfiguration implements Immutable { } public static DataTreeConfiguration getDefault(final TreeType treeType) { - Preconditions.checkNotNull(treeType); - switch (treeType) { + switch (requireNonNull(treeType)) { case CONFIGURATION: return DEFAULT_CONFIGURATION; case OPERATIONAL: @@ -100,7 +100,7 @@ public class DataTreeConfiguration implements Immutable { private boolean mandatoryNodesValidation; public Builder(final TreeType treeType) { - this.treeType = Preconditions.checkNotNull(treeType); + this.treeType = requireNonNull(treeType); this.rootPath = YangInstanceIdentifier.EMPTY; } diff --git a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/DataTreeSnapshot.java b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/DataTreeSnapshot.java index b207a91fc2..d6bd11fc43 100644 --- a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/DataTreeSnapshot.java +++ b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/DataTreeSnapshot.java @@ -7,7 +7,7 @@ */ package org.opendaylight.yangtools.yang.data.api.schema.tree; -import com.google.common.base.Optional; +import java.util.Optional; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; diff --git a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/DataTreeSnapshotCursor.java b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/DataTreeSnapshotCursor.java index 7692ca2b21..575fa712d0 100644 --- a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/DataTreeSnapshotCursor.java +++ b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/DataTreeSnapshotCursor.java @@ -8,7 +8,7 @@ package org.opendaylight.yangtools.yang.data.api.schema.tree; import com.google.common.annotations.Beta; -import com.google.common.base.Optional; +import java.util.Optional; import javax.annotation.Nonnull; import javax.annotation.concurrent.NotThreadSafe; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; diff --git a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/DataValidationFailedException.java b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/DataValidationFailedException.java index 3ccc0d5091..9d931e26df 100644 --- a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/DataValidationFailedException.java +++ b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/DataValidationFailedException.java @@ -7,7 +7,8 @@ */ package org.opendaylight.yangtools.yang.data.api.schema.tree; -import com.google.common.base.Preconditions; +import static java.util.Objects.requireNonNull; + import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; /** @@ -40,7 +41,7 @@ public class DataValidationFailedException extends Exception { public DataValidationFailedException(final YangInstanceIdentifier path, final String message, final Throwable cause) { super(message, cause); - this.path = Preconditions.checkNotNull(path); + this.path = requireNonNull(path); } /** diff --git a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/DefaultDataTreeCandidate.java b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/DefaultDataTreeCandidate.java index 26eace9bc0..90c3a1ba70 100644 --- a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/DefaultDataTreeCandidate.java +++ b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/DefaultDataTreeCandidate.java @@ -7,8 +7,9 @@ */ package org.opendaylight.yangtools.yang.data.api.schema.tree; +import static java.util.Objects.requireNonNull; + import com.google.common.base.MoreObjects; -import com.google.common.base.Preconditions; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; /** @@ -19,8 +20,8 @@ final class DefaultDataTreeCandidate implements DataTreeCandidate { private final DataTreeCandidateNode rootNode; DefaultDataTreeCandidate(final YangInstanceIdentifier rootPath, final DataTreeCandidateNode rootNode) { - this.rootPath = Preconditions.checkNotNull(rootPath); - this.rootNode = Preconditions.checkNotNull(rootNode); + this.rootPath = requireNonNull(rootPath); + this.rootNode = requireNonNull(rootNode); } @Override diff --git a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/EmptyDataTreeCandidateNode.java b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/EmptyDataTreeCandidateNode.java index bd5a95fa23..580f926f7e 100644 --- a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/EmptyDataTreeCandidateNode.java +++ b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/EmptyDataTreeCandidateNode.java @@ -7,10 +7,11 @@ */ package org.opendaylight.yangtools.yang.data.api.schema.tree; -import com.google.common.base.Optional; -import com.google.common.base.Preconditions; +import static java.util.Objects.requireNonNull; + import com.google.common.collect.ImmutableList; import java.util.Collection; +import java.util.Optional; import javax.annotation.Nonnull; import javax.annotation.Nullable; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; @@ -21,7 +22,7 @@ final class EmptyDataTreeCandidateNode implements DataTreeCandidateNode { private final PathArgument identifier; EmptyDataTreeCandidateNode(final PathArgument identifier) { - this.identifier = Preconditions.checkNotNull(identifier, "Identifier should not be null"); + this.identifier = requireNonNull(identifier, "Identifier should not be null"); } @Nonnull @@ -51,12 +52,12 @@ final class EmptyDataTreeCandidateNode implements DataTreeCandidateNode { @Nonnull @Override public Optional> getDataAfter() { - return Optional.absent(); + return Optional.empty(); } @Nonnull @Override public Optional> getDataBefore() { - return Optional.absent(); + return Optional.empty(); } } \ No newline at end of file diff --git a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/NormalizedNodeDataTreeCandidateNode.java b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/NormalizedNodeDataTreeCandidateNode.java index 35fe0758f1..546b0e88ec 100644 --- a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/NormalizedNodeDataTreeCandidateNode.java +++ b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/NormalizedNodeDataTreeCandidateNode.java @@ -7,12 +7,12 @@ */ package org.opendaylight.yangtools.yang.data.api.schema.tree; -import com.google.common.base.Function; -import com.google.common.base.Optional; -import com.google.common.base.Preconditions; +import static java.util.Objects.requireNonNull; + import com.google.common.collect.Collections2; import com.google.common.collect.ImmutableList; import java.util.Collection; +import java.util.Optional; import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; @@ -23,12 +23,6 @@ import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNodeContainer; * the {@link NormalizedNode} passed to it at creation time were freshly written. */ final class NormalizedNodeDataTreeCandidateNode implements DataTreeCandidateNode { - /** - * Convenience function for functional transformation of {@link NormalizedNode} into - * a {@link DataTreeCandidateNode}. - */ - private static final Function, DataTreeCandidateNode> FACTORY_FUNCTION = - input -> input == null ? null : new NormalizedNodeDataTreeCandidateNode(input); private final NormalizedNode data; /** @@ -37,7 +31,7 @@ final class NormalizedNodeDataTreeCandidateNode implements DataTreeCandidateNode * @param data Backing {@link NormalizedNode} data. */ NormalizedNodeDataTreeCandidateNode(@Nonnull final NormalizedNode data) { - this.data = Preconditions.checkNotNull(data); + this.data = requireNonNull(data); } @Nonnull @@ -50,7 +44,8 @@ final class NormalizedNodeDataTreeCandidateNode implements DataTreeCandidateNode @Override public Collection getChildNodes() { if (data instanceof NormalizedNodeContainer) { - return Collections2.transform(((NormalizedNodeContainer) data).getValue(), FACTORY_FUNCTION); + return Collections2.transform(((NormalizedNodeContainer) data).getValue(), + input -> input == null ? null : new NormalizedNodeDataTreeCandidateNode(input)); } return ImmutableList.of(); } @@ -60,7 +55,7 @@ final class NormalizedNodeDataTreeCandidateNode implements DataTreeCandidateNode if (data instanceof NormalizedNodeContainer) { @SuppressWarnings({ "rawtypes", "unchecked" }) final Optional> child = ((NormalizedNodeContainer)data).getChild(identifier); - return FACTORY_FUNCTION.apply(child.orNull()); + return child.map(input -> new NormalizedNodeDataTreeCandidateNode(input)).orElse(null); } return null; } @@ -80,6 +75,6 @@ final class NormalizedNodeDataTreeCandidateNode implements DataTreeCandidateNode @Nonnull @Override public Optional> getDataBefore() { - return Optional.absent(); + return Optional.empty(); } } diff --git a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/StoreTreeNode.java b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/StoreTreeNode.java index 33c6350879..541dc60a8b 100644 --- a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/StoreTreeNode.java +++ b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/StoreTreeNode.java @@ -7,7 +7,7 @@ */ package org.opendaylight.yangtools.yang.data.api.schema.tree; -import com.google.common.base.Optional; +import java.util.Optional; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; /** @@ -22,7 +22,7 @@ public interface StoreTreeNode> { * Returns a direct child of the node. * * @param child Identifier of child - * @return Optional with node if the child is existing, {@link Optional#absent()} otherwise. + * @return Optional with node if the child is existing, {@link Optional#empty()} otherwise. */ Optional getChild(PathArgument child); } diff --git a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/StoreTreeNodes.java b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/StoreTreeNodes.java index 8d786f107a..a713184da2 100644 --- a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/StoreTreeNodes.java +++ b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/StoreTreeNodes.java @@ -7,14 +7,14 @@ */ package org.opendaylight.yangtools.yang.data.api.schema.tree; +import static com.google.common.base.Verify.verify; + import com.google.common.annotations.Beta; -import com.google.common.base.Optional; -import com.google.common.base.Predicate; -import com.google.common.base.Predicates; -import com.google.common.base.Verify; import java.util.AbstractMap.SimpleImmutableEntry; import java.util.Iterator; import java.util.Map.Entry; +import java.util.Optional; +import java.util.function.Predicate; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; @@ -34,7 +34,7 @@ public final class StoreTreeNodes { * Store tree node type. * @param tree Data Tree * @param path Path to the node - * @return Optional with node if the node is present in tree, {@link Optional#absent()} otherwise. + * @return Optional with node if the node is present in tree, {@link Optional#empty()} otherwise. */ public static > Optional findNode(final T tree, final YangInstanceIdentifier path) { Optional current = Optional.of(tree); @@ -72,7 +72,7 @@ public final class StoreTreeNodes { */ public static > Entry findClosest(final T tree, final YangInstanceIdentifier path) { - return findClosestsOrFirstMatch(tree, path, Predicates.alwaysFalse()); + return findClosestsOrFirstMatch(tree, path, input -> false); } public static > Entry findClosestsOrFirstMatch(final T tree, @@ -82,7 +82,7 @@ public final class StoreTreeNodes { int nesting = 0; Iterator pathIter = path.getPathArguments().iterator(); - while (current.isPresent() && pathIter.hasNext() && !predicate.apply(current.get())) { + while (current.isPresent() && pathIter.hasNext() && !predicate.test(current.get())) { parent = current; current = current.get().getChild(pathIter.next()); nesting++; @@ -98,7 +98,7 @@ public final class StoreTreeNodes { * for current.isPresent() failed, which it cannot, as current is always * present. At any rate we verify state just to be on the safe side. */ - Verify.verify(nesting > 0); + verify(nesting > 0); return new SimpleImmutableEntry<>(path.getAncestor(nesting - 1), parent.get()); } @@ -107,6 +107,6 @@ public final class StoreTreeNodes { if (parent.isPresent()) { return parent.get().getChild(child); } - return Optional.absent(); + return Optional.empty(); } } diff --git a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/SynchronizedDataTreeModification.java b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/SynchronizedDataTreeModification.java index 6e07422fc2..660c81e088 100644 --- a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/SynchronizedDataTreeModification.java +++ b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/SynchronizedDataTreeModification.java @@ -7,8 +7,9 @@ */ package org.opendaylight.yangtools.yang.data.api.schema.tree; -import com.google.common.base.Optional; -import com.google.common.base.Preconditions; +import static java.util.Objects.requireNonNull; + +import java.util.Optional; import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; @@ -22,7 +23,7 @@ public final class SynchronizedDataTreeModification implements DataTreeModificat private final DataTreeModification delegate; private SynchronizedDataTreeModification(final DataTreeModification delegate) { - this.delegate = Preconditions.checkNotNull(delegate); + this.delegate = requireNonNull(delegate); } public static DataTreeModification create(final DataTreeModification delegate) { diff --git a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/AbstractContainerNode.java b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/AbstractContainerNode.java index 57e86c19c9..74e5746bcc 100644 --- a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/AbstractContainerNode.java +++ b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/AbstractContainerNode.java @@ -7,7 +7,7 @@ */ package org.opendaylight.yangtools.yang.data.api.schema.tree.spi; -import com.google.common.base.Optional; +import java.util.Optional; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNodeContainer; @@ -28,7 +28,7 @@ abstract class AbstractContainerNode extends AbstractTreeNode { protected final Optional getChildFromData(final PathArgument childId) { // We do not cache the instantiated node as it is dirt cheap - return Optional.fromNullable(getChildFromData(castData(), childId, getVersion())); + return Optional.ofNullable(getChildFromData(castData(), childId, getVersion())); } static TreeNode getChildFromData(final NormalizedNodeContainer> data, diff --git a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/AbstractModifiedContainerNode.java b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/AbstractModifiedContainerNode.java index 182511da66..df4d058b00 100644 --- a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/AbstractModifiedContainerNode.java +++ b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/AbstractModifiedContainerNode.java @@ -7,8 +7,9 @@ */ package org.opendaylight.yangtools.yang.data.api.schema.tree.spi; +import static java.util.Objects.requireNonNull; + import com.google.common.base.MoreObjects.ToStringHelper; -import com.google.common.base.Preconditions; import java.util.Map; import org.opendaylight.yangtools.util.MapAdaptor; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; @@ -24,8 +25,8 @@ abstract class AbstractModifiedContainerNode extends AbstractContainerNode { protected AbstractModifiedContainerNode(final NormalizedNode data, final Version version, final Map children, final Version subtreeVersion) { super(data, version); - this.subtreeVersion = Preconditions.checkNotNull(subtreeVersion); - this.children = Preconditions.checkNotNull(children); + this.subtreeVersion = requireNonNull(subtreeVersion); + this.children = requireNonNull(children); } protected final TreeNode getModifiedChild(final PathArgument childId) { diff --git a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/AbstractMutableContainerNode.java b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/AbstractMutableContainerNode.java index 056a189a0d..453c510363 100644 --- a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/AbstractMutableContainerNode.java +++ b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/AbstractMutableContainerNode.java @@ -7,8 +7,9 @@ */ package org.opendaylight.yangtools.yang.data.api.schema.tree.spi; -import com.google.common.base.Preconditions; -import com.google.common.base.Verify; +import static com.google.common.base.Verify.verify; +import static java.util.Objects.requireNonNull; + import java.util.Map; import org.opendaylight.yangtools.util.MapAdaptor; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; @@ -30,7 +31,7 @@ abstract class AbstractMutableContainerNode implements MutableTreeNode { this.data = parent.getData(); this.version = parent.getVersion(); this.subtreeVersion = parent.getSubtreeVersion(); - this.children = Preconditions.checkNotNull(children); + this.children = requireNonNull(children); } protected final Version getVersion() { @@ -48,7 +49,7 @@ abstract class AbstractMutableContainerNode implements MutableTreeNode { @Override public final void setSubtreeVersion(final Version subtreeVersion) { - this.subtreeVersion = Preconditions.checkNotNull(subtreeVersion); + this.subtreeVersion = requireNonNull(subtreeVersion); } @Override @@ -63,7 +64,7 @@ abstract class AbstractMutableContainerNode implements MutableTreeNode { @Override public final void setData(final NormalizedNode data) { - this.data = Preconditions.checkNotNull(data); + this.data = requireNonNull(data); } @Override @@ -82,7 +83,7 @@ abstract class AbstractMutableContainerNode implements MutableTreeNode { final Map newChildren = MapAdaptor.getDefaultInstance().optimize(children); final int dataSize = getData().getValue().size(); if (dataSize != newChildren.size()) { - Verify.verify(dataSize > newChildren.size(), "Detected %s modified children, data has only %s", + verify(dataSize > newChildren.size(), "Detected %s modified children, data has only %s", newChildren.size(), dataSize); ret = new LazyContainerNode(data, version, newChildren, subtreeVersion); } else { diff --git a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/AbstractTreeNode.java b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/AbstractTreeNode.java index 9108cf8a94..36849f07cf 100644 --- a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/AbstractTreeNode.java +++ b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/AbstractTreeNode.java @@ -7,9 +7,10 @@ */ package org.opendaylight.yangtools.yang.data.api.schema.tree.spi; +import static java.util.Objects.requireNonNull; + import com.google.common.base.MoreObjects; import com.google.common.base.MoreObjects.ToStringHelper; -import com.google.common.base.Preconditions; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; @@ -21,8 +22,8 @@ abstract class AbstractTreeNode implements TreeNode { private final Version version; protected AbstractTreeNode(final NormalizedNode data, final Version version) { - this.data = Preconditions.checkNotNull(data); - this.version = Preconditions.checkNotNull(version); + this.data = requireNonNull(data); + this.version = requireNonNull(version); } @Override diff --git a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/LazyContainerNode.java b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/LazyContainerNode.java index 1ca6ea0275..c576df55ac 100644 --- a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/LazyContainerNode.java +++ b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/LazyContainerNode.java @@ -8,9 +8,9 @@ package org.opendaylight.yangtools.yang.data.api.schema.tree.spi; import com.google.common.base.MoreObjects.ToStringHelper; -import com.google.common.base.Optional; import com.google.common.collect.Collections2; import java.util.Map; +import java.util.Optional; import org.opendaylight.yangtools.util.MapAdaptor; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; diff --git a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/LazyMutableContainerNode.java b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/LazyMutableContainerNode.java index de20187c95..437edeed8a 100644 --- a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/LazyMutableContainerNode.java +++ b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/LazyMutableContainerNode.java @@ -7,8 +7,8 @@ */ package org.opendaylight.yangtools.yang.data.api.schema.tree.spi; -import com.google.common.base.Optional; import java.util.Map; +import java.util.Optional; import org.opendaylight.yangtools.util.MapAdaptor; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; @@ -32,6 +32,6 @@ final class LazyMutableContainerNode extends AbstractMutableContainerNode { return Optional.of(modified); } - return Optional.fromNullable(AbstractContainerNode.getChildFromData(getData(), childId, getVersion())); + return Optional.ofNullable(AbstractContainerNode.getChildFromData(getData(), childId, getVersion())); } } diff --git a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/MaterializedContainerNode.java b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/MaterializedContainerNode.java index c90a60f89e..7ce74dbd8b 100644 --- a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/MaterializedContainerNode.java +++ b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/MaterializedContainerNode.java @@ -7,8 +7,8 @@ */ package org.opendaylight.yangtools.yang.data.api.schema.tree.spi; -import com.google.common.base.Optional; import java.util.Map; +import java.util.Optional; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; @@ -23,7 +23,7 @@ final class MaterializedContainerNode extends AbstractModifiedContainerNode { @Override public Optional getChild(final PathArgument childId) { - return Optional.fromNullable(getModifiedChild(childId)); + return Optional.ofNullable(getModifiedChild(childId)); } @Override diff --git a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/MaterializedMutableContainerNode.java b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/MaterializedMutableContainerNode.java index e41ed8bfee..c787e47047 100644 --- a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/MaterializedMutableContainerNode.java +++ b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/MaterializedMutableContainerNode.java @@ -7,8 +7,8 @@ */ package org.opendaylight.yangtools.yang.data.api.schema.tree.spi; -import com.google.common.base.Optional; import java.util.Map; +import java.util.Optional; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; final class MaterializedMutableContainerNode extends AbstractMutableContainerNode { @@ -18,6 +18,6 @@ final class MaterializedMutableContainerNode extends AbstractMutableContainerNod @Override public Optional getChild(final PathArgument child) { - return Optional.fromNullable(getModifiedChild(child)); + return Optional.ofNullable(getModifiedChild(child)); } } diff --git a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/SimpleContainerNode.java b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/SimpleContainerNode.java index f184a97cc8..ba152bf6c6 100644 --- a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/SimpleContainerNode.java +++ b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/SimpleContainerNode.java @@ -8,7 +8,7 @@ package org.opendaylight.yangtools.yang.data.api.schema.tree.spi; import com.google.common.base.MoreObjects.ToStringHelper; -import com.google.common.base.Optional; +import java.util.Optional; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; diff --git a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/ValueNode.java b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/ValueNode.java index 6177a91acf..a2b750d2b2 100644 --- a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/ValueNode.java +++ b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/spi/ValueNode.java @@ -8,7 +8,7 @@ package org.opendaylight.yangtools.yang.data.api.schema.tree.spi; import com.google.common.base.MoreObjects.ToStringHelper; -import com.google.common.base.Optional; +import java.util.Optional; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; import org.slf4j.Logger; @@ -29,7 +29,7 @@ final class ValueNode extends AbstractTreeNode { @Override public Optional getChild(final PathArgument childId) { LOG.warn("Attempted to access child {} of value-node {}", childId, this); - return Optional.absent(); + return Optional.empty(); } @Override diff --git a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/xpath/LazyXPathExpression.java b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/xpath/LazyXPathExpression.java index ffbe9195bf..b58a288c47 100644 --- a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/xpath/LazyXPathExpression.java +++ b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/xpath/LazyXPathExpression.java @@ -8,8 +8,8 @@ package org.opendaylight.yangtools.yang.data.api.schema.xpath; import com.google.common.annotations.Beta; -import com.google.common.base.Optional; import com.google.common.util.concurrent.CheckedFuture; +import java.util.Optional; import java.util.concurrent.Future; import javax.annotation.Nonnull; import javax.xml.xpath.XPathExpressionException; @@ -33,7 +33,7 @@ public interface LazyXPathExpression { /** * Evaluate this expression at the specified path in a document. If evaluation succeeds, it will return an * {@link XPathResult} at some point it the future. If it fails to match anything, it {@link Future#get()} will - * return {@link Optional#absent()}. + * return {@link Optional#empty()}. * *

* FIXME: The amount of overhead an implementation can incur on the user as data from the resulting diff --git a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/xpath/PrefixConverters.java b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/xpath/PrefixConverters.java index 8c3ecf7123..11a9a2ed0f 100644 --- a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/xpath/PrefixConverters.java +++ b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/xpath/PrefixConverters.java @@ -7,9 +7,11 @@ */ package org.opendaylight.yangtools.yang.data.api.schema.xpath; +import static com.google.common.base.Preconditions.checkArgument; +import static java.util.Objects.requireNonNull; + import com.google.common.annotations.Beta; import com.google.common.base.Converter; -import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableBiMap; import com.google.common.collect.ImmutableBiMap.Builder; import com.google.common.collect.Maps; @@ -40,7 +42,7 @@ public final class PrefixConverters { */ public static @Nonnull Converter create(final SchemaContext ctx, final Module module) { // Always check for null ctx - Preconditions.checkNotNull(ctx, "Schema context may not be null"); + requireNonNull(ctx, "Schema context may not be null"); // Use immutable map builder for detection of duplicates (which should never occur) final Builder b = ImmutableBiMap.builder(); @@ -48,7 +50,7 @@ public final class PrefixConverters { for (ModuleImport i : module.getImports()) { final Module mod = ctx.findModuleByName(i.getModuleName(), i.getRevision()); - Preconditions.checkArgument(mod != null, "Unsatisfied import of %s by module %s", i, module); + checkArgument(mod != null, "Unsatisfied import of %s by module %s", i, module); b.put(i.getPrefix(), mod.getQNameModule()); } diff --git a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/xpath/XPathExpression.java b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/xpath/XPathExpression.java index 17df596146..c372367779 100644 --- a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/xpath/XPathExpression.java +++ b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/xpath/XPathExpression.java @@ -8,7 +8,7 @@ package org.opendaylight.yangtools.yang.data.api.schema.xpath; import com.google.common.annotations.Beta; -import com.google.common.base.Optional; +import java.util.Optional; import javax.annotation.Nonnull; import javax.xml.xpath.XPathExpressionException; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; @@ -22,7 +22,7 @@ import org.opendaylight.yangtools.yang.model.api.SchemaPath; public interface XPathExpression { /** * Evaluate this expression at the specified path in a document. If evaluation succeeds, it will return an - * {@link XPathResult}. If it fails to match anything, it will return {@link Optional#absent()}. Implementations + * {@link XPathResult}. If it fails to match anything, it will return {@link Optional#empty()}. Implementations * of this method are expected to perform complete evaluation such that accessing data via the resulting * {@link XPathResult} will not incur large overhead. * diff --git a/yang/yang-data-api/src/test/java/org/opendaylight/yangtools/yang/data/api/YangInstanceIdentifierTest.java b/yang/yang-data-api/src/test/java/org/opendaylight/yangtools/yang/data/api/YangInstanceIdentifierTest.java index 5cd6864e06..94bb478dc0 100644 --- a/yang/yang-data-api/src/test/java/org/opendaylight/yangtools/yang/data/api/YangInstanceIdentifierTest.java +++ b/yang/yang-data-api/src/test/java/org/opendaylight/yangtools/yang/data/api/YangInstanceIdentifierTest.java @@ -5,7 +5,6 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ - package org.opendaylight.yangtools.yang.data.api; import static org.junit.Assert.assertEquals; @@ -15,19 +14,19 @@ import static org.junit.Assert.assertNull; import static org.junit.Assert.assertSame; import static org.junit.Assert.assertTrue; -import com.google.common.base.Optional; import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; -import com.google.common.collect.Lists; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; +import java.util.Arrays; import java.util.Collections; import java.util.Iterator; import java.util.List; import java.util.Map.Entry; +import java.util.Optional; import org.junit.Test; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.AugmentationIdentifier; @@ -128,7 +127,7 @@ public class YangInstanceIdentifierTest { new NodeIdentifier(NODENAME2), new NodeIdentifier(NODENAME3), new NodeIdentifier(NODENAME4)); final YangInstanceIdentifier id2 = YangInstanceIdentifier.create(new NodeIdentifier(NODENAME1), new NodeIdentifier(NODENAME2)); - final YangInstanceIdentifier id3 = YangInstanceIdentifier.create(Lists.newArrayList( + final YangInstanceIdentifier id3 = YangInstanceIdentifier.create(Arrays.asList( new NodeIdentifier(NODENAME1), new NodeIdentifier(NODENAME2))); Optional relative = id1.relativeTo(id2); diff --git a/yang/yang-data-api/src/test/java/org/opendaylight/yangtools/yang/data/api/schema/NormalizedNodesTest.java b/yang/yang-data-api/src/test/java/org/opendaylight/yangtools/yang/data/api/schema/NormalizedNodesTest.java index a8ee218f80..d673558b74 100644 --- a/yang/yang-data-api/src/test/java/org/opendaylight/yangtools/yang/data/api/schema/NormalizedNodesTest.java +++ b/yang/yang-data-api/src/test/java/org/opendaylight/yangtools/yang/data/api/schema/NormalizedNodesTest.java @@ -14,9 +14,8 @@ import static org.mockito.Matchers.any; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; -import com.google.common.base.Optional; -import com.google.common.collect.Lists; -import com.google.common.collect.Sets; +import java.util.Collections; +import java.util.Optional; import org.junit.Test; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; @@ -33,10 +32,10 @@ public class NormalizedNodesTest { final PathArgument mockedPathArgument = mock(PathArgument.class); final LeafNode mockedLeafNode = mock(LeafNode.class); - assertEquals(Optional.absent(), NormalizedNodes.getDirectChild(mockedLeafNode, mockedPathArgument)); + assertEquals(Optional.empty(), NormalizedNodes.getDirectChild(mockedLeafNode, mockedPathArgument)); final LeafSetEntryNode mockedLeafSetEntryNode = mock(LeafSetEntryNode.class); - assertEquals(Optional.absent(), NormalizedNodes.getDirectChild(mockedLeafSetEntryNode, mockedPathArgument)); + assertEquals(Optional.empty(), NormalizedNodes.getDirectChild(mockedLeafSetEntryNode, mockedPathArgument)); final DataContainerNode mockedDataContainerNode = mock(DataContainerNode.class); final ContainerNode mockedContainerNode = mock(ContainerNode.class); @@ -53,7 +52,7 @@ public class NormalizedNodesTest { doReturn(Optional.of(mockedMapEntryNode)).when(mockedMapNode).getChild(any(NodeIdentifierWithPredicates.class)); assertEquals(mockedMapEntryNode, NormalizedNodes.getDirectChild(mockedMapNode, nodeIdentifierWithPredicates) .get()); - assertEquals(Optional.absent(), NormalizedNodes.getDirectChild(mockedMapNode, mockedPathArgument)); + assertEquals(Optional.empty(), NormalizedNodes.getDirectChild(mockedMapNode, mockedPathArgument)); final LeafSetNode mockedLeafSetNode = mock(LeafSetNode.class); final QName leafListQName = QName.create("test-ns", "test-leaf-list"); @@ -81,7 +80,7 @@ public class NormalizedNodesTest { new NodeIdentifier(node2Qname), new NodeIdentifier(node3QName), new NodeIdentifier(node4Qname)); assertEquals(mockedLeafNode, NormalizedNodes.findNode(rootPath, mockedDataContainerNode, childPath).get()); - assertEquals(Optional.absent(), NormalizedNodes.findNode(childPath, mockedDataContainerNode, rootPath)); + assertEquals(Optional.empty(), NormalizedNodes.findNode(childPath, mockedDataContainerNode, rootPath)); final Optional relativePath = childPath.relativeTo(rootPath); final PathArgument[] pathArguments = relativePath.get().getPathArguments().toArray(new PathArgument[2]); @@ -106,21 +105,21 @@ public class NormalizedNodesTest { final AugmentationNode mockedAugmentationNode = mock(AugmentationNode.class); final QName listQName = QName.create("test-ns", "2016-09-16", "list-node"); - final AugmentationIdentifier augNodeId = new AugmentationIdentifier(Sets.newHashSet(listQName)); + final AugmentationIdentifier augNodeId = new AugmentationIdentifier(Collections.singleton(listQName)); doReturn(augNodeId).when(mockedAugmentationNode).getIdentifier(); final MapNode mockedMapNode = mock(MapNode.class); final NodeIdentifier listNodeId = new NodeIdentifier(listQName); doReturn(listNodeId).when(mockedMapNode).getIdentifier(); - doReturn(Lists.newArrayList(mockedMapNode)).when(mockedAugmentationNode).getValue(); + doReturn(Collections.singletonList(mockedMapNode)).when(mockedAugmentationNode).getValue(); final MapEntryNode mockedMapEntryNode = mock(MapEntryNode.class); final NodeIdentifierWithPredicates listEntryNodeId = new NodeIdentifierWithPredicates(listQName, leafNodeQName, "key-leaf-value"); doReturn(listEntryNodeId).when(mockedMapEntryNode).getIdentifier(); - doReturn(Lists.newArrayList(mockedMapEntryNode)).when(mockedMapNode).getValue(); + doReturn(Collections.singletonList(mockedMapEntryNode)).when(mockedMapNode).getValue(); - doReturn(Lists.newArrayList(mockedLeafNode)).when(mockedMapEntryNode).getValue(); + doReturn(Collections.singletonList(mockedLeafNode)).when(mockedMapEntryNode).getValue(); stringTree = NormalizedNodes.toStringTree(mockedAugmentationNode); assertNotNull(stringTree); diff --git a/yang/yang-data-api/src/test/java/org/opendaylight/yangtools/yang/data/api/schema/stream/NormalizedNodeWriterTest.java b/yang/yang-data-api/src/test/java/org/opendaylight/yangtools/yang/data/api/schema/stream/NormalizedNodeWriterTest.java index 0adef45002..315e9d5b7e 100644 --- a/yang/yang-data-api/src/test/java/org/opendaylight/yangtools/yang/data/api/schema/stream/NormalizedNodeWriterTest.java +++ b/yang/yang-data-api/src/test/java/org/opendaylight/yangtools/yang/data/api/schema/stream/NormalizedNodeWriterTest.java @@ -16,13 +16,13 @@ import static org.mockito.Matchers.any; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; -import com.google.common.base.Optional; import com.google.common.collect.ImmutableSet; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.net.URI; import java.net.URISyntaxException; import java.text.ParseException; +import java.util.Optional; import java.util.Set; import org.junit.Before; import org.junit.Test; @@ -104,7 +104,7 @@ public class NormalizedNodeWriterTest { final MapEntryNode mockedMapEntryNode = mock(MapEntryNode.class); doReturn(new NodeIdentifierWithPredicates(myKeyedList, myKeyLeaf, "list-key-value-1")) .when(mockedMapEntryNode).getIdentifier(); - doReturn(Optional.absent()).when(mockedMapEntryNode).getChild(any(NodeIdentifier.class)); + doReturn(Optional.empty()).when(mockedMapEntryNode).getChild(any(NodeIdentifier.class)); assertNotNull(orderedNormalizedNodeWriter.write(mockedMapEntryNode)); final UnkeyedListEntryNode mockedUnkeyedListEntryNode = mock(UnkeyedListEntryNode.class); diff --git a/yang/yang-data-api/src/test/java/org/opendaylight/yangtools/yang/data/api/schema/tree/DataTreeCandidateNodesTest.java b/yang/yang-data-api/src/test/java/org/opendaylight/yangtools/yang/data/api/schema/tree/DataTreeCandidateNodesTest.java index 62a2cac1f4..d7a3a4fbf2 100644 --- a/yang/yang-data-api/src/test/java/org/opendaylight/yangtools/yang/data/api/schema/tree/DataTreeCandidateNodesTest.java +++ b/yang/yang-data-api/src/test/java/org/opendaylight/yangtools/yang/data/api/schema/tree/DataTreeCandidateNodesTest.java @@ -17,9 +17,10 @@ import static org.mockito.Mockito.mock; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; -import com.google.common.base.Optional; -import com.google.common.collect.Lists; +import com.google.common.collect.ImmutableList; import java.util.Collection; +import java.util.Collections; +import java.util.Optional; import org.junit.Test; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; @@ -76,9 +77,9 @@ public class DataTreeCandidateNodesTest { doReturn(ModificationType.SUBTREE_MODIFIED).when(mockedChildNode3).getModificationType(); final DataTreeCandidateNode mockedChildNode3ChildNode = mock(DataTreeCandidateNode.class); doReturn(ModificationType.DELETE).when(mockedChildNode3ChildNode).getModificationType(); - doReturn(Lists.newArrayList(mockedChildNode3ChildNode)).when(mockedChildNode3).getChildNodes(); + doReturn(Collections.singletonList(mockedChildNode3ChildNode)).when(mockedChildNode3).getChildNodes(); - final Collection childNodes = Lists.newArrayList(mockedChildNode1, mockedChildNode2, + final Collection childNodes = ImmutableList.of(mockedChildNode1, mockedChildNode2, mockedChildNode3); doReturn(childNodes).when(mockedDataTreeCandidateNode).getChildNodes(); @@ -136,7 +137,7 @@ public class DataTreeCandidateNodesTest { final DataTreeCandidateNode mockedChildNode1 = mock(DataTreeCandidateNode.class); doReturn(ModificationType.DELETE).when(mockedChildNode1).getModificationType(); - doReturn(Lists.newArrayList(mockedChildNode1)).when(mockedDataTreeCandidateNode).getChildNodes(); + doReturn(Collections.singletonList(mockedChildNode1)).when(mockedDataTreeCandidateNode).getChildNodes(); DataTreeCandidateNodes.applyRootedNodeToCursor(mockedCursor, mockedRootPath, mockedDataTreeCandidateNode); verify(mockedCursor, times(1)).enter(any(PathArgument.class)); @@ -167,7 +168,7 @@ public class DataTreeCandidateNodesTest { final DataTreeCandidateNode mockedChildNode1 = mock(DataTreeCandidateNode.class); doReturn(ModificationType.DELETE).when(mockedChildNode1).getModificationType(); - doReturn(Lists.newArrayList(mockedChildNode1)).when(mockedDataTreeCandidateNode).getChildNodes(); + doReturn(Collections.singletonList(mockedChildNode1)).when(mockedDataTreeCandidateNode).getChildNodes(); DataTreeCandidateNodes.applyRootToCursor(mockedCursor, mockedDataTreeCandidateNode); verify(mockedCursor, times(1)).delete(any(PathArgument.class)); diff --git a/yang/yang-data-api/src/test/java/org/opendaylight/yangtools/yang/data/api/schema/tree/DataTreeCandidatesTest.java b/yang/yang-data-api/src/test/java/org/opendaylight/yangtools/yang/data/api/schema/tree/DataTreeCandidatesTest.java index f486edd04c..1062a49784 100644 --- a/yang/yang-data-api/src/test/java/org/opendaylight/yangtools/yang/data/api/schema/tree/DataTreeCandidatesTest.java +++ b/yang/yang-data-api/src/test/java/org/opendaylight/yangtools/yang/data/api/schema/tree/DataTreeCandidatesTest.java @@ -18,9 +18,10 @@ import static org.mockito.Mockito.mock; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; -import com.google.common.base.Optional; -import com.google.common.collect.Lists; +import com.google.common.collect.ImmutableList; import java.util.Collection; +import java.util.Collections; +import java.util.Optional; import org.junit.Test; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; @@ -162,9 +163,9 @@ public class DataTreeCandidatesTest { final PathArgument mockedPathArgument31 = mock(PathArgument.class); doReturn(mockedPathArgument3).when(mockedChildNode3).getIdentifier(); doReturn(mockedPathArgument31).when(mockedChildNode3ChildNode).getIdentifier(); - doReturn(Lists.newArrayList(mockedChildNode3ChildNode)).when(mockedChildNode3).getChildNodes(); + doReturn(Collections.singletonList(mockedChildNode3ChildNode)).when(mockedChildNode3).getChildNodes(); - final Collection childNodes = Lists.newArrayList(mockedChildNode1, mockedChildNode2, + final Collection childNodes = ImmutableList.of(mockedChildNode1, mockedChildNode2, mockedChildNode3); doReturn(childNodes).when(mockedDataTreeCandidateNode).getChildNodes(); diff --git a/yang/yang-data-api/src/test/java/org/opendaylight/yangtools/yang/data/api/schema/tree/NormalizedNodeDataTreeCandidateNodeTest.java b/yang/yang-data-api/src/test/java/org/opendaylight/yangtools/yang/data/api/schema/tree/NormalizedNodeDataTreeCandidateNodeTest.java index f769a3a7a9..8741b5311d 100644 --- a/yang/yang-data-api/src/test/java/org/opendaylight/yangtools/yang/data/api/schema/tree/NormalizedNodeDataTreeCandidateNodeTest.java +++ b/yang/yang-data-api/src/test/java/org/opendaylight/yangtools/yang/data/api/schema/tree/NormalizedNodeDataTreeCandidateNodeTest.java @@ -16,10 +16,10 @@ import static org.mockito.Matchers.any; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; -import com.google.common.base.Optional; -import com.google.common.collect.Lists; +import java.util.Arrays; import java.util.Collection; import java.util.List; +import java.util.Optional; import org.junit.Test; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; @@ -45,20 +45,20 @@ public class NormalizedNodeDataTreeCandidateNodeTest { assertEquals(ModificationType.WRITE, normalizedNodeDataTreeCandidateNode.getModificationType()); assertEquals(Optional.of(mockedNormalizedNode), normalizedNodeDataTreeCandidateNode.getDataAfter()); - assertEquals(Optional.absent(), normalizedNodeDataTreeCandidateNode.getDataBefore()); + assertEquals(Optional.empty(), normalizedNodeDataTreeCandidateNode.getDataBefore()); final NormalizedNodeContainer mockedNormalizedNodeContainer = mock(NormalizedNodeContainer.class); final NormalizedNodeDataTreeCandidateNode normalizedNodeDataTreeCandidateNode2 = new NormalizedNodeDataTreeCandidateNode(mockedNormalizedNodeContainer); final NormalizedNode mockedChildNormNode1 = mock(NormalizedNode.class); final NormalizedNode mockedChildNormNode2 = mock(NormalizedNode.class); - final Collection> mockedChildNodes = Lists.newArrayList(mockedChildNormNode1, + final Collection> mockedChildNodes = Arrays.asList(mockedChildNormNode1, mockedChildNormNode2, null); doReturn(mockedChildNodes).when(mockedNormalizedNodeContainer).getValue(); final Collection childNodes2 = normalizedNodeDataTreeCandidateNode2.getChildNodes(); assertEquals(3, childNodes2.size()); - doReturn(Optional.absent()).when(mockedNormalizedNodeContainer).getChild(any(PathArgument.class)); + doReturn(Optional.empty()).when(mockedNormalizedNodeContainer).getChild(any(PathArgument.class)); assertNull(normalizedNodeDataTreeCandidateNode2.getModifiedChild(mockedPathArgument)); doReturn(Optional.of(mockedChildNormNode1)).when(mockedNormalizedNodeContainer).getChild( diff --git a/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/AbstractJSONCodec.java b/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/AbstractJSONCodec.java index 74715cef77..e7da7f5274 100644 --- a/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/AbstractJSONCodec.java +++ b/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/AbstractJSONCodec.java @@ -7,7 +7,8 @@ */ package org.opendaylight.yangtools.yang.data.codec.gson; -import com.google.common.base.Preconditions; +import static java.util.Objects.requireNonNull; + import org.opendaylight.yangtools.yang.data.impl.codec.DataStringCodec; import org.opendaylight.yangtools.yang.data.impl.codec.TypeDefinitionAwareCodec; @@ -20,7 +21,7 @@ abstract class AbstractJSONCodec implements JSONCodec { private final DataStringCodec codec; AbstractJSONCodec(final DataStringCodec codec) { - this.codec = Preconditions.checkNotNull(codec); + this.codec = requireNonNull(codec); } @Override diff --git a/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/IdentityrefJSONCodec.java b/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/IdentityrefJSONCodec.java index 50379d3098..d4ec3b6d9b 100644 --- a/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/IdentityrefJSONCodec.java +++ b/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/IdentityrefJSONCodec.java @@ -7,7 +7,9 @@ */ package org.opendaylight.yangtools.yang.data.codec.gson; -import com.google.common.base.Preconditions; +import static com.google.common.base.Preconditions.checkArgument; +import static java.util.Objects.requireNonNull; + import com.google.gson.stream.JsonWriter; import java.io.IOException; import org.opendaylight.yangtools.yang.common.QName; @@ -21,8 +23,8 @@ final class IdentityrefJSONCodec implements JSONCodec { private final QNameModule parentModule; IdentityrefJSONCodec(final SchemaContext context, final QNameModule parentModule) { - this.schemaContext = Preconditions.checkNotNull(context); - this.parentModule = Preconditions.checkNotNull(parentModule); + this.schemaContext = requireNonNull(context); + this.parentModule = requireNonNull(parentModule); } @Override @@ -38,7 +40,7 @@ final class IdentityrefJSONCodec implements JSONCodec { } final Module module = schemaContext.findModuleByName(prefix, null); - Preconditions.checkArgument(module != null, "Could not find module %s", prefix); + checkArgument(module != null, "Could not find module %s", prefix); return module.getQNameModule(); }); } @@ -53,7 +55,7 @@ final class IdentityrefJSONCodec implements JSONCodec { public void writeValue(final JsonWriter writer, final QName value) throws IOException { final String str = QNameCodecUtil.encodeQName(value, uri -> { final Module module = schemaContext.findModuleByNamespaceAndRevision(uri.getNamespace(), null); - Preconditions.checkArgument(module != null, "Cannot find module for %s", uri); + checkArgument(module != null, "Cannot find module for %s", uri); return module.getName(); }); writer.value(str); diff --git a/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONCodecFactory.java b/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONCodecFactory.java index 7769eb1ed7..cdc14de61d 100644 --- a/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONCodecFactory.java +++ b/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONCodecFactory.java @@ -8,12 +8,12 @@ package org.opendaylight.yangtools.yang.data.codec.gson; import com.google.common.annotations.Beta; -import com.google.common.base.Optional; import com.google.common.base.Stopwatch; import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheLoader; import com.google.common.cache.LoadingCache; import java.util.List; +import java.util.Optional; import org.opendaylight.yangtools.yang.common.QNameModule; import org.opendaylight.yangtools.yang.data.impl.codec.AbstractIntegerStringCodec; import org.opendaylight.yangtools.yang.data.impl.codec.BinaryStringCodec; @@ -161,7 +161,7 @@ public final class JSONCodecFactory extends AbstractCodecFactory> { * @throws NullPointerException if context is null */ public static Optional getPrecomputedIfAvailable(final SchemaContext context) { - return Optional.fromNullable(PRECOMPUTED.getIfPresent(context)); + return Optional.ofNullable(PRECOMPUTED.getIfPresent(context)); } /** diff --git a/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONNormalizedNodeStreamWriter.java b/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONNormalizedNodeStreamWriter.java index d7168f78d3..568c14a87e 100644 --- a/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONNormalizedNodeStreamWriter.java +++ b/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONNormalizedNodeStreamWriter.java @@ -7,11 +7,11 @@ */ package org.opendaylight.yangtools.yang.data.codec.gson; +import static java.util.Objects.requireNonNull; import static org.opendaylight.yangtools.yang.data.codec.gson.JsonParserStream.ANYXML_ARRAY_ELEMENT_ID; import static org.w3c.dom.Node.ELEMENT_NODE; import static org.w3c.dom.Node.TEXT_NODE; -import com.google.common.base.Preconditions; import com.google.gson.stream.JsonWriter; import java.io.IOException; import java.net.URI; @@ -86,10 +86,10 @@ public abstract class JSONNormalizedNodeStreamWriter implements NormalizedNodeSt JSONNormalizedNodeStreamWriter(final JSONCodecFactory codecFactory, final SchemaPath path, final JsonWriter writer, final JSONStreamWriterRootContext rootContext) { - this.writer = Preconditions.checkNotNull(writer); - this.codecs = Preconditions.checkNotNull(codecFactory); + this.writer = requireNonNull(writer); + this.codecs = requireNonNull(codecFactory); this.tracker = SchemaTracker.create(codecFactory.getSchemaContext(), path); - this.context = Preconditions.checkNotNull(rootContext); + this.context = requireNonNull(rootContext); } /** diff --git a/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONStreamWriterContext.java b/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONStreamWriterContext.java index 11ac84f1d9..73e428aa36 100644 --- a/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONStreamWriterContext.java +++ b/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONStreamWriterContext.java @@ -7,7 +7,8 @@ */ package org.opendaylight.yangtools.yang.data.codec.gson; -import com.google.common.base.Preconditions; +import static com.google.common.base.Preconditions.checkArgument; + import com.google.gson.stream.JsonWriter; import java.io.IOException; import java.net.URI; @@ -60,7 +61,7 @@ abstract class JSONStreamWriterContext { final URI ns = qname.getNamespace(); if (!ns.equals(getNamespace())) { final Module module = schema.findModuleByNamespaceAndRevision(ns, null); - Preconditions.checkArgument(module != null, "Could not find module for namespace {}", ns); + checkArgument(module != null, "Could not find module for namespace {}", ns); sb.append(module.getName()); sb.append(':'); diff --git a/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONStreamWriterInvisibleContext.java b/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONStreamWriterInvisibleContext.java index 38c9e2ab60..f84dc931d3 100644 --- a/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONStreamWriterInvisibleContext.java +++ b/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONStreamWriterInvisibleContext.java @@ -7,7 +7,8 @@ */ package org.opendaylight.yangtools.yang.data.codec.gson; -import com.google.common.base.Preconditions; +import static java.util.Objects.requireNonNull; + import com.google.gson.stream.JsonWriter; /** @@ -16,7 +17,7 @@ import com.google.gson.stream.JsonWriter; */ final class JSONStreamWriterInvisibleContext extends JSONStreamWriterURIContext { JSONStreamWriterInvisibleContext(final JSONStreamWriterContext parent) { - super(Preconditions.checkNotNull(parent), parent.getNamespace()); + super(requireNonNull(parent), parent.getNamespace()); } @Override diff --git a/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONStreamWriterListContext.java b/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONStreamWriterListContext.java index e1505c7b10..8d902baa95 100644 --- a/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONStreamWriterListContext.java +++ b/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONStreamWriterListContext.java @@ -7,7 +7,8 @@ */ package org.opendaylight.yangtools.yang.data.codec.gson; -import com.google.common.base.Preconditions; +import static java.util.Objects.requireNonNull; + import com.google.gson.stream.JsonWriter; import java.io.IOException; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; @@ -19,7 +20,7 @@ import org.opendaylight.yangtools.yang.model.api.SchemaContext; */ final class JSONStreamWriterListContext extends JSONStreamWriterQNameContext { protected JSONStreamWriterListContext(final JSONStreamWriterContext parent, final NodeIdentifier id) { - super(Preconditions.checkNotNull(parent), id.getNodeType(), false); + super(requireNonNull(parent), id.getNodeType(), false); } @Override diff --git a/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONStreamWriterObjectContext.java b/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONStreamWriterObjectContext.java index c24be1cc31..bfc81a42ae 100644 --- a/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONStreamWriterObjectContext.java +++ b/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONStreamWriterObjectContext.java @@ -7,7 +7,8 @@ */ package org.opendaylight.yangtools.yang.data.codec.gson; -import com.google.common.base.Preconditions; +import static java.util.Objects.requireNonNull; + import com.google.gson.stream.JsonWriter; import java.io.IOException; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; @@ -21,7 +22,7 @@ import org.opendaylight.yangtools.yang.model.api.SchemaContext; class JSONStreamWriterObjectContext extends JSONStreamWriterQNameContext { protected JSONStreamWriterObjectContext(final JSONStreamWriterContext parent, final PathArgument arg, final boolean mandatory) { - super(Preconditions.checkNotNull(parent), arg.getNodeType(), mandatory); + super(requireNonNull(parent), arg.getNodeType(), mandatory); } @Override @@ -33,4 +34,4 @@ class JSONStreamWriterObjectContext extends JSONStreamWriterQNameContext { protected void emitEnd(final JsonWriter writer) throws IOException { writer.endObject(); } -} \ No newline at end of file +} diff --git a/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONStreamWriterQNameContext.java b/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONStreamWriterQNameContext.java index 90c472800a..183b3d21b5 100644 --- a/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONStreamWriterQNameContext.java +++ b/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONStreamWriterQNameContext.java @@ -7,10 +7,9 @@ */ package org.opendaylight.yangtools.yang.data.codec.gson; -import com.google.common.base.Preconditions; +import static java.util.Objects.requireNonNull; import java.net.URI; - import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.common.QName; @@ -21,10 +20,9 @@ import org.opendaylight.yangtools.yang.common.QName; abstract class JSONStreamWriterQNameContext extends JSONStreamWriterContext { private final QName qname; - protected JSONStreamWriterQNameContext(final JSONStreamWriterContext parent, final QName qname, - final boolean mandatory) { + JSONStreamWriterQNameContext(final JSONStreamWriterContext parent, final QName qname, final boolean mandatory) { super(parent, mandatory); - this.qname = Preconditions.checkNotNull(qname); + this.qname = requireNonNull(qname); } /** @@ -41,4 +39,4 @@ abstract class JSONStreamWriterQNameContext extends JSONStreamWriterContext { protected final URI getNamespace() { return qname.getNamespace(); } -} \ No newline at end of file +} diff --git a/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONStringInstanceIdentifierCodec.java b/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONStringInstanceIdentifierCodec.java index 98f0ec602c..03f76e5d19 100644 --- a/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONStringInstanceIdentifierCodec.java +++ b/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONStringInstanceIdentifierCodec.java @@ -7,7 +7,9 @@ */ package org.opendaylight.yangtools.yang.data.codec.gson; -import com.google.common.base.Preconditions; +import static com.google.common.base.Preconditions.checkArgument; +import static java.util.Objects.requireNonNull; + import com.google.gson.stream.JsonWriter; import java.io.IOException; import java.net.URI; @@ -27,9 +29,9 @@ final class JSONStringInstanceIdentifierCodec extends AbstractModuleStringInstan private final SchemaContext context; JSONStringInstanceIdentifierCodec(final SchemaContext context, final JSONCodecFactory jsonCodecFactory) { - this.context = Preconditions.checkNotNull(context); + this.context = requireNonNull(context); this.dataContextTree = DataSchemaContextTree.from(context); - this.codecFactory = Preconditions.checkNotNull(jsonCodecFactory); + this.codecFactory = requireNonNull(jsonCodecFactory); } @Override @@ -51,8 +53,8 @@ final class JSONStringInstanceIdentifierCodec extends AbstractModuleStringInstan @Override protected Object deserializeKeyValue(final DataSchemaNode schemaNode, final String value) { - Preconditions.checkNotNull(schemaNode, "schemaNode cannot be null"); - Preconditions.checkArgument(schemaNode instanceof LeafSchemaNode, "schemaNode must be of type LeafSchemaNode"); + requireNonNull(schemaNode, "schemaNode cannot be null"); + checkArgument(schemaNode instanceof LeafSchemaNode, "schemaNode must be of type LeafSchemaNode"); final JSONCodec objectJSONCodec = codecFactory.codecFor((LeafSchemaNode) schemaNode); return objectJSONCodec.parseValue(null, value); } diff --git a/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JsonParserStream.java b/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JsonParserStream.java index cf02d07ac2..59fb571a27 100644 --- a/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JsonParserStream.java +++ b/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JsonParserStream.java @@ -7,8 +7,11 @@ */ package org.opendaylight.yangtools.yang.data.codec.gson; +import static com.google.common.base.Preconditions.checkArgument; +import static com.google.common.base.Preconditions.checkState; +import static java.util.Objects.requireNonNull; + import com.google.common.annotations.Beta; -import com.google.common.base.Preconditions; import com.google.gson.JsonIOException; import com.google.gson.JsonParseException; import com.google.gson.JsonSyntaxException; @@ -70,9 +73,9 @@ public final class JsonParserStream implements Closeable, Flushable { private JsonParserStream(final NormalizedNodeStreamWriter writer, final SchemaContext schemaContext, final JSONCodecFactory codecs, final DataSchemaNode parentNode) { - this.schema = Preconditions.checkNotNull(schemaContext); - this.writer = Preconditions.checkNotNull(writer); - this.codecs = Preconditions.checkNotNull(codecs); + this.schema = requireNonNull(schemaContext); + this.writer = requireNonNull(writer); + this.codecs = requireNonNull(codecs); this.parentNode = parentNode; } @@ -86,7 +89,7 @@ public final class JsonParserStream implements Closeable, Flushable { if (parentNode instanceof RpcDefinition) { return new JsonParserStream(writer, schemaContext, new RpcAsContainer((RpcDefinition) parentNode)); } - Preconditions.checkArgument(parentNode instanceof DataSchemaNode, "Instance of DataSchemaNode class awaited."); + checkArgument(parentNode instanceof DataSchemaNode, "Instance of DataSchemaNode class awaited."); return new JsonParserStream(writer, schemaContext, (DataSchemaNode) parentNode); } @@ -231,7 +234,7 @@ public final class JsonParserStream implements Closeable, Flushable { final Deque childDataSchemaNodes = ParserStreamUtils.findSchemaNodeByNameAndNamespace(parentSchema, localName, getCurrentNamespace()); - Preconditions.checkState(!childDataSchemaNodes.isEmpty(), + checkState(!childDataSchemaNodes.isEmpty(), "Schema for node with name %s and namespace %s does not exist.", localName, getCurrentNamespace()); @@ -269,10 +272,10 @@ public final class JsonParserStream implements Closeable, Flushable { } private void setValue(final AbstractNodeDataWithSchema parent, final String value) { - Preconditions.checkArgument(parent instanceof SimpleNodeDataWithSchema, "Node %s is not a simple type", + checkArgument(parent instanceof SimpleNodeDataWithSchema, "Node %s is not a simple type", parent.getSchema().getQName()); final SimpleNodeDataWithSchema parentSimpleNode = (SimpleNodeDataWithSchema) parent; - Preconditions.checkArgument(parentSimpleNode.getValue() == null, "Node '%s' has already set its value to '%s'", + checkArgument(parentSimpleNode.getValue() == null, "Node '%s' has already set its value to '%s'", parentSimpleNode.getSchema().getQName(), parentSimpleNode.getValue()); final Object translatedValue = translateValueByType(value, parentSimpleNode.getSchema()); @@ -280,7 +283,7 @@ public final class JsonParserStream implements Closeable, Flushable { } private Object translateValueByType(final String value, final DataSchemaNode node) { - Preconditions.checkArgument(node instanceof TypedSchemaNode); + checkArgument(node instanceof TypedSchemaNode); return codecs.codecFor((TypedSchemaNode) node).parseValue(null, value); } diff --git a/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/UnionJSONCodec.java b/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/UnionJSONCodec.java index 23af4462eb..bc36ac2fc4 100644 --- a/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/UnionJSONCodec.java +++ b/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/UnionJSONCodec.java @@ -7,8 +7,9 @@ */ package org.opendaylight.yangtools.yang.data.codec.gson; -import com.google.common.base.Preconditions; -import com.google.common.base.Verify; +import static com.google.common.base.Verify.verify; +import static java.util.Objects.requireNonNull; + import com.google.common.collect.ImmutableList; import com.google.gson.stream.JsonWriter; import java.io.IOException; @@ -42,7 +43,7 @@ abstract class UnionJSONCodec implements JSONCodec { SingleType(final Class dataClass, final List> codecs) { super(codecs); - this.dataClass = Preconditions.checkNotNull(dataClass); + this.dataClass = requireNonNull(dataClass); } @Override @@ -61,7 +62,7 @@ abstract class UnionJSONCodec implements JSONCodec { static UnionJSONCodec create(final UnionTypeDefinition type, final List> codecs) { final Iterator> it = codecs.iterator(); - Verify.verify(it.hasNext(), "Union %s has no subtypes", type); + verify(it.hasNext(), "Union %s has no subtypes", type); Class dataClass = it.next().getDataType(); while (it.hasNext()) { diff --git a/yang/yang-data-codec-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/Bug4501Test.java b/yang/yang-data-codec-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/Bug4501Test.java index da3da85999..20a9536151 100644 --- a/yang/yang-data-codec-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/Bug4501Test.java +++ b/yang/yang-data-codec-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/Bug4501Test.java @@ -12,12 +12,12 @@ import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; import static org.opendaylight.yangtools.yang.data.codec.gson.TestUtils.loadTextFile; -import com.google.common.base.Optional; import com.google.common.collect.ImmutableSet; import com.google.gson.stream.JsonReader; import java.io.IOException; import java.io.StringReader; import java.net.URISyntaxException; +import java.util.Optional; import org.junit.BeforeClass; import org.junit.Test; import org.opendaylight.yangtools.yang.common.QName; diff --git a/yang/yang-data-codec-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/Bug4969Test.java b/yang/yang-data-codec-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/Bug4969Test.java index 0077fb575f..5330bd0d33 100644 --- a/yang/yang-data-codec-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/Bug4969Test.java +++ b/yang/yang-data-codec-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/Bug4969Test.java @@ -11,11 +11,11 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; -import com.google.common.base.Optional; import com.google.gson.stream.JsonReader; import java.io.IOException; import java.io.StringReader; import java.net.URISyntaxException; +import java.util.Optional; import java.util.Set; import org.junit.Test; import org.opendaylight.yangtools.yang.common.QName; diff --git a/yang/yang-data-codec-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/Bug6112Test.java b/yang/yang-data-codec-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/Bug6112Test.java index 5e14e6eced..c257a3af0a 100644 --- a/yang/yang-data-codec-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/Bug6112Test.java +++ b/yang/yang-data-codec-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/Bug6112Test.java @@ -11,11 +11,11 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import static org.opendaylight.yangtools.yang.data.codec.gson.TestUtils.loadTextFile; -import com.google.common.base.Optional; import com.google.gson.stream.JsonReader; import java.io.IOException; import java.io.StringReader; import java.net.URISyntaxException; +import java.util.Optional; import org.junit.BeforeClass; import org.junit.Test; import org.opendaylight.yangtools.yang.common.QName; diff --git a/yang/yang-data-codec-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/JsonStreamToNormalizedNodeTest.java b/yang/yang-data-codec-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/JsonStreamToNormalizedNodeTest.java index c2fb1fdcb0..60cc51d43f 100644 --- a/yang/yang-data-codec-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/JsonStreamToNormalizedNodeTest.java +++ b/yang/yang-data-codec-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/JsonStreamToNormalizedNodeTest.java @@ -17,15 +17,16 @@ import static org.opendaylight.yangtools.yang.data.impl.schema.Builders.choiceBu import static org.opendaylight.yangtools.yang.data.impl.schema.Builders.containerBuilder; import static org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes.leafNode; -import com.google.common.collect.Sets; import com.google.gson.stream.JsonReader; import java.io.IOException; import java.io.StringReader; import java.net.URISyntaxException; +import java.util.Collections; import org.junit.BeforeClass; import org.junit.Test; import org.opendaylight.yangtools.yang.common.QName; -import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; +import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.AugmentationIdentifier; +import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter; @@ -162,7 +163,7 @@ public class JsonStreamToNormalizedNodeTest { public void emptyTypeTest() throws IOException, URISyntaxException { final String inputJson = loadTextFile("/complexjson/type-empty.json"); final ContainerNode awaitedStructure = containerBuilder() - .withNodeIdentifier(new YangInstanceIdentifier.NodeIdentifier(CONT_1)) + .withNodeIdentifier(new NodeIdentifier(CONT_1)) .addChild(leafNode(EMPTY_LEAF, null)) .build(); @@ -225,19 +226,14 @@ public class JsonStreamToNormalizedNodeTest { final QName containerQName = QName.create(augmentChoice1QName, "case11-choice-case-container"); final QName leafQName = QName.create(augmentChoice1QName, "case11-choice-case-leaf"); - final YangInstanceIdentifier.AugmentationIdentifier aug1Id = - new YangInstanceIdentifier.AugmentationIdentifier(Sets.newHashSet(augmentChoice1QName)); - final YangInstanceIdentifier.AugmentationIdentifier aug2Id = - new YangInstanceIdentifier.AugmentationIdentifier(Sets.newHashSet(augmentChoice2QName)); - final YangInstanceIdentifier.NodeIdentifier augmentChoice1Id = - new YangInstanceIdentifier.NodeIdentifier(augmentChoice1QName); - final YangInstanceIdentifier.NodeIdentifier augmentChoice2Id = - new YangInstanceIdentifier.NodeIdentifier(augmentChoice2QName); - final YangInstanceIdentifier.NodeIdentifier containerId = - new YangInstanceIdentifier.NodeIdentifier(containerQName); + final AugmentationIdentifier aug1Id = new AugmentationIdentifier(Collections.singleton(augmentChoice1QName)); + final AugmentationIdentifier aug2Id = new AugmentationIdentifier(Collections.singleton(augmentChoice2QName)); + final NodeIdentifier augmentChoice1Id = new NodeIdentifier(augmentChoice1QName); + final NodeIdentifier augmentChoice2Id = new NodeIdentifier(augmentChoice2QName); + final NodeIdentifier containerId = new NodeIdentifier(containerQName); final NormalizedNode cont1Normalized = - containerBuilder().withNodeIdentifier(new YangInstanceIdentifier.NodeIdentifier(parentNode.getQName())) + containerBuilder().withNodeIdentifier(new NodeIdentifier(parentNode.getQName())) .withChild(augmentationBuilder().withNodeIdentifier(aug1Id) .withChild(choiceBuilder().withNodeIdentifier(augmentChoice1Id) .withChild(augmentationBuilder().withNodeIdentifier(aug2Id) diff --git a/yang/yang-data-codec-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/NormalizedNodeToJsonStreamTest.java b/yang/yang-data-codec-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/NormalizedNodeToJsonStreamTest.java index a07868646d..6dfd0aeef8 100644 --- a/yang/yang-data-codec-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/NormalizedNodeToJsonStreamTest.java +++ b/yang/yang-data-codec-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/NormalizedNodeToJsonStreamTest.java @@ -15,7 +15,7 @@ import static org.opendaylight.yangtools.yang.data.codec.gson.TestUtils.childArr import static org.opendaylight.yangtools.yang.data.codec.gson.TestUtils.childPrimitive; import static org.opendaylight.yangtools.yang.data.codec.gson.TestUtils.resolveCont1; -import com.google.common.collect.Sets; +import com.google.common.collect.ImmutableSet; import com.google.gson.JsonArray; import com.google.gson.JsonElement; import com.google.gson.JsonNull; @@ -82,13 +82,13 @@ public class NormalizedNodeToJsonStreamTest { final JsonArray lflst11 = childArray(cont1, "complexjson:lflst11", "lflst11"); assertNotNull(lflst11); - final HashSet lflst11Values = Sets.newHashSet(); + final HashSet lflst11Values = new HashSet<>(); for (final JsonElement jsonElement : lflst11) { assertTrue(jsonElement instanceof JsonPrimitive); lflst11Values.add(jsonElement.getAsString()); } - assertEquals(Sets.newHashSet("lflst11 value2\r\nanother line 2", "lflst11 value1\nanother line 1"), + assertEquals(ImmutableSet.of("lflst11 value2\r\nanother line 2", "lflst11 value1\nanother line 1"), lflst11Values); } @@ -118,13 +118,13 @@ public class NormalizedNodeToJsonStreamTest { final JsonArray lflst11 = childArray(cont1, "complexjson:lflst11", "lflst11"); assertNotNull(lflst11); - final HashSet lflst11Values = Sets.newHashSet(); + final HashSet lflst11Values = new HashSet<>(); for (final JsonElement jsonElement : lflst11) { assertTrue(jsonElement instanceof JsonPrimitive); lflst11Values.add(jsonElement.getAsString()); } - assertEquals(Sets.newHashSet("lflst11 value2", "lflst11 value1"), lflst11Values); + assertEquals(ImmutableSet.of("lflst11 value2", "lflst11 value1"), lflst11Values); } @Test diff --git a/yang/yang-data-codec-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/TestingNormalizedNodeStructuresCreator.java b/yang/yang-data-codec-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/TestingNormalizedNodeStructuresCreator.java index 294ac0232d..17aabfc7e2 100644 --- a/yang/yang-data-codec-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/TestingNormalizedNodeStructuresCreator.java +++ b/yang/yang-data-codec-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/TestingNormalizedNodeStructuresCreator.java @@ -7,8 +7,9 @@ */ package org.opendaylight.yangtools.yang.data.codec.gson; -import com.google.common.collect.Lists; -import com.google.common.collect.Sets; +import com.google.common.collect.ImmutableSet; +import java.util.Arrays; +import java.util.Collections; import java.util.HashMap; import java.util.Map; import org.opendaylight.yangtools.yang.common.QName; @@ -42,7 +43,7 @@ public class TestingNormalizedNodeStructuresCreator { DataContainerNodeAttrBuilder cont1 = Builders.containerBuilder(); cont1.withNodeIdentifier(new NodeIdentifier(QName.create("ns:complex:json", "2014-08-11", "cont1"))); - cont1.withValue(Lists.newArrayList(children)); + cont1.withValue(Arrays.asList(children)); return cont1.build(); } @@ -81,7 +82,7 @@ public class TestingNormalizedNodeStructuresCreator { private static DataContainerChild externalAugmentC11AWithLf15_11AndLf15_12Node() { DataContainerNodeBuilder augmentationBuilder = Builders .augmentationBuilder(); - augmentationBuilder.withNodeIdentifier(new AugmentationIdentifier(Sets.newHashSet( + augmentationBuilder.withNodeIdentifier(new AugmentationIdentifier(ImmutableSet.of( QName.create("ns:complex:json:augmentation", "2014-08-14", "lf15_11"), QName.create("ns:complex:json:augmentation", "2014-08-14", "lf15_12")))); augmentationBuilder.withChild(lf15_11NodeExternal()); @@ -110,7 +111,7 @@ public class TestingNormalizedNodeStructuresCreator { final DataContainerChild... children) { DataContainerNodeBuilder choc11Builder = Builders.choiceBuilder() .withNodeIdentifier(new NodeIdentifier(QName.create("ns:complex:json", "2014-08-11", "choc11"))); - choc11Builder.withValue(Lists.newArrayList(children)); + choc11Builder.withValue(Arrays.asList(children)); // choc11Builder.addChild(lf13Node()); // choc11Builder.addChild(augmentChoc11_c11A_lf1511AndLf1512Children()); // choc11Builder.addChild(augmentChoc11_c11_lf1521Children()); @@ -125,7 +126,7 @@ public class TestingNormalizedNodeStructuresCreator { private static DataContainerChild augmentC11AWithLf15_21Node() { return Builders.augmentationBuilder().withNodeIdentifier( - new AugmentationIdentifier(Sets.newHashSet(QName.create("ns:complex:json", "2014-08-11", "lf15_21")))) + new AugmentationIdentifier(Collections.singleton(QName.create("ns:complex:json", "2014-08-11", "lf15_21")))) .withChild(lf15_21Node()).build(); } @@ -137,7 +138,7 @@ public class TestingNormalizedNodeStructuresCreator { private static DataContainerChild augmentC11AWithLf15_11AndLf15_12Node() { return Builders.augmentationBuilder() - .withNodeIdentifier(new AugmentationIdentifier(Sets.newHashSet( + .withNodeIdentifier(new AugmentationIdentifier(ImmutableSet.of( QName.create("ns:complex:json", "2014-08-11", "lf15_11"), QName.create("ns:complex:json", "2014-08-11", "lf15_12")))) .withChild(lf15_11Node()) @@ -154,13 +155,13 @@ public class TestingNormalizedNodeStructuresCreator { private static LeafNode lf15_11Node() { return Builders.leafBuilder() .withNodeIdentifier(new NodeIdentifier(QName.create("ns:complex:json", "2014-08-11", "lf15_11"))) - .withValue(Sets.newHashSet("one", "two")).build(); + .withValue(ImmutableSet.of("one", "two")).build(); } private static DataContainerChild lf12_1Node() { DataContainerNodeBuilder augmentBuilder = Builders .augmentationBuilder().withNodeIdentifier( - new AugmentationIdentifier(Sets.newHashSet( + new AugmentationIdentifier(ImmutableSet.of( QName.create("ns:complex:json", "2014-08-11", "lf12_1"), QName.create("ns:complex:json", "2014-08-11", "lf12_2")))); augmentBuilder.withChild(Builders.leafBuilder() diff --git a/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/AbstractXmlCodec.java b/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/AbstractXmlCodec.java index e85628c5da..942e4dbc0a 100644 --- a/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/AbstractXmlCodec.java +++ b/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/AbstractXmlCodec.java @@ -8,7 +8,8 @@ package org.opendaylight.yangtools.yang.data.codec.xml; -import com.google.common.base.Preconditions; +import static java.util.Objects.requireNonNull; + import javax.xml.namespace.NamespaceContext; import org.opendaylight.yangtools.yang.data.impl.codec.DataStringCodec; import org.opendaylight.yangtools.yang.data.impl.codec.TypeDefinitionAwareCodec; @@ -23,7 +24,7 @@ abstract class AbstractXmlCodec implements XmlCodec { private final DataStringCodec codec; protected AbstractXmlCodec(final DataStringCodec codec) { - this.codec = Preconditions.checkNotNull(codec); + this.codec = requireNonNull(codec); } @Override diff --git a/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/IdentityrefXmlCodec.java b/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/IdentityrefXmlCodec.java index 378fef581a..4a0726d632 100644 --- a/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/IdentityrefXmlCodec.java +++ b/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/IdentityrefXmlCodec.java @@ -8,7 +8,9 @@ package org.opendaylight.yangtools.yang.data.codec.xml; -import com.google.common.base.Preconditions; +import static com.google.common.base.Preconditions.checkArgument; +import static java.util.Objects.requireNonNull; + import java.net.URI; import java.util.Map.Entry; import javax.xml.namespace.NamespaceContext; @@ -25,8 +27,8 @@ final class IdentityrefXmlCodec implements XmlCodec { private final QNameModule parentModule; IdentityrefXmlCodec(final SchemaContext context, final QNameModule parentModule) { - this.schemaContext = Preconditions.checkNotNull(context); - this.parentModule = Preconditions.checkNotNull(parentModule); + this.schemaContext = requireNonNull(context); + this.parentModule = requireNonNull(parentModule); } @Override @@ -43,7 +45,7 @@ final class IdentityrefXmlCodec implements XmlCodec { final String prefixedNS = ctx.getNamespaceURI(prefix); final Module module = schemaContext.findModuleByNamespaceAndRevision(URI.create(prefixedNS), null); - Preconditions.checkArgument(module != null, "Could not find module for namespace %s", prefixedNS); + checkArgument(module != null, "Could not find module for namespace %s", prefixedNS); return module.getQNameModule(); }); } diff --git a/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/RandomPrefix.java b/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/RandomPrefix.java index b18d8f9880..674efb1908 100644 --- a/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/RandomPrefix.java +++ b/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/RandomPrefix.java @@ -7,8 +7,9 @@ */ package org.opendaylight.yangtools.yang.data.codec.xml; +import static com.google.common.base.Preconditions.checkArgument; + import com.google.common.annotations.VisibleForTesting; -import com.google.common.base.Preconditions; import com.google.common.collect.BiMap; import com.google.common.collect.HashBiMap; import java.net.URI; @@ -74,7 +75,7 @@ class RandomPrefix { int ret = 0; for (char c : str.toCharArray()) { int idx = LOOKUP.indexOf(c); - Preconditions.checkArgument(idx != -1, "Invalid string %s", str); + checkArgument(idx != -1, "Invalid string %s", str); ret = (ret << SHIFT) + idx; } diff --git a/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/SchemaAwareXMLStreamWriterUtils.java b/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/SchemaAwareXMLStreamWriterUtils.java index 4e25cca2aa..55a08c8fec 100644 --- a/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/SchemaAwareXMLStreamWriterUtils.java +++ b/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/SchemaAwareXMLStreamWriterUtils.java @@ -7,8 +7,9 @@ */ package org.opendaylight.yangtools.yang.data.codec.xml; -import com.google.common.base.Preconditions; -import com.google.common.base.Verify; +import static com.google.common.base.Verify.verifyNotNull; +import static java.util.Objects.requireNonNull; + import java.net.URI; import java.util.Map.Entry; import javax.xml.stream.XMLStreamException; @@ -24,13 +25,13 @@ final class SchemaAwareXMLStreamWriterUtils extends XMLStreamWriterUtils { private final SchemaContext schemaContext; SchemaAwareXMLStreamWriterUtils(final SchemaContext schemaContext) { - this.schemaContext = Preconditions.checkNotNull(schemaContext); + this.schemaContext = requireNonNull(schemaContext); } @Override TypeDefinition getBaseTypeForLeafRef(final SchemaNode schemaNode, final LeafrefTypeDefinition type) { final TypeDefinition ret = SchemaContextUtil.getBaseTypeForLeafRef(type, schemaContext, schemaNode); - return Verify.verifyNotNull(ret, "Unable to find base type for leafref node '%s'.", schemaNode.getPath()); + return verifyNotNull(ret, "Unable to find base type for leafref node '%s'.", schemaNode.getPath()); } @Override diff --git a/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/UnionXmlCodec.java b/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/UnionXmlCodec.java index fd04f3f3a3..ee55b06467 100644 --- a/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/UnionXmlCodec.java +++ b/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/UnionXmlCodec.java @@ -8,8 +8,9 @@ package org.opendaylight.yangtools.yang.data.codec.xml; -import com.google.common.base.Preconditions; -import com.google.common.base.Verify; +import static com.google.common.base.Verify.verify; +import static java.util.Objects.requireNonNull; + import com.google.common.collect.ImmutableList; import java.util.Iterator; import java.util.List; @@ -37,7 +38,7 @@ abstract class UnionXmlCodec implements XmlCodec { SingleType(final Class dataClass, final List> codecs) { super(codecs); - this.dataClass = Preconditions.checkNotNull(dataClass); + this.dataClass = requireNonNull(dataClass); } @Override @@ -56,7 +57,7 @@ abstract class UnionXmlCodec implements XmlCodec { static UnionXmlCodec create(final UnionTypeDefinition type, final List> codecs) { final Iterator> it = codecs.iterator(); - Verify.verify(it.hasNext(), "Union %s has no subtypes", type); + verify(it.hasNext(), "Union %s has no subtypes", type); Class dataClass = it.next().getDataType(); while (it.hasNext()) { diff --git a/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/XMLStreamNormalizedNodeStreamWriter.java b/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/XMLStreamNormalizedNodeStreamWriter.java index d4783fdef2..52925eaf1b 100644 --- a/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/XMLStreamNormalizedNodeStreamWriter.java +++ b/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/XMLStreamNormalizedNodeStreamWriter.java @@ -7,7 +7,9 @@ */ package org.opendaylight.yangtools.yang.data.codec.xml; -import com.google.common.base.Preconditions; +import static com.google.common.base.Preconditions.checkArgument; +import static java.util.Objects.requireNonNull; + import com.google.common.base.Strings; import java.io.IOException; import java.io.StringWriter; @@ -76,7 +78,7 @@ public abstract class XMLStreamNormalizedNodeStreamWriter implements Normaliz final XMLStreamWriter writer; XMLStreamNormalizedNodeStreamWriter(final XMLStreamWriter writer) { - this.writer = Preconditions.checkNotNull(writer); + this.writer = requireNonNull(writer); this.prefixes = new RandomPrefix(writer.getNamespaceContext()); } @@ -194,11 +196,11 @@ public abstract class XMLStreamNormalizedNodeStreamWriter implements Normaliz void anyxmlNode(final QName qname, final Object value) throws IOException { if (value != null) { - Preconditions.checkArgument(value instanceof DOMSource, "AnyXML value must be DOMSource, not %s", value); + checkArgument(value instanceof DOMSource, "AnyXML value must be DOMSource, not %s", value); final DOMSource domSource = (DOMSource) value; - Preconditions.checkNotNull(domSource.getNode()); - Preconditions.checkArgument(domSource.getNode().getNodeName().equals(qname.getLocalName())); - Preconditions.checkArgument(domSource.getNode().getNamespaceURI().equals(qname.getNamespace().toString())); + requireNonNull(domSource.getNode()); + checkArgument(domSource.getNode().getNodeName().equals(qname.getLocalName())); + checkArgument(domSource.getNode().getNamespaceURI().equals(qname.getNamespace().toString())); try { // TODO can the transformer be a constant ? is it thread safe ? final Transformer transformer = TRANSFORMER_FACTORY.newTransformer(); diff --git a/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/XMLStreamWriterUtils.java b/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/XMLStreamWriterUtils.java index 0434041d7c..3c76d18775 100644 --- a/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/XMLStreamWriterUtils.java +++ b/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/XMLStreamWriterUtils.java @@ -8,8 +8,9 @@ package org.opendaylight.yangtools.yang.data.codec.xml; +import static com.google.common.base.Preconditions.checkArgument; + import com.google.common.annotations.VisibleForTesting; -import com.google.common.base.Preconditions; import java.util.Map.Entry; import javax.annotation.Nonnull; import javax.xml.stream.XMLStreamException; @@ -67,7 +68,7 @@ abstract class XMLStreamWriterUtils { return; } - Preconditions.checkArgument(schemaNode instanceof TypedSchemaNode, + checkArgument(schemaNode instanceof TypedSchemaNode, "Unable to write value for node %s, only nodes of type: leaf and leaf-list can be written at this point", schemaNode.getQName()); diff --git a/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/XmlParserStream.java b/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/XmlParserStream.java index c03ed44d6b..316e178629 100644 --- a/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/XmlParserStream.java +++ b/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/XmlParserStream.java @@ -8,8 +8,11 @@ package org.opendaylight.yangtools.yang.data.codec.xml; +import static com.google.common.base.Preconditions.checkArgument; +import static com.google.common.base.Preconditions.checkState; +import static java.util.Objects.requireNonNull; + import com.google.common.annotations.Beta; -import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableMap; import com.google.common.xml.XmlEscapers; import java.io.Closeable; @@ -78,8 +81,8 @@ public final class XmlParserStream implements Closeable, Flushable { private XmlParserStream(final NormalizedNodeStreamWriter writer, final XmlCodecFactory codecs, final DataSchemaNode parentNode, final boolean strictParsing) { - this.writer = Preconditions.checkNotNull(writer); - this.codecs = Preconditions.checkNotNull(codecs); + this.writer = requireNonNull(writer); + this.codecs = requireNonNull(codecs); this.parentNode = parentNode; this.strictParsing = strictParsing; } @@ -114,7 +117,7 @@ public final class XmlParserStream implements Closeable, Flushable { if (parentNode instanceof RpcDefinition) { return new XmlParserStream(writer, codecs, new RpcAsContainer((RpcDefinition) parentNode), strictParsing); } - Preconditions.checkArgument(parentNode instanceof DataSchemaNode, "Instance of DataSchemaNode class awaited."); + checkArgument(parentNode instanceof DataSchemaNode, "Instance of DataSchemaNode class awaited."); return new XmlParserStream(writer, codecs, (DataSchemaNode) parentNode, strictParsing); } @@ -221,7 +224,7 @@ public final class XmlParserStream implements Closeable, Flushable { } private static Map getElementAttributes(final XMLStreamReader in) { - Preconditions.checkState(in.isStartElement(), "Attributes can be extracted only from START_ELEMENT."); + checkState(in.isStartElement(), "Attributes can be extracted only from START_ELEMENT."); final Map attributes = new LinkedHashMap<>(); for (int attrIndex = 0; attrIndex < in.getAttributeCount(); attrIndex++) { @@ -363,9 +366,8 @@ public final class XmlParserStream implements Closeable, Flushable { new URI(xmlElementNamespace)); if (childDataSchemaNodes.isEmpty()) { - Preconditions.checkState(!strictParsing, - "Schema for node with name %s and namespace %s doesn't exist.", xmlElementName, - xmlElementNamespace); + checkState(!strictParsing, "Schema for node with name %s and namespace %s doesn't exist.", + xmlElementName, xmlElementNamespace); skipUnknownNode(in); continue; } @@ -426,10 +428,10 @@ public final class XmlParserStream implements Closeable, Flushable { private void setValue(final AbstractNodeDataWithSchema parent, final String value, final NamespaceContext nsContext) throws ParserConfigurationException, SAXException, IOException { - Preconditions.checkArgument(parent instanceof SimpleNodeDataWithSchema, "Node %s is not a simple type", + checkArgument(parent instanceof SimpleNodeDataWithSchema, "Node %s is not a simple type", parent.getSchema().getQName()); final SimpleNodeDataWithSchema parentSimpleNode = (SimpleNodeDataWithSchema) parent; - Preconditions.checkArgument(parentSimpleNode.getValue() == null, "Node '%s' has already set its value to '%s'", + checkArgument(parentSimpleNode.getValue() == null, "Node '%s' has already set its value to '%s'", parentSimpleNode.getSchema().getQName(), parentSimpleNode.getValue()); parentSimpleNode.setValue(translateValueByType(value, parentSimpleNode.getSchema(), nsContext)); @@ -449,7 +451,7 @@ public final class XmlParserStream implements Closeable, Flushable { return new DOMSource(doc.getDocumentElement()); } - Preconditions.checkArgument(node instanceof TypedSchemaNode); + checkArgument(node instanceof TypedSchemaNode); return codecs.codecFor((TypedSchemaNode) node).parseValue(namespaceCtx, value); } diff --git a/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/XmlStringInstanceIdentifierCodec.java b/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/XmlStringInstanceIdentifierCodec.java index 044a550add..520cd24456 100644 --- a/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/XmlStringInstanceIdentifierCodec.java +++ b/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/XmlStringInstanceIdentifierCodec.java @@ -8,7 +8,9 @@ package org.opendaylight.yangtools.yang.data.codec.xml; -import com.google.common.base.Preconditions; +import static com.google.common.base.Preconditions.checkArgument; +import static java.util.Objects.requireNonNull; + import java.net.URI; import java.util.ArrayDeque; import java.util.Deque; @@ -24,7 +26,7 @@ import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode; import org.opendaylight.yangtools.yang.model.api.Module; import org.opendaylight.yangtools.yang.model.api.SchemaContext; -final class XmlStringInstanceIdentifierCodec extends AbstractModuleStringInstanceIdentifierCodec +final class XmlStringInstanceIdentifierCodec extends AbstractModuleStringInstanceIdentifierCodec implements XmlCodec { private static final ThreadLocal> TL_CONTEXT = new ThreadLocal<>(); @@ -34,9 +36,9 @@ final class XmlStringInstanceIdentifierCodec extends AbstractModuleStringInstan private final SchemaContext context; XmlStringInstanceIdentifierCodec(final SchemaContext context, final XmlCodecFactory xmlCodecFactory) { - this.context = Preconditions.checkNotNull(context); + this.context = requireNonNull(context); this.dataContextTree = DataSchemaContextTree.from(context); - this.codecFactory = Preconditions.checkNotNull(xmlCodecFactory); + this.codecFactory = requireNonNull(xmlCodecFactory); } @Override @@ -59,8 +61,8 @@ final class XmlStringInstanceIdentifierCodec extends AbstractModuleStringInstan @Override protected Object deserializeKeyValue(final DataSchemaNode schemaNode, final String value) { - Preconditions.checkNotNull(schemaNode, "schemaNode cannot be null"); - Preconditions.checkArgument(schemaNode instanceof LeafSchemaNode, "schemaNode must be of type LeafSchemaNode"); + requireNonNull(schemaNode, "schemaNode cannot be null"); + checkArgument(schemaNode instanceof LeafSchemaNode, "schemaNode must be of type LeafSchemaNode"); final XmlCodec objectXmlCodec = codecFactory.codecFor((LeafSchemaNode) schemaNode); return objectXmlCodec.parseValue(getNamespaceContext(), value); } diff --git a/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/Bug5396Test.java b/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/Bug5396Test.java index 75cf4b42eb..53bf016cf0 100644 --- a/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/Bug5396Test.java +++ b/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/Bug5396Test.java @@ -13,9 +13,9 @@ import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; -import com.google.common.base.Optional; import java.io.InputStream; import java.net.URI; +import java.util.Optional; import javax.xml.stream.XMLInputFactory; import javax.xml.stream.XMLStreamReader; import org.junit.Before; @@ -87,7 +87,7 @@ public class Bug5396Test { Optional> myLeaf = rootContainer.getChild(new NodeIdentifier( QName.create(fooModuleQName, "my-leaf"))); - assertTrue(myLeaf.orNull() instanceof LeafNode); + assertTrue(myLeaf.orElse(null) instanceof LeafNode); assertEquals(expectedValue, myLeaf.get().getValue()); } diff --git a/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/Bug5446Test.java b/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/Bug5446Test.java index e922752f97..5b8296eeac 100644 --- a/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/Bug5446Test.java +++ b/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/Bug5446Test.java @@ -8,13 +8,14 @@ package org.opendaylight.yangtools.yang.data.codec.xml; -import com.google.common.base.Optional; -import com.google.common.base.Preconditions; +import static java.util.Objects.requireNonNull; + import com.google.common.io.BaseEncoding; import java.io.IOException; import java.io.InputStream; import java.io.StringWriter; import java.net.URI; +import java.util.Optional; import javax.xml.stream.XMLOutputFactory; import javax.xml.stream.XMLStreamException; import javax.xml.stream.XMLStreamWriter; @@ -78,11 +79,11 @@ public class Bug5446Test extends XMLTestCase { final ContainerNode docNode = createDocNode(); Optional> root = docNode.getChild(new NodeIdentifier(rootQName)); - assertTrue(root.orNull() instanceof ContainerNode); + assertTrue(root.orElse(null) instanceof ContainerNode); - Optional> child = ((ContainerNode) root.orNull()) + Optional> child = ((ContainerNode) root.orElse(null)) .getChild(new NodeIdentifier(ipAddressQName)); - assertTrue(child.orNull() instanceof LeafNode); + assertTrue(child.orElse(null) instanceof LeafNode); LeafNode ipAdress = (LeafNode) child.get(); Object value = ipAdress.getValue(); @@ -145,9 +146,7 @@ public class Bug5446Test extends XMLTestCase { private static Document loadDocument(final String xmlPath) throws IOException, SAXException { final InputStream resourceAsStream = Bug5446Test.class.getResourceAsStream(xmlPath); - final Document currentConfigElement = readXmlToDocument(resourceAsStream); - Preconditions.checkNotNull(currentConfigElement); - return currentConfigElement; + return requireNonNull(readXmlToDocument(resourceAsStream)); } private static Document readXmlToDocument(final InputStream xmlContent) throws IOException, SAXException { diff --git a/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/Bug8745Test.java b/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/Bug8745Test.java index 39ea5ea754..7c651935c0 100644 --- a/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/Bug8745Test.java +++ b/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/Bug8745Test.java @@ -8,11 +8,11 @@ package org.opendaylight.yangtools.yang.data.codec.xml; -import com.google.common.base.Preconditions; +import static java.util.Objects.requireNonNull; + import java.io.IOException; import java.io.InputStream; import java.io.StringWriter; -import javax.xml.stream.XMLInputFactory; import javax.xml.stream.XMLOutputFactory; import javax.xml.stream.XMLStreamReader; import javax.xml.stream.XMLStreamWriter; @@ -62,9 +62,7 @@ public class Bug8745Test { final NormalizedNodeStreamWriter streamWriter = XMLStreamNormalizedNodeStreamWriter.create( xmlStreamWriter, schemaContext); - final InputStream resourceAsStream = Bug8745Test.class.getResourceAsStream( - "/bug8745/foo.xml"); - final XMLInputFactory inputFactory = XMLInputFactory.newInstance(); + final InputStream resourceAsStream = Bug8745Test.class.getResourceAsStream("/bug8745/foo.xml"); // final XMLStreamReader reader = inputFactory.createXMLStreamReader(resourceAsStream); final XMLStreamReader reader = new DOMSourceXMLStreamReader(domSource); @@ -83,9 +81,7 @@ public class Bug8745Test { private static Document loadDocument(final String xmlPath) throws IOException, SAXException { final InputStream resourceAsStream = NormalizedNodesToXmlTest.class.getResourceAsStream(xmlPath); - final Document currentConfigElement = readXmlToDocument(resourceAsStream); - Preconditions.checkNotNull(currentConfigElement); - return currentConfigElement; + return requireNonNull(readXmlToDocument(resourceAsStream)); } private static Document readXmlToDocument(final InputStream xmlContent) throws IOException, SAXException { diff --git a/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/DOMSourceXMLStreamReaderTest.java b/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/DOMSourceXMLStreamReaderTest.java index d2b22b0327..9992ce1ca3 100644 --- a/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/DOMSourceXMLStreamReaderTest.java +++ b/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/DOMSourceXMLStreamReaderTest.java @@ -7,15 +7,14 @@ */ package org.opendaylight.yangtools.yang.data.codec.xml; +import static java.util.Objects.requireNonNull; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; -import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableList; import java.io.IOException; import java.io.InputStream; import java.io.StringWriter; -import javax.xml.stream.XMLInputFactory; import javax.xml.stream.XMLOutputFactory; import javax.xml.stream.XMLStreamReader; import javax.xml.stream.XMLStreamWriter; @@ -56,7 +55,6 @@ public class DOMSourceXMLStreamReaderTest { // deserialization final Document doc = loadDocument("/dom-reader-test/foo.xml"); final DOMSource inputXml = new DOMSource(doc.getDocumentElement()); - XMLInputFactory inputFactory = XMLInputFactory.newFactory(); XMLStreamReader domXMLReader = new DOMSourceXMLStreamReader(inputXml); final NormalizedNodeResult result = new NormalizedNodeResult(); @@ -87,9 +85,7 @@ public class DOMSourceXMLStreamReaderTest { private static Document loadDocument(final String xmlPath) throws IOException, SAXException { final InputStream resourceAsStream = NormalizedNodesToXmlTest.class.getResourceAsStream(xmlPath); - final Document currentConfigElement = readXmlToDocument(resourceAsStream); - Preconditions.checkNotNull(currentConfigElement); - return currentConfigElement; + return requireNonNull(readXmlToDocument(resourceAsStream)); } private static Document readXmlToDocument(final InputStream xmlContent) throws IOException, SAXException { diff --git a/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/NormalizedNodeXmlTranslationTest.java b/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/NormalizedNodeXmlTranslationTest.java index e86d1a47d5..9ffc0b010d 100644 --- a/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/NormalizedNodeXmlTranslationTest.java +++ b/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/NormalizedNodeXmlTranslationTest.java @@ -8,13 +8,14 @@ package org.opendaylight.yangtools.yang.data.codec.xml; +import static com.google.common.base.Preconditions.checkState; +import static java.util.Objects.requireNonNull; import static org.junit.Assert.assertNotNull; import static org.opendaylight.yangtools.yang.data.impl.schema.Builders.augmentationBuilder; import static org.opendaylight.yangtools.yang.data.impl.schema.Builders.choiceBuilder; import static org.opendaylight.yangtools.yang.data.impl.schema.Builders.containerBuilder; import static org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes.leafNode; -import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableSet; import java.io.IOException; import java.io.InputStream; @@ -332,10 +333,7 @@ public class NormalizedNodeXmlTranslationTest { private static Document loadDocument(final String xmlPath) throws IOException, SAXException { final InputStream resourceAsStream = NormalizedNodeXmlTranslationTest.class.getResourceAsStream(xmlPath); - - final Document currentConfigElement = readXmlToDocument(resourceAsStream); - Preconditions.checkNotNull(currentConfigElement); - return currentConfigElement; + return requireNonNull(readXmlToDocument(resourceAsStream)); } private static Document readXmlToDocument(final InputStream xmlContent) throws IOException, SAXException { @@ -365,7 +363,7 @@ public class NormalizedNodeXmlTranslationTest { for (Module module : context.getModules()) { if (module.getName().equals(moduleName)) { DataSchemaNode found = findChildNode(module.getChildNodes(), childNodeName); - Preconditions.checkState(found != null, "Unable to find %s", childNodeName); + checkState(found != null, "Unable to find %s", childNodeName); return found; } } diff --git a/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/NormalizedNodesToXmlTest.java b/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/NormalizedNodesToXmlTest.java index 3cacbc3eb2..db21145955 100644 --- a/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/NormalizedNodesToXmlTest.java +++ b/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/NormalizedNodesToXmlTest.java @@ -8,14 +8,15 @@ package org.opendaylight.yangtools.yang.data.codec.xml; -import com.google.common.base.Preconditions; -import com.google.common.collect.Sets; +import static java.util.Objects.requireNonNull; + import java.io.IOException; import java.io.InputStream; import java.io.StringWriter; import java.net.URI; import java.net.URISyntaxException; import java.text.ParseException; +import java.util.Collections; import java.util.HashMap; import java.util.Map; import javax.xml.stream.XMLOutputFactory; @@ -213,7 +214,7 @@ public class NormalizedNodesToXmlTest { .build(); AugmentationNode myDoublyKeyedListAugNode = Builders.augmentationBuilder().withNodeIdentifier( - new AugmentationIdentifier(Sets.newHashSet(myDoublyKeyedList))) + new AugmentationIdentifier(Collections.singleton(myDoublyKeyedList))) .withChild(myDoublyKeyedListNode).build(); ContainerNode myContainer3Node = Builders.containerBuilder().withNodeIdentifier( @@ -221,7 +222,7 @@ public class NormalizedNodesToXmlTest { .withChild(myDoublyKeyedListAugNode).build(); AugmentationNode myContainer3AugNode = Builders.augmentationBuilder().withNodeIdentifier( - new AugmentationIdentifier(Sets.newHashSet(myContainer3))) + new AugmentationIdentifier(Collections.singleton(myContainer3))) .withChild(myContainer3Node).build(); ContainerNode outerContainerNode = Builders.containerBuilder().withNodeIdentifier( @@ -235,9 +236,7 @@ public class NormalizedNodesToXmlTest { private static Document loadDocument(final String xmlPath) throws IOException, SAXException { final InputStream resourceAsStream = NormalizedNodesToXmlTest.class.getResourceAsStream(xmlPath); - final Document currentConfigElement = readXmlToDocument(resourceAsStream); - Preconditions.checkNotNull(currentConfigElement); - return currentConfigElement; + return requireNonNull(readXmlToDocument(resourceAsStream)); } private static Document readXmlToDocument(final InputStream xmlContent) throws IOException, SAXException { diff --git a/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/SchemalessXMLStreamNormalizedNodeStreamWriterTest.java b/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/SchemalessXMLStreamNormalizedNodeStreamWriterTest.java index 0f701fb856..f4db214e0a 100644 --- a/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/SchemalessXMLStreamNormalizedNodeStreamWriterTest.java +++ b/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/SchemalessXMLStreamNormalizedNodeStreamWriterTest.java @@ -8,8 +8,8 @@ package org.opendaylight.yangtools.yang.data.codec.xml; -import com.google.common.base.Preconditions; -import com.google.common.collect.Sets; +import static java.util.Objects.requireNonNull; + import java.io.IOException; import java.io.InputStream; import java.io.StringWriter; @@ -17,6 +17,7 @@ import java.net.URI; import java.net.URISyntaxException; import java.text.ParseException; import java.util.ArrayList; +import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -276,7 +277,7 @@ public class SchemalessXMLStreamNormalizedNodeStreamWriterTest { .build(); AugmentationNode myDoublyKeyedListAugNode = Builders.augmentationBuilder().withNodeIdentifier( - new AugmentationIdentifier(Sets.newHashSet(myDoublyKeyedList))) + new AugmentationIdentifier(Collections.singleton(myDoublyKeyedList))) .withChild(myDoublyKeyedListNode).build(); ContainerNode myContainer3Node = Builders.containerBuilder().withNodeIdentifier( @@ -284,7 +285,7 @@ public class SchemalessXMLStreamNormalizedNodeStreamWriterTest { .withChild(myDoublyKeyedListAugNode).build(); AugmentationNode myContainer3AugNode = Builders.augmentationBuilder().withNodeIdentifier( - new AugmentationIdentifier(Sets.newHashSet(myContainer3))) + new AugmentationIdentifier(Collections.singleton(myContainer3))) .withChild(myContainer3Node).build(); ContainerNode outerContainerNode = Builders.containerBuilder().withNodeIdentifier( @@ -299,9 +300,7 @@ public class SchemalessXMLStreamNormalizedNodeStreamWriterTest { private static Document loadDocument(final String xmlPath) throws IOException, SAXException { final InputStream resourceAsStream = SchemalessXMLStreamNormalizedNodeStreamWriterTest.class .getResourceAsStream(xmlPath); - final Document currentConfigElement = readXmlToDocument(resourceAsStream); - Preconditions.checkNotNull(currentConfigElement); - return currentConfigElement; + return requireNonNull(readXmlToDocument(resourceAsStream)); } private static Document readXmlToDocument(final InputStream xmlContent) throws IOException, SAXException { diff --git a/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/XmlStreamUtilsTest.java b/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/XmlStreamUtilsTest.java index f901a856f1..6f7d908cf0 100644 --- a/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/XmlStreamUtilsTest.java +++ b/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/XmlStreamUtilsTest.java @@ -14,15 +14,15 @@ import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertThat; import static org.junit.Assert.assertTrue; -import com.google.common.base.Optional; -import com.google.common.collect.Maps; import java.io.ByteArrayOutputStream; import java.io.FileNotFoundException; import java.net.URI; import java.net.URISyntaxException; import java.util.AbstractMap; import java.util.Date; +import java.util.HashMap; import java.util.Map; +import java.util.Optional; import java.util.regex.Matcher; import java.util.regex.Pattern; import javax.xml.stream.XMLOutputFactory; @@ -73,7 +73,7 @@ public class XmlStreamUtilsTest { QName name = getAttrQName("namespace", "2012-12-12", "attr", Optional.of("prefix")); final Map.Entry attributeEntry = new AbstractMap.SimpleEntry<>(name, "value"); - name = getAttrQName("namespace2", "2012-12-12", "attr", Optional.absent()); + name = getAttrQName("namespace2", "2012-12-12", "attr", Optional.empty()); final Map.Entry attributeEntryNoPrefix = new AbstractMap.SimpleEntry<>(name, "value"); final RandomPrefix randomPrefix = new RandomPrefix(null); @@ -176,7 +176,7 @@ public class XmlStreamUtilsTest { } private static Map mapPrefixed(final Iterable> prefixes) { - final Map mappedPrefixes = Maps.newHashMap(); + final Map mappedPrefixes = new HashMap<>(); for (final Map.Entry prefix : prefixes) { mappedPrefixes.put(prefix.getKey().toString(), prefix.getValue()); } diff --git a/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/XmlToNormalizedNodesTest.java b/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/XmlToNormalizedNodesTest.java index a09362fc5b..5a7708dc0a 100644 --- a/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/XmlToNormalizedNodesTest.java +++ b/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/XmlToNormalizedNodesTest.java @@ -14,11 +14,11 @@ import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; import com.google.common.collect.ImmutableList; -import com.google.common.collect.Sets; import java.io.IOException; import java.io.InputStream; import java.net.URI; import java.net.URISyntaxException; +import java.util.Collections; import java.util.HashMap; import java.util.Map; import javax.xml.parsers.ParserConfigurationException; @@ -375,7 +375,7 @@ public class XmlToNormalizedNodesTest { .build(); AugmentationNode myDoublyKeyedListAugNode = Builders.augmentationBuilder().withNodeIdentifier( - new AugmentationIdentifier(Sets.newHashSet(myDoublyKeyedList))) + new AugmentationIdentifier(Collections.singleton(myDoublyKeyedList))) .withChild(myDoublyKeyedListNode).build(); ContainerNode myContainer3Node = Builders.containerBuilder().withNodeIdentifier( @@ -383,7 +383,7 @@ public class XmlToNormalizedNodesTest { .withChild(myDoublyKeyedListAugNode).build(); AugmentationNode myContainer3AugNode = Builders.augmentationBuilder().withNodeIdentifier( - new AugmentationIdentifier(Sets.newHashSet(myContainer3))) + new AugmentationIdentifier(Collections.singleton(myContainer3))) .withChild(myContainer3Node).build(); ContainerNode outerContainerNode = Builders.containerBuilder().withNodeIdentifier( diff --git a/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/YangModeledAnyXMLDeserializationTest.java b/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/YangModeledAnyXMLDeserializationTest.java index f214feafa6..fa39ffbe94 100644 --- a/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/YangModeledAnyXMLDeserializationTest.java +++ b/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/YangModeledAnyXMLDeserializationTest.java @@ -11,11 +11,11 @@ package org.opendaylight.yangtools.yang.data.codec.xml; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; -import com.google.common.base.Optional; import java.io.InputStream; import java.net.URI; import java.util.Collection; import java.util.List; +import java.util.Optional; import javax.annotation.Nonnull; import javax.xml.stream.XMLInputFactory; import javax.xml.stream.XMLStreamReader; @@ -106,12 +106,12 @@ public class YangModeledAnyXMLDeserializationTest { Optional> child = yangModeledAnyXmlNode .getChild(new NodeIdentifier(myContainer1)); - assertTrue(child.orNull() instanceof ContainerNode); + assertTrue(child.orElse(null) instanceof ContainerNode); ContainerNode myContainerNode1 = (ContainerNode) child.get(); Optional> child2 = myContainerNode1.getChild(new NodeIdentifier( myLeaf1)); - assertTrue(child2.orNull() instanceof LeafNode); + assertTrue(child2.orElse(null) instanceof LeafNode); LeafNode leafNode1 = (LeafNode) child2.get(); Object leafNode1Value = leafNode1.getValue(); @@ -148,12 +148,12 @@ public class YangModeledAnyXMLDeserializationTest { Optional> child2 = yangModeledAnyXmlNode .getChild(new NodeIdentifier(innerContainer)); - assertTrue(child2.orNull() instanceof ContainerNode); + assertTrue(child2.orElse(null) instanceof ContainerNode); ContainerNode innerContainerNode = (ContainerNode) child2.get(); Optional> child3 = innerContainerNode .getChild(new NodeIdentifier(myLeaf2)); - assertTrue(child3.orNull() instanceof LeafNode); + assertTrue(child3.orElse(null) instanceof LeafNode); LeafNode leafNode2 = (LeafNode) child3.get(); Object leafNode2Value = leafNode2.getValue(); @@ -161,7 +161,7 @@ public class YangModeledAnyXMLDeserializationTest { Optional> child4 = yangModeledAnyXmlNode .getChild(new NodeIdentifier(myLeaf3)); - assertTrue(child4.orNull() instanceof LeafNode); + assertTrue(child4.orElse(null) instanceof LeafNode); LeafNode leafNode3 = (LeafNode) child4.get(); Object leafNode3Value = leafNode3.getValue(); diff --git a/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/YangModeledAnyXMLSerializationTest.java b/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/YangModeledAnyXMLSerializationTest.java index a6fe3062b0..2cce59377e 100644 --- a/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/YangModeledAnyXMLSerializationTest.java +++ b/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/YangModeledAnyXMLSerializationTest.java @@ -8,12 +8,13 @@ package org.opendaylight.yangtools.yang.data.codec.xml; -import com.google.common.base.Optional; -import com.google.common.base.Preconditions; +import static java.util.Objects.requireNonNull; + import java.io.IOException; import java.io.InputStream; import java.io.StringWriter; import java.net.URI; +import java.util.Optional; import javax.xml.stream.XMLInputFactory; import javax.xml.stream.XMLOutputFactory; import javax.xml.stream.XMLStreamReader; @@ -101,7 +102,7 @@ public class YangModeledAnyXMLSerializationTest extends XMLTestCase { Optional> bazContainerChild = bazContainer.getChild( new NodeIdentifier(myAnyXMLDataBaz)); - assertTrue(bazContainerChild.orNull() instanceof YangModeledAnyXmlNode); + assertTrue(bazContainerChild.orElse(null) instanceof YangModeledAnyXmlNode); YangModeledAnyXmlNode yangModeledAnyXmlNode = (YangModeledAnyXmlNode) bazContainerChild.get(); DataSchemaNode schemaOfAnyXmlData = yangModeledAnyXmlNode.getSchemaOfAnyXmlData(); @@ -141,9 +142,7 @@ public class YangModeledAnyXMLSerializationTest extends XMLTestCase { private static Document loadDocument(final String xmlPath) throws IOException, SAXException { final InputStream resourceAsStream = YangModeledAnyXMLSerializationTest.class.getResourceAsStream(xmlPath); - final Document currentConfigElement = readXmlToDocument(resourceAsStream); - Preconditions.checkNotNull(currentConfigElement); - return currentConfigElement; + return requireNonNull(readXmlToDocument(resourceAsStream)); } private static Document readXmlToDocument(final InputStream xmlContent) throws IOException, SAXException { diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/AbstractIntegerStringCodec.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/AbstractIntegerStringCodec.java index fa2ab757c7..9e837b6f9b 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/AbstractIntegerStringCodec.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/AbstractIntegerStringCodec.java @@ -7,6 +7,7 @@ */ package org.opendaylight.yangtools.yang.data.impl.codec; +import static com.google.common.base.Preconditions.checkArgument; import static org.opendaylight.yangtools.yang.model.util.BaseTypes.INT16_QNAME; import static org.opendaylight.yangtools.yang.model.util.BaseTypes.INT32_QNAME; import static org.opendaylight.yangtools.yang.model.util.BaseTypes.INT64_QNAME; @@ -18,12 +19,11 @@ import static org.opendaylight.yangtools.yang.model.util.BaseTypes.UINT8_QNAME; import com.google.common.annotations.Beta; import com.google.common.base.CharMatcher; -import com.google.common.base.Optional; -import com.google.common.base.Preconditions; import com.google.common.collect.Range; import java.util.ArrayList; import java.util.Collections; import java.util.List; +import java.util.Optional; import java.util.regex.Pattern; import org.opendaylight.yangtools.yang.model.api.TypeDefinition; import org.opendaylight.yangtools.yang.model.api.type.IntegerTypeDefinition; @@ -172,7 +172,7 @@ public abstract class AbstractIntegerStringCodec, @SuppressWarnings("unchecked") private BitsStringCodec(final Optional typeDef) { - super(typeDef, (Class>) ((Class) Set.class)); + super(typeDef, (Class>) (Class) Set.class); if (typeDef.isPresent()) { validBits = ImmutableSet.copyOf(Collections2.transform(typeDef.get().getBits(), Bit::getName)); } else { @@ -76,8 +77,8 @@ public final class BitsStringCodec extends TypeDefinitionAwareCodec, // an invalid bit. if (sorted.size() != strings.size()) { for (final String bit : strings) { - Preconditions.checkArgument(validBits.contains(bit), - "Invalid value '%s' for bits type. Allowed values are: %s", bit, validBits); + checkArgument(validBits.contains(bit), "Invalid value '%s' for bits type. Allowed values are: %s", bit, + validBits); } } diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/BooleanStringCodec.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/BooleanStringCodec.java index aa07078462..15f77d6a6a 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/BooleanStringCodec.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/BooleanStringCodec.java @@ -7,10 +7,11 @@ */ package org.opendaylight.yangtools.yang.data.impl.codec; +import static com.google.common.base.Preconditions.checkArgument; + import com.google.common.annotations.Beta; -import com.google.common.base.Optional; -import com.google.common.base.Preconditions; import java.util.Objects; +import java.util.Optional; import org.opendaylight.yangtools.yang.data.api.codec.BooleanCodec; import org.opendaylight.yangtools.yang.model.api.type.BooleanTypeDefinition; @@ -35,8 +36,7 @@ public final class BooleanStringCodec extends TypeDefinitionAwareCodec implements Int16Codec { Int16StringCodec(final Optional typeDef) { - super(typeDef, extractRange(typeDef.orNull()), Short.class); + super(typeDef, extractRange(typeDef.orElse(null)), Short.class); } @Override diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/Int32StringCodec.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/Int32StringCodec.java index efa27134e5..d2e05338c2 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/Int32StringCodec.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/Int32StringCodec.java @@ -8,15 +8,15 @@ package org.opendaylight.yangtools.yang.data.impl.codec; -import com.google.common.base.Optional; import java.util.Objects; +import java.util.Optional; import org.opendaylight.yangtools.yang.data.api.codec.Int32Codec; import org.opendaylight.yangtools.yang.model.api.type.IntegerTypeDefinition; final class Int32StringCodec extends AbstractIntegerStringCodec implements Int32Codec { Int32StringCodec(final Optional typeDef) { - super(typeDef, extractRange(typeDef.orNull()), Integer.class); + super(typeDef, extractRange(typeDef.orElse(null)), Integer.class); } @Override diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/Int64StringCodec.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/Int64StringCodec.java index 5fec6f37c0..503a3e2138 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/Int64StringCodec.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/Int64StringCodec.java @@ -8,8 +8,8 @@ package org.opendaylight.yangtools.yang.data.impl.codec; -import com.google.common.base.Optional; import java.util.Objects; +import java.util.Optional; import org.opendaylight.yangtools.yang.data.api.codec.Int64Codec; import org.opendaylight.yangtools.yang.model.api.type.IntegerTypeDefinition; @@ -17,7 +17,7 @@ final class Int64StringCodec extends AbstractIntegerStringCodec { Int64StringCodec(final Optional typeDef) { - super(typeDef, extractRange(typeDef.orNull()), Long.class); + super(typeDef, extractRange(typeDef.orElse(null)), Long.class); } @Override diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/Int8StringCodec.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/Int8StringCodec.java index cf06b860fc..b20dc83269 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/Int8StringCodec.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/Int8StringCodec.java @@ -8,8 +8,8 @@ package org.opendaylight.yangtools.yang.data.impl.codec; -import com.google.common.base.Optional; import java.util.Objects; +import java.util.Optional; import org.opendaylight.yangtools.yang.data.api.codec.Int8Codec; import org.opendaylight.yangtools.yang.model.api.type.IntegerTypeDefinition; @@ -17,7 +17,7 @@ final class Int8StringCodec extends AbstractIntegerStringCodec { Int8StringCodec(final Optional typeDef) { - super(typeDef, extractRange(typeDef.orNull()), Byte.class); + super(typeDef, extractRange(typeDef.orElse(null)), Byte.class); } @Override diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/SchemaTracker.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/SchemaTracker.java index 60ffd77d0f..b969d40bac 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/SchemaTracker.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/SchemaTracker.java @@ -7,8 +7,9 @@ */ package org.opendaylight.yangtools.yang.data.impl.codec; +import static com.google.common.base.Preconditions.checkArgument; + import com.google.common.annotations.Beta; -import com.google.common.base.Preconditions; import com.google.common.collect.Iterables; import java.io.IOException; import java.util.ArrayDeque; @@ -55,14 +56,13 @@ public final class SchemaTracker { private SchemaTracker(final SchemaContext context, final SchemaPath path) { final Collection schemaNodes = SchemaUtils.findParentSchemaNodesOnPath(context, path); - Preconditions.checkArgument(!schemaNodes.isEmpty(), "Unable to find schema node for supplied schema path: %s", - path); + checkArgument(!schemaNodes.isEmpty(), "Unable to find schema node for supplied schema path: %s", path); if (schemaNodes.size() > 1) { LOG.warn("More possible schema nodes {} for supplied schema path {}", schemaNodes, path); } final Optional current = schemaNodes.stream().filter(node -> node instanceof DataNodeContainer) .findFirst(); - Preconditions.checkArgument(current.isPresent(), + checkArgument(current.isPresent(), "Schema path must point to container or list or an rpc input/output. Supplied path %s pointed to: %s", path, current); root = (DataNodeContainer) current.get(); @@ -115,7 +115,7 @@ public final class SchemaTracker { throw new IllegalStateException("Unsupported schema type " + parent.getClass() + " on stack."); } - Preconditions.checkArgument(schema != null, "Could not find schema for node %s in %s", qname, parent); + checkArgument(schema != null, "Could not find schema for node %s in %s", qname, parent); return schema; } @@ -145,28 +145,27 @@ public final class SchemaTracker { public void startList(final PathArgument name) { final SchemaNode schema = getSchema(name); - Preconditions.checkArgument(schema instanceof ListSchemaNode, "Node %s is not a list", schema.getPath()); + checkArgument(schema instanceof ListSchemaNode, "Node %s is not a list", schema.getPath()); schemaStack.push(schema); } public void startListItem(final PathArgument name) throws IOException { final Object schema = getParent(); - Preconditions.checkArgument(schema instanceof ListSchemaNode, "List item is not appropriate"); + checkArgument(schema instanceof ListSchemaNode, "List item is not appropriate"); schemaStack.push(schema); } public LeafSchemaNode leafNode(final NodeIdentifier name) throws IOException { final SchemaNode schema = getSchema(name); - Preconditions.checkArgument(schema instanceof LeafSchemaNode, "Node %s is not a leaf", schema.getPath()); + checkArgument(schema instanceof LeafSchemaNode, "Node %s is not a leaf", schema.getPath()); return (LeafSchemaNode) schema; } public LeafListSchemaNode startLeafSet(final NodeIdentifier name) { final SchemaNode schema = getSchema(name); - Preconditions.checkArgument(schema instanceof LeafListSchemaNode, "Node %s is not a leaf-list", - schema.getPath()); + checkArgument(schema instanceof LeafListSchemaNode, "Node %s is not a leaf-list", schema.getPath()); schemaStack.push(schema); return (LeafListSchemaNode)schema; } @@ -175,7 +174,7 @@ public final class SchemaTracker { public LeafListSchemaNode leafSetEntryNode() { final Object parent = getParent(); - Preconditions.checkArgument(parent instanceof LeafListSchemaNode, "Not currently in a leaf-list"); + checkArgument(parent instanceof LeafListSchemaNode, "Not currently in a leaf-list"); return (LeafListSchemaNode) parent; } @@ -186,7 +185,7 @@ public final class SchemaTracker { } final SchemaNode child = SchemaUtils.findDataChildSchemaByQName((SchemaNode) parent, qname); - Preconditions.checkArgument(child instanceof LeafListSchemaNode, + checkArgument(child instanceof LeafListSchemaNode, "Node %s is neither a leaf-list nor currently in a leaf-list", child.getPath()); return (LeafListSchemaNode) child; } @@ -195,7 +194,7 @@ public final class SchemaTracker { LOG.debug("Enter choice {}", name); final SchemaNode schema = getSchema(name); - Preconditions.checkArgument(schema instanceof ChoiceSchemaNode, "Node %s is not a choice", schema.getPath()); + checkArgument(schema instanceof ChoiceSchemaNode, "Node %s is not a choice", schema.getPath()); schemaStack.push(schema); return (ChoiceSchemaNode)schema; } @@ -207,7 +206,7 @@ public final class SchemaTracker { boolean isAllowed = schema instanceof ContainerSchemaNode; isAllowed |= schema instanceof NotificationDefinition; - Preconditions.checkArgument(isAllowed, "Node %s is not a container nor a notification", schema.getPath()); + checkArgument(isAllowed, "Node %s is not a container nor a notification", schema.getPath()); schemaStack.push(schema); return schema; @@ -217,8 +216,8 @@ public final class SchemaTracker { LOG.debug("Enter yang modeled anyXml {}", name); final SchemaNode schema = getSchema(name); - Preconditions.checkArgument(schema instanceof YangModeledAnyXmlSchemaNode, - "Node %s is not an yang modeled anyXml.", schema.getPath()); + checkArgument(schema instanceof YangModeledAnyXmlSchemaNode, "Node %s is not an yang modeled anyXml.", + schema.getPath()); schemaStack.push(((YangModeledAnyXmlSchemaNode) schema).getSchemaOfAnyXmlData()); @@ -229,13 +228,12 @@ public final class SchemaTracker { LOG.debug("Enter augmentation {}", identifier); Object parent = getParent(); - Preconditions.checkArgument(parent instanceof AugmentationTarget, "Augmentation not allowed under %s", parent); + checkArgument(parent instanceof AugmentationTarget, "Augmentation not allowed under %s", parent); if (parent instanceof ChoiceSchemaNode) { final QName name = Iterables.get(identifier.getPossibleChildNames(), 0); parent = findCaseByChild((ChoiceSchemaNode) parent, name); } - Preconditions.checkArgument(parent instanceof DataNodeContainer, - "Augmentation allowed only in DataNodeContainer", parent); + checkArgument(parent instanceof DataNodeContainer, "Augmentation allowed only in DataNodeContainer", parent); final AugmentationSchema schema = SchemaUtils.findSchemaForAugment((AugmentationTarget) parent, identifier.getPossibleChildNames()); final HashSet realChildSchemas = new HashSet<>(); @@ -249,8 +247,7 @@ public final class SchemaTracker { public AnyXmlSchemaNode anyxmlNode(final NodeIdentifier name) { final SchemaNode schema = getSchema(name); - - Preconditions.checkArgument(schema instanceof AnyXmlSchemaNode, "Node %s is not anyxml", schema.getPath()); + checkArgument(schema instanceof AnyXmlSchemaNode, "Node %s is not anyxml", schema.getPath()); return (AnyXmlSchemaNode)schema; } diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/StringStringCodec.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/StringStringCodec.java index 9a608bf977..8ee7bb2790 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/StringStringCodec.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/StringStringCodec.java @@ -7,15 +7,16 @@ */ package org.opendaylight.yangtools.yang.data.impl.codec; +import static com.google.common.base.Preconditions.checkArgument; + import com.google.common.annotations.Beta; -import com.google.common.base.Optional; -import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableRangeSet; import com.google.common.collect.Range; import com.google.common.collect.RangeSet; import com.google.common.collect.TreeRangeSet; import java.util.Collection; import java.util.Objects; +import java.util.Optional; import org.opendaylight.yangtools.yang.data.api.codec.StringCodec; import org.opendaylight.yangtools.yang.model.api.type.LengthConstraint; import org.opendaylight.yangtools.yang.model.api.type.StringTypeDefinition; @@ -70,8 +71,7 @@ public class StringStringCodec extends TypeDefinitionAwareCodec> i private final T typeDefinition; protected TypeDefinitionAwareCodec(final Optional typeDefinition, final Class outputClass) { - Preconditions.checkArgument(outputClass != null, "Output class must be specified."); - this.typeDefinition = typeDefinition.orNull(); - this.inputClass = outputClass; + this.typeDefinition = typeDefinition.orElse(null); + this.inputClass = requireNonNull(outputClass); } @Override @@ -37,7 +37,7 @@ public abstract class TypeDefinitionAwareCodec> i } public Optional getTypeDefinition() { - return Optional.fromNullable(typeDefinition); + return Optional.ofNullable(typeDefinition); } @SuppressWarnings({ "rawtypes", "unchecked" }) diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/Uint16StringCodec.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/Uint16StringCodec.java index ddd021ab70..19a8a70b38 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/Uint16StringCodec.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/Uint16StringCodec.java @@ -8,15 +8,15 @@ package org.opendaylight.yangtools.yang.data.impl.codec; -import com.google.common.base.Optional; import java.util.Objects; +import java.util.Optional; import org.opendaylight.yangtools.yang.data.api.codec.Uint16Codec; import org.opendaylight.yangtools.yang.model.api.type.UnsignedIntegerTypeDefinition; final class Uint16StringCodec extends AbstractIntegerStringCodec implements Uint16Codec { Uint16StringCodec(final Optional typeDef) { - super(typeDef, extractRange(typeDef.orNull()), Integer.class); + super(typeDef, extractRange(typeDef.orElse(null)), Integer.class); } @Override diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/Uint32StringCodec.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/Uint32StringCodec.java index feba81f337..262c113f03 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/Uint32StringCodec.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/Uint32StringCodec.java @@ -8,8 +8,8 @@ package org.opendaylight.yangtools.yang.data.impl.codec; -import com.google.common.base.Optional; import java.util.Objects; +import java.util.Optional; import org.opendaylight.yangtools.yang.data.api.codec.Uint32Codec; import org.opendaylight.yangtools.yang.model.api.type.UnsignedIntegerTypeDefinition; @@ -17,7 +17,7 @@ final class Uint32StringCodec extends AbstractIntegerStringCodec { Uint32StringCodec(final Optional typeDef) { - super(typeDef, extractRange(typeDef.orNull()), Long.class); + super(typeDef, extractRange(typeDef.orElse(null)), Long.class); } @Override diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/Uint64StringCodec.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/Uint64StringCodec.java index dbd0e63958..7536580978 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/Uint64StringCodec.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/Uint64StringCodec.java @@ -8,9 +8,9 @@ package org.opendaylight.yangtools.yang.data.impl.codec; -import com.google.common.base.Optional; import java.math.BigInteger; import java.util.Objects; +import java.util.Optional; import org.opendaylight.yangtools.yang.data.api.codec.Uint64Codec; import org.opendaylight.yangtools.yang.model.api.type.UnsignedIntegerTypeDefinition; @@ -18,7 +18,7 @@ final class Uint64StringCodec extends AbstractIntegerStringCodec { Uint64StringCodec(final Optional typeDef) { - super(typeDef, extractRange(typeDef.orNull()), BigInteger.class); + super(typeDef, extractRange(typeDef.orElse(null)), BigInteger.class); } @Override diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/Uint8StringCodec.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/Uint8StringCodec.java index 9b30015dc5..73c33c33ba 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/Uint8StringCodec.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/Uint8StringCodec.java @@ -8,8 +8,8 @@ package org.opendaylight.yangtools.yang.data.impl.codec; -import com.google.common.base.Optional; import java.util.Objects; +import java.util.Optional; import org.opendaylight.yangtools.yang.data.api.codec.Uint8Codec; import org.opendaylight.yangtools.yang.model.api.type.UnsignedIntegerTypeDefinition; @@ -17,7 +17,7 @@ final class Uint8StringCodec extends AbstractIntegerStringCodec { Uint8StringCodec(final Optional typeDef) { - super(typeDef, extractRange(typeDef.orNull()), Short.class); + super(typeDef, extractRange(typeDef.orElse(null)), Short.class); } @Override diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/UnionStringCodec.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/UnionStringCodec.java index a811428146..40d6e49a3e 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/UnionStringCodec.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/UnionStringCodec.java @@ -8,9 +8,9 @@ package org.opendaylight.yangtools.yang.data.impl.codec; -import com.google.common.base.Optional; import com.google.common.io.BaseEncoding; import java.util.Objects; +import java.util.Optional; import org.opendaylight.yangtools.yang.data.api.codec.UnionCodec; import org.opendaylight.yangtools.yang.model.api.TypeDefinition; import org.opendaylight.yangtools.yang.model.api.type.UnionTypeDefinition; @@ -27,7 +27,7 @@ final class UnionStringCodec extends TypeDefinitionAwareCodec from(final UnionTypeDefinition normalizedType) { - return new UnionStringCodec(Optional.fromNullable(normalizedType)); + return new UnionStringCodec(Optional.ofNullable(normalizedType)); } @Override diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/leafref/LeafRefContextTreeBuilder.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/leafref/LeafRefContextTreeBuilder.java index 9fddc90c74..89a7d3149c 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/leafref/LeafRefContextTreeBuilder.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/leafref/LeafRefContextTreeBuilder.java @@ -7,7 +7,8 @@ */ package org.opendaylight.yangtools.yang.data.impl.leafref; -import com.google.common.base.Preconditions; +import static com.google.common.base.Preconditions.checkNotNull; + import java.io.ByteArrayInputStream; import java.io.IOException; import java.nio.charset.StandardCharsets; @@ -129,8 +130,7 @@ class LeafRefContextTreeBuilder { currentLeafRefContextBuilder.setReferencing(true); final LeafRefPathParserImpl leafRefPathParser = new LeafRefPathParserImpl(schemaContext, - Preconditions.checkNotNull(getBaseTypeModule(leafrefType), - "Unable to find base module for leafref %s", node), + checkNotNull(getBaseTypeModule(leafrefType), "Unable to find base module for leafref %s", node), node); final LeafRefPath leafRefPath = leafRefPathParser.parseLeafRefPathSourceToSchemaPath( diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/leafref/LeafRefPath.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/leafref/LeafRefPath.java index ae0aae7612..00d4b3cc81 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/leafref/LeafRefPath.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/leafref/LeafRefPath.java @@ -7,7 +7,8 @@ */ package org.opendaylight.yangtools.yang.data.impl.leafref; -import com.google.common.base.Preconditions; +import static com.google.common.base.Preconditions.checkArgument; + import com.google.common.collect.ImmutableList; import com.google.common.collect.Iterables; import java.util.Arrays; @@ -195,7 +196,7 @@ public abstract class LeafRefPath implements Immutable { * @return A new child path */ public LeafRefPath createChild(final LeafRefPath relative) { - Preconditions.checkArgument(!relative.isAbsolute(), "Child creation requires relative path"); + checkArgument(!relative.isAbsolute(), "Child creation requires relative path"); LeafRefPath parent = this; for (QNameWithPredicate qname : relative.getPathFromRoot()) { diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/leafref/LeafRefPathParserListenerImpl.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/leafref/LeafRefPathParserListenerImpl.java index e3a936e5b9..fb33abbc2c 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/leafref/LeafRefPathParserListenerImpl.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/leafref/LeafRefPathParserListenerImpl.java @@ -7,7 +7,8 @@ */ package org.opendaylight.yangtools.yang.data.impl.leafref; -import com.google.common.base.Preconditions; +import static com.google.common.base.Preconditions.checkArgument; + import com.google.common.collect.Lists; import java.net.URI; import java.util.ArrayList; @@ -116,8 +117,8 @@ final class LeafRefPathParserListenerImpl extends LeafRefPathParserBaseListener final String prefix = ctx.getText(); if (!module.getPrefix().equals(prefix)) { final Optional qnameModuleOpt = getQNameModuleForImportPrefix(prefix); - Preconditions.checkArgument(qnameModuleOpt.isPresent(), "No module import for prefix: %s in module: %s", - prefix, module.getName()); + checkArgument(qnameModuleOpt.isPresent(), "No module import for prefix: %s in module: %s", prefix, + module.getName()); currentQnameModule = qnameModuleOpt.get(); } else { currentQnameModule = module.getQNameModule(); diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/leafref/LeafRefValidatation.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/leafref/LeafRefValidatation.java index a573e6a871..8a20f715d4 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/leafref/LeafRefValidatation.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/leafref/LeafRefValidatation.java @@ -7,7 +7,6 @@ */ package org.opendaylight.yangtools.yang.data.impl.leafref; -import com.google.common.base.Optional; import com.google.common.collect.Iterables; import java.util.ArrayList; import java.util.Collection; @@ -17,6 +16,7 @@ import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Map.Entry; +import java.util.Optional; import java.util.Set; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; @@ -535,7 +535,7 @@ public class LeafRefValidatation { return currentNode; } } - return Optional.absent(); + return Optional.empty(); } private static Iterable nextLevel(final Iterable path) { diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/leafref/QNamePredicateImpl.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/leafref/QNamePredicateImpl.java index 14e99cde88..4bcc3b4cad 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/leafref/QNamePredicateImpl.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/leafref/QNamePredicateImpl.java @@ -7,7 +7,8 @@ */ package org.opendaylight.yangtools.yang.data.impl.leafref; -import com.google.common.base.Preconditions; +import static java.util.Objects.requireNonNull; + import java.io.Serializable; import org.opendaylight.yangtools.concepts.Immutable; import org.opendaylight.yangtools.yang.common.QName; @@ -19,8 +20,8 @@ class QNamePredicateImpl implements Immutable, Serializable, QNamePredicate { private final LeafRefPath pathKeyExpression; QNamePredicateImpl(final QName identifier, final LeafRefPath pathKeyExpression) { - this.identifier = Preconditions.checkNotNull(identifier, "QNamePredicate: identifier should not be null"); - this.pathKeyExpression = Preconditions.checkNotNull(pathKeyExpression, + this.identifier = requireNonNull(identifier, "QNamePredicate: identifier should not be null"); + this.pathKeyExpression = requireNonNull(pathKeyExpression, "QNamePredicate: pathKeyExpression should not be null"); } diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/ImmutableNodes.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/ImmutableNodes.java index c360b74f54..7b8988d064 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/ImmutableNodes.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/ImmutableNodes.java @@ -7,9 +7,9 @@ */ package org.opendaylight.yangtools.yang.data.impl.schema; -import com.google.common.base.Optional; import com.google.common.base.Preconditions; import java.util.Map.Entry; +import java.util.Optional; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.ModifyAction; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; @@ -103,7 +103,7 @@ public final class ImmutableNodes { * @return serialized normalized node for provided instance Id */ public static NormalizedNode fromInstanceId(final SchemaContext ctx, final YangInstanceIdentifier id) { - return fromInstanceId(ctx, id, Optional.absent(), Optional.absent()); + return fromInstanceId(ctx, id, Optional.empty(), Optional.empty()); } /** @@ -117,7 +117,7 @@ public final class ImmutableNodes { */ public static NormalizedNode fromInstanceId(final SchemaContext ctx, final YangInstanceIdentifier id, final NormalizedNode deepestElement) { - return fromInstanceId(ctx, id, Optional.of(deepestElement), Optional.absent()); + return fromInstanceId(ctx, id, Optional.of(deepestElement), Optional.empty()); } /** @@ -134,8 +134,6 @@ public final class ImmutableNodes { */ public static NormalizedNode fromInstanceId(final SchemaContext ctx, final YangInstanceIdentifier id, final Optional> deepestElement, final Optional> operation) { - Preconditions.checkNotNull(ctx); - Preconditions.checkNotNull(id); final YangInstanceIdentifier.PathArgument topLevelElement = id.getPathArguments().get(0); final DataSchemaNode dataChildByName = ctx.getDataChildByName(topLevelElement.getNodeType()); Preconditions.checkNotNull(dataChildByName, diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/InstanceIdToCompositeNodes.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/InstanceIdToCompositeNodes.java index b1c2b9a6e0..1edee4fada 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/InstanceIdToCompositeNodes.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/InstanceIdToCompositeNodes.java @@ -10,18 +10,17 @@ package org.opendaylight.yangtools.yang.data.impl.schema; import static com.google.common.base.Preconditions.checkArgument; import static com.google.common.base.Preconditions.checkNotNull; -import com.google.common.base.Optional; -import com.google.common.base.Preconditions; +import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Iterables; -import com.google.common.collect.Lists; import java.util.Collection; import java.util.Collections; import java.util.HashSet; import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; +import java.util.Optional; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; import org.opendaylight.yangtools.yang.common.QName; @@ -106,10 +105,10 @@ abstract class InstanceIdToCompositeNodes extends Instan builder.addChild(childOp.create(childId, lastChild, operation)); } else { if (lastChild.isPresent()) { - builder.withValue(Lists.newArrayList((Collection) lastChild.get().getValue())); + builder.withValue(ImmutableList.copyOf((Collection) lastChild.get().getValue())); } if (operation.isPresent()) { - Preconditions.checkArgument(builder instanceof AttributesBuilder); + checkArgument(builder instanceof AttributesBuilder); addModifyOpIfPresent(operation, (AttributesBuilder) builder); } } diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/InstanceIdToNodes.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/InstanceIdToNodes.java index 54c64e9381..02773f95da 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/InstanceIdToNodes.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/InstanceIdToNodes.java @@ -7,12 +7,12 @@ */ package org.opendaylight.yangtools.yang.data.impl.schema; -import com.google.common.base.Optional; import com.google.common.base.Preconditions; import com.google.common.collect.Iterables; import java.util.Collections; import java.util.List; import java.util.Map.Entry; +import java.util.Optional; import javax.xml.transform.dom.DOMSource; import org.opendaylight.yangtools.concepts.Identifiable; import org.opendaylight.yangtools.yang.common.QName; @@ -134,7 +134,6 @@ abstract class InstanceIdToNodes implements Identifiable if (deepestChild.isPresent()) { final NormalizedNode child = deepestChild.get(); Preconditions.checkState(child instanceof AnyXmlNode); - final NormalizedNodeAttrBuilder anyXmlBuilder = Builders.anyXmlBuilder().withNodeIdentifier(getIdentifier()).withValue( ((AnyXmlNode) child).getValue()); @@ -159,7 +158,7 @@ abstract class InstanceIdToNodes implements Identifiable if (potential == null) { potential = findChoice(Iterables.filter(parent.getChildNodes(), ChoiceSchemaNode.class), child); } - return Optional.fromNullable(potential); + return Optional.ofNullable(potential); } static InstanceIdToNodes fromSchemaAndQNameChecked(final DataNodeContainer schema, final QName child) { diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/InstanceIdToSimpleNodes.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/InstanceIdToSimpleNodes.java index 407fcba793..1d246f4726 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/InstanceIdToSimpleNodes.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/InstanceIdToSimpleNodes.java @@ -7,11 +7,11 @@ */ package org.opendaylight.yangtools.yang.data.impl.schema; +import static com.google.common.base.Preconditions.checkArgument; import static com.google.common.base.Preconditions.checkNotNull; -import com.google.common.base.Optional; -import com.google.common.base.Preconditions; import java.util.Map.Entry; +import java.util.Optional; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.ModifyAction; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; @@ -83,7 +83,7 @@ abstract class InstanceIdToSimpleNodes extends InstanceI @Override protected NormalizedNodeAttrBuilder> getBuilder( final PathArgument node) { - Preconditions.checkArgument(node instanceof NodeWithValue); + checkArgument(node instanceof NodeWithValue); return Builders.leafSetEntryBuilder().withNodeIdentifier((NodeWithValue) node) .withValue(((NodeWithValue) node).getValue()); } diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/SchemaUtils.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/SchemaUtils.java index b401fccb52..9ab9cf672d 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/SchemaUtils.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/SchemaUtils.java @@ -7,21 +7,21 @@ */ package org.opendaylight.yangtools.yang.data.impl.schema; -import com.google.common.base.Optional; import com.google.common.base.Preconditions; import com.google.common.base.Predicate; import com.google.common.collect.Collections2; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Iterables; -import com.google.common.collect.Maps; -import com.google.common.collect.Sets; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; +import java.util.HashMap; import java.util.HashSet; +import java.util.LinkedHashMap; import java.util.List; import java.util.Map; +import java.util.Optional; import java.util.Set; import javax.annotation.Nullable; import org.opendaylight.yangtools.yang.common.QName; @@ -77,7 +77,7 @@ public final class SchemaUtils { } } } - return Optional.fromNullable(schema); + return Optional.ofNullable(schema); } /** @@ -139,7 +139,7 @@ public final class SchemaUtils { } public static AugmentationSchema findSchemaForAugment(final ChoiceSchemaNode schema, final Set qnames) { - Optional schemaForAugment = Optional.absent(); + Optional schemaForAugment = Optional.empty(); for (final ChoiceCaseNode choiceCaseNode : schema.getCases()) { schemaForAugment = findAugment(choiceCaseNode, qnames); @@ -155,7 +155,7 @@ public final class SchemaUtils { private static Optional findAugment(final AugmentationTarget schema, final Set qnames) { for (final AugmentationSchema augment : schema.getAvailableAugmentations()) { - final HashSet qNamesFromAugment = Sets.newHashSet(Collections2.transform(augment.getChildNodes(), + final Set qNamesFromAugment = ImmutableSet.copyOf(Collections2.transform(augment.getChildNodes(), DataSchemaNode::getQName)); if (qNamesFromAugment.equals(qnames)) { @@ -163,7 +163,7 @@ public final class SchemaUtils { } } - return Optional.absent(); + return Optional.empty(); } /** @@ -178,7 +178,7 @@ public final class SchemaUtils { private static Map mapChildElementsFromChoices(final DataNodeContainer schema, final Iterable childNodes) { - final Map mappedChoices = Maps.newLinkedHashMap(); + final Map mappedChoices = new LinkedHashMap<>(); for (final DataSchemaNode childSchema : childNodes) { if (childSchema instanceof ChoiceSchemaNode) { @@ -220,10 +220,10 @@ public final class SchemaUtils { */ public static Map mapChildElementsFromAugments(final AugmentationTarget schema) { - final Map childNodesToAugmentation = Maps.newLinkedHashMap(); + final Map childNodesToAugmentation = new LinkedHashMap<>(); // Find QNames of augmented child nodes - final Map augments = Maps.newHashMap(); + final Map augments = new HashMap<>(); for (final AugmentationSchema augmentationSchema : schema.getAvailableAugmentations()) { for (final DataSchemaNode dataSchemaNode : augmentationSchema.getChildNodes()) { augments.put(dataSchemaNode.getQName(), augmentationSchema); @@ -282,7 +282,7 @@ public final class SchemaUtils { * @return set of QNames */ public static Set getChildNodesRecursive(final DataNodeContainer nodeContainer) { - final Set allChildNodes = Sets.newHashSet(); + final Set allChildNodes = new HashSet<>(); for (final DataSchemaNode childSchema : nodeContainer.getChildNodes()) { if (childSchema instanceof ChoiceSchemaNode) { @@ -315,12 +315,11 @@ public final class SchemaUtils { if (!targetSchema.getAvailableAugmentations().contains(augmentSchema)) { return Collections.emptySet(); } - - Set realChildNodes = Sets.newHashSet(); - if (targetSchema instanceof DataNodeContainer) { - realChildNodes = getRealSchemasForAugment((DataNodeContainer)targetSchema, augmentSchema); - } else if (targetSchema instanceof ChoiceSchemaNode) { + return getRealSchemasForAugment((DataNodeContainer)targetSchema, augmentSchema); + } + final Set realChildNodes = new HashSet<>(); + if (targetSchema instanceof ChoiceSchemaNode) { for (final DataSchemaNode dataSchemaNode : augmentSchema.getChildNodes()) { for (final ChoiceCaseNode choiceCaseNode : ((ChoiceSchemaNode) targetSchema).getCases()) { if (getChildNodesRecursive(choiceCaseNode).contains(dataSchemaNode.getQName())) { @@ -335,7 +334,7 @@ public final class SchemaUtils { public static Set getRealSchemasForAugment(final DataNodeContainer targetSchema, final AugmentationSchema augmentSchema) { - final Set realChildNodes = Sets.newHashSet(); + final Set realChildNodes = new HashSet<>(); for (final DataSchemaNode dataSchemaNode : augmentSchema.getChildNodes()) { final DataSchemaNode realChild = targetSchema.getDataChildByName(dataSchemaNode.getQName()); realChildNodes.add(realChild); @@ -354,14 +353,14 @@ public final class SchemaUtils { } } - return Optional.absent(); + return Optional.empty(); } public static boolean belongsToCaseAugment(final ChoiceCaseNode caseNode, final AugmentationIdentifier childToProcess) { for (final AugmentationSchema augmentationSchema : caseNode.getAvailableAugmentations()) { - final Set currentAugmentChildNodes = Sets.newHashSet(); + final Set currentAugmentChildNodes = new HashSet<>(); for (final DataSchemaNode dataSchemaNode : augmentationSchema.getChildNodes()) { currentAugmentChildNodes.add(dataSchemaNode.getQName()); } @@ -464,13 +463,13 @@ public final class SchemaUtils { if (node instanceof DataNodeContainer) { child = ((DataNodeContainer) node).getDataChildByName(qname); if (child == null && node instanceof SchemaContext) { - child = tryFindRpc((SchemaContext) node, qname).orNull(); + child = tryFindRpc((SchemaContext) node, qname).orElse(null); } if (child == null && node instanceof NotificationNodeContainer) { - child = tryFindNotification((NotificationNodeContainer) node, qname).orNull(); + child = tryFindNotification((NotificationNodeContainer) node, qname).orElse(null); } if (child == null && node instanceof ActionNodeContainer) { - child = tryFindAction((ActionNodeContainer) node, qname).orNull(); + child = tryFindAction((ActionNodeContainer) node, qname).orElse(null); } } else if (node instanceof ChoiceSchemaNode) { child = ((ChoiceSchemaNode) node).getCaseNodeByName(qname); @@ -516,7 +515,7 @@ public final class SchemaUtils { public static SchemaNode findChildSchemaByQName(final SchemaNode node, final QName qname) { SchemaNode child = findDataChildSchemaByQName(node, qname); if (child == null && node instanceof DataNodeContainer) { - child = tryFindGroupings((DataNodeContainer) node, qname).orNull(); + child = tryFindGroupings((DataNodeContainer) node, qname).orElse(null); } return child; @@ -580,32 +579,28 @@ public final class SchemaUtils { childNodes.add(dataNode); } if (node instanceof DataNodeContainer) { - final SchemaNode groupingNode = tryFindGroupings((DataNodeContainer) node, qname).orNull(); - if (groupingNode != null) { - childNodes.add(groupingNode); - } + tryFindGroupings((DataNodeContainer) node, qname).ifPresent(childNodes::add); } return childNodes.isEmpty() ? Collections.emptyList() : ImmutableList.copyOf(childNodes); } private static Optional tryFindGroupings(final DataNodeContainer dataNodeContainer, final QName qname) { return Optional - .fromNullable(Iterables.find(dataNodeContainer.getGroupings(), new SchemaNodePredicate(qname), null)); + .ofNullable(Iterables.find(dataNodeContainer.getGroupings(), new SchemaNodePredicate(qname), null)); } private static Optional tryFindRpc(final SchemaContext ctx, final QName qname) { - return Optional.fromNullable(Iterables.find(ctx.getOperations(), new SchemaNodePredicate(qname), null)); + return Optional.ofNullable(Iterables.find(ctx.getOperations(), new SchemaNodePredicate(qname), null)); } private static Optional tryFindNotification(final NotificationNodeContainer notificationContanier, final QName qname) { - return Optional.fromNullable( + return Optional.ofNullable( Iterables.find(notificationContanier.getNotifications(), new SchemaNodePredicate(qname), null)); } private static Optional tryFindAction(final ActionNodeContainer actionContanier, final QName qname) { - return Optional.fromNullable(Iterables.find(actionContanier.getActions(), new SchemaNodePredicate(qname), - null)); + return Optional.ofNullable(Iterables.find(actionContanier.getActions(), new SchemaNodePredicate(qname), null)); } private static final class SchemaNodePredicate implements Predicate { diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableChoiceNodeSchemaAwareBuilder.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableChoiceNodeSchemaAwareBuilder.java index 7c50a74d54..6e2e586dfc 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableChoiceNodeSchemaAwareBuilder.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableChoiceNodeSchemaAwareBuilder.java @@ -7,8 +7,9 @@ */ package org.opendaylight.yangtools.yang.data.impl.schema.builder.impl; -import com.google.common.base.Optional; -import com.google.common.base.Preconditions; +import static java.util.Objects.requireNonNull; + +import java.util.Optional; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; import org.opendaylight.yangtools.yang.data.api.schema.ChoiceNode; import org.opendaylight.yangtools.yang.data.api.schema.DataContainerChild; @@ -25,7 +26,7 @@ public class ImmutableChoiceNodeSchemaAwareBuilder extends ImmutableChoiceNodeBu private DataNodeContainerValidator validator; protected ImmutableChoiceNodeSchemaAwareBuilder(final ChoiceSchemaNode schema) { - this.schema = Preconditions.checkNotNull(schema, "Schema was null"); + this.schema = requireNonNull(schema, "Schema was null"); super.withNodeIdentifier(NodeIdentifier.create(schema.getQName())); } diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableLeafSetEntryNodeBuilder.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableLeafSetEntryNodeBuilder.java index 63e4470878..9d70f9a1d8 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableLeafSetEntryNodeBuilder.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableLeafSetEntryNodeBuilder.java @@ -7,7 +7,8 @@ */ package org.opendaylight.yangtools.yang.data.impl.schema.builder.impl; -import com.google.common.base.Preconditions; +import static com.google.common.base.Preconditions.checkArgument; + import java.util.Map; import java.util.Objects; import org.opendaylight.yangtools.yang.common.QName; @@ -33,7 +34,7 @@ public class ImmutableLeafSetEntryNodeBuilder ImmutableLeafSetEntryNode(final NodeWithValue nodeIdentifier, final T value, final Map attributes) { super(nodeIdentifier, value, attributes); - Preconditions.checkArgument(Objects.deepEquals(nodeIdentifier.getValue(), value), + checkArgument(Objects.deepEquals(nodeIdentifier.getValue(), value), "Node identifier contains different value: %s than value itself: %s", nodeIdentifier, value); } } diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableLeafSetEntryNodeSchemaAwareBuilder.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableLeafSetEntryNodeSchemaAwareBuilder.java index d9a7cbc66f..0dc17e921a 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableLeafSetEntryNodeSchemaAwareBuilder.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableLeafSetEntryNodeSchemaAwareBuilder.java @@ -7,7 +7,8 @@ */ package org.opendaylight.yangtools.yang.data.impl.schema.builder.impl; -import com.google.common.base.Preconditions; +import static java.util.Objects.requireNonNull; + import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeWithValue; import org.opendaylight.yangtools.yang.data.api.schema.LeafSetEntryNode; import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.NormalizedNodeAttrBuilder; @@ -18,7 +19,7 @@ public final class ImmutableLeafSetEntryNodeSchemaAwareBuilder extends Immuta private final LeafListSchemaNode schema; private ImmutableLeafSetEntryNodeSchemaAwareBuilder(final LeafListSchemaNode schema) { - this.schema = Preconditions.checkNotNull(schema); + this.schema = requireNonNull(schema); } public static NormalizedNodeAttrBuilder> create( diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableLeafSetNodeBuilder.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableLeafSetNodeBuilder.java index 6c05729de8..3f2609baaa 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableLeafSetNodeBuilder.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableLeafSetNodeBuilder.java @@ -7,12 +7,12 @@ */ package org.opendaylight.yangtools.yang.data.impl.schema.builder.impl; -import com.google.common.base.Optional; import com.google.common.collect.Maps; import java.util.Collection; import java.util.Collections; import java.util.HashMap; import java.util.Map; +import java.util.Optional; import org.opendaylight.yangtools.concepts.Immutable; import org.opendaylight.yangtools.util.MapAdaptor; import org.opendaylight.yangtools.util.UnmodifiableCollection; @@ -126,7 +126,7 @@ public class ImmutableLeafSetNodeBuilder implements ListNodeBuilder> getChild(final NodeWithValue child) { - return Optional.fromNullable(children.get(child)); + return Optional.ofNullable(children.get(child)); } @Override diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableLeafSetNodeSchemaAwareBuilder.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableLeafSetNodeSchemaAwareBuilder.java index 82209f830f..f557369a41 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableLeafSetNodeSchemaAwareBuilder.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableLeafSetNodeSchemaAwareBuilder.java @@ -7,7 +7,9 @@ */ package org.opendaylight.yangtools.yang.data.impl.schema.builder.impl; -import com.google.common.base.Preconditions; +import static com.google.common.base.Preconditions.checkArgument; +import static java.util.Objects.requireNonNull; + import java.util.Collections; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; import org.opendaylight.yangtools.yang.data.api.schema.LeafSetEntryNode; @@ -21,13 +23,13 @@ public final class ImmutableLeafSetNodeSchemaAwareBuilder extends ImmutableLe private final LeafListSchemaNode schema; private ImmutableLeafSetNodeSchemaAwareBuilder(final LeafListSchemaNode schema) { - this.schema = Preconditions.checkNotNull(schema); + this.schema = requireNonNull(schema); super.withNodeIdentifier(new NodeIdentifier(schema.getQName())); } public ImmutableLeafSetNodeSchemaAwareBuilder(final LeafListSchemaNode schema, final ImmutableLeafSetNode node) { super(node); - this.schema = Preconditions.checkNotNull(schema); + this.schema = requireNonNull(schema); // FIXME: Preconditions.checkArgument(schema.getQName().equals(node.getIdentifier())); super.withNodeIdentifier(new NodeIdentifier(schema.getQName())); } @@ -53,7 +55,7 @@ public final class ImmutableLeafSetNodeSchemaAwareBuilder extends ImmutableLe @Override public ListNodeBuilder> withChild(final LeafSetEntryNode child) { - Preconditions.checkArgument(schema.getQName().equals(child.getNodeType()), + checkArgument(schema.getQName().equals(child.getNodeType()), "Incompatible node type, should be: %s, is: %s", schema.getQName(), child.getNodeType()); // TODO check value type using TypeProvider ? DataValidationException.checkLegalChild(schema.getQName().equals(child.getNodeType()), child.getIdentifier(), diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableMapNodeBuilder.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableMapNodeBuilder.java index 783a3b7188..d55c97ffae 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableMapNodeBuilder.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableMapNodeBuilder.java @@ -7,11 +7,11 @@ */ package org.opendaylight.yangtools.yang.data.impl.schema.builder.impl; -import com.google.common.base.Optional; import com.google.common.collect.Maps; import java.util.Collection; import java.util.HashMap; import java.util.Map; +import java.util.Optional; import org.opendaylight.yangtools.concepts.Immutable; import org.opendaylight.yangtools.util.MapAdaptor; import org.opendaylight.yangtools.util.UnmodifiableCollection; @@ -123,7 +123,7 @@ public class ImmutableMapNodeBuilder implements CollectionNodeBuilder getChild(final NodeIdentifierWithPredicates child) { - return Optional.fromNullable(children.get(child)); + return Optional.ofNullable(children.get(child)); } @Override diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableOrderedLeafSetNodeBuilder.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableOrderedLeafSetNodeBuilder.java index dd2fd895cf..77b328af37 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableOrderedLeafSetNodeBuilder.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableOrderedLeafSetNodeBuilder.java @@ -7,12 +7,12 @@ */ package org.opendaylight.yangtools.yang.data.impl.schema.builder.impl; -import com.google.common.base.Optional; import com.google.common.collect.Iterables; import java.util.Collection; import java.util.Collections; import java.util.LinkedHashMap; import java.util.Map; +import java.util.Optional; import org.opendaylight.yangtools.concepts.Immutable; import org.opendaylight.yangtools.util.UnmodifiableCollection; import org.opendaylight.yangtools.yang.common.QName; @@ -125,7 +125,7 @@ public class ImmutableOrderedLeafSetNodeBuilder implements ListNodeBuilder> getChild(final NodeWithValue child) { - return Optional.fromNullable(children.get(child)); + return Optional.ofNullable(children.get(child)); } @Override diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableOrderedLeafSetNodeSchemaAwareBuilder.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableOrderedLeafSetNodeSchemaAwareBuilder.java index d016754ecc..562beecc50 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableOrderedLeafSetNodeSchemaAwareBuilder.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableOrderedLeafSetNodeSchemaAwareBuilder.java @@ -7,8 +7,10 @@ */ package org.opendaylight.yangtools.yang.data.impl.schema.builder.impl; -import com.google.common.base.Preconditions; -import com.google.common.collect.Sets; +import static com.google.common.base.Preconditions.checkArgument; +import static java.util.Objects.requireNonNull; + +import java.util.Collections; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; import org.opendaylight.yangtools.yang.data.api.schema.LeafSetEntryNode; import org.opendaylight.yangtools.yang.data.api.schema.LeafSetNode; @@ -21,14 +23,14 @@ public final class ImmutableOrderedLeafSetNodeSchemaAwareBuilder extends Immu private final LeafListSchemaNode schema; private ImmutableOrderedLeafSetNodeSchemaAwareBuilder(final LeafListSchemaNode schema) { - this.schema = Preconditions.checkNotNull(schema); + this.schema = requireNonNull(schema); super.withNodeIdentifier(new NodeIdentifier(schema.getQName())); } public ImmutableOrderedLeafSetNodeSchemaAwareBuilder(final LeafListSchemaNode schema, final ImmutableOrderedLeafSetNode node) { super(node); - this.schema = Preconditions.checkNotNull(schema); + this.schema = requireNonNull(schema); // FIXME: Preconditions.checkArgument(schema.getQName().equals(node.getIdentifier())); super.withNodeIdentifier(new NodeIdentifier(schema.getQName())); } @@ -54,11 +56,11 @@ public final class ImmutableOrderedLeafSetNodeSchemaAwareBuilder extends Immu @Override public ListNodeBuilder> withChild(final LeafSetEntryNode child) { - Preconditions.checkArgument(schema.getQName().equals(child.getNodeType()), - "Incompatible node type, should be: %s, is: %s", schema.getQName(), child.getNodeType()); + checkArgument(schema.getQName().equals(child.getNodeType()), "Incompatible node type, should be: %s, is: %s", + schema.getQName(), child.getNodeType()); // TODO check value type using TypeProvider ? DataValidationException.checkLegalChild(schema.getQName().equals(child.getNodeType()), child.getIdentifier(), - schema, Sets.newHashSet(schema.getQName())); + schema, Collections.singleton(schema.getQName())); return super.withChild(child); } diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableOrderedMapNodeBuilder.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableOrderedMapNodeBuilder.java index c95be10d42..5f6232e3ac 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableOrderedMapNodeBuilder.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableOrderedMapNodeBuilder.java @@ -7,11 +7,11 @@ */ package org.opendaylight.yangtools.yang.data.impl.schema.builder.impl; -import com.google.common.base.Optional; import com.google.common.collect.Iterables; import java.util.Collection; import java.util.LinkedHashMap; import java.util.Map; +import java.util.Optional; import org.opendaylight.yangtools.concepts.Immutable; import org.opendaylight.yangtools.util.UnmodifiableCollection; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; @@ -137,7 +137,7 @@ public class ImmutableOrderedMapNodeBuilder implements CollectionNodeBuilder getChild(final NodeIdentifierWithPredicates child) { - return Optional.fromNullable(children.get(child)); + return Optional.ofNullable(children.get(child)); } @Override diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/nodes/AbstractImmutableDataContainerNode.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/nodes/AbstractImmutableDataContainerNode.java index aad07e89e2..72fe3197bf 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/nodes/AbstractImmutableDataContainerNode.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/nodes/AbstractImmutableDataContainerNode.java @@ -7,9 +7,9 @@ */ package org.opendaylight.yangtools.yang.data.impl.schema.nodes; -import com.google.common.base.Optional; import java.util.Collection; import java.util.Map; +import java.util.Optional; import org.opendaylight.yangtools.concepts.Immutable; import org.opendaylight.yangtools.util.ImmutableOffsetMap; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; @@ -30,7 +30,7 @@ public abstract class AbstractImmutableDataContainerNode @Override public final Optional> getChild(final PathArgument child) { - return Optional.fromNullable(children.get(child)); + return Optional.ofNullable(children.get(child)); } @Override diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AbstractAvailableLeafCandidateNode.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AbstractAvailableLeafCandidateNode.java index 8b8d650c32..8bff7e0aac 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AbstractAvailableLeafCandidateNode.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AbstractAvailableLeafCandidateNode.java @@ -7,7 +7,7 @@ */ package org.opendaylight.yangtools.yang.data.impl.schema.tree; -import com.google.common.base.Optional; +import java.util.Optional; import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AbstractDataNodeContainerModificationStrategy.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AbstractDataNodeContainerModificationStrategy.java index ec05117bec..4fd177a2c7 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AbstractDataNodeContainerModificationStrategy.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AbstractDataNodeContainerModificationStrategy.java @@ -7,12 +7,12 @@ */ package org.opendaylight.yangtools.yang.data.impl.schema.tree; -import com.google.common.base.Optional; import com.google.common.base.Preconditions; import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheLoader; import com.google.common.cache.LoadingCache; import com.google.common.util.concurrent.UncheckedExecutionException; +import java.util.Optional; import java.util.concurrent.ExecutionException; import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.AugmentationIdentifier; @@ -67,11 +67,11 @@ abstract class AbstractDataNodeContainerModificationStrategy getChild(final PathArgument identifier) { try { - return Optional.fromNullable(childCache.get(identifier)); + return Optional.ofNullable(childCache.get(identifier)); } catch (ExecutionException | UncheckedExecutionException e) { LOG.trace("Child {} not present in container schema {} children {}", identifier, this, schema.getChildNodes(), e.getCause()); - return Optional.absent(); + return Optional.empty(); } } diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AbstractDataTreeCandidateNode.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AbstractDataTreeCandidateNode.java index 37afe6595f..15d4c87211 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AbstractDataTreeCandidateNode.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AbstractDataTreeCandidateNode.java @@ -7,11 +7,11 @@ */ package org.opendaylight.yangtools.yang.data.impl.schema.tree; -import com.google.common.base.Optional; import com.google.common.base.Preconditions; import com.google.common.collect.Collections2; import java.util.ArrayList; import java.util.Collection; +import java.util.Optional; import javax.annotation.Nonnull; import javax.annotation.Nullable; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; @@ -23,7 +23,7 @@ abstract class AbstractDataTreeCandidateNode implements DataTreeCandidateNode { private static Optional> getChild( final NormalizedNodeContainer> container, final PathArgument identifier) { - return container == null ? Optional.absent() : container.getChild(identifier); + return container == null ? Optional.empty() : container.getChild(identifier); } static DataTreeCandidateNode deltaChild( diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AbstractDataTreeTip.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AbstractDataTreeTip.java index 6e7c9be6c1..c0ded40a8a 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AbstractDataTreeTip.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AbstractDataTreeTip.java @@ -7,8 +7,8 @@ */ package org.opendaylight.yangtools.yang.data.impl.schema.tree; -import com.google.common.base.Optional; import com.google.common.base.Preconditions; +import java.util.Optional; import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidateTip; diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AbstractLeafCandidateNode.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AbstractLeafCandidateNode.java index 5123ed2989..49d95b2a93 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AbstractLeafCandidateNode.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AbstractLeafCandidateNode.java @@ -7,10 +7,10 @@ */ package org.opendaylight.yangtools.yang.data.impl.schema.tree; -import com.google.common.base.Optional; import com.google.common.base.Preconditions; import java.util.Collection; import java.util.Collections; +import java.util.Optional; import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AbstractModifiedNodeBasedCandidateNode.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AbstractModifiedNodeBasedCandidateNode.java index 80d63ba83f..7b2e106dea 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AbstractModifiedNodeBasedCandidateNode.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AbstractModifiedNodeBasedCandidateNode.java @@ -6,12 +6,14 @@ * and is available at http://www.eclipse.org/legal/epl-v10.html */ package org.opendaylight.yangtools.yang.data.impl.schema.tree; -import com.google.common.base.Optional; -import com.google.common.base.Preconditions; -import com.google.common.base.Verify; + +import static com.google.common.base.Verify.verifyNotNull; +import static java.util.Objects.requireNonNull; + import com.google.common.collect.Collections2; import com.google.common.collect.ImmutableList; import java.util.Collection; +import java.util.Optional; import javax.annotation.Nonnull; import javax.annotation.Nullable; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; @@ -30,7 +32,7 @@ abstract class AbstractModifiedNodeBasedCandidateNode implements DataTreeCandida final TreeNode newMeta) { this.newMeta = newMeta; this.oldMeta = oldMeta; - this.mod = Preconditions.checkNotNull(mod); + this.mod = requireNonNull(mod); } protected final ModifiedNode getMod() { @@ -46,7 +48,7 @@ abstract class AbstractModifiedNodeBasedCandidateNode implements DataTreeCandida } private static TreeNode childMeta(final TreeNode parent, final PathArgument id) { - return parent == null ? null : parent.getChild(id).orNull(); + return parent == null ? null : parent.getChild(id).orElse(null); } private static boolean canHaveChildren(@Nullable final TreeNode oldMeta, @Nullable final TreeNode newMeta) { @@ -103,11 +105,11 @@ abstract class AbstractModifiedNodeBasedCandidateNode implements DataTreeCandida @Override @Nonnull public ModificationType getModificationType() { - return Verify.verifyNotNull(mod.getModificationType(), "Node %s does not have resolved modification type", mod); + return verifyNotNull(mod.getModificationType(), "Node %s does not have resolved modification type", mod); } private static Optional> optionalData(final TreeNode meta) { - return meta == null ? Optional.absent() : Optional.of(meta.getData()); + return meta == null ? Optional.empty() : Optional.of(meta.getData()); } @Override diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AbstractNodeContainerModificationStrategy.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AbstractNodeContainerModificationStrategy.java index f7c3789ba5..6b2c922b16 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AbstractNodeContainerModificationStrategy.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AbstractNodeContainerModificationStrategy.java @@ -9,10 +9,10 @@ package org.opendaylight.yangtools.yang.data.impl.schema.tree; import static com.google.common.base.Preconditions.checkArgument; -import com.google.common.base.Optional; import com.google.common.base.Preconditions; import com.google.common.base.Verify; import java.util.Collection; +import java.util.Optional; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AbstractReadyIterator.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AbstractReadyIterator.java index 4ded53408f..160ce6609d 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AbstractReadyIterator.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AbstractReadyIterator.java @@ -7,10 +7,12 @@ */ package org.opendaylight.yangtools.yang.data.impl.schema.tree; -import com.google.common.base.Optional; -import com.google.common.base.Preconditions; +import static com.google.common.base.Preconditions.checkState; +import static java.util.Objects.requireNonNull; + import java.util.Collection; import java.util.Iterator; +import java.util.Optional; import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.Version; abstract class AbstractReadyIterator { @@ -20,9 +22,9 @@ abstract class AbstractReadyIterator { private AbstractReadyIterator(final ModifiedNode node, final Iterator children, final ModificationApplyOperation operation) { - this.children = Preconditions.checkNotNull(children); - this.node = Preconditions.checkNotNull(node); - this.op = Preconditions.checkNotNull(operation); + this.children = requireNonNull(children); + this.node = requireNonNull(node); + this.op = requireNonNull(operation); } static AbstractReadyIterator create(final ModifiedNode root, final ModificationApplyOperation operation) { @@ -36,8 +38,7 @@ abstract class AbstractReadyIterator { while (children.hasNext()) { final ModifiedNode child = children.next(); final Optional childOperation = op.getChild(child.getIdentifier()); - Preconditions.checkState(childOperation.isPresent(), "Schema for child %s is not present.", - child.getIdentifier()); + checkState(childOperation.isPresent(), "Schema for child %s is not present.", child.getIdentifier()); final Collection grandChildren = child.getChildren(); final ModificationApplyOperation childOp = childOperation.get(); @@ -74,7 +75,7 @@ abstract class AbstractReadyIterator { private NestedReadyIterator(final AbstractReadyIterator parent, final ModifiedNode node, final Iterator children, final ModificationApplyOperation operation) { super(node, children, operation); - this.parent = Preconditions.checkNotNull(parent); + this.parent = requireNonNull(parent); } @Override diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AbstractRecursiveCandidateNode.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AbstractRecursiveCandidateNode.java index 41f17098c7..b37fcfacf4 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AbstractRecursiveCandidateNode.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AbstractRecursiveCandidateNode.java @@ -7,9 +7,9 @@ */ package org.opendaylight.yangtools.yang.data.impl.schema.tree; -import com.google.common.base.Optional; import com.google.common.collect.Collections2; import java.util.Collection; +import java.util.Optional; import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AbstractValueNodeModificationStrategy.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AbstractValueNodeModificationStrategy.java index b725c0b0f4..f7ff505d3b 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AbstractValueNodeModificationStrategy.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AbstractValueNodeModificationStrategy.java @@ -9,8 +9,8 @@ package org.opendaylight.yangtools.yang.data.impl.schema.tree; import static com.google.common.base.Preconditions.checkArgument; -import com.google.common.base.Optional; import com.google.common.base.Preconditions; +import java.util.Optional; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AlwaysFailOperation.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AlwaysFailOperation.java index 42bef4314a..8463c836e8 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AlwaysFailOperation.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AlwaysFailOperation.java @@ -7,7 +7,7 @@ */ package org.opendaylight.yangtools.yang.data.impl.schema.tree; -import com.google.common.base.Optional; +import java.util.Optional; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; @@ -60,7 +60,7 @@ final class AlwaysFailOperation extends ModificationApplyOperation { } @Override - void recursivelyVerifyStructure(NormalizedNode value) { + void recursivelyVerifyStructure(final NormalizedNode value) { throw new IllegalStateException("Schema Context is not available."); } } \ No newline at end of file diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/ChoiceModificationStrategy.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/ChoiceModificationStrategy.java index d9fa169482..4da2e58c6a 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/ChoiceModificationStrategy.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/ChoiceModificationStrategy.java @@ -9,7 +9,6 @@ package org.opendaylight.yangtools.yang.data.impl.schema.tree; import static com.google.common.base.Preconditions.checkArgument; -import com.google.common.base.Optional; import com.google.common.base.Preconditions; import com.google.common.base.Predicates; import com.google.common.base.Verify; @@ -21,6 +20,7 @@ import java.util.Collection; import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; +import java.util.Optional; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.AugmentationIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; @@ -75,7 +75,7 @@ final class ChoiceModificationStrategy extends AbstractNodeContainerModification @Override public Optional getChild(final PathArgument child) { - return Optional.fromNullable(childNodes.get(child)); + return Optional.ofNullable(childNodes.get(child)); } @Override @@ -113,7 +113,7 @@ final class ChoiceModificationStrategy extends AbstractNodeContainerModification id); Preconditions.checkArgument(!maybeChild.isPresent(), "Child %s (from case %s) implies non-presence of child %s (from case %s), which is %s", - firstChild.getIdentifier(), enforcer, id, other, maybeChild.orNull()); + firstChild.getIdentifier(), enforcer, id, other, maybeChild.orElse(null)); } } diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/DeleteLeafCandidateNode.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/DeleteLeafCandidateNode.java index 5e685c3737..72036fbbdb 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/DeleteLeafCandidateNode.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/DeleteLeafCandidateNode.java @@ -7,7 +7,7 @@ */ package org.opendaylight.yangtools.yang.data.impl.schema.tree; -import com.google.common.base.Optional; +import java.util.Optional; import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; import org.opendaylight.yangtools.yang.data.api.schema.tree.ModificationType; @@ -26,7 +26,7 @@ final class DeleteLeafCandidateNode extends AbstractLeafCandidateNode { @Override @Nonnull public Optional> getDataAfter() { - return Optional.absent(); + return Optional.empty(); } @Override @@ -34,4 +34,4 @@ final class DeleteLeafCandidateNode extends AbstractLeafCandidateNode { public Optional> getDataBefore() { return dataOptional(); } -} \ No newline at end of file +} diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/InMemoryDataTreeModification.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/InMemoryDataTreeModification.java index 02e062add7..049cc3f340 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/InMemoryDataTreeModification.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/InMemoryDataTreeModification.java @@ -7,10 +7,10 @@ */ package org.opendaylight.yangtools.yang.data.impl.schema.tree; -import com.google.common.base.Optional; import com.google.common.base.Preconditions; import java.util.Collection; import java.util.Map.Entry; +import java.util.Optional; import java.util.concurrent.atomic.AtomicIntegerFieldUpdater; import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; @@ -102,7 +102,7 @@ final class InMemoryDataTreeModification extends AbstractCursorAware implements return NormalizedNodes.findNode(key, data, path); } - return Optional.absent(); + return Optional.empty(); } @SuppressWarnings("checkstyle:illegalCatch") diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/InMemoryDataTreeModificationCursor.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/InMemoryDataTreeModificationCursor.java index 9301ec9a1e..35dbceb711 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/InMemoryDataTreeModificationCursor.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/InMemoryDataTreeModificationCursor.java @@ -7,13 +7,15 @@ */ package org.opendaylight.yangtools.yang.data.impl.schema.tree; -import com.google.common.base.Optional; -import com.google.common.base.Preconditions; +import static com.google.common.base.Preconditions.checkArgument; +import static com.google.common.base.Preconditions.checkState; + import java.util.ArrayDeque; import java.util.ArrayList; import java.util.Collection; import java.util.Deque; import java.util.Iterator; +import java.util.Optional; import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; @@ -83,8 +85,8 @@ final class InMemoryDataTreeModificationCursor extends AbstractCursor= 0); - Preconditions.checkState(depth < stack.size()); + checkArgument(depth >= 0); + checkState(depth < stack.size()); for (int i = 0; i < depth; i++) { stack.pop(); diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/InMemoryDataTreeSnapshot.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/InMemoryDataTreeSnapshot.java index 460415a6ce..7cc443281c 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/InMemoryDataTreeSnapshot.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/InMemoryDataTreeSnapshot.java @@ -7,8 +7,10 @@ */ package org.opendaylight.yangtools.yang.data.impl.schema.tree; -import com.google.common.base.Optional; -import com.google.common.base.Preconditions; +import static com.google.common.base.Preconditions.checkArgument; +import static java.util.Objects.requireNonNull; + +import java.util.Optional; import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; @@ -26,9 +28,9 @@ final class InMemoryDataTreeSnapshot extends AbstractCursorAware implements Curs InMemoryDataTreeSnapshot(final SchemaContext schemaContext, final TreeNode rootNode, final RootModificationApplyOperation applyOper) { - this.schemaContext = Preconditions.checkNotNull(schemaContext); - this.rootNode = Preconditions.checkNotNull(rootNode); - this.applyOper = Preconditions.checkNotNull(applyOper); + this.schemaContext = requireNonNull(schemaContext); + this.rootNode = requireNonNull(rootNode); + this.applyOper = requireNonNull(applyOper); } TreeNode getRootNode() { @@ -57,7 +59,7 @@ final class InMemoryDataTreeSnapshot extends AbstractCursorAware implements Curs } final NormalizedNode root = maybeRoot.get(); - Preconditions.checkArgument(root instanceof NormalizedNodeContainer, "Child %s is not a container", path); + checkArgument(root instanceof NormalizedNodeContainer, "Child %s is not a container", path); return openCursor(new InMemoryDataTreeSnapshotCursor(this, path, (NormalizedNodeContainer)root)); } @@ -65,4 +67,4 @@ final class InMemoryDataTreeSnapshot extends AbstractCursorAware implements Curs public String toString() { return rootNode.getSubtreeVersion().toString(); } -} \ No newline at end of file +} diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/InMemoryDataTreeSnapshotCursor.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/InMemoryDataTreeSnapshotCursor.java index ed5eaf27c2..e70fa34701 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/InMemoryDataTreeSnapshotCursor.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/InMemoryDataTreeSnapshotCursor.java @@ -7,10 +7,12 @@ */ package org.opendaylight.yangtools.yang.data.impl.schema.tree; -import com.google.common.base.Optional; -import com.google.common.base.Preconditions; +import static com.google.common.base.Preconditions.checkArgument; +import static com.google.common.base.Preconditions.checkState; + import java.util.ArrayDeque; import java.util.Deque; +import java.util.Optional; import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; @@ -30,10 +32,10 @@ final class InMemoryDataTreeSnapshotCursor extends AbstractCursor> maybeChildNode = NormalizedNodes.getDirectChild(stack.peek(), child); - Preconditions.checkArgument(maybeChildNode.isPresent(), "Child %s not found", child); + checkArgument(maybeChildNode.isPresent(), "Child %s not found", child); final NormalizedNode childNode = maybeChildNode.get(); - Preconditions.checkArgument(childNode instanceof NormalizedNodeContainer, "Child %s is not a container", child); + checkArgument(childNode instanceof NormalizedNodeContainer, "Child %s is not a container", child); stack.push((NormalizedNodeContainer) childNode); } @@ -41,10 +43,10 @@ final class InMemoryDataTreeSnapshotCursor extends AbstractCursor path) { final Optional> maybeChildNode = NormalizedNodes.findNode(stack.peek(), path); - Preconditions.checkArgument(maybeChildNode.isPresent(), "Child %s not found", path); + checkArgument(maybeChildNode.isPresent(), "Child %s not found", path); final NormalizedNode childNode = maybeChildNode.get(); - Preconditions.checkArgument(childNode instanceof NormalizedNodeContainer, "Child %s is not a container", path); + checkArgument(childNode instanceof NormalizedNodeContainer, "Child %s is not a container", path); int depth = 0; for (PathArgument arg : path) { @@ -63,8 +65,8 @@ final class InMemoryDataTreeSnapshotCursor extends AbstractCursor= 0); - Preconditions.checkState(depth < stack.size()); + checkArgument(depth >= 0); + checkState(depth < stack.size()); for (int i = 0; i < depth; ++i) { stack.pop(); diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/ListEntryModificationStrategy.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/ListEntryModificationStrategy.java index 2c667914ed..d64442ba57 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/ListEntryModificationStrategy.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/ListEntryModificationStrategy.java @@ -9,7 +9,7 @@ package org.opendaylight.yangtools.yang.data.impl.schema.tree; import static com.google.common.base.Preconditions.checkArgument; -import com.google.common.base.Optional; +import java.util.Optional; import org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeConfiguration; diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/MandatoryLeafEnforcer.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/MandatoryLeafEnforcer.java index d2d6a893d6..34857a2f3c 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/MandatoryLeafEnforcer.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/MandatoryLeafEnforcer.java @@ -7,11 +7,11 @@ */ package org.opendaylight.yangtools.yang.data.impl.schema.tree; -import com.google.common.base.Optional; import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableCollection.Builder; import com.google.common.collect.ImmutableList; import java.util.Collection; +import java.util.Optional; import org.opendaylight.yangtools.concepts.Immutable; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/MinMaxElementsValidation.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/MinMaxElementsValidation.java index 14c08f0be9..d8e5be6f2f 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/MinMaxElementsValidation.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/MinMaxElementsValidation.java @@ -8,9 +8,9 @@ package org.opendaylight.yangtools.yang.data.impl.schema.tree; -import com.google.common.base.Optional; import com.google.common.base.Preconditions; import com.google.common.base.Verify; +import java.util.Optional; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; @@ -40,7 +40,7 @@ final class MinMaxElementsValidation extends SchemaAwareApplyOperation { static SchemaAwareApplyOperation from(final SchemaAwareApplyOperation delegate, final DataSchemaNode schema) { final ConstraintDefinition constraints = schema.getConstraints(); - if (constraints == null || (constraints.getMinElements() == null && constraints.getMaxElements() == null)) { + if (constraints == null || constraints.getMinElements() == null && constraints.getMaxElements() == null) { return delegate; } return new MinMaxElementsValidation(delegate, constraints.getMinElements(), constraints.getMaxElements()); @@ -176,7 +176,7 @@ final class MinMaxElementsValidation extends SchemaAwareApplyOperation { } @Override - void recursivelyVerifyStructure(NormalizedNode value) { + void recursivelyVerifyStructure(final NormalizedNode value) { delegate.recursivelyVerifyStructure(value); } } diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/ModificationApplyOperation.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/ModificationApplyOperation.java index 59d0d28133..0f750c9d70 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/ModificationApplyOperation.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/ModificationApplyOperation.java @@ -7,7 +7,7 @@ */ package org.opendaylight.yangtools.yang.data.impl.schema.tree; -import com.google.common.base.Optional; +import java.util.Optional; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/ModifiedNode.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/ModifiedNode.java index 550b525586..5456380cc5 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/ModifiedNode.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/ModifiedNode.java @@ -7,11 +7,12 @@ */ package org.opendaylight.yangtools.yang.data.impl.schema.tree; -import com.google.common.base.Optional; -import com.google.common.base.Preconditions; -import com.google.common.base.Predicate; +import static java.util.Objects.requireNonNull; + import java.util.Collection; import java.util.Map; +import java.util.Optional; +import java.util.function.Predicate; import javax.annotation.Nonnull; import javax.annotation.concurrent.NotThreadSafe; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; @@ -40,7 +41,7 @@ import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.Version; @NotThreadSafe final class ModifiedNode extends NodeModification implements StoreTreeNode { static final Predicate IS_TERMINAL_PREDICATE = input -> { - Preconditions.checkNotNull(input); + requireNonNull(input); switch (input.getOperation()) { case DELETE: case MERGE: @@ -111,11 +112,11 @@ final class ModifiedNode extends NodeModification implements StoreTreeNode getChild(final PathArgument child) { - return Optional.fromNullable(children.get(child)); + return Optional.ofNullable(children.get(child)); } private Optional metadataFromSnapshot(@Nonnull final PathArgument child) { - return original.isPresent() ? original.get().getChild(child) : Optional.absent(); + return original.isPresent() ? original.get().getChild(child) : Optional.empty(); } private Optional metadataFromData(@Nonnull final PathArgument child, final Version modVersion) { @@ -142,7 +143,7 @@ final class ModifiedNode extends NodeModification implements StoreTreeNode setSnapshot(final Optional snapshot) { - snapshotCache = Preconditions.checkNotNull(snapshot); + snapshotCache = requireNonNull(snapshot); return snapshot; } @@ -325,7 +326,7 @@ final class ModifiedNode extends NodeModification implements StoreTreeNode value) { - this.value = Preconditions.checkNotNull(value); + this.value = requireNonNull(value); updateOperationType(type); } @@ -346,9 +347,9 @@ final class ModifiedNode extends NodeModification implements StoreTreeNode current, final TreeNode node) { - this.validatedOp = Preconditions.checkNotNull(op); - this.validatedCurrent = Preconditions.checkNotNull(current); - this.validatedNode = Preconditions.checkNotNull(node); + this.validatedOp = requireNonNull(op); + this.validatedCurrent = requireNonNull(current); + this.validatedNode = requireNonNull(node); } TreeNode getValidatedNode(final SchemaAwareApplyOperation op, final Optional current) { diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/NodeModification.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/NodeModification.java index 225a931ec0..f56ae4a891 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/NodeModification.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/NodeModification.java @@ -7,8 +7,8 @@ */ package org.opendaylight.yangtools.yang.data.impl.schema.tree; -import com.google.common.base.Optional; import java.util.Collection; +import java.util.Optional; import org.opendaylight.yangtools.concepts.Identifiable; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.TreeNode; diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/NoopDataTreeCandidate.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/NoopDataTreeCandidate.java index df179d09e9..392ec48f52 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/NoopDataTreeCandidate.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/NoopDataTreeCandidate.java @@ -7,10 +7,10 @@ */ package org.opendaylight.yangtools.yang.data.impl.schema.tree; -import com.google.common.base.Optional; import com.google.common.base.Preconditions; import java.util.Collection; import java.util.Collections; +import java.util.Optional; import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; @@ -47,13 +47,13 @@ final class NoopDataTreeCandidate extends AbstractDataTreeCandidate { @Override @Nonnull public Optional> getDataAfter() { - return Optional.absent(); + return Optional.empty(); } @Override @Nonnull public Optional> getDataBefore() { - return Optional.absent(); + return Optional.empty(); } @Override diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/OperationWithModification.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/OperationWithModification.java index f5e9482f6f..d710c4d0b4 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/OperationWithModification.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/OperationWithModification.java @@ -7,8 +7,8 @@ */ package org.opendaylight.yangtools.yang.data.impl.schema.tree; -import com.google.common.base.Optional; import com.google.common.base.Preconditions; +import java.util.Optional; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.TreeNode; @@ -65,7 +65,7 @@ final class OperationWithModification { snapshot = applyOperation.getChild(child).get().apply(childNode, childNode.getOriginal(), version); } - return snapshot.transform(TreeNode::getData); + return snapshot.map(TreeNode::getData); } Optional snapshot = modification.getSnapshot(); @@ -74,10 +74,10 @@ final class OperationWithModification { } if (snapshot.isPresent()) { - return snapshot.get().getChild(child).transform(TreeNode::getData); + return snapshot.get().getChild(child).map(TreeNode::getData); } - return Optional.absent(); + return Optional.empty(); } public ModifiedNode getModification() { diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/OrderedLeafSetModificationStrategy.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/OrderedLeafSetModificationStrategy.java index f58cf4b672..637b8446da 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/OrderedLeafSetModificationStrategy.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/OrderedLeafSetModificationStrategy.java @@ -9,8 +9,9 @@ package org.opendaylight.yangtools.yang.data.impl.schema.tree; import static com.google.common.base.Preconditions.checkArgument; -import com.google.common.base.Optional; -import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; +import java.util.Optional; +import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeWithValue; +import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; import org.opendaylight.yangtools.yang.data.api.schema.LeafSetNode; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; import org.opendaylight.yangtools.yang.data.api.schema.OrderedLeafSetNode; @@ -48,10 +49,7 @@ final class OrderedLeafSetModificationStrategy extends AbstractNodeContainerModi } @Override - public Optional getChild(final YangInstanceIdentifier.PathArgument identifier) { - if (identifier instanceof YangInstanceIdentifier.NodeWithValue) { - return entryStrategy; - } - return Optional.absent(); + public Optional getChild(final PathArgument identifier) { + return identifier instanceof NodeWithValue ? entryStrategy : Optional.empty(); } } \ No newline at end of file diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/OrderedMapModificationStrategy.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/OrderedMapModificationStrategy.java index d3e262e619..67b3ce6fe5 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/OrderedMapModificationStrategy.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/OrderedMapModificationStrategy.java @@ -10,8 +10,9 @@ package org.opendaylight.yangtools.yang.data.impl.schema.tree; import static com.google.common.base.Preconditions.checkArgument; -import com.google.common.base.Optional; -import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; +import java.util.Optional; +import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates; +import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; import org.opendaylight.yangtools.yang.data.api.schema.OrderedMapNode; import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeConfiguration; @@ -47,11 +48,8 @@ final class OrderedMapModificationStrategy extends AbstractNodeContainerModifica } @Override - public Optional getChild(final YangInstanceIdentifier.PathArgument identifier) { - if (identifier instanceof YangInstanceIdentifier.NodeIdentifierWithPredicates) { - return entryStrategy; - } - return Optional.absent(); + public Optional getChild(final PathArgument identifier) { + return identifier instanceof NodeIdentifierWithPredicates ? entryStrategy : Optional.empty(); } @Override diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/PresenceContainerModificationStrategy.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/PresenceContainerModificationStrategy.java index 7faca35ea4..578c50de24 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/PresenceContainerModificationStrategy.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/PresenceContainerModificationStrategy.java @@ -8,7 +8,7 @@ package org.opendaylight.yangtools.yang.data.impl.schema.tree; -import com.google.common.base.Optional; +import java.util.Optional; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeConfiguration; import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.TreeNode; diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/RecursiveDeleteCandidateNode.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/RecursiveDeleteCandidateNode.java index 4555e7b910..f4a068f96b 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/RecursiveDeleteCandidateNode.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/RecursiveDeleteCandidateNode.java @@ -7,7 +7,7 @@ */ package org.opendaylight.yangtools.yang.data.impl.schema.tree; -import com.google.common.base.Optional; +import java.util.Optional; import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; @@ -35,7 +35,7 @@ final class RecursiveDeleteCandidateNode extends AbstractRecursiveCandidateNode @Override @Nonnull public Optional> getDataAfter() { - return Optional.absent(); + return Optional.empty(); } @Nonnull @@ -48,4 +48,4 @@ final class RecursiveDeleteCandidateNode extends AbstractRecursiveCandidateNode DataTreeCandidateNode createLeaf(final NormalizedNode childData) { return new DeleteLeafCandidateNode(childData); } -} \ No newline at end of file +} diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/RecursiveReplaceCandidateNode.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/RecursiveReplaceCandidateNode.java index 0f44ccf81e..fb39da0789 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/RecursiveReplaceCandidateNode.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/RecursiveReplaceCandidateNode.java @@ -8,9 +8,10 @@ package org.opendaylight.yangtools.yang.data.impl.schema.tree; -import com.google.common.base.Optional; -import com.google.common.base.Preconditions; +import static java.util.Objects.requireNonNull; + import java.util.Collection; +import java.util.Optional; import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; @@ -24,7 +25,7 @@ final class RecursiveReplaceCandidateNode extends AbstractDataTreeCandidateNode RecursiveReplaceCandidateNode(final NormalizedNodeContainer> oldData, final NormalizedNodeContainer> newData) { super(newData); - this.oldData = Preconditions.checkNotNull(oldData); + this.oldData = requireNonNull(oldData); } @Override diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/RecursiveUnmodifiedCandidateNode.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/RecursiveUnmodifiedCandidateNode.java index 41be09ff2b..a51b708bd6 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/RecursiveUnmodifiedCandidateNode.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/RecursiveUnmodifiedCandidateNode.java @@ -7,7 +7,7 @@ */ package org.opendaylight.yangtools.yang.data.impl.schema.tree; -import com.google.common.base.Optional; +import java.util.Optional; import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/RecursiveWriteCandidateNode.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/RecursiveWriteCandidateNode.java index a90190a6ac..87e903e31d 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/RecursiveWriteCandidateNode.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/RecursiveWriteCandidateNode.java @@ -7,7 +7,7 @@ */ package org.opendaylight.yangtools.yang.data.impl.schema.tree; -import com.google.common.base.Optional; +import java.util.Optional; import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; @@ -47,6 +47,6 @@ final class RecursiveWriteCandidateNode extends AbstractRecursiveCandidateNode { @Override @Nonnull public Optional> getDataBefore() { - return Optional.absent(); + return Optional.empty(); } -} \ No newline at end of file +} diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/ReplaceLeafCandidateNode.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/ReplaceLeafCandidateNode.java index b666456f95..3abef50893 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/ReplaceLeafCandidateNode.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/ReplaceLeafCandidateNode.java @@ -7,8 +7,9 @@ */ package org.opendaylight.yangtools.yang.data.impl.schema.tree; -import com.google.common.base.Optional; -import com.google.common.base.Preconditions; +import static java.util.Objects.requireNonNull; + +import java.util.Optional; import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; @@ -17,7 +18,7 @@ final class ReplaceLeafCandidateNode extends AbstractWriteCandidate { ReplaceLeafCandidateNode(final NormalizedNode oldData, final NormalizedNode newData) { super(newData); - this.oldData = Preconditions.checkNotNull(oldData); + this.oldData = requireNonNull(oldData); } @Nonnull diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/RootModificationApplyOperation.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/RootModificationApplyOperation.java index ff84f3c25f..a300c88502 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/RootModificationApplyOperation.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/RootModificationApplyOperation.java @@ -7,7 +7,7 @@ */ package org.opendaylight.yangtools.yang.data.impl.schema.tree; -import com.google.common.base.Optional; +import java.util.Optional; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/SchemaAwareApplyOperation.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/SchemaAwareApplyOperation.java index 9d4cb604f8..88ea70f22d 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/SchemaAwareApplyOperation.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/SchemaAwareApplyOperation.java @@ -7,9 +7,9 @@ */ package org.opendaylight.yangtools.yang.data.impl.schema.tree; -import com.google.common.base.Optional; import com.google.common.base.Preconditions; import java.util.List; +import java.util.Optional; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.AugmentationIdentifier; @@ -47,6 +47,7 @@ abstract class SchemaAwareApplyOperation extends ModificationApplyOperation { if (containerSchema.isPresenceContainer()) { return new PresenceContainerModificationStrategy(containerSchema, treeConfig); } + return new StructuralContainerModificationStrategy(containerSchema, treeConfig); } else if (schemaNode instanceof ListSchemaNode) { return fromListSchemaNode((ListSchemaNode) schemaNode, treeConfig); @@ -202,7 +203,7 @@ abstract class SchemaAwareApplyOperation extends ModificationApplyOperation { // Deletion of a non-existing node is a no-op, report it as such modification.resolveModificationType(currentMeta.isPresent() ? ModificationType.DELETE : ModificationType.UNMODIFIED); - return modification.setSnapshot(Optional.absent()); + return modification.setSnapshot(Optional.empty()); case TOUCH: Preconditions.checkArgument(currentMeta.isPresent(), "Metadata not available for modification %s", modification); diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/StructuralContainerModificationStrategy.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/StructuralContainerModificationStrategy.java index c1bc659085..7bb23b8d1c 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/StructuralContainerModificationStrategy.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/StructuralContainerModificationStrategy.java @@ -7,7 +7,7 @@ */ package org.opendaylight.yangtools.yang.data.impl.schema.tree; -import com.google.common.base.Optional; +import java.util.Optional; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode; @@ -85,7 +85,7 @@ final class StructuralContainerModificationStrategy extends ModificationApplyOpe */ if (((NormalizedNodeContainer) ret.get().getData()).getValue().isEmpty()) { modification.resolveModificationType(ModificationType.DISAPPEARED); - return Optional.absent(); + return Optional.empty(); } return ret; diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/UnkeyedListModificationStrategy.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/UnkeyedListModificationStrategy.java index 86c481e830..cf236aa121 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/UnkeyedListModificationStrategy.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/UnkeyedListModificationStrategy.java @@ -7,7 +7,7 @@ */ package org.opendaylight.yangtools.yang.data.impl.schema.tree; -import com.google.common.base.Optional; +import java.util.Optional; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; @@ -114,10 +114,7 @@ final class UnkeyedListModificationStrategy extends SchemaAwareApplyOperation { @Override public Optional getChild(final PathArgument child) { - if (child instanceof NodeIdentifier) { - return entryStrategy; - } - return Optional.absent(); + return child instanceof NodeIdentifier ? entryStrategy : Optional.empty(); } @Override diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/UnmodifiedLeafCandidateNode.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/UnmodifiedLeafCandidateNode.java index 880d613912..838bbd9c8d 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/UnmodifiedLeafCandidateNode.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/UnmodifiedLeafCandidateNode.java @@ -7,7 +7,7 @@ */ package org.opendaylight.yangtools.yang.data.impl.schema.tree; -import com.google.common.base.Optional; +import java.util.Optional; import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; import org.opendaylight.yangtools.yang.data.api.schema.tree.ModificationType; @@ -28,4 +28,4 @@ final class UnmodifiedLeafCandidateNode extends AbstractAvailableLeafCandidateNo public Optional> getDataBefore() { return dataOptional(); } -} \ No newline at end of file +} diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/UnorderedLeafSetModificationStrategy.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/UnorderedLeafSetModificationStrategy.java index 734433a58f..6d4ce30cce 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/UnorderedLeafSetModificationStrategy.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/UnorderedLeafSetModificationStrategy.java @@ -9,8 +9,9 @@ package org.opendaylight.yangtools.yang.data.impl.schema.tree; import static com.google.common.base.Preconditions.checkArgument; -import com.google.common.base.Optional; -import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; +import java.util.Optional; +import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeWithValue; +import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; import org.opendaylight.yangtools.yang.data.api.schema.LeafSetNode; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeConfiguration; @@ -42,10 +43,7 @@ final class UnorderedLeafSetModificationStrategy extends AbstractNodeContainerMo } @Override - public Optional getChild(final YangInstanceIdentifier.PathArgument identifier) { - if (identifier instanceof YangInstanceIdentifier.NodeWithValue) { - return entryStrategy; - } - return Optional.absent(); + public Optional getChild(final PathArgument identifier) { + return identifier instanceof NodeWithValue ? entryStrategy : Optional.empty(); } } \ No newline at end of file diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/UnorderedMapModificationStrategy.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/UnorderedMapModificationStrategy.java index 8dfe89f54b..0a4ce5a120 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/UnorderedMapModificationStrategy.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/UnorderedMapModificationStrategy.java @@ -8,7 +8,7 @@ package org.opendaylight.yangtools.yang.data.impl.schema.tree; -import com.google.common.base.Optional; +import java.util.Optional; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode; import org.opendaylight.yangtools.yang.data.api.schema.MapNode; @@ -64,7 +64,7 @@ final class UnorderedMapModificationStrategy extends AbstractNodeContainerModifi // we get from it. return entryStrategy.get().getChild(identifier); } - return Optional.absent(); + return Optional.empty(); } @Override diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/WriteLeafCandidateNode.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/WriteLeafCandidateNode.java index 2187584d49..5ecb02f260 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/WriteLeafCandidateNode.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/WriteLeafCandidateNode.java @@ -7,7 +7,7 @@ */ package org.opendaylight.yangtools.yang.data.impl.schema.tree; -import com.google.common.base.Optional; +import java.util.Optional; import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; @@ -19,6 +19,6 @@ final class WriteLeafCandidateNode extends AbstractWriteCandidate { @Override @Nonnull public Optional> getDataBefore() { - return Optional.absent(); + return Optional.empty(); } -} \ No newline at end of file +} diff --git a/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/ImmutableNormalizedNodeStreamWriterTest.java b/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/ImmutableNormalizedNodeStreamWriterTest.java index 098420e1c1..471bc29954 100644 --- a/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/ImmutableNormalizedNodeStreamWriterTest.java +++ b/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/ImmutableNormalizedNodeStreamWriterTest.java @@ -11,12 +11,12 @@ package org.opendaylight.yangtools.yang.data.impl.schema; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; -import com.google.common.collect.Sets; import java.io.IOException; import java.net.URI; import java.net.URISyntaxException; import java.text.ParseException; import java.util.ArrayList; +import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -242,7 +242,7 @@ public class ImmutableNormalizedNodeStreamWriterTest { .build(); AugmentationNode myDoublyKeyedListAugNode = Builders.augmentationBuilder().withNodeIdentifier( - new AugmentationIdentifier(Sets.newHashSet(myDoublyKeyedList))) + new AugmentationIdentifier(Collections.singleton(myDoublyKeyedList))) .withChild(myDoublyKeyedListNode).build(); ContainerNode myContainer3Node = Builders.containerBuilder().withNodeIdentifier( @@ -250,7 +250,7 @@ public class ImmutableNormalizedNodeStreamWriterTest { .withChild(myDoublyKeyedListAugNode).build(); AugmentationNode myContainer3AugNode = Builders.augmentationBuilder().withNodeIdentifier( - new AugmentationIdentifier(Sets.newHashSet(myContainer3))) + new AugmentationIdentifier(Collections.singleton(myContainer3))) .withChild(myContainer3Node).build(); ContainerNode outerContainerNode = Builders.containerBuilder().withNodeIdentifier( diff --git a/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/NormalizedDataBuilderTest.java b/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/NormalizedDataBuilderTest.java index 970425e1f5..1409433cad 100644 --- a/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/NormalizedDataBuilderTest.java +++ b/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/NormalizedDataBuilderTest.java @@ -7,8 +7,8 @@ */ package org.opendaylight.yangtools.yang.data.impl.schema; -import com.google.common.base.Preconditions; -import com.google.common.collect.Sets; +import static com.google.common.base.Preconditions.checkState; + import java.io.File; import java.io.FileNotFoundException; import java.net.URI; @@ -99,7 +99,7 @@ public class NormalizedDataBuilderTest { AugmentationNode augmentation = Builders .augmentationBuilder() .withNodeIdentifier( - new AugmentationIdentifier(Sets.newHashSet(getQName("augmentUint32")))) + new AugmentationIdentifier(Collections.singleton(getQName("augmentUint32")))) .withChild( Builders.leafBuilder().withNodeIdentifier(getNodeIdentifier("augmentUint32")) .withValue(11).build()).build(); @@ -196,7 +196,7 @@ public class NormalizedDataBuilderTest { for (Module module : context.getModules()) { if (module.getName().equals(moduleName)) { DataSchemaNode found = findChildNode(module.getChildNodes(), childNodeName); - Preconditions.checkState(found != null, "Unable to find %s", childNodeName); + checkState(found != null, "Unable to find %s", childNodeName); return found; } } diff --git a/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/NormalizedNodeUtilsTest.java b/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/NormalizedNodeUtilsTest.java index 87506e3635..6ac64e1f93 100644 --- a/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/NormalizedNodeUtilsTest.java +++ b/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/NormalizedNodeUtilsTest.java @@ -14,7 +14,7 @@ import static org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes.ma import static org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes.mapEntryBuilder; import static org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes.mapNodeBuilder; -import com.google.common.base.Optional; +import java.util.Optional; import org.junit.Test; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; diff --git a/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/Bug2690Test.java b/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/Bug2690Test.java index 16af3c2517..39ad37f2c5 100644 --- a/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/Bug2690Test.java +++ b/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/Bug2690Test.java @@ -5,14 +5,13 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ - package org.opendaylight.yangtools.yang.data.impl.schema.tree; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; -import com.google.common.base.Optional; +import java.util.Optional; import org.junit.Before; import org.junit.Test; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; diff --git a/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/Bug4454Test.java b/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/Bug4454Test.java index 4181c9afb9..5057117815 100644 --- a/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/Bug4454Test.java +++ b/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/Bug4454Test.java @@ -11,12 +11,12 @@ import static junit.framework.TestCase.assertFalse; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; -import com.google.common.base.Optional; import com.google.common.collect.ImmutableMap; import java.io.IOException; import java.net.URISyntaxException; import java.util.HashMap; import java.util.Map; +import java.util.Optional; import org.junit.Before; import org.junit.Test; import org.opendaylight.yangtools.util.UnmodifiableCollection; diff --git a/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/ConcurrentTreeModificationTest.java b/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/ConcurrentTreeModificationTest.java index 657f4cf52c..a696d5a5c8 100644 --- a/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/ConcurrentTreeModificationTest.java +++ b/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/ConcurrentTreeModificationTest.java @@ -15,7 +15,7 @@ import static org.junit.Assert.fail; import static org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes.mapEntryBuilder; import static org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes.mapNodeBuilder; -import com.google.common.base.Optional; +import java.util.Optional; import org.junit.Before; import org.junit.Test; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; diff --git a/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/ListConstraintsValidation.java b/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/ListConstraintsValidation.java index ef99fefa19..2910d52993 100644 --- a/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/ListConstraintsValidation.java +++ b/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/ListConstraintsValidation.java @@ -10,9 +10,9 @@ package org.opendaylight.yangtools.yang.data.impl.schema.tree; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; -import com.google.common.base.Optional; import java.util.ArrayList; import java.util.List; +import java.util.Optional; import org.junit.Before; import org.junit.Test; import org.opendaylight.yangtools.yang.common.QName; diff --git a/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/ModificationMetadataTreeTest.java b/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/ModificationMetadataTreeTest.java index ff85274bb2..fe7240182f 100644 --- a/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/ModificationMetadataTreeTest.java +++ b/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/ModificationMetadataTreeTest.java @@ -16,7 +16,7 @@ import static org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes.ma import static org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes.mapEntryBuilder; import static org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes.mapNodeBuilder; -import com.google.common.base.Optional; +import java.util.Optional; import org.junit.Before; import org.junit.Test; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; diff --git a/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/OrderedListTest.java b/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/OrderedListTest.java index 0d0b526bae..72a17032e8 100644 --- a/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/OrderedListTest.java +++ b/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/OrderedListTest.java @@ -12,10 +12,10 @@ import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; -import com.google.common.base.Optional; import com.google.common.collect.ImmutableMap; import java.io.File; import java.net.URI; +import java.util.Optional; import org.junit.Before; import org.junit.Test; import org.opendaylight.yangtools.yang.common.QName; diff --git a/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/StoreTreeNodesTest.java b/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/StoreTreeNodesTest.java index 3dbe14d407..32df7e0420 100644 --- a/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/StoreTreeNodesTest.java +++ b/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/StoreTreeNodesTest.java @@ -16,8 +16,8 @@ import static org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes.ma import static org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes.mapEntryBuilder; import static org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes.mapNodeBuilder; -import com.google.common.base.Optional; import java.util.Map; +import java.util.Optional; import org.junit.Before; import org.junit.Test; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; @@ -188,7 +188,7 @@ public class StoreTreeNodesTest { final InMemoryDataTreeSnapshot inMemoryDataTreeSnapshot = new InMemoryDataTreeSnapshot(schemaContext, TreeNodeFactory.createTreeNodeRecursively(createDocumentOne(), Version.initial()), rootOper); final TreeNode rootNode = inMemoryDataTreeSnapshot.getRootNode(); - final Optional node = StoreTreeNodes.getChild(Optional.fromNullable(rootNode), + final Optional node = StoreTreeNodes.getChild(Optional.ofNullable(rootNode), TestModel.TEST_PATH.getLastPathArgument()); assertPresentAndType(node, TreeNode.class); } @@ -198,7 +198,7 @@ public class StoreTreeNodesTest { final InMemoryDataTreeSnapshot inMemoryDataTreeSnapshot = new InMemoryDataTreeSnapshot(schemaContext, TreeNodeFactory.createTreeNodeRecursively(createDocumentOne(), Version.initial()), rootOper); final TreeNode rootNode = inMemoryDataTreeSnapshot.getRootNode(); - final Optional node = StoreTreeNodes.getChild(Optional.fromNullable(rootNode), + final Optional node = StoreTreeNodes.getChild(Optional.ofNullable(rootNode), TestModel.OUTER_LIST_PATH.getLastPathArgument()); assertFalse(node.isPresent()); } diff --git a/yang/yang-data-jaxen/src/main/java/org/opendaylight/yangtools/yang/data/jaxen/ConverterNamespaceContext.java b/yang/yang-data-jaxen/src/main/java/org/opendaylight/yangtools/yang/data/jaxen/ConverterNamespaceContext.java index b34011c684..33c43179fc 100644 --- a/yang/yang-data-jaxen/src/main/java/org/opendaylight/yangtools/yang/data/jaxen/ConverterNamespaceContext.java +++ b/yang/yang-data-jaxen/src/main/java/org/opendaylight/yangtools/yang/data/jaxen/ConverterNamespaceContext.java @@ -7,8 +7,9 @@ */ package org.opendaylight.yangtools.yang.data.jaxen; +import static java.util.Objects.requireNonNull; + import com.google.common.base.Converter; -import com.google.common.base.Preconditions; import javax.annotation.Nonnull; import org.jaxen.NamespaceContext; import org.opendaylight.yangtools.yang.common.QName; @@ -17,8 +18,8 @@ import org.opendaylight.yangtools.yang.common.QNameModule; final class ConverterNamespaceContext extends Converter implements NamespaceContext { private final Converter delegate; - ConverterNamespaceContext(final Converter convertor) { - this.delegate = Preconditions.checkNotNull(convertor); + ConverterNamespaceContext(final Converter converter) { + this.delegate = requireNonNull(converter); } @Override diff --git a/yang/yang-data-jaxen/src/main/java/org/opendaylight/yangtools/yang/data/jaxen/ExprWalker.java b/yang/yang-data-jaxen/src/main/java/org/opendaylight/yangtools/yang/data/jaxen/ExprWalker.java index 6e926f5665..87bd1ec6c8 100644 --- a/yang/yang-data-jaxen/src/main/java/org/opendaylight/yangtools/yang/data/jaxen/ExprWalker.java +++ b/yang/yang-data-jaxen/src/main/java/org/opendaylight/yangtools/yang/data/jaxen/ExprWalker.java @@ -7,7 +7,8 @@ */ package org.opendaylight.yangtools.yang.data.jaxen; -import com.google.common.base.Preconditions; +import static java.util.Objects.requireNonNull; + import java.util.Optional; import org.jaxen.expr.AllNodeStep; import org.jaxen.expr.BinaryExpr; @@ -29,7 +30,7 @@ final class ExprWalker { private final ExprListener listener; ExprWalker(final ExprListener listener) { - this.listener = Preconditions.checkNotNull(listener); + this.listener = requireNonNull(listener); } public void walk(final Expr expr) { diff --git a/yang/yang-data-jaxen/src/main/java/org/opendaylight/yangtools/yang/data/jaxen/JaxenDocument.java b/yang/yang-data-jaxen/src/main/java/org/opendaylight/yangtools/yang/data/jaxen/JaxenDocument.java index a929061c34..eb7cdd5357 100644 --- a/yang/yang-data-jaxen/src/main/java/org/opendaylight/yangtools/yang/data/jaxen/JaxenDocument.java +++ b/yang/yang-data-jaxen/src/main/java/org/opendaylight/yangtools/yang/data/jaxen/JaxenDocument.java @@ -7,7 +7,8 @@ */ package org.opendaylight.yangtools.yang.data.jaxen; -import com.google.common.base.Preconditions; +import static java.util.Objects.requireNonNull; + import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; import org.opendaylight.yangtools.yang.data.api.schema.xpath.XPathDocument; @@ -18,7 +19,7 @@ final class JaxenDocument implements XPathDocument { private final SchemaContext context; JaxenDocument(final JaxenSchemaContext context, final NormalizedNode root) { - this.root = Preconditions.checkNotNull(root); + this.root = requireNonNull(root); this.context = context.getSchemaContext(); } diff --git a/yang/yang-data-jaxen/src/main/java/org/opendaylight/yangtools/yang/data/jaxen/JaxenSchemaContext.java b/yang/yang-data-jaxen/src/main/java/org/opendaylight/yangtools/yang/data/jaxen/JaxenSchemaContext.java index 29a274e261..c6081f0ca9 100644 --- a/yang/yang-data-jaxen/src/main/java/org/opendaylight/yangtools/yang/data/jaxen/JaxenSchemaContext.java +++ b/yang/yang-data-jaxen/src/main/java/org/opendaylight/yangtools/yang/data/jaxen/JaxenSchemaContext.java @@ -7,8 +7,9 @@ */ package org.opendaylight.yangtools.yang.data.jaxen; +import static java.util.Objects.requireNonNull; + import com.google.common.base.Converter; -import com.google.common.base.Preconditions; import javax.annotation.Nonnull; import javax.xml.xpath.XPathExpressionException; import org.jaxen.JaxenException; @@ -22,11 +23,10 @@ import org.opendaylight.yangtools.yang.model.api.SchemaPath; final class JaxenSchemaContext implements XPathSchemaContext { // Will be needed for compileExpression() - @SuppressWarnings("unused") private final SchemaContext context; JaxenSchemaContext(final SchemaContext context) { - this.context = Preconditions.checkNotNull(context); + this.context = requireNonNull(context); } @Nonnull diff --git a/yang/yang-data-jaxen/src/main/java/org/opendaylight/yangtools/yang/data/jaxen/JaxenXPath.java b/yang/yang-data-jaxen/src/main/java/org/opendaylight/yangtools/yang/data/jaxen/JaxenXPath.java index 8f985178d0..00adb143b0 100644 --- a/yang/yang-data-jaxen/src/main/java/org/opendaylight/yangtools/yang/data/jaxen/JaxenXPath.java +++ b/yang/yang-data-jaxen/src/main/java/org/opendaylight/yangtools/yang/data/jaxen/JaxenXPath.java @@ -7,11 +7,13 @@ */ package org.opendaylight.yangtools.yang.data.jaxen; +import static com.google.common.base.Preconditions.checkArgument; +import static java.util.Objects.requireNonNull; + import com.google.common.base.Converter; -import com.google.common.base.Optional; -import com.google.common.base.Preconditions; import com.google.common.collect.Lists; import java.util.List; +import java.util.Optional; import javax.annotation.Nonnull; import javax.xml.xpath.XPathExpressionException; import org.jaxen.BaseXPath; @@ -40,9 +42,9 @@ final class JaxenXPath implements XPathExpression { private JaxenXPath(final Converter converter, final SchemaPath schemaPath, final BaseXPath xpath) { - this.converter = Preconditions.checkNotNull(converter); - this.schemaPath = Preconditions.checkNotNull(schemaPath); - this.xpath = Preconditions.checkNotNull(xpath); + this.converter = requireNonNull(converter); + this.schemaPath = requireNonNull(schemaPath); + this.xpath = requireNonNull(xpath); } static JaxenXPath create(final Converter converter, final SchemaPath schemaPath, @@ -69,7 +71,7 @@ final class JaxenXPath implements XPathExpression { @Override public Optional> evaluate(@Nonnull final XPathDocument document, @Nonnull final YangInstanceIdentifier path) throws XPathExpressionException { - Preconditions.checkArgument(document instanceof JaxenDocument); + checkArgument(document instanceof JaxenDocument); final NormalizedNodeContextSupport contextSupport = NormalizedNodeContextSupport.create( (JaxenDocument)document, converter); @@ -93,7 +95,7 @@ final class JaxenXPath implements XPathExpression { return Lists.transform((List) result, NormalizedNodeContext::getNode); }); } else { - return Optional.absent(); + return Optional.empty(); } } diff --git a/yang/yang-data-jaxen/src/main/java/org/opendaylight/yangtools/yang/data/jaxen/LeafrefXPathStringParsingPathArgumentBuilder.java b/yang/yang-data-jaxen/src/main/java/org/opendaylight/yangtools/yang/data/jaxen/LeafrefXPathStringParsingPathArgumentBuilder.java index 0f2a636995..e86890f0f4 100644 --- a/yang/yang-data-jaxen/src/main/java/org/opendaylight/yangtools/yang/data/jaxen/LeafrefXPathStringParsingPathArgumentBuilder.java +++ b/yang/yang-data-jaxen/src/main/java/org/opendaylight/yangtools/yang/data/jaxen/LeafrefXPathStringParsingPathArgumentBuilder.java @@ -10,12 +10,12 @@ package org.opendaylight.yangtools.yang.data.jaxen; import com.google.common.annotations.Beta; import com.google.common.base.CharMatcher; -import com.google.common.base.Optional; import com.google.common.base.Splitter; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import java.util.ArrayList; import java.util.List; +import java.util.Optional; import java.util.regex.Matcher; import java.util.regex.Pattern; import javax.annotation.RegEx; diff --git a/yang/yang-data-jaxen/src/main/java/org/opendaylight/yangtools/yang/data/jaxen/NormalizedNodeContext.java b/yang/yang-data-jaxen/src/main/java/org/opendaylight/yangtools/yang/data/jaxen/NormalizedNodeContext.java index 6186d55cf5..bcf45a59ea 100644 --- a/yang/yang-data-jaxen/src/main/java/org/opendaylight/yangtools/yang/data/jaxen/NormalizedNodeContext.java +++ b/yang/yang-data-jaxen/src/main/java/org/opendaylight/yangtools/yang/data/jaxen/NormalizedNodeContext.java @@ -7,8 +7,9 @@ */ package org.opendaylight.yangtools.yang.data.jaxen; +import static java.util.Objects.requireNonNull; + import com.google.common.base.Function; -import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableList; import javax.annotation.Nonnull; import javax.annotation.Nullable; @@ -28,7 +29,7 @@ final class NormalizedNodeContext extends Context implements Function node, @Nullable final NormalizedNodeContext parent) { super(contextSupport); - this.node = Preconditions.checkNotNull(node); + this.node = requireNonNull(node); this.parent = parent; setNodeSet(ImmutableList.of(this)); diff --git a/yang/yang-data-jaxen/src/main/java/org/opendaylight/yangtools/yang/data/jaxen/NormalizedNodeContextSupport.java b/yang/yang-data-jaxen/src/main/java/org/opendaylight/yangtools/yang/data/jaxen/NormalizedNodeContextSupport.java index 6ae6c8d5b9..441e7d672d 100644 --- a/yang/yang-data-jaxen/src/main/java/org/opendaylight/yangtools/yang/data/jaxen/NormalizedNodeContextSupport.java +++ b/yang/yang-data-jaxen/src/main/java/org/opendaylight/yangtools/yang/data/jaxen/NormalizedNodeContextSupport.java @@ -7,9 +7,10 @@ */ package org.opendaylight.yangtools.yang.data.jaxen; +import static com.google.common.base.Preconditions.checkArgument; + import com.google.common.base.Converter; -import com.google.common.base.Optional; -import com.google.common.base.Preconditions; +import java.util.Optional; import org.jaxen.ContextSupport; import org.jaxen.SimpleVariableContext; import org.opendaylight.yangtools.yang.common.QNameModule; @@ -41,7 +42,7 @@ final class NormalizedNodeContextSupport extends ContextSupport { NormalizedNodeContext result = root; for (PathArgument arg : path.getPathArguments()) { final Optional> node = NormalizedNodes.getDirectChild(result.getNode(), arg); - Preconditions.checkArgument(node.isPresent(), "Node %s has no child %s", result.getNode(), arg); + checkArgument(node.isPresent(), "Node %s has no child %s", result.getNode(), arg); result = new NormalizedNodeContext(this, node.get(), result); } diff --git a/yang/yang-data-jaxen/src/main/java/org/opendaylight/yangtools/yang/data/jaxen/NormalizedNodeNavigator.java b/yang/yang-data-jaxen/src/main/java/org/opendaylight/yangtools/yang/data/jaxen/NormalizedNodeNavigator.java index cd0c995490..8c735e943f 100644 --- a/yang/yang-data-jaxen/src/main/java/org/opendaylight/yangtools/yang/data/jaxen/NormalizedNodeNavigator.java +++ b/yang/yang-data-jaxen/src/main/java/org/opendaylight/yangtools/yang/data/jaxen/NormalizedNodeNavigator.java @@ -7,9 +7,9 @@ */ package org.opendaylight.yangtools.yang.data.jaxen; +import static java.util.Objects.requireNonNull; + import com.google.common.base.Joiner; -import com.google.common.base.Optional; -import com.google.common.base.Preconditions; import com.google.common.base.Verify; import com.google.common.collect.Iterators; import com.google.common.collect.UnmodifiableIterator; @@ -19,6 +19,7 @@ import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; import java.util.NoSuchElementException; +import java.util.Optional; import java.util.Set; import javax.annotation.Nonnull; import org.jaxen.DefaultNavigator; @@ -49,7 +50,7 @@ final class NormalizedNodeNavigator extends DefaultNavigator implements NamedAcc private final JaxenDocument document; NormalizedNodeNavigator(final ConverterNamespaceContext context, final JaxenDocument document) { - this.namespaceContext = Preconditions.checkNotNull(context); + this.namespaceContext = requireNonNull(context); this.document = document; } @@ -327,7 +328,7 @@ final class NormalizedNodeNavigator extends DefaultNavigator implements NamedAcc private NormalizedNodeContext next; NormalizedNodeContextIterator(final NormalizedNodeContext initial) { - this.next = Preconditions.checkNotNull(initial); + this.next = requireNonNull(initial); } @Override diff --git a/yang/yang-data-jaxen/src/main/java/org/opendaylight/yangtools/yang/data/jaxen/YangFunctionContext.java b/yang/yang-data-jaxen/src/main/java/org/opendaylight/yangtools/yang/data/jaxen/YangFunctionContext.java index e7f6cba442..49726f0515 100644 --- a/yang/yang-data-jaxen/src/main/java/org/opendaylight/yangtools/yang/data/jaxen/YangFunctionContext.java +++ b/yang/yang-data-jaxen/src/main/java/org/opendaylight/yangtools/yang/data/jaxen/YangFunctionContext.java @@ -7,7 +7,6 @@ */ package org.opendaylight.yangtools.yang.data.jaxen; -import com.google.common.base.Optional; import com.google.common.base.Preconditions; import com.google.common.base.Splitter; import com.google.common.base.Verify; @@ -16,6 +15,7 @@ import java.util.Deque; import java.util.HashSet; import java.util.Iterator; import java.util.List; +import java.util.Optional; import java.util.Set; import org.jaxen.ContextSupport; import org.jaxen.Function; diff --git a/yang/yang-data-jaxen/src/test/java/org/opendaylight/yangtools/yang/data/jaxen/JaxenTest.java b/yang/yang-data-jaxen/src/test/java/org/opendaylight/yangtools/yang/data/jaxen/JaxenTest.java index 1578c2cdff..cd85e70e49 100644 --- a/yang/yang-data-jaxen/src/test/java/org/opendaylight/yangtools/yang/data/jaxen/JaxenTest.java +++ b/yang/yang-data-jaxen/src/test/java/org/opendaylight/yangtools/yang/data/jaxen/JaxenTest.java @@ -15,7 +15,6 @@ import static org.junit.Assert.fail; import static org.mockito.Mockito.mock; import com.google.common.base.Converter; -import com.google.common.base.Optional; import com.google.common.base.VerifyException; import com.google.common.collect.BiMap; import com.google.common.collect.HashBiMap; @@ -27,6 +26,7 @@ import java.text.ParseException; import java.util.ArrayList; import java.util.HashMap; import java.util.Map; +import java.util.Optional; import javax.xml.xpath.XPathExpressionException; import org.jaxen.Context; import org.jaxen.Function; diff --git a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractModuleStringIdentityrefCodec.java b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractModuleStringIdentityrefCodec.java index 886b8438ef..29c0d173ed 100644 --- a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractModuleStringIdentityrefCodec.java +++ b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractModuleStringIdentityrefCodec.java @@ -7,11 +7,10 @@ */ package org.opendaylight.yangtools.yang.data.util; -import com.google.common.annotations.Beta; -import com.google.common.base.Preconditions; +import static com.google.common.base.Preconditions.checkArgument; +import com.google.common.annotations.Beta; import javax.annotation.Nonnull; - import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.Module; @@ -28,7 +27,7 @@ public abstract class AbstractModuleStringIdentityrefCodec extends AbstractStrin @Override protected final QName createQName(@Nonnull final String prefix, @Nonnull final String localName) { final Module module = moduleForPrefix(prefix); - Preconditions.checkArgument(module != null, "Failed to lookup prefix %s", prefix); + checkArgument(module != null, "Failed to lookup prefix %s", prefix); return QName.create(module.getQNameModule(), localName); } } diff --git a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractModuleStringInstanceIdentifierCodec.java b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractModuleStringInstanceIdentifierCodec.java index 008befef32..bafbbe17be 100644 --- a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractModuleStringInstanceIdentifierCodec.java +++ b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractModuleStringInstanceIdentifierCodec.java @@ -7,11 +7,10 @@ */ package org.opendaylight.yangtools.yang.data.util; -import com.google.common.annotations.Beta; -import com.google.common.base.Preconditions; +import static com.google.common.base.Preconditions.checkArgument; +import com.google.common.annotations.Beta; import javax.annotation.Nonnull; - import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.Module; @@ -33,7 +32,7 @@ public abstract class AbstractModuleStringInstanceIdentifierCodec extends Abstra @Override protected final QName createQName(@Nonnull final String prefix, @Nonnull final String localName) { final Module module = moduleForPrefix(prefix); - Preconditions.checkArgument(module != null, "Failed to lookup prefix %s", prefix); + checkArgument(module != null, "Failed to lookup prefix %s", prefix); return QName.create(module.getQNameModule(), localName); } } diff --git a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractNamespaceCodec.java b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractNamespaceCodec.java index 31d95bfe34..c49cd79aa9 100644 --- a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractNamespaceCodec.java +++ b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractNamespaceCodec.java @@ -7,7 +7,8 @@ */ package org.opendaylight.yangtools.yang.data.util; -import com.google.common.base.Preconditions; +import static com.google.common.base.Preconditions.checkArgument; + import com.google.common.base.Splitter; import java.net.URI; import java.util.Iterator; @@ -43,7 +44,7 @@ abstract class AbstractNamespaceCodec { protected final StringBuilder appendQName(final StringBuilder sb, final QName qname) { final String prefix = prefixForNamespace(qname.getNamespace()); - Preconditions.checkArgument(prefix != null, "Failed to map QName {}", qname); + checkArgument(prefix != null, "Failed to map QName {}", qname); sb.append(prefix); sb.append(':'); sb.append(qname.getLocalName()); diff --git a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractNodeDataWithSchema.java b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractNodeDataWithSchema.java index db7cb77065..7c652af0e5 100644 --- a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractNodeDataWithSchema.java +++ b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractNodeDataWithSchema.java @@ -7,8 +7,10 @@ */ package org.opendaylight.yangtools.yang.data.util; +import static com.google.common.base.Preconditions.checkState; +import static java.util.Objects.requireNonNull; + import com.google.common.annotations.Beta; -import com.google.common.base.Preconditions; import java.io.IOException; import java.util.Map; import java.util.Objects; @@ -27,7 +29,7 @@ public abstract class AbstractNodeDataWithSchema { private Map attributes; public AbstractNodeDataWithSchema(final DataSchemaNode schema) { - this.schema = Preconditions.checkNotNull(schema); + this.schema = requireNonNull(schema); } /** @@ -45,8 +47,8 @@ public abstract class AbstractNodeDataWithSchema { * @param attributes parsed attributes */ public final void setAttributes(final Map attributes) { - Preconditions.checkState(this.attributes == null, "Node '%s' has already set its attributes to %s.", - getSchema().getQName(), this.attributes); + checkState(this.attributes == null, "Node '%s' has already set its attributes to %s.", getSchema().getQName(), + this.attributes); this.attributes = attributes; } diff --git a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractStringInstanceIdentifierCodec.java b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractStringInstanceIdentifierCodec.java index 5f6c9d12e2..e2eeb9b3aa 100644 --- a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractStringInstanceIdentifierCodec.java +++ b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractStringInstanceIdentifierCodec.java @@ -7,8 +7,10 @@ */ package org.opendaylight.yangtools.yang.data.util; +import static com.google.common.base.Preconditions.checkArgument; +import static java.util.Objects.requireNonNull; + import com.google.common.annotations.Beta; -import com.google.common.base.Preconditions; import java.util.Map; import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.common.QName; @@ -33,8 +35,8 @@ public abstract class AbstractStringInstanceIdentifierCodec extends AbstractName DataSchemaContextNode current = getDataContextTree().getRoot(); for (PathArgument arg : data.getPathArguments()) { current = current.getChild(arg); - Preconditions.checkArgument(current != null, - "Invalid input %s: schema for argument %s (after %s) not found", data, arg, sb); + checkArgument(current != null, "Invalid input %s: schema for argument %s (after %s) not found", data, arg, + sb); if (current.isMixin()) { /* @@ -93,9 +95,8 @@ public abstract class AbstractStringInstanceIdentifierCodec extends AbstractName @Override public final YangInstanceIdentifier deserialize(final String data) { - Preconditions.checkNotNull(data, "Data may not be null"); - XpathStringParsingPathArgumentBuilder builder = new XpathStringParsingPathArgumentBuilder(this, data); + XpathStringParsingPathArgumentBuilder builder = new XpathStringParsingPathArgumentBuilder(this, + requireNonNull(data)); return YangInstanceIdentifier.create(builder.build()); } - } diff --git a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractStringUnionCodec.java b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractStringUnionCodec.java index 38edc154df..e9dbedcbac 100644 --- a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractStringUnionCodec.java +++ b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractStringUnionCodec.java @@ -8,7 +8,8 @@ package org.opendaylight.yangtools.yang.data.util; -import com.google.common.base.Preconditions; +import static java.util.Objects.requireNonNull; + import org.opendaylight.yangtools.concepts.Codec; import org.opendaylight.yangtools.yang.model.api.DataSchemaNode; import org.opendaylight.yangtools.yang.model.api.TypeDefinition; @@ -23,8 +24,8 @@ public abstract class AbstractStringUnionCodec implements Codec protected final UnionTypeDefinition typeDefinition; protected AbstractStringUnionCodec(final DataSchemaNode schema, final UnionTypeDefinition typeDefinition) { - this.schema = Preconditions.checkNotNull(schema); - this.typeDefinition = Preconditions.checkNotNull(typeDefinition); + this.schema = requireNonNull(schema); + this.typeDefinition = requireNonNull(typeDefinition); } protected abstract Codec codecFor(TypeDefinition type); diff --git a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/LeafInterner.java b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/LeafInterner.java index b270222c49..85a47bdbd7 100644 --- a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/LeafInterner.java +++ b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/LeafInterner.java @@ -8,9 +8,9 @@ package org.opendaylight.yangtools.yang.data.util; import com.google.common.annotations.Beta; -import com.google.common.base.Preconditions; import com.google.common.collect.Interner; import com.google.common.collect.Interners; +import java.util.Objects; import javax.annotation.Nonnull; import javax.annotation.Nullable; import org.opendaylight.yangtools.yang.data.api.schema.LeafNode; @@ -73,6 +73,6 @@ public final class LeafInterner { } } - return Preconditions::checkNotNull; + return Objects::requireNonNull; } } diff --git a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/ListEntryNodeDataWithSchema.java b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/ListEntryNodeDataWithSchema.java index 8c75133910..04010de515 100644 --- a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/ListEntryNodeDataWithSchema.java +++ b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/ListEntryNodeDataWithSchema.java @@ -7,7 +7,8 @@ */ package org.opendaylight.yangtools.yang.data.util; -import com.google.common.base.Preconditions; +import static com.google.common.base.Preconditions.checkState; + import java.io.IOException; import java.util.Collection; import java.util.HashMap; @@ -65,7 +66,7 @@ public class ListEntryNodeDataWithSchema extends CompositeNodeDataWithSchema { return; } - Preconditions.checkState(keyDef.size() == qnameToKeys.size(), "Input is missing some of the keys of %s", + checkState(keyDef.size() == qnameToKeys.size(), "Input is missing some of the keys of %s", getSchema().getQName()); // Need to restore schema order... diff --git a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/ModuleStringIdentityrefCodec.java b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/ModuleStringIdentityrefCodec.java index 3b4bbfc0bb..385943908b 100644 --- a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/ModuleStringIdentityrefCodec.java +++ b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/ModuleStringIdentityrefCodec.java @@ -8,10 +8,10 @@ package org.opendaylight.yangtools.yang.data.util; -import com.google.common.base.Preconditions; +import static java.util.Objects.requireNonNull; + import java.net.URI; import javax.annotation.Nonnull; - import org.opendaylight.yangtools.yang.common.QNameModule; import org.opendaylight.yangtools.yang.data.api.codec.IdentityrefCodec; import org.opendaylight.yangtools.yang.model.api.Module; @@ -24,8 +24,8 @@ public abstract class ModuleStringIdentityrefCodec protected final QNameModule parentModuleQname; public ModuleStringIdentityrefCodec(@Nonnull final SchemaContext context, @Nonnull final QNameModule parentModule) { - this.context = Preconditions.checkNotNull(context); - this.parentModuleQname = Preconditions.checkNotNull(parentModule); + this.context = requireNonNull(context); + this.parentModuleQname = requireNonNull(parentModule); } @Override diff --git a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/XpathStringParsingPathArgumentBuilder.java b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/XpathStringParsingPathArgumentBuilder.java index efd64a930b..d23429cc53 100644 --- a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/XpathStringParsingPathArgumentBuilder.java +++ b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/XpathStringParsingPathArgumentBuilder.java @@ -7,8 +7,9 @@ */ package org.opendaylight.yangtools.yang.data.util; +import static java.util.Objects.requireNonNull; + import com.google.common.base.CharMatcher; -import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import java.util.ArrayList; @@ -66,8 +67,8 @@ class XpathStringParsingPathArgumentBuilder implements Builder> { private final SchemaContext schemaContext; protected AbstractCodecFactory(final SchemaContext schemaContext, final CodecCache cache) { - this.schemaContext = Preconditions.checkNotNull(schemaContext); - this.cache = Preconditions.checkNotNull(cache); + this.schemaContext = requireNonNull(schemaContext); + this.cache = requireNonNull(cache); } public final SchemaContext getSchemaContext() { @@ -162,13 +163,13 @@ public abstract class AbstractCodecFactory> { return null; } - return cache.getSimple(type, Verify.verifyNotNull(ret)); + return cache.getSimple(type, verifyNotNull(ret)); } private static boolean isSimpleUnion(final UnionTypeDefinition union) { for (TypeDefinition t : union.getTypes()) { if (t instanceof IdentityrefTypeDefinition || t instanceof LeafrefTypeDefinition - || (t instanceof UnionTypeDefinition && !isSimpleUnion((UnionTypeDefinition) t))) { + || t instanceof UnionTypeDefinition && !isSimpleUnion((UnionTypeDefinition) t)) { LOG.debug("Type {} has non-simple subtype", t); return false; } @@ -184,7 +185,7 @@ public abstract class AbstractCodecFactory> { } else if (type instanceof LeafrefTypeDefinition) { final TypeDefinition target = SchemaContextUtil.getBaseTypeForLeafRef((LeafrefTypeDefinition) type, schemaContext, schema); - Verify.verifyNotNull(target, "Unable to find base type for leafref node %s type %s.", schema.getPath(), + verifyNotNull(target, "Unable to find base type for leafref node %s type %s.", schema.getPath(), target); final T ret = getSimpleCodecFor(target); @@ -203,8 +204,7 @@ public abstract class AbstractCodecFactory> { for (TypeDefinition type : types) { T codec = cache.lookupSimple(type); if (codec == null) { - codec = Verify.verifyNotNull(getSimpleCodecFor(type), "Type %s did not resolve to a simple codec", - type); + codec = verifyNotNull(getSimpleCodecFor(type), "Type %s did not resolve to a simple codec", type); } codecs.add(codec); @@ -226,7 +226,7 @@ public abstract class AbstractCodecFactory> { } } - codecs.add(Verify.verifyNotNull(codec, "Schema %s subtype %s has no codec", schema, type)); + codecs.add(verifyNotNull(codec, "Schema %s subtype %s has no codec", schema, type)); } return unionCodec(union, codecs); diff --git a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/codec/PrecomputedCodecCache.java b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/codec/PrecomputedCodecCache.java index 4bf16141d1..ac16179c3f 100644 --- a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/codec/PrecomputedCodecCache.java +++ b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/codec/PrecomputedCodecCache.java @@ -7,8 +7,10 @@ */ package org.opendaylight.yangtools.yang.data.util.codec; +import static com.google.common.base.Preconditions.checkArgument; +import static java.util.Objects.requireNonNull; + import com.google.common.annotations.Beta; -import com.google.common.base.Preconditions; import java.util.Map; import javax.annotation.concurrent.ThreadSafe; import org.opendaylight.yangtools.yang.model.api.TypeDefinition; @@ -31,14 +33,14 @@ public final class PrecomputedCodecCache extends CodecCache { private final Map complexCodecs; PrecomputedCodecCache(final Map, T> simpleCodecs, final Map complexCodecs) { - this.simpleCodecs = Preconditions.checkNotNull(simpleCodecs); - this.complexCodecs = Preconditions.checkNotNull(complexCodecs); + this.simpleCodecs = requireNonNull(simpleCodecs); + this.complexCodecs = requireNonNull(complexCodecs); } @Override T lookupComplex(final TypedSchemaNode schema) { final T ret = complexCodecs.get(schema); - Preconditions.checkArgument(ret != null, "No codec available for schema %s", schema); + checkArgument(ret != null, "No codec available for schema %s", schema); return ret; } diff --git a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/codec/QNameCodecUtil.java b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/codec/QNameCodecUtil.java index a3d449c423..25800d09bc 100644 --- a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/codec/QNameCodecUtil.java +++ b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/codec/QNameCodecUtil.java @@ -7,8 +7,9 @@ */ package org.opendaylight.yangtools.yang.data.util.codec; +import static com.google.common.base.Preconditions.checkArgument; + import com.google.common.annotations.Beta; -import com.google.common.base.Preconditions; import com.google.common.base.Splitter; import java.util.Iterator; import java.util.function.Function; @@ -36,7 +37,7 @@ public final class QNameCodecUtil { // It is "prefix:value" prefix = first; identifier = it.next(); - Preconditions.checkArgument(!it.hasNext(), "Malformed QName '" + str + "'"); + checkArgument(!it.hasNext(), "Malformed QName '%s'", str); } else { prefix = ""; identifier = first; @@ -47,13 +48,13 @@ public final class QNameCodecUtil { } final QNameModule module = prefixToModule.apply(prefix); - Preconditions.checkArgument(module != null, "Cannot resolve prefix '%s' from %s", prefix, str); + checkArgument(module != null, "Cannot resolve prefix '%s' from %s", prefix, str); return QName.create(module, identifier); } public static String encodeQName(final QName qname, final Function moduleToPrefix) { final String prefix = moduleToPrefix.apply(qname.getModule()); - Preconditions.checkArgument(prefix != null, "Cannot allocated prefix for %s", qname); + checkArgument(prefix != null, "Cannot allocated prefix for %s", qname); return prefix.isEmpty() ? qname.getLocalName() : prefix + ":" + qname.getLocalName(); } } diff --git a/yang/yang-maven-plugin/src/main/java/org/opendaylight/yangtools/yang2sources/plugin/Util.java b/yang/yang-maven-plugin/src/main/java/org/opendaylight/yangtools/yang2sources/plugin/Util.java index 3656c859b8..f142b6f944 100644 --- a/yang/yang-maven-plugin/src/main/java/org/opendaylight/yangtools/yang2sources/plugin/Util.java +++ b/yang/yang-maven-plugin/src/main/java/org/opendaylight/yangtools/yang2sources/plugin/Util.java @@ -23,6 +23,7 @@ import java.util.Enumeration; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Optional; import java.util.Set; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; @@ -144,7 +145,7 @@ final class Util { private static void checkArtifact(final Artifact artifact, final Collection dependencies) { for (org.apache.maven.artifact.Artifact d : dependencies) { if (artifact.getGroupId().equals(d.getGroupId()) && artifact.getArtifactId().equals(d.getArtifactId())) { - if (!(artifact.getVersion().equals(d.getVersion()))) { + if (!artifact.getVersion().equals(d.getVersion())) { LOG.warn("{} Dependency resolution conflict:", LOG_PREFIX); LOG.warn("{} '{}' dependency [{}] has different version than one declared in current project [{}]" + ". It is recommended to fix this problem because it may cause compilation errors.", @@ -268,11 +269,11 @@ final class Util { static SourceIdentifier moduleToIdentifier(final Module module) { final QNameModule mod = module.getQNameModule(); final Date rev = mod.getRevision(); - final com.google.common.base.Optional optRev; + final Optional optRev; if (SimpleDateFormatUtil.DEFAULT_DATE_REV.equals(rev)) { - optRev = com.google.common.base.Optional.absent(); + optRev = Optional.empty(); } else { - optRev = com.google.common.base.Optional.of(mod.getFormattedRevision()); + optRev = Optional.of(mod.getFormattedRevision()); } return RevisionSourceIdentifier.create(module.getName(), optRev); diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/AugmentationSchema.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/AugmentationSchema.java index b68e61a591..d278eb7ede 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/AugmentationSchema.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/AugmentationSchema.java @@ -7,8 +7,8 @@ */ package org.opendaylight.yangtools.yang.model.api; -import com.google.common.base.Optional; import java.util.List; +import java.util.Optional; /** * AugmentationSchema represents augment definition. The "augment" statement diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/DerivableSchemaNode.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/DerivableSchemaNode.java index db707c56ed..2aaa58f1b2 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/DerivableSchemaNode.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/DerivableSchemaNode.java @@ -7,7 +7,7 @@ */ package org.opendaylight.yangtools.yang.model.api; -import com.google.common.base.Optional; +import java.util.Optional; /** * Schema Node which may be derived from other schema node diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/DeviateKind.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/DeviateKind.java index 30fe1a4c42..d7a728007e 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/DeviateKind.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/DeviateKind.java @@ -8,7 +8,7 @@ package org.opendaylight.yangtools.yang.model.api; -import com.google.common.base.Preconditions; +import static java.util.Objects.requireNonNull; /** * Enum describing YANG deviation 'deviate' statement. It defines how the @@ -22,7 +22,7 @@ public enum DeviateKind { private final String keyword; DeviateKind(final String keyword) { - this.keyword = Preconditions.checkNotNull(keyword); + this.keyword = requireNonNull(keyword); } /** diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/SchemaContext.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/SchemaContext.java index f56e67ef0d..c97dba2303 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/SchemaContext.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/SchemaContext.java @@ -7,10 +7,10 @@ */ package org.opendaylight.yangtools.yang.model.api; -import com.google.common.base.Optional; import com.google.common.collect.Sets; import java.net.URI; import java.util.Date; +import java.util.Optional; import java.util.Set; import javax.annotation.concurrent.Immutable; import org.opendaylight.yangtools.yang.common.QName; @@ -81,7 +81,7 @@ public interface SchemaContext extends ContainerSchemaNode { Module findModuleByName(String name, Date revision); default Optional findAnyModuleByName(final String name) { - return Optional.fromNullable(findModuleByName(name, null)); + return Optional.ofNullable(findModuleByName(name, null)); } /** diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/SchemaPath.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/SchemaPath.java index a7afe1b4ac..b8b280bdfe 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/SchemaPath.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/SchemaPath.java @@ -7,9 +7,11 @@ */ package org.opendaylight.yangtools.yang.model.api; +import static com.google.common.base.Preconditions.checkArgument; +import static java.util.Objects.requireNonNull; + import com.google.common.base.MoreObjects; import com.google.common.base.MoreObjects.ToStringHelper; -import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableList; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; @@ -43,7 +45,7 @@ public abstract class SchemaPath implements Immutable { @Override protected SchemaPath createInstance(final SchemaPath parent, final QName qname) { - return new AbsoluteSchemaPath(parent, Preconditions.checkNotNull(qname)); + return new AbsoluteSchemaPath(parent, requireNonNull(qname)); } } @@ -62,7 +64,7 @@ public abstract class SchemaPath implements Immutable { @Override protected SchemaPath createInstance(final SchemaPath parent, final QName qname) { - return new RelativeSchemaPath(parent, Preconditions.checkNotNull(qname)); + return new RelativeSchemaPath(parent, requireNonNull(qname)); } } @@ -208,7 +210,7 @@ public abstract class SchemaPath implements Immutable { * @return A new child path */ public SchemaPath createChild(final SchemaPath relative) { - Preconditions.checkArgument(!relative.isAbsolute(), "Child creation requires relative path"); + checkArgument(!relative.isAbsolute(), "Child creation requires relative path"); SchemaPath parentPath = this; for (QName qname : relative.getPathFromRoot()) { diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/UsesNode.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/UsesNode.java index de724a2da3..a44651823a 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/UsesNode.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/UsesNode.java @@ -7,8 +7,8 @@ */ package org.opendaylight.yangtools.yang.model.api; -import com.google.common.base.Optional; import java.util.Map; +import java.util.Optional; import java.util.Set; import javax.annotation.Nonnull; @@ -71,6 +71,6 @@ public interface UsesNode extends DocumentedNode.WithStatus { * @return Optional of XPath condition */ default @Nonnull Optional getWhenCondition() { - return Optional.absent(); + return Optional.empty(); } } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/YangStmtMapping.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/YangStmtMapping.java index f087130e7c..0611483758 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/YangStmtMapping.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/YangStmtMapping.java @@ -7,8 +7,9 @@ */ package org.opendaylight.yangtools.yang.model.api; +import static java.util.Objects.requireNonNull; + import com.google.common.annotations.Beta; -import com.google.common.base.Preconditions; import javax.annotation.Nonnull; import javax.annotation.Nullable; import org.opendaylight.yangtools.yang.common.QName; @@ -166,7 +167,7 @@ public enum YangStmtMapping implements StatementDefinition { private final boolean yinElement; YangStmtMapping(final Class> clz, final String nameStr) { - type = Preconditions.checkNotNull(clz); + type = requireNonNull(clz); //FIXME: fill up effective type correctly effectiveType = null; name = yinQName(nameStr); @@ -175,7 +176,7 @@ public enum YangStmtMapping implements StatementDefinition { } YangStmtMapping(final Class> clz, final String nameStr, final String argumentStr) { - type = Preconditions.checkNotNull(clz); + type = requireNonNull(clz); //FIXME: fill up effective type correctly effectiveType = null; name = yinQName(nameStr); @@ -185,7 +186,7 @@ public enum YangStmtMapping implements StatementDefinition { YangStmtMapping(final Class> clz, final String nameStr, final String argumentStr, final boolean yinElement) { - type = Preconditions.checkNotNull(clz); + type = requireNonNull(clz); //FIXME: fill up effective type correctly effectiveType = null; name = yinQName(nameStr); diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/SchemaNodeIdentifier.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/SchemaNodeIdentifier.java index 12f8ec04f8..8c01fd69a1 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/SchemaNodeIdentifier.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/SchemaNodeIdentifier.java @@ -7,9 +7,11 @@ */ package org.opendaylight.yangtools.yang.model.api.stmt; +import static com.google.common.base.Preconditions.checkArgument; +import static java.util.Objects.requireNonNull; + import com.google.common.base.MoreObjects; import com.google.common.base.MoreObjects.ToStringHelper; -import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableList; import com.google.common.collect.Iterables; import com.google.common.collect.UnmodifiableIterator; @@ -41,7 +43,7 @@ public abstract class SchemaNodeIdentifier implements Immutable { @Override protected SchemaNodeIdentifier createInstance(final SchemaNodeIdentifier parent, final QName qname) { - return new Absolute(parent, Preconditions.checkNotNull(qname)); + return new Absolute(parent, requireNonNull(qname)); } } @@ -60,7 +62,7 @@ public abstract class SchemaNodeIdentifier implements Immutable { @Override protected SchemaNodeIdentifier createInstance(final SchemaNodeIdentifier parent, final QName qname) { - return new Relative(parent, Preconditions.checkNotNull(qname)); + return new Relative(parent, requireNonNull(qname)); } } @@ -195,7 +197,7 @@ public abstract class SchemaNodeIdentifier implements Immutable { * @return A new child path */ public SchemaNodeIdentifier createChild(final SchemaNodeIdentifier relative) { - Preconditions.checkArgument(!relative.isAbsolute(), "Child creation requires relative path"); + checkArgument(!relative.isAbsolute(), "Child creation requires relative path"); SchemaNodeIdentifier parentNode = this; for (QName qname : relative.getPathFromRoot()) { diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/type/ModifierKind.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/type/ModifierKind.java index 435b400c2f..8cfd7b6af3 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/type/ModifierKind.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/type/ModifierKind.java @@ -8,7 +8,8 @@ package org.opendaylight.yangtools.yang.model.api.type; -import com.google.common.base.Preconditions; +import static java.util.Objects.requireNonNull; + import com.google.common.collect.Maps; import java.util.Arrays; import java.util.Map; @@ -32,7 +33,7 @@ public enum ModifierKind { private final String keyword; ModifierKind(final String keyword) { - this.keyword = Preconditions.checkNotNull(keyword); + this.keyword = requireNonNull(keyword); } /** @@ -53,6 +54,6 @@ public enum ModifierKind { * @throws NullPointerException if keyword is null */ public static Optional parse(final String keyword) { - return Optional.ofNullable(MODIFIER_KIND_MAP.get(Preconditions.checkNotNull(keyword))); + return Optional.ofNullable(MODIFIER_KIND_MAP.get(requireNonNull(keyword))); } } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/DelegatedYangTextSchemaSource.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/DelegatedYangTextSchemaSource.java index 86bcee75b4..d1ff274914 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/DelegatedYangTextSchemaSource.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/DelegatedYangTextSchemaSource.java @@ -7,8 +7,9 @@ */ package org.opendaylight.yangtools.yang.model.repo.api; +import static java.util.Objects.requireNonNull; + import com.google.common.base.MoreObjects.ToStringHelper; -import com.google.common.base.Preconditions; import com.google.common.io.ByteSource; import java.io.IOException; import java.io.InputStream; @@ -19,7 +20,7 @@ final class DelegatedYangTextSchemaSource extends YangTextSchemaSource implement DelegatedYangTextSchemaSource(final SourceIdentifier identifier, final ByteSource delegate) { super(identifier); - this.delegate = Preconditions.checkNotNull(delegate); + this.delegate = requireNonNull(delegate); } @Override diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/MissingSchemaSourceException.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/MissingSchemaSourceException.java index 21b795bd40..cc9cae3552 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/MissingSchemaSourceException.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/MissingSchemaSourceException.java @@ -7,8 +7,9 @@ */ package org.opendaylight.yangtools.yang.model.repo.api; +import static java.util.Objects.requireNonNull; + import com.google.common.annotations.Beta; -import com.google.common.base.Preconditions; /** * Exception thrown when a the specified schema source is not available. @@ -24,8 +25,8 @@ public class MissingSchemaSourceException extends SchemaSourceException { } public MissingSchemaSourceException(final String message, final SourceIdentifier id, final Throwable cause) { - super(message, cause); - this.id = Preconditions.checkNotNull(id); + super(requireNonNull(message), cause); + this.id = requireNonNull(id); } public SourceIdentifier getSourceId() { diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/ResourceYangTextSchemaSource.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/ResourceYangTextSchemaSource.java index a488c5731d..ef35dbacda 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/ResourceYangTextSchemaSource.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/ResourceYangTextSchemaSource.java @@ -7,8 +7,9 @@ */ package org.opendaylight.yangtools.yang.model.repo.api; +import static java.util.Objects.requireNonNull; + import com.google.common.base.MoreObjects.ToStringHelper; -import com.google.common.base.Preconditions; import java.io.IOException; import java.io.InputStream; import java.net.URL; @@ -23,7 +24,7 @@ final class ResourceYangTextSchemaSource extends YangTextSchemaSource implements ResourceYangTextSchemaSource(final SourceIdentifier identifier, final URL url) { super(identifier); - this.url = Preconditions.checkNotNull(url); + this.url = requireNonNull(url); } @Override diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/RevisionSourceIdentifier.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/RevisionSourceIdentifier.java index 6fc229ecbc..795889e9a0 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/RevisionSourceIdentifier.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/RevisionSourceIdentifier.java @@ -7,10 +7,11 @@ */ package org.opendaylight.yangtools.yang.model.repo.api; +import static java.util.Objects.requireNonNull; + import com.google.common.annotations.Beta; -import com.google.common.base.Optional; -import com.google.common.base.Preconditions; import java.util.Objects; +import java.util.Optional; /** * YANG Schema revision source identifier. @@ -60,7 +61,7 @@ public final class RevisionSourceIdentifier extends SourceIdentifier { * Revision of source in format YYYY-mm-dd */ RevisionSourceIdentifier(final String name, final String formattedRevision) { - super(Preconditions.checkNotNull(name), Preconditions.checkNotNull(formattedRevision)); + super(requireNonNull(name), requireNonNull(formattedRevision)); } /** diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/SemVerSourceIdentifier.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/SemVerSourceIdentifier.java index f43ced86c6..342c0ccebb 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/SemVerSourceIdentifier.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/SemVerSourceIdentifier.java @@ -8,8 +8,8 @@ package org.opendaylight.yangtools.yang.model.repo.api; import com.google.common.annotations.Beta; -import com.google.common.base.Optional; import java.util.Objects; +import java.util.Optional; import org.opendaylight.yangtools.concepts.SemVer; import org.opendaylight.yangtools.yang.model.api.Module; @@ -67,7 +67,7 @@ public final class SemVerSourceIdentifier extends SourceIdentifier { * semantic version of source */ SemVerSourceIdentifier(final String name, final SemVer semVer) { - this(name, Optional.absent(), semVer); + this(name, Optional.empty(), semVer); } /** diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/SourceIdentifier.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/SourceIdentifier.java index 40c0751167..7ef2ef129d 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/SourceIdentifier.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/SourceIdentifier.java @@ -7,11 +7,12 @@ */ package org.opendaylight.yangtools.yang.model.repo.api; +import static java.util.Objects.requireNonNull; + import com.google.common.annotations.Beta; -import com.google.common.base.Optional; -import com.google.common.base.Preconditions; import com.google.common.collect.Interner; import com.google.common.collect.Interners; +import java.util.Optional; import java.util.regex.Pattern; import javax.annotation.RegEx; import org.opendaylight.yangtools.concepts.Identifier; @@ -64,7 +65,7 @@ public abstract class SourceIdentifier implements Identifier, Immutable { * Name of schema */ SourceIdentifier(final String name) { - this.name = Preconditions.checkNotNull(name); + this.name = requireNonNull(name); this.revision = null; } @@ -77,8 +78,8 @@ public abstract class SourceIdentifier implements Identifier, Immutable { * Revision of source in format YYYY-mm-dd */ SourceIdentifier(final String name, final String formattedRevision) { - this.name = Preconditions.checkNotNull(name); - this.revision = Preconditions.checkNotNull(formattedRevision); + this.name = requireNonNull(name); + this.revision = requireNonNull(formattedRevision); } /** @@ -91,8 +92,8 @@ public abstract class SourceIdentifier implements Identifier, Immutable { * default value will be used. */ SourceIdentifier(final String name, final Optional formattedRevision) { - this.name = Preconditions.checkNotNull(name); - this.revision = formattedRevision.orNull(); + this.name = requireNonNull(name); + this.revision = formattedRevision.orElse(null); } /** @@ -165,7 +166,7 @@ public abstract class SourceIdentifier implements Identifier, Immutable { */ public String toYangFilename() { final String rev = NOT_PRESENT_FORMATTED_REVISION.equals(revision) ? null : revision; - return toYangFileName(name, Optional.fromNullable(rev)); + return toYangFileName(name, Optional.ofNullable(rev)); } /** diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/YangTextFileSchemaSource.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/YangTextFileSchemaSource.java index 29d10580f2..09cb9d838b 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/YangTextFileSchemaSource.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/YangTextFileSchemaSource.java @@ -7,8 +7,9 @@ */ package org.opendaylight.yangtools.yang.model.repo.api; +import static java.util.Objects.requireNonNull; + import com.google.common.base.MoreObjects.ToStringHelper; -import com.google.common.base.Preconditions; import java.io.File; import java.io.IOException; import java.io.InputStream; @@ -26,7 +27,7 @@ final class YangTextFileSchemaSource extends YangTextSchemaSource implements Del YangTextFileSchemaSource(final SourceIdentifier identifier, final File file) { super(identifier); - this.file = Preconditions.checkNotNull(file); + this.file = requireNonNull(file); } @Override diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/YangTextSchemaSource.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/YangTextSchemaSource.java index 24c921eb56..6e5a5785d4 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/YangTextSchemaSource.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/YangTextSchemaSource.java @@ -8,18 +8,18 @@ package org.opendaylight.yangtools.yang.model.repo.api; import static com.google.common.base.Preconditions.checkArgument; +import static java.util.Objects.requireNonNull; import com.google.common.annotations.Beta; import com.google.common.base.MoreObjects; import com.google.common.base.MoreObjects.ToStringHelper; -import com.google.common.base.Optional; -import com.google.common.base.Preconditions; import com.google.common.io.ByteSource; import com.google.common.io.Resources; import java.io.File; import java.io.InputStream; import java.net.URL; import java.util.Map.Entry; +import java.util.Optional; import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.common.YangConstants; import org.opendaylight.yangtools.yang.common.YangNames; @@ -33,7 +33,7 @@ public abstract class YangTextSchemaSource extends ByteSource implements YangSch private final SourceIdentifier identifier; protected YangTextSchemaSource(final SourceIdentifier identifier) { - this.identifier = Preconditions.checkNotNull(identifier); + this.identifier = requireNonNull(identifier); } public static SourceIdentifier identifierFromFilename(final String name) { @@ -42,7 +42,7 @@ public abstract class YangTextSchemaSource extends ByteSource implements YangSch final String baseName = name.substring(0, name.length() - YangConstants.RFC6020_YANG_FILE_EXTENSION.length()); final Entry parsed = YangNames.parseFilename(baseName); - return RevisionSourceIdentifier.create(parsed.getKey(), Optional.fromNullable(parsed.getValue())); + return RevisionSourceIdentifier.create(parsed.getKey(), Optional.ofNullable(parsed.getValue())); } /** @@ -81,7 +81,7 @@ public abstract class YangTextSchemaSource extends ByteSource implements YangSch * @throws NullPointerException if file is null */ public static YangTextSchemaSource forFile(final File file) { - Preconditions.checkArgument(file.isFile(), "Supplied file %s is not a file", file); + checkArgument(file.isFile(), "Supplied file %s is not a file"); return new YangTextFileSchemaSource(identifierFromFilename(file.getName()), file); } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/YinDomSchemaSource.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/YinDomSchemaSource.java index e131b9d103..cd5802b729 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/YinDomSchemaSource.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/YinDomSchemaSource.java @@ -7,6 +7,8 @@ */ package org.opendaylight.yangtools.yang.model.repo.api; +import static com.google.common.base.Preconditions.checkArgument; +import static java.util.Objects.requireNonNull; import static org.opendaylight.yangtools.yang.common.YangConstants.RFC6020_YIN_MODULE; import static org.opendaylight.yangtools.yang.model.api.YangStmtMapping.MODULE; import static org.opendaylight.yangtools.yang.model.api.YangStmtMapping.REVISION; @@ -14,8 +16,7 @@ import static org.opendaylight.yangtools.yang.model.api.YangStmtMapping.SUBMODUL import com.google.common.base.MoreObjects; import com.google.common.base.MoreObjects.ToStringHelper; -import com.google.common.base.Optional; -import com.google.common.base.Preconditions; +import java.util.Optional; import javax.annotation.Nonnull; import javax.xml.transform.Source; import javax.xml.transform.TransformerException; @@ -61,16 +62,16 @@ public abstract class YinDomSchemaSource implements YinXmlSchemaSource { } final QName qname = QName.create(rootNs, root.getLocalName()); - Preconditions.checkArgument(RFC6020_YIN_MODULE.equals(qname.getModule()), + checkArgument(RFC6020_YIN_MODULE.equals(qname.getModule()), "Root node namepsace %s does not match %s", rootNs, YangConstants.RFC6020_YIN_NAMESPACE); - Preconditions.checkArgument(MODULE.getStatementName().equals(qname) + checkArgument(MODULE.getStatementName().equals(qname) || SUBMODULE.getStatementName().equals(qname), "Root element %s is not a module nor a submodule", qname); - Preconditions.checkArgument(root instanceof Element, "Root node %s is not an element", root); + checkArgument(root instanceof Element, "Root node %s is not an element", root); final Element element = (Element)root; final Attr nameAttr = element.getAttributeNode(MODULE.getArgumentName().getLocalName()); - Preconditions.checkArgument(nameAttr != null, "No %s name argument found in %s", element.getLocalName()); + checkArgument(nameAttr != null, "No %s name argument found in %s", element.getLocalName()); final NodeList revisions = element.getElementsByTagNameNS(REVISION_STMT.getNamespace().toString(), REVISION_STMT.getLocalName()); @@ -81,7 +82,7 @@ public abstract class YinDomSchemaSource implements YinXmlSchemaSource { final Element revisionStmt = (Element) revisions.item(0); final Attr dateAttr = revisionStmt.getAttributeNode(REVISION.getArgumentName().getLocalName()); - Preconditions.checkArgument(dateAttr != null, "No revision statement argument found in %s", revisionStmt); + checkArgument(dateAttr != null, "No revision statement argument found in %s", revisionStmt); final SourceIdentifier parsedId = RevisionSourceIdentifier.create(nameAttr.getValue(), Optional.of(dateAttr.getValue())); @@ -173,8 +174,8 @@ public abstract class YinDomSchemaSource implements YinXmlSchemaSource { private final DOMSource source; Simple(@Nonnull final SourceIdentifier identifier, @Nonnull final DOMSource source) { - this.identifier = Preconditions.checkNotNull(identifier); - this.source = Preconditions.checkNotNull(source); + this.identifier = requireNonNull(identifier); + this.source = requireNonNull(source); } @Nonnull @@ -199,7 +200,7 @@ public abstract class YinDomSchemaSource implements YinXmlSchemaSource { private volatile DOMSource source; Transforming(final YinXmlSchemaSource xmlSchemaSource) { - this.xmlSchemaSource = Preconditions.checkNotNull(xmlSchemaSource); + this.xmlSchemaSource = requireNonNull(xmlSchemaSource); } @Nonnull diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/YinTextSchemaSource.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/YinTextSchemaSource.java index 20ce3b6ff6..b3e41a62e2 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/YinTextSchemaSource.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/YinTextSchemaSource.java @@ -7,11 +7,12 @@ */ package org.opendaylight.yangtools.yang.model.repo.api; +import static com.google.common.base.Preconditions.checkArgument; +import static java.util.Objects.requireNonNull; + import com.google.common.annotations.Beta; import com.google.common.base.MoreObjects; import com.google.common.base.MoreObjects.ToStringHelper; -import com.google.common.base.Optional; -import com.google.common.base.Preconditions; import com.google.common.io.ByteSource; import com.google.common.io.Resources; import java.io.File; @@ -19,6 +20,7 @@ import java.io.IOException; import java.io.InputStream; import java.net.URL; import java.util.Map.Entry; +import java.util.Optional; import javax.annotation.Nonnull; import org.opendaylight.yangtools.concepts.Delegator; import org.opendaylight.yangtools.yang.common.YangConstants; @@ -37,7 +39,7 @@ public abstract class YinTextSchemaSource extends ByteSource implements YinSchem private final SourceIdentifier identifier; protected YinTextSchemaSource(final SourceIdentifier identifier) { - this.identifier = Preconditions.checkNotNull(identifier); + this.identifier = requireNonNull(identifier); } public static SourceIdentifier identifierFromFilename(final String name) { @@ -53,7 +55,7 @@ public abstract class YinTextSchemaSource extends ByteSource implements YinSchem } final Entry parsed = YangNames.parseFilename(baseName); - return RevisionSourceIdentifier.create(parsed.getKey(), Optional.fromNullable(parsed.getValue())); + return RevisionSourceIdentifier.create(parsed.getKey(), Optional.ofNullable(parsed.getValue())); } @Override @@ -97,7 +99,7 @@ public abstract class YinTextSchemaSource extends ByteSource implements YinSchem } public static YinTextSchemaSource forFile(final File file) { - Preconditions.checkArgument(file.isFile(), "Supplied file %s is not a file", file); + checkArgument(file.isFile(), "Supplied file %s is not a file", file); return new YinTextFileSchemaSource(identifierFromFilename(file.getName()), file); } @@ -114,7 +116,7 @@ public abstract class YinTextSchemaSource extends ByteSource implements YinSchem private DelegatedYinTextSchemaSource(final SourceIdentifier identifier, final ByteSource delegate) { super(identifier); - this.delegate = Preconditions.checkNotNull(delegate); + this.delegate = requireNonNull(delegate); } @Override diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/spi/PotentialSchemaSource.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/spi/PotentialSchemaSource.java index 3652fd4279..08e8247827 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/spi/PotentialSchemaSource.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/spi/PotentialSchemaSource.java @@ -7,8 +7,10 @@ */ package org.opendaylight.yangtools.yang.model.repo.spi; +import static com.google.common.base.Preconditions.checkArgument; +import static java.util.Objects.requireNonNull; + import com.google.common.annotations.Beta; -import com.google.common.base.Preconditions; import com.google.common.collect.Interner; import com.google.common.collect.Interners; import java.util.Objects; @@ -71,9 +73,9 @@ public final class PotentialSchemaSource { private PotentialSchemaSource(final SourceIdentifier sourceIdentifier, final Class representation, final int cost) { - this.representation = Preconditions.checkNotNull(representation); - this.sourceIdentifier = Preconditions.checkNotNull(sourceIdentifier); - Preconditions.checkArgument(cost >= 0, "cost has to be non-negative"); + this.representation = requireNonNull(representation); + this.sourceIdentifier = requireNonNull(sourceIdentifier); + checkArgument(cost >= 0, "cost has to be non-negative"); this.cost = cost; } diff --git a/yang/yang-model-export/src/main/java/org/opendaylight/yangtools/yang/model/export/SchemaContextEmitter.java b/yang/yang-model-export/src/main/java/org/opendaylight/yangtools/yang/model/export/SchemaContextEmitter.java index 4e61b4a6f2..9a37e3ecfd 100644 --- a/yang/yang-model-export/src/main/java/org/opendaylight/yangtools/yang/model/export/SchemaContextEmitter.java +++ b/yang/yang-model-export/src/main/java/org/opendaylight/yangtools/yang/model/export/SchemaContextEmitter.java @@ -8,7 +8,6 @@ package org.opendaylight.yangtools.yang.model.export; import com.google.common.annotations.Beta; -import com.google.common.base.Optional; import com.google.common.base.Preconditions; import com.google.common.base.Predicates; import com.google.common.base.Strings; @@ -22,6 +21,7 @@ import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.Objects; +import java.util.Optional; import java.util.Set; import javax.annotation.Nonnull; import javax.annotation.Nullable; diff --git a/yang/yang-model-immutable/src/main/java/org/opendaylight/yangtools/yang/model/immutable/AbstractSchemaContext.java b/yang/yang-model-immutable/src/main/java/org/opendaylight/yangtools/yang/model/immutable/AbstractSchemaContext.java index fabfd76640..760e4c62f2 100644 --- a/yang/yang-model-immutable/src/main/java/org/opendaylight/yangtools/yang/model/immutable/AbstractSchemaContext.java +++ b/yang/yang-model-immutable/src/main/java/org/opendaylight/yangtools/yang/model/immutable/AbstractSchemaContext.java @@ -7,8 +7,8 @@ */ package org.opendaylight.yangtools.yang.model.immutable; -import com.google.common.base.Optional; import java.util.Date; +import java.util.Optional; import org.immutables.value.Value; import org.opendaylight.yangtools.yang.model.api.Module; import org.opendaylight.yangtools.yang.model.api.ModuleIdentifier; diff --git a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/repo/util/AbstractSchemaSourceCache.java b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/repo/util/AbstractSchemaSourceCache.java index 4816e8f28a..92567fd498 100644 --- a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/repo/util/AbstractSchemaSourceCache.java +++ b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/repo/util/AbstractSchemaSourceCache.java @@ -7,7 +7,7 @@ */ package org.opendaylight.yangtools.yang.model.repo.util; -import com.google.common.base.Preconditions; +import static java.util.Objects.requireNonNull; import org.opendaylight.yangtools.yang.model.repo.api.SchemaSourceRepresentation; import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier; @@ -34,9 +34,9 @@ public abstract class AbstractSchemaSourceCache representation, final Costs cost) { - this.consumer = Preconditions.checkNotNull(consumer); - this.representation = Preconditions.checkNotNull(representation); - this.cost = Preconditions.checkNotNull(cost); + this.consumer = requireNonNull(consumer); + this.representation = requireNonNull(representation); + this.cost = requireNonNull(cost); } /** diff --git a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/repo/util/AbstractSchemaSourceRegistration.java b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/repo/util/AbstractSchemaSourceRegistration.java index 7c1c4ce658..239144518a 100644 --- a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/repo/util/AbstractSchemaSourceRegistration.java +++ b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/repo/util/AbstractSchemaSourceRegistration.java @@ -7,7 +7,7 @@ */ package org.opendaylight.yangtools.yang.model.repo.util; -import com.google.common.base.Preconditions; +import static java.util.Objects.requireNonNull; import org.opendaylight.yangtools.concepts.AbstractObjectRegistration; import org.opendaylight.yangtools.yang.model.repo.api.SchemaSourceRepresentation; @@ -22,7 +22,7 @@ public abstract class AbstractSchemaSourceRegistration provider, final PotentialSchemaSource source) { super(source); - this.provider = Preconditions.checkNotNull(provider); + this.provider = requireNonNull(provider); } protected final SchemaSourceProvider getProvider() { diff --git a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/repo/util/FilesystemSchemaSourceCache.java b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/repo/util/FilesystemSchemaSourceCache.java index 26046497c8..5ad577a5b4 100644 --- a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/repo/util/FilesystemSchemaSourceCache.java +++ b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/repo/util/FilesystemSchemaSourceCache.java @@ -7,9 +7,10 @@ */ package org.opendaylight.yangtools.yang.model.repo.util; +import static com.google.common.base.Preconditions.checkArgument; +import static java.util.Objects.requireNonNull; + import com.google.common.base.MoreObjects.ToStringHelper; -import com.google.common.base.Optional; -import com.google.common.base.Preconditions; import com.google.common.base.Strings; import com.google.common.collect.Lists; import com.google.common.util.concurrent.CheckedFuture; @@ -30,6 +31,7 @@ import java.util.Collections; import java.util.Date; import java.util.List; import java.util.Map; +import java.util.Optional; import java.util.TreeMap; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -68,18 +70,17 @@ public final class FilesystemSchemaSourceCache representation, final File storageDirectory) { super(consumer, representation, Costs.LOCAL_IO); this.representation = representation; - this.storageDirectory = Preconditions.checkNotNull(storageDirectory); + this.storageDirectory = requireNonNull(storageDirectory); checkSupportedRepresentation(representation); if (!storageDirectory.exists()) { - Preconditions.checkArgument(storageDirectory.mkdirs(), "Unable to create cache directory at %s", - storageDirectory); + checkArgument(storageDirectory.mkdirs(), "Unable to create cache directory at %s", storageDirectory); } - Preconditions.checkArgument(storageDirectory.exists()); - Preconditions.checkArgument(storageDirectory.isDirectory()); - Preconditions.checkArgument(storageDirectory.canWrite()); - Preconditions.checkArgument(storageDirectory.canRead()); + checkArgument(storageDirectory.exists()); + checkArgument(storageDirectory.isDirectory()); + checkArgument(storageDirectory.canWrite()); + checkArgument(storageDirectory.canRead()); init(); } @@ -220,7 +221,7 @@ public final class FilesystemSchemaSourceCache reg) { - this.reg = Preconditions.checkNotNull(reg); + this.reg = requireNonNull(reg); } public void incRef() { @@ -24,13 +25,13 @@ final class RefcountedRegistration { } public boolean decRef() { - Preconditions.checkState(refcount > 0, "Refcount underflow: %s", refcount); + checkState(refcount > 0, "Refcount underflow: %s", refcount); if (0 == --refcount) { reg.close(); return true; - } else { - return false; } + + return false; } } \ No newline at end of file diff --git a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/repo/util/SchemaSourceTransformer.java b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/repo/util/SchemaSourceTransformer.java index 4aef04b2df..68bad933d0 100644 --- a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/repo/util/SchemaSourceTransformer.java +++ b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/repo/util/SchemaSourceTransformer.java @@ -7,7 +7,8 @@ */ package org.opendaylight.yangtools.yang.model.repo.util; -import com.google.common.base.Preconditions; +import static java.util.Objects.requireNonNull; + import com.google.common.util.concurrent.AsyncFunction; import com.google.common.util.concurrent.CheckedFuture; import com.google.common.util.concurrent.Futures; @@ -48,11 +49,11 @@ public class SchemaSourceTransformer srcClass, final SchemaSourceRegistry consumer, final Class dstClass, final AsyncFunction function) { - this.provider = Preconditions.checkNotNull(provider); - this.consumer = Preconditions.checkNotNull(consumer); - this.function = Preconditions.checkNotNull(function); - this.srcClass = Preconditions.checkNotNull(srcClass); - this.dstClass = Preconditions.checkNotNull(dstClass); + this.provider = requireNonNull(provider); + this.consumer = requireNonNull(consumer); + this.function = requireNonNull(function); + this.srcClass = requireNonNull(srcClass); + this.dstClass = requireNonNull(dstClass); } @Override diff --git a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/AbstractSchemaContext.java b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/AbstractSchemaContext.java index 87c112b500..a0e022a624 100644 --- a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/AbstractSchemaContext.java +++ b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/AbstractSchemaContext.java @@ -8,8 +8,6 @@ package org.opendaylight.yangtools.yang.model.util; -import com.google.common.base.Optional; -import com.google.common.base.Supplier; import com.google.common.collect.SetMultimap; import java.net.URI; import java.util.ArrayList; @@ -20,6 +18,7 @@ import java.util.HashSet; import java.util.LinkedHashSet; import java.util.List; import java.util.Map; +import java.util.Optional; import java.util.Set; import java.util.TreeSet; import javax.annotation.Nonnull; @@ -40,7 +39,6 @@ import org.opendaylight.yangtools.yang.model.api.TypeDefinition; import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode; import org.opendaylight.yangtools.yang.model.api.UsesNode; - public abstract class AbstractSchemaContext implements SchemaContext { protected static final Comparator REVISION_COMPARATOR = (o1, o2) -> { if (o2.getRevision() == null) { @@ -50,7 +48,9 @@ public abstract class AbstractSchemaContext implements SchemaContext { return o2.getRevision().compareTo(o1.getRevision()); }; - protected static final Supplier> MODULE_SET_SUPPLIER = () -> new TreeSet<>(REVISION_COMPARATOR); + protected static final TreeSet createModuleSet() { + return new TreeSet<>(REVISION_COMPARATOR); + } /** * Returns the ModuleIdentifier-to-YANG source mapping. @@ -245,8 +245,6 @@ public abstract class AbstractSchemaContext implements SchemaContext { @Override public Optional getModuleSource(final ModuleIdentifier moduleIdentifier) { - String maybeSource = getIdentifiersToSources().get(moduleIdentifier); - return Optional.fromNullable(maybeSource); + return Optional.ofNullable(getIdentifiersToSources().get(moduleIdentifier)); } - } diff --git a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/BaseConstraints.java b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/BaseConstraints.java index 3116132b02..7b3d71b112 100644 --- a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/BaseConstraints.java +++ b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/BaseConstraints.java @@ -7,7 +7,7 @@ */ package org.opendaylight.yangtools.yang.model.util; -import com.google.common.base.Optional; +import java.util.Optional; import org.opendaylight.yangtools.yang.model.api.type.LengthConstraint; import org.opendaylight.yangtools.yang.model.api.type.ModifierKind; import org.opendaylight.yangtools.yang.model.api.type.PatternConstraint; @@ -45,8 +45,8 @@ public final class BaseConstraints { * * @param min length-restricting lower bound value. The value MUST NOT be negative. * @param max length-restricting upper bound value. The value MUST NOT be negative. - * @param description Description associated with constraint. {@link Optional#absent()} if description is undefined. - * @param reference Reference associated with constraint. {@link Optional#absent()} if reference is undefined. + * @param description Description associated with constraint. {@link Optional#empty()} if description is undefined. + * @param reference Reference associated with constraint. {@link Optional#empty()} if reference is undefined. * @return Instance of {@link LengthConstraint} */ public static LengthConstraint newLengthConstraint(final Number min, final Number max, @@ -70,8 +70,8 @@ public final class BaseConstraints { * * @param min length-restricting lower bound value. The value MUST NOT be negative. * @param max length-restricting upper bound value. The value MUST NOT be negative. - * @param description Description associated with constraint. {@link Optional#absent()} if description is undefined. - * @param reference Reference associated with constraint. {@link Optional#absent()} if reference is undefined. + * @param description Description associated with constraint. {@link Optional#empty()} if description is undefined. + * @param reference Reference associated with constraint. {@link Optional#empty()} if reference is undefined. * @param errorAppTag error-app-tag associated with constraint. * @param errorMessage error message associated with constraint. * @return Instance of {@link LengthConstraint} @@ -99,8 +99,8 @@ public final class BaseConstraints { * @param Type of constraint * @param min value-restricting lower bound value. The value MUST NOT Be null. * @param max value-restricting upper bound value. The value MUST NOT Be null. - * @param description Description associated with constraint. {@link Optional#absent()} if description is undefined. - * @param reference Reference associated with constraint. {@link Optional#absent()} if reference is undefined. + * @param description Description associated with constraint. {@link Optional#empty()} if description is undefined. + * @param reference Reference associated with constraint. {@link Optional#empty()} if reference is undefined. * @return Instance of {@link RangeConstraint} */ public static RangeConstraint newRangeConstraint(final T min, final T max, @@ -125,8 +125,8 @@ public final class BaseConstraints { * @param Type of constraint * @param min value-restricting lower bound value. The value MUST NOT Be null. * @param max value-restricting upper bound value. The value MUST NOT Be null. - * @param description Description associated with constraint. {@link Optional#absent()} if description is undefined. - * @param reference Reference associated with constraint. {@link Optional#absent()} if reference is undefined. + * @param description Description associated with constraint. {@link Optional#empty()} if description is undefined. + * @param reference Reference associated with constraint. {@link Optional#empty()} if reference is undefined. * @param errorAppTag error-app-tag associated with constraint. * @param errorMessage error message associated with constraint. * @return Instance of {@link RangeConstraint} diff --git a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/EffectiveAugmentationSchema.java b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/EffectiveAugmentationSchema.java index fecb622945..3b36b972d1 100644 --- a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/EffectiveAugmentationSchema.java +++ b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/EffectiveAugmentationSchema.java @@ -7,13 +7,13 @@ */ package org.opendaylight.yangtools.yang.model.util; -import com.google.common.base.Optional; import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Optional; import java.util.Set; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.AugmentationSchema; diff --git a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/FilteringSchemaContextProxy.java b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/FilteringSchemaContextProxy.java index 7c3c7abc95..55f4e8e1b0 100644 --- a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/FilteringSchemaContextProxy.java +++ b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/FilteringSchemaContextProxy.java @@ -60,8 +60,10 @@ public final class FilteringSchemaContextProxy extends AbstractSchemaContext { Preconditions.checkNotNull(additionalModuleIds, "Additional modules cannot be null."); final Builder filteredModulesBuilder = new Builder<>(); - final SetMultimap nsMap = Multimaps.newSetMultimap(new TreeMap<>(), MODULE_SET_SUPPLIER); - final SetMultimap nameMap = Multimaps.newSetMultimap(new TreeMap<>(), MODULE_SET_SUPPLIER); + final SetMultimap nsMap = Multimaps.newSetMultimap(new TreeMap<>(), + AbstractSchemaContext::createModuleSet); + final SetMultimap nameMap = Multimaps.newSetMultimap(new TreeMap<>(), + AbstractSchemaContext::createModuleSet); ImmutableMap.Builder identifiersToSourcesBuilder = ImmutableMap.builder(); diff --git a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/LengthConstraintImpl.java b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/LengthConstraintImpl.java index feca985796..cc8fdb3a48 100644 --- a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/LengthConstraintImpl.java +++ b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/LengthConstraintImpl.java @@ -7,9 +7,9 @@ */ package org.opendaylight.yangtools.yang.model.util; -import com.google.common.base.Optional; import com.google.common.base.Preconditions; import java.util.Objects; +import java.util.Optional; import org.opendaylight.yangtools.concepts.Immutable; import org.opendaylight.yangtools.yang.model.api.type.LengthConstraint; @@ -45,8 +45,8 @@ final class LengthConstraintImpl implements LengthConstraint, Immutable { final Optional reference, final String errorAppTag, final String errorMessage) { this.min = Preconditions.checkNotNull(min, "min must not be null."); this.max = Preconditions.checkNotNull(max, "max must not be null"); - this.description = description.orNull(); - this.reference = reference.orNull(); + this.description = description.orElse(null); + this.reference = reference.orElse(null); this.errorAppTag = errorAppTag != null ? errorAppTag : "length-out-of-specified-bounds"; this.errorMessage = errorMessage != null ? errorMessage : "The argument is out of bounds <" + min + ", " + max + ">"; diff --git a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/PatternConstraintImpl.java b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/PatternConstraintImpl.java index 6dd0414cba..742d2d1e0d 100644 --- a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/PatternConstraintImpl.java +++ b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/PatternConstraintImpl.java @@ -8,9 +8,9 @@ package org.opendaylight.yangtools.yang.model.util; import com.google.common.base.MoreObjects; -import com.google.common.base.Optional; import com.google.common.base.Preconditions; import java.util.Objects; +import java.util.Optional; import org.opendaylight.yangtools.concepts.Immutable; import org.opendaylight.yangtools.yang.model.api.type.ModifierKind; import org.opendaylight.yangtools.yang.model.api.type.PatternConstraint; @@ -37,18 +37,18 @@ final class PatternConstraintImpl implements PatternConstraint, Immutable { private final ModifierKind modifier; PatternConstraintImpl(final String regex, final Optional description, final Optional reference) { - this(regex, description, reference, null, null, Optional.absent()); + this(regex, description, reference, null, null, Optional.empty()); } PatternConstraintImpl(final String regex, final Optional description, final Optional reference, final String errorAppTag, final String errorMessage, final Optional modifier) { this.regex = Preconditions.checkNotNull(regex, "regex must not be null."); - this.description = description.orNull(); - this.reference = reference.orNull(); + this.description = description.orElse(null); + this.reference = reference.orElse(null); this.errorAppTag = errorAppTag != null ? errorAppTag : "invalid-regular-expression"; this.errorMessage = errorMessage != null ? errorMessage : String.format( "Supplied value does not match the regular expression %s.", regex); - this.modifier = modifier.orNull(); + this.modifier = modifier.orElse(null); } @Override diff --git a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/RangeConstraintImpl.java b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/RangeConstraintImpl.java index f1e76b14e7..8ed0ad973b 100644 --- a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/RangeConstraintImpl.java +++ b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/RangeConstraintImpl.java @@ -7,9 +7,9 @@ */ package org.opendaylight.yangtools.yang.model.util; -import com.google.common.base.Optional; import com.google.common.base.Preconditions; import java.util.Objects; +import java.util.Optional; import org.opendaylight.yangtools.concepts.Immutable; import org.opendaylight.yangtools.yang.model.api.type.RangeConstraint; @@ -45,8 +45,8 @@ final class RangeConstraintImpl implements RangeConstraint, Immutable { final Optional reference, final String errorAppTag, final String errorMessage) { this.min = Preconditions.checkNotNull(min, "min must not be null."); this.max = Preconditions.checkNotNull(max, "max must not be null."); - this.description = description.orNull(); - this.reference = reference.orNull(); + this.description = description.orElse(null); + this.reference = reference.orElse(null); this.errorAppTag = errorAppTag != null ? errorAppTag : "range-out-of-specified-bounds"; this.errorMessage = errorMessage != null ? errorMessage : "The argument is out of bounds <" + min + ", " + max + ">"; diff --git a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/SchemaContextUtil.java b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/SchemaContextUtil.java index 8e390ba7be..906fb2ccaf 100644 --- a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/SchemaContextUtil.java +++ b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/SchemaContextUtil.java @@ -9,13 +9,13 @@ package org.opendaylight.yangtools.yang.model.util; import com.google.common.annotations.Beta; import com.google.common.annotations.VisibleForTesting; -import com.google.common.base.Optional; import com.google.common.base.Preconditions; import com.google.common.base.Splitter; import com.google.common.collect.Iterables; import java.util.Iterator; import java.util.LinkedList; import java.util.List; +import java.util.Optional; import java.util.Set; import java.util.regex.Pattern; import javax.annotation.Nonnull; @@ -674,7 +674,7 @@ public final class SchemaContextUtil { final TypeDefinition targetTypeDefinition = typeDefinition(dataSchemaNode); if (targetTypeDefinition instanceof LeafrefTypeDefinition) { - return getBaseTypeForLeafRef(((LeafrefTypeDefinition) targetTypeDefinition), schemaContext, dataSchemaNode); + return getBaseTypeForLeafRef((LeafrefTypeDefinition) targetTypeDefinition, schemaContext, dataSchemaNode); } return targetTypeDefinition; @@ -703,7 +703,7 @@ public final class SchemaContextUtil { parentModule, strippedPathStatement); final TypeDefinition targetTypeDefinition = typeDefinition(dataSchemaNode); if (targetTypeDefinition instanceof LeafrefTypeDefinition) { - return getBaseTypeForLeafRef(((LeafrefTypeDefinition) targetTypeDefinition), schemaContext, dataSchemaNode); + return getBaseTypeForLeafRef((LeafrefTypeDefinition) targetTypeDefinition, schemaContext, dataSchemaNode); } return targetTypeDefinition; diff --git a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/SchemaNodeUtils.java b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/SchemaNodeUtils.java index 1ad31d4812..0754104f70 100644 --- a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/SchemaNodeUtils.java +++ b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/SchemaNodeUtils.java @@ -7,8 +7,9 @@ */ package org.opendaylight.yangtools.yang.model.util; -import com.google.common.base.Optional; -import com.google.common.base.Preconditions; +import static java.util.Objects.requireNonNull; + +import java.util.Optional; import javax.annotation.Nonnull; import javax.annotation.Nullable; import org.opendaylight.yangtools.yang.common.QName; @@ -26,20 +27,20 @@ public class SchemaNodeUtils { public static Optional getOriginalIfPossible(final SchemaNode node) { if (node instanceof DerivableSchemaNode) { @SuppressWarnings("unchecked") - final Optional ret = (Optional) (((DerivableSchemaNode) node).getOriginal()); + final Optional ret = (Optional) ((DerivableSchemaNode) node).getOriginal(); return ret; } - return Optional.absent(); + return Optional.empty(); } public static SchemaNode getRootOriginalIfPossible(final SchemaNode data) { - Optional previous = Optional.absent(); + Optional previous = Optional.empty(); Optional next = getOriginalIfPossible(data); while (next.isPresent()) { previous = next; next = getOriginalIfPossible(next.get()); } - return previous.orNull(); + return previous.orElse(null); } /** @@ -51,8 +52,8 @@ public class SchemaNodeUtils { */ @Nullable public static ContainerSchemaNode getRpcDataSchema(@Nonnull final RpcDefinition rpc, @Nonnull final QName qname) { - Preconditions.checkNotNull(rpc, "Rpc Schema must not be null"); - Preconditions.checkNotNull(qname,"QName must not be null"); + requireNonNull(rpc, "Rpc Schema must not be null"); + requireNonNull(qname, "QName must not be null"); switch (qname.getLocalName()) { case "input": return rpc.getInput(); diff --git a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/SimpleSchemaContext.java b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/SimpleSchemaContext.java index b813a87878..6e6efbdb78 100644 --- a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/SimpleSchemaContext.java +++ b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/SimpleSchemaContext.java @@ -51,8 +51,10 @@ public class SimpleSchemaContext extends AbstractSchemaContext { * * Invest some quality time in building up lookup tables for both. */ - final SetMultimap nsMap = Multimaps.newSetMultimap(new TreeMap<>(), MODULE_SET_SUPPLIER); - final SetMultimap nameMap = Multimaps.newSetMultimap(new TreeMap<>(), MODULE_SET_SUPPLIER); + final SetMultimap nsMap = Multimaps.newSetMultimap(new TreeMap<>(), + AbstractSchemaContext::createModuleSet); + final SetMultimap nameMap = Multimaps.newSetMultimap(new TreeMap<>(), + AbstractSchemaContext::createModuleSet); final Set modIdBuilder = new HashSet<>(); for (Module m : modules) { nameMap.put(m.getName(), m); diff --git a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/UnresolvedNumber.java b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/UnresolvedNumber.java index 67b10767bd..3cdb7df9f6 100644 --- a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/UnresolvedNumber.java +++ b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/UnresolvedNumber.java @@ -7,8 +7,9 @@ */ package org.opendaylight.yangtools.yang.model.util; +import static com.google.common.base.Preconditions.checkArgument; + import com.google.common.annotations.Beta; -import com.google.common.base.Preconditions; import java.util.List; import org.opendaylight.yangtools.concepts.Immutable; import org.opendaylight.yangtools.yang.model.api.type.LengthConstraint; @@ -92,7 +93,7 @@ public abstract class UnresolvedNumber extends Number implements Immutable { } private static Number resolve(final Number number) { - Preconditions.checkArgument(!(number instanceof UnresolvedNumber)); + checkArgument(!(number instanceof UnresolvedNumber)); return number; } diff --git a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/AbstractRangeRestrictedBaseType.java b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/AbstractRangeRestrictedBaseType.java index 1a4de9ea6b..0badaf2501 100644 --- a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/AbstractRangeRestrictedBaseType.java +++ b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/AbstractRangeRestrictedBaseType.java @@ -7,9 +7,9 @@ */ package org.opendaylight.yangtools.yang.model.util.type; -import com.google.common.base.Optional; import com.google.common.collect.ImmutableList; import java.util.List; +import java.util.Optional; import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.SchemaPath; @@ -25,7 +25,7 @@ abstract class AbstractRangeRestrictedBaseType unknownSchemaNodes, diff --git a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/BaseDecimalType.java b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/BaseDecimalType.java index 0c8ff1174c..c42451ef9b 100644 --- a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/BaseDecimalType.java +++ b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/BaseDecimalType.java @@ -7,11 +7,11 @@ */ package org.opendaylight.yangtools.yang.model.util.type; -import com.google.common.base.Optional; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableList.Builder; import java.math.BigDecimal; import java.util.List; +import java.util.Optional; import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.model.api.SchemaPath; import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode; @@ -48,7 +48,7 @@ final class BaseDecimalType extends AbstractRangeRestrictedBaseType createRangeConstraint(final String min, final String max) { return ImmutableList.of(BaseConstraints.newRangeConstraint(new BigDecimal(min), new BigDecimal(max), - Optional.absent(), Optional.of("https://tools.ietf.org/html/rfc6020#section-9.3.4"))); + Optional.empty(), Optional.of("https://tools.ietf.org/html/rfc6020#section-9.3.4"))); } static List constraintsForDigits(final int fractionDigits) { diff --git a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/JavaLengthConstraints.java b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/JavaLengthConstraints.java index dcf11c5baf..346494db3b 100644 --- a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/JavaLengthConstraints.java +++ b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/JavaLengthConstraints.java @@ -7,9 +7,9 @@ */ package org.opendaylight.yangtools.yang.model.util.type; -import com.google.common.base.Optional; import com.google.common.collect.ImmutableList; import java.util.List; +import java.util.Optional; import org.opendaylight.yangtools.yang.model.api.type.LengthConstraint; import org.opendaylight.yangtools.yang.model.util.BaseConstraints; @@ -19,5 +19,5 @@ final class JavaLengthConstraints { } static final List INTEGER_SIZE_CONSTRAINTS = ImmutableList.of( - BaseConstraints.newLengthConstraint(0, Integer.MAX_VALUE, Optional.absent(), Optional.absent())); + BaseConstraints.newLengthConstraint(0, Integer.MAX_VALUE, Optional.empty(), Optional.empty())); } diff --git a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/LengthRestrictedTypeBuilder.java b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/LengthRestrictedTypeBuilder.java index 146a3125de..fbbf77f700 100644 --- a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/LengthRestrictedTypeBuilder.java +++ b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/LengthRestrictedTypeBuilder.java @@ -7,12 +7,12 @@ */ package org.opendaylight.yangtools.yang.model.util.type; -import com.google.common.base.Optional; import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableList.Builder; import java.util.Collection; import java.util.List; +import java.util.Optional; import java.util.function.Function; import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.model.api.SchemaPath; @@ -63,8 +63,8 @@ public abstract class LengthRestrictedTypeBuilder cases = Sets.newHashSet(mockedCase1, mockedCase2); + final Set cases = ImmutableSet.of(mockedCase1, mockedCase2); doReturn(cases).when(mockedChoice).getCases(); - final Set childNodes = Sets.newHashSet(mockedAugmentingContainer, mockedContainer, mockedList, + final Set childNodes = ImmutableSet.of(mockedAugmentingContainer, mockedContainer, mockedList, mockedChoice); doReturn(childNodes).when(mockedModule).getChildNodes(); final NotificationDefinition mockedNotification = mock(NotificationDefinition.class); final ContainerSchemaNode mockedContainerInNotification = mock(ContainerSchemaNode.class); - final Set notificationChildNodes = Sets.newHashSet(mockedContainerInNotification); + final Set notificationChildNodes = ImmutableSet.of(mockedContainerInNotification); doReturn(notificationChildNodes).when(mockedNotification).getChildNodes(); - final Set notifications = Sets.newHashSet(mockedNotification); + final Set notifications = ImmutableSet.of(mockedNotification); doReturn(notifications).when(mockedModule).getNotifications(); final RpcDefinition mockedRpc = mock(RpcDefinition.class); final ContainerSchemaNode mockedContainerInRpcInput = mock(ContainerSchemaNode.class); final ListSchemaNode mockedListInRpcInputContainer = mock(ListSchemaNode.class); - final Set rpcInputChildNodes = Sets.newHashSet(mockedListInRpcInputContainer); + final Set rpcInputChildNodes = ImmutableSet.of(mockedListInRpcInputContainer); doReturn(rpcInputChildNodes).when(mockedContainerInRpcInput).getChildNodes(); doReturn(mockedContainerInRpcInput).when(mockedRpc).getInput(); - final Set rpcs = Sets.newHashSet(mockedRpc); + final Set rpcs = ImmutableSet.of(mockedRpc); doReturn(rpcs).when(mockedModule).getRpcs(); final GroupingDefinition mockedGrouping = mock(GroupingDefinition.class); - final Set groupings = Sets.newHashSet(mockedGrouping); + final Set groupings = ImmutableSet.of(mockedGrouping); doReturn(groupings).when(mockedModule).getGroupings(); diff --git a/yang/yang-model-util/src/test/java/org/opendaylight/yangtools/yang/model/util/LengthConstraintImplTest.java b/yang/yang-model-util/src/test/java/org/opendaylight/yangtools/yang/model/util/LengthConstraintImplTest.java index 948613e33a..b366ff84ff 100644 --- a/yang/yang-model-util/src/test/java/org/opendaylight/yangtools/yang/model/util/LengthConstraintImplTest.java +++ b/yang/yang-model-util/src/test/java/org/opendaylight/yangtools/yang/model/util/LengthConstraintImplTest.java @@ -11,7 +11,7 @@ package org.opendaylight.yangtools.yang.model.util; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; -import com.google.common.base.Optional; +import java.util.Optional; import org.junit.Test; import org.opendaylight.yangtools.yang.model.api.type.LengthConstraint; diff --git a/yang/yang-model-util/src/test/java/org/opendaylight/yangtools/yang/model/util/PatternConstraintImplTest.java b/yang/yang-model-util/src/test/java/org/opendaylight/yangtools/yang/model/util/PatternConstraintImplTest.java index 2465bdc4af..dadeb1a793 100644 --- a/yang/yang-model-util/src/test/java/org/opendaylight/yangtools/yang/model/util/PatternConstraintImplTest.java +++ b/yang/yang-model-util/src/test/java/org/opendaylight/yangtools/yang/model/util/PatternConstraintImplTest.java @@ -13,7 +13,7 @@ import static org.junit.Assert.assertNotEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; -import com.google.common.base.Optional; +import java.util.Optional; import org.junit.Test; public class PatternConstraintImplTest { diff --git a/yang/yang-model-util/src/test/java/org/opendaylight/yangtools/yang/model/util/SchemaContextProxyTest.java b/yang/yang-model-util/src/test/java/org/opendaylight/yangtools/yang/model/util/SchemaContextProxyTest.java index acb5eaf75d..8a4976bdff 100644 --- a/yang/yang-model-util/src/test/java/org/opendaylight/yangtools/yang/model/util/SchemaContextProxyTest.java +++ b/yang/yang-model-util/src/test/java/org/opendaylight/yangtools/yang/model/util/SchemaContextProxyTest.java @@ -14,7 +14,6 @@ import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; import com.google.common.collect.ImmutableSet; -import com.google.common.collect.Lists; import java.net.URI; import java.net.URISyntaxException; import java.text.ParseException; @@ -465,7 +464,7 @@ public class SchemaContextProxyTest { new HashSet<>(), moduleConfig); final ExtensionDefinition mockedExtension = mock(ExtensionDefinition.class); - final List extensions = Lists.newArrayList(mockedExtension); + final List extensions = Collections.singletonList(mockedExtension); doReturn(extensions).when(moduleConfig).getExtensionSchemaNodes(); final Set schemaContextProxyExtensions = filteringSchemaContextProxy.getExtensions(); @@ -480,7 +479,7 @@ public class SchemaContextProxyTest { new HashSet<>(), moduleConfig); final UnknownSchemaNode mockedUnknownSchemaNode = mock(UnknownSchemaNode.class); - final List unknownSchemaNodes = Lists.newArrayList(mockedUnknownSchemaNode); + final List unknownSchemaNodes = Collections.singletonList(mockedUnknownSchemaNode); doReturn(unknownSchemaNodes).when(moduleConfig).getUnknownSchemaNodes(); final List schemaContextProxyUnknownSchemaNodes = diff --git a/yang/yang-model-util/src/test/java/org/opendaylight/yangtools/yang/model/util/SchemaNodeUtilsTest.java b/yang/yang-model-util/src/test/java/org/opendaylight/yangtools/yang/model/util/SchemaNodeUtilsTest.java index 6ec194712e..ff23c4b424 100644 --- a/yang/yang-model-util/src/test/java/org/opendaylight/yangtools/yang/model/util/SchemaNodeUtilsTest.java +++ b/yang/yang-model-util/src/test/java/org/opendaylight/yangtools/yang/model/util/SchemaNodeUtilsTest.java @@ -13,7 +13,7 @@ import static org.junit.Assert.assertNull; import static org.junit.Assert.assertThat; import static org.mockito.Mockito.doReturn; -import com.google.common.base.Optional; +import java.util.Optional; import org.junit.Before; import org.junit.Test; import org.mockito.Mock; diff --git a/yang/yang-model-util/src/test/java/org/opendaylight/yangtools/yang/model/util/type/TypeTest.java b/yang/yang-model-util/src/test/java/org/opendaylight/yangtools/yang/model/util/type/TypeTest.java index 2a4fa24a72..bdab7a070d 100644 --- a/yang/yang-model-util/src/test/java/org/opendaylight/yangtools/yang/model/util/type/TypeTest.java +++ b/yang/yang-model-util/src/test/java/org/opendaylight/yangtools/yang/model/util/type/TypeTest.java @@ -14,8 +14,8 @@ import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import static org.mockito.Mockito.mock; -import com.google.common.base.Optional; import java.util.ArrayList; +import java.util.Optional; import org.junit.Test; import org.opendaylight.yangtools.concepts.Builder; import org.opendaylight.yangtools.yang.common.QName; @@ -47,7 +47,7 @@ public class TypeTest { private static final RevisionAwareXPath REVISION_AWARE_XPATH = new RevisionAwareXPathImpl("/test", true); private static final Bit BIT_A = BitBuilder.create(SCHEMA_PATH, 55L).setDescription("description") .setReference("reference").build(); - private static final Optional ABSENT = Optional.absent(); + private static final Optional ABSENT = Optional.empty(); @Test public void binaryTypeTest() { @@ -433,11 +433,10 @@ public class TypeTest { @Test public void exceptionTest() { - final Optional absent = Optional.absent(); final UnresolvedNumber min = UnresolvedNumber.min(); final UnresolvedNumber max = UnresolvedNumber.max(); - final LengthConstraint lengthConstraint = BaseConstraints.newLengthConstraint(min, max, absent, absent); - final RangeConstraint rangeConstraint = BaseConstraints.newRangeConstraint(min, max, absent, absent); + final LengthConstraint lengthConstraint = BaseConstraints.newLengthConstraint(min, max, ABSENT, ABSENT); + final RangeConstraint rangeConstraint = BaseConstraints.newRangeConstraint(min, max, ABSENT, ABSENT); final EnumPair enumPair = EnumPairBuilder.create("enum1", 1).setDescription("description") .setReference("reference").setUnknownSchemaNodes(mock(UnknownSchemaNode.class)).build(); diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/util/YangModelDependencyInfo.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/util/YangModelDependencyInfo.java index f8c6a229d3..b9ca3e97c4 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/util/YangModelDependencyInfo.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/util/YangModelDependencyInfo.java @@ -7,14 +7,16 @@ */ package org.opendaylight.yangtools.yang.parser.impl.util; -import com.google.common.base.Optional; -import com.google.common.base.Preconditions; +import static com.google.common.base.Preconditions.checkArgument; +import static java.util.Objects.requireNonNull; + import com.google.common.base.Strings; import com.google.common.collect.ImmutableSet; import java.io.IOException; import java.util.Date; import java.util.HashSet; import java.util.Objects; +import java.util.Optional; import java.util.Set; import org.antlr.v4.runtime.ParserRuleContext; import org.opendaylight.yangtools.antlrv4.code.gen.YangStatementParser.StatementContext; @@ -68,7 +70,7 @@ public abstract class YangModelDependencyInfo { YangModelDependencyInfo(final String name, final String formattedRevision, final ImmutableSet imports, final ImmutableSet includes) { - this(name, formattedRevision, imports, includes, Optional.absent()); + this(name, formattedRevision, imports, includes, Optional.empty()); } YangModelDependencyInfo(final String name, final String formattedRevision, @@ -217,14 +219,14 @@ public abstract class YangModelDependencyInfo { final YangStatementStreamSource source = YangStatementStreamSource.create( YangTextSchemaSource.forResource(refClass, resourceName)); final ParserRuleContext ast = source.getYangAST(); - Preconditions.checkArgument(ast instanceof StatementContext); + checkArgument(ast instanceof StatementContext); return parseAST((StatementContext) ast, source.getIdentifier().toYangFilename()); } private static YangModelDependencyInfo parseModuleContext(final StatementContext module, final String sourceName) { final String name = Utils.stringFromStringContext(module.argument(), getReference(sourceName, module)); final String latestRevision = getLatestRevision(module, sourceName); - final Optional semVer = Optional.fromNullable(findSemanticVersion(module, sourceName)); + final Optional semVer = Optional.ofNullable(findSemanticVersion(module, sourceName)); final ImmutableSet imports = parseImports(module, sourceName); final ImmutableSet includes = parseIncludes(module, sourceName); @@ -239,7 +241,7 @@ public abstract class YangModelDependencyInfo { final String importedModuleName = Utils.stringFromStringContext(subStatementContext.argument(), getReference(sourceName, subStatementContext)); final Date revisionDate = revisionDateStr == null ? null : QName.parseRevision(revisionDateStr); - final Optional importSemVer = Optional.fromNullable(findSemanticVersion(subStatementContext, + final Optional importSemVer = Optional.ofNullable(findSemanticVersion(subStatementContext, sourceName)); result.add(new ModuleImportImpl(importedModuleName, revisionDate, importSemVer)); } @@ -346,9 +348,10 @@ public abstract class YangModelDependencyInfo { @Override public String toString() { - return "Module [name=" + getName() + ", revision=" + getRevision() + ", semanticVersion=" - + getSemanticVersion().or(Module.DEFAULT_SEMANTIC_VERSION) + ", dependencies=" + getDependencies() - + "]"; + return "Module [name=" + getName() + ", revision=" + getRevision() + + ", semanticVersion=" + getSemanticVersion().orElse(Module.DEFAULT_SEMANTIC_VERSION) + + ", dependencies=" + getDependencies() + + "]"; } } @@ -389,13 +392,13 @@ public abstract class YangModelDependencyInfo { private final String name; ModuleImportImpl(final String moduleName, final Date revision) { - this(moduleName, revision, Optional.absent()); + this(moduleName, revision, Optional.empty()); } ModuleImportImpl(final String moduleName, final Date revision, final Optional semVer) { - this.name = Preconditions.checkNotNull(moduleName, "Module name must not be null."); + this.name = requireNonNull(moduleName, "Module name must not be null."); this.revision = revision; - this.semVer = semVer.or(Module.DEFAULT_SEMANTIC_VERSION); + this.semVer = semVer.orElse(Module.DEFAULT_SEMANTIC_VERSION); } @Override diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/repo/DependencyResolver.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/repo/DependencyResolver.java index 16ba9878bb..0cb5508e66 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/repo/DependencyResolver.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/repo/DependencyResolver.java @@ -11,11 +11,11 @@ import com.google.common.base.MoreObjects; import com.google.common.collect.ArrayListMultimap; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMultimap; -import com.google.common.collect.Maps; import com.google.common.collect.Multimap; import java.util.ArrayList; import java.util.Collection; import java.util.Date; +import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; @@ -45,7 +45,7 @@ abstract class DependencyResolver { protected DependencyResolver(final Map depInfo) { final Collection resolved = new ArrayList<>(depInfo.size()); final Collection pending = new ArrayList<>(depInfo.keySet()); - final Map submodules = Maps.newHashMap(); + final Map submodules = new HashMap<>(); boolean progress; do { diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/repo/RevisionDependencyResolver.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/repo/RevisionDependencyResolver.java index 7239ff5023..8ab6b81069 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/repo/RevisionDependencyResolver.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/repo/RevisionDependencyResolver.java @@ -7,9 +7,9 @@ */ package org.opendaylight.yangtools.yang.parser.repo; -import com.google.common.base.Optional; import java.util.Collection; import java.util.Map; +import java.util.Optional; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.ModuleImport; import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier; @@ -34,7 +34,7 @@ final class RevisionDependencyResolver extends DependencyResolver { @Override protected boolean isKnown(final Collection haystack, final ModuleImport mi) { final String rev = mi.getRevision() != null ? QName.formattedRevision(mi.getRevision()) : null; - final SourceIdentifier msi = SourceIdentifier.create(mi.getModuleName(), Optional.fromNullable(rev)); + final SourceIdentifier msi = SourceIdentifier.create(mi.getModuleName(), Optional.ofNullable(rev)); // Quick lookup if (haystack.contains(msi)) { diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/repo/SemVerDependencyResolver.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/repo/SemVerDependencyResolver.java index b7174fa5b1..b75a0c2093 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/repo/SemVerDependencyResolver.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/repo/SemVerDependencyResolver.java @@ -7,9 +7,9 @@ */ package org.opendaylight.yangtools.yang.parser.repo; -import com.google.common.base.Optional; import java.util.Collection; import java.util.Map; +import java.util.Optional; import org.opendaylight.yangtools.concepts.SemVer; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.ModuleImport; @@ -43,7 +43,7 @@ final class SemVerDependencyResolver extends DependencyResolver { @Override protected boolean isKnown(final Collection haystack, final ModuleImport mi) { final String rev = mi.getRevision() != null ? QName.formattedRevision(mi.getRevision()) : null; - final SemVerSourceIdentifier msi = SemVerSourceIdentifier.create(mi.getModuleName(), Optional.fromNullable(rev), + final SemVerSourceIdentifier msi = SemVerSourceIdentifier.create(mi.getModuleName(), Optional.ofNullable(rev), mi.getSemanticVersion()); // Quick lookup diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/repo/YangTextSchemaContextResolver.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/repo/YangTextSchemaContextResolver.java index debdb6e982..6c0a070187 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/repo/YangTextSchemaContextResolver.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/repo/YangTextSchemaContextResolver.java @@ -11,7 +11,6 @@ import static com.google.common.base.Preconditions.checkArgument; import com.google.common.annotations.Beta; import com.google.common.base.MoreObjects.ToStringHelper; -import com.google.common.base.Optional; import com.google.common.base.Preconditions; import com.google.common.collect.ArrayListMultimap; import com.google.common.collect.ImmutableSet; @@ -22,6 +21,7 @@ import java.io.IOException; import java.io.InputStream; import java.net.URL; import java.util.Collection; +import java.util.Optional; import java.util.Set; import java.util.concurrent.ConcurrentLinkedDeque; import java.util.concurrent.TimeUnit; @@ -58,7 +58,7 @@ public final class YangTextSchemaContextResolver implements AutoCloseable, Schem private final Collection requiredSources = new ConcurrentLinkedDeque<>(); private final Multimap texts = ArrayListMultimap.create(); private final AtomicReference> currentSchemaContext = - new AtomicReference<>(Optional.absent()); + new AtomicReference<>(Optional.empty()); private final InMemorySchemaSourceCache cache; private final SchemaListenerRegistration transReg; private final SchemaSourceRegistry registry; diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/BuildGlobalContext.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/BuildGlobalContext.java index cc6bf8dda8..7feeeaff5c 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/BuildGlobalContext.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/BuildGlobalContext.java @@ -13,7 +13,6 @@ import com.google.common.collect.HashBasedTable; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; -import com.google.common.collect.Lists; import com.google.common.collect.Table; import com.google.common.collect.TreeBasedTable; import java.util.ArrayList; @@ -362,7 +361,7 @@ class BuildGlobalContext extends NamespaceStorageSupport implements Registry { @SuppressWarnings("checkstyle:illegalCatch") private void completePhaseActions() throws ReactorException { Preconditions.checkState(currentPhase != null); - final List sourcesToProgress = Lists.newArrayList(sources); + final List sourcesToProgress = new ArrayList<>(sources); if (!libSources.isEmpty()) { Preconditions.checkState(currentPhase == ModelProcessingPhase.SOURCE_PRE_LINKAGE, "Yang library sources should be empty after ModelProcessingPhase.SOURCE_PRE_LINKAGE, " diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/RootStatementContext.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/RootStatementContext.java index a917e53d6a..8f6a5825bc 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/RootStatementContext.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/RootStatementContext.java @@ -7,8 +7,11 @@ */ package org.opendaylight.yangtools.yang.parser.stmt.reactor; -import com.google.common.base.Preconditions; -import com.google.common.base.Verify; +import static com.google.common.base.Preconditions.checkArgument; +import static com.google.common.base.Preconditions.checkState; +import static com.google.common.base.Verify.verify; +import static java.util.Objects.requireNonNull; + import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableSet; import java.util.ArrayList; @@ -56,7 +59,7 @@ public class RootStatementContext, E extends E RootStatementContext(final SourceSpecificContext sourceContext, final StatementDefinitionContext def, final StatementSourceReference ref, final String rawArgument) { super(def, ref, rawArgument); - this.sourceContext = Preconditions.checkNotNull(sourceContext); + this.sourceContext = requireNonNull(sourceContext); this.argument = def.parseArgumentValue(this, rawStatementArgument()); } @@ -129,7 +132,7 @@ public class RootStatementContext, E extends E if (includedContexts.isEmpty()) { includedContexts = new ArrayList<>(1); } - Verify.verify(value instanceof RootStatementContext); + verify(value instanceof RootStatementContext); includedContexts.add((RootStatementContext) value); } return super.putToLocalStorage(type, key, value); @@ -204,11 +207,11 @@ public class RootStatementContext, E extends E @Override public void setRootVersion(final YangVersion version) { - Preconditions.checkArgument(sourceContext.getSupportedVersions().contains(version), + checkArgument(sourceContext.getSupportedVersions().contains(version), "Unsupported yang version %s in %s", version, getStatementSourceReference()); - Preconditions.checkState(this.version == null, "Version of root %s has been already set to %s", argument, + checkState(this.version == null, "Version of root %s has been already set to %s", argument, this.version); - this.version = Preconditions.checkNotNull(version); + this.version = requireNonNull(version); } @Override @@ -218,7 +221,7 @@ public class RootStatementContext, E extends E @Override public void addRequiredModule(final ModuleIdentifier dependency) { - Preconditions.checkState(sourceContext.getInProgressPhase() == ModelProcessingPhase.SOURCE_PRE_LINKAGE, + checkState(sourceContext.getInProgressPhase() == ModelProcessingPhase.SOURCE_PRE_LINKAGE, "Add required module is allowed only in ModelProcessingPhase.SOURCE_PRE_LINKAGE phase"); if (requiredModules.isEmpty()) { requiredModules = new HashSet<>(); @@ -232,8 +235,7 @@ public class RootStatementContext, E extends E @Override public void setRootIdentifier(final ModuleIdentifier identifier) { - Preconditions.checkNotNull(identifier); - this.identifier = identifier; + this.identifier = requireNonNull(identifier); } ModuleIdentifier getRootIdentifier() { diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/StatementMap.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/StatementMap.java index 7c632a9949..1f9be29ca9 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/StatementMap.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/StatementMap.java @@ -7,6 +7,9 @@ */ package org.opendaylight.yangtools.yang.parser.stmt.reactor; +import static com.google.common.base.Preconditions.checkArgument; +import static java.util.Objects.requireNonNull; + import com.google.common.base.Preconditions; import com.google.common.collect.AbstractIterator; import com.google.common.collect.ImmutableList; @@ -52,14 +55,14 @@ abstract class StatementMap { Regular(final int index, final StatementContextBase object) { elements = new StatementContextBase[index + 1]; - elements[index] = Preconditions.checkNotNull(object); + elements[index] = requireNonNull(object); } Regular(final StatementContextBase object0, final int index, final StatementContextBase object) { elements = new StatementContextBase[index + 1]; - elements[0] = Preconditions.checkNotNull(object0); - elements[index] = Preconditions.checkNotNull(object); + elements[0] = requireNonNull(object0); + elements[index] = requireNonNull(object); } @Override @@ -74,12 +77,12 @@ abstract class StatementMap { @Override StatementMap put(final int index, final StatementContextBase object) { if (index < elements.length) { - Preconditions.checkArgument(elements[index] == null); + checkArgument(elements[index] == null); } else { elements = Arrays.copyOf(elements, index + 1); } - elements[index] = Preconditions.checkNotNull(object); + elements[index] = requireNonNull(object); return this; } @@ -157,7 +160,7 @@ abstract class StatementMap { private final StatementContextBase object; Singleton(final StatementContextBase object) { - this.object = Preconditions.checkNotNull(object); + this.object = requireNonNull(object); } @Override @@ -167,7 +170,7 @@ abstract class StatementMap { @Override StatementMap put(final int index, final StatementContextBase object) { - Preconditions.checkArgument(index != 0); + checkArgument(index != 0); return new Regular(this.object, index, object); } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/AnyxmlStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/AnyxmlStatementImpl.java index f88f4b9e80..6b54a12dc7 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/AnyxmlStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/AnyxmlStatementImpl.java @@ -7,9 +7,9 @@ */ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020; -import com.google.common.base.Optional; import java.util.Collection; import java.util.Map; +import java.util.Optional; import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode; @@ -105,7 +105,7 @@ public class AnyxmlStatementImpl extends AbstractDeclaredStatement implem return Optional.of((ContainerSchemaNode) anyXmlSchemaNode); } } - return Optional.absent(); + return Optional.empty(); } @Override diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/BuiltinTypeStatement.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/BuiltinTypeStatement.java index 434a21ae5e..78effbe3ef 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/BuiltinTypeStatement.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/BuiltinTypeStatement.java @@ -7,7 +7,8 @@ */ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020; -import com.google.common.base.Preconditions; +import static java.util.Objects.requireNonNull; + import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableMap.Builder; @@ -48,7 +49,7 @@ final class BuiltinTypeStatement implements TypeStatement { private final String argument; private BuiltinTypeStatement(final String argument) { - this.argument = Preconditions.checkNotNull(argument); + this.argument = requireNonNull(argument); } static TypeStatement maybeReplace(final TypeStatementImpl orig) { diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/IfFeatureStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/IfFeatureStatementImpl.java index 9ae892af39..3c4004256d 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/IfFeatureStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/IfFeatureStatementImpl.java @@ -7,7 +7,8 @@ */ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020; -import com.google.common.base.Preconditions; +import static java.util.Objects.requireNonNull; + import java.util.Set; import java.util.function.Predicate; import org.antlr.v4.runtime.CharStreams; @@ -90,7 +91,7 @@ public class IfFeatureStatementImpl extends AbstractDeclaredStatement stmtCtx; IfFeaturePredicateVisitor(final StmtContext ctx) { - this.stmtCtx = Preconditions.checkNotNull(ctx); + this.stmtCtx = requireNonNull(ctx); } @Override diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ModelDefinedStatementDefinition.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ModelDefinedStatementDefinition.java index 90435323af..f937bcf565 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ModelDefinedStatementDefinition.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ModelDefinedStatementDefinition.java @@ -8,8 +8,9 @@ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020; +import static java.util.Objects.requireNonNull; + import com.google.common.annotations.Beta; -import com.google.common.base.Preconditions; import javax.annotation.Nonnull; import javax.annotation.Nullable; import org.opendaylight.yangtools.yang.common.QName; @@ -29,7 +30,7 @@ public final class ModelDefinedStatementDefinition implements StatementDefinitio private final boolean yinElement; ModelDefinedStatementDefinition(final QName statementName, final QName argumentName, final boolean yinElement) { - this.statementName = Preconditions.checkNotNull(statementName); + this.statementName = requireNonNull(statementName); this.argumentName = argumentName; this.yinElement = yinElement; } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/PatternStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/PatternStatementImpl.java index e0b0847029..53d3c814e2 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/PatternStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/PatternStatementImpl.java @@ -7,7 +7,7 @@ */ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020; -import com.google.common.base.Optional; +import java.util.Optional; import java.util.regex.Pattern; import java.util.regex.PatternSyntaxException; import javax.annotation.Nonnull; @@ -62,7 +62,7 @@ public class PatternStatementImpl extends AbstractDeclaredStatement ctx, final BiMap uriToPrefix) { - this.ctx = Preconditions.checkNotNull(ctx); - this.uriToPrefix = ImmutableBiMap.copyOf(Preconditions.checkNotNull(uriToPrefix)); + this.ctx = requireNonNull(ctx); + this.uriToPrefix = ImmutableBiMap.copyOf(requireNonNull(uriToPrefix)); } public static NamespaceContext create(final StmtContext ctx) { @@ -47,8 +49,7 @@ final class StmtNamespaceContext implements NamespaceContext { private String localNamespaceURI() { if (localNamespaceURI == null) { - localNamespaceURI = Verify.verifyNotNull( - ctx.getPublicDefinition().getStatementName().getNamespace().toString(), + localNamespaceURI = verifyNotNull(ctx.getPublicDefinition().getStatementName().getNamespace().toString(), "Local namespace URI not found in %s", ctx); } return localNamespaceURI; @@ -57,7 +58,7 @@ final class StmtNamespaceContext implements NamespaceContext { @Override public String getNamespaceURI(final String prefix) { // API-mandated by NamespaceContext - Preconditions.checkArgument(prefix != null); + checkArgument(prefix != null); final String uri = uriToPrefix.inverse().get(prefix); if (uri != null) { @@ -75,7 +76,7 @@ final class StmtNamespaceContext implements NamespaceContext { @Override public String getPrefix(final String namespaceURI) { // API-mandated by NamespaceContext - Preconditions.checkArgument(namespaceURI != null); + checkArgument(namespaceURI != null); final String prefix = uriToPrefix.get(namespaceURI); if (prefix != null) { diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/SupportedExtensionsMapping.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/SupportedExtensionsMapping.java index e59a4dc63c..d1f5f4a2f2 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/SupportedExtensionsMapping.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/SupportedExtensionsMapping.java @@ -7,8 +7,9 @@ */ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020; +import static java.util.Objects.requireNonNull; + import com.google.common.annotations.Beta; -import com.google.common.base.Preconditions; import javax.annotation.Nonnull; import javax.annotation.Nullable; import org.opendaylight.yangtools.yang.common.QName; @@ -41,8 +42,8 @@ public enum SupportedExtensionsMapping implements StatementDefinition { final Class> declared, final Class> effective, final String nameStr, final String argumentStr, final boolean yinElement) { - type = Preconditions.checkNotNull(declared); - effectiveType = Preconditions.checkNotNull(effective); + type = requireNonNull(declared); + effectiveType = requireNonNull(effective); name = createQName(namespace, revision, nameStr); argument = createQName(namespace, revision, argumentStr); this.yinElement = yinElement; @@ -51,8 +52,8 @@ public enum SupportedExtensionsMapping implements StatementDefinition { SupportedExtensionsMapping(final String namespace, final Class> declared, final Class> effective, final String nameStr, final String argumentStr, final boolean yinElement) { - type = Preconditions.checkNotNull(declared); - effectiveType = Preconditions.checkNotNull(effective); + type = requireNonNull(declared); + effectiveType = requireNonNull(effective); name = createQName(namespace, nameStr); argument = createQName(namespace, argumentStr); this.yinElement = yinElement; diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/TypeUtils.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/TypeUtils.java index 68c55c886b..ad6efa741c 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/TypeUtils.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/TypeUtils.java @@ -7,7 +7,6 @@ */ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020; -import com.google.common.base.Optional; import com.google.common.base.Preconditions; import com.google.common.base.Splitter; import com.google.common.base.Strings; @@ -21,6 +20,7 @@ import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Map; +import java.util.Optional; import java.util.Set; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.common.YangVersion; @@ -151,8 +151,8 @@ public final class TypeUtils { public static List parseRangeListFromString(final StmtContext ctx, final String rangeArgument) { - final Optional description = Optional.absent(); - final Optional reference = Optional.absent(); + final Optional description = Optional.empty(); + final Optional reference = Optional.empty(); final List rangeConstraints = new ArrayList<>(); @@ -188,8 +188,8 @@ public final class TypeUtils { public static List parseLengthListFromString(final StmtContext ctx, final String lengthArgument) { - final Optional description = Optional.absent(); - final Optional reference = Optional.absent(); + final Optional description = Optional.empty(); + final Optional reference = Optional.empty(); final List lengthConstraints = new ArrayList<>(); diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/AnyXmlEffectiveStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/AnyXmlEffectiveStatementImpl.java index af6966a31c..1a08bf391c 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/AnyXmlEffectiveStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/AnyXmlEffectiveStatementImpl.java @@ -7,8 +7,8 @@ */ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective; -import com.google.common.base.Optional; import java.util.Objects; +import java.util.Optional; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.AnyXmlSchemaNode; import org.opendaylight.yangtools.yang.model.api.DerivableSchemaNode; @@ -29,7 +29,7 @@ public class AnyXmlEffectiveStatementImpl extends AbstractEffectiveDataSchemaNod @Override public Optional getOriginal() { - return Optional.fromNullable(original); + return Optional.ofNullable(original); } @Override diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/AugmentEffectiveStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/AugmentEffectiveStatementImpl.java index f81aa21fcb..1b981091ef 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/AugmentEffectiveStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/AugmentEffectiveStatementImpl.java @@ -7,13 +7,13 @@ */ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective; -import com.google.common.base.Optional; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableSet; import java.net.URI; import java.util.Date; import java.util.List; import java.util.Objects; +import java.util.Optional; import java.util.Set; import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.common.QNameModule; @@ -78,7 +78,7 @@ public final class AugmentEffectiveStatementImpl @Override public Optional getOriginalDefinition() { - return Optional.fromNullable(this.copyOf); + return Optional.ofNullable(this.copyOf); } @Override diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/CaseEffectiveStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/CaseEffectiveStatementImpl.java index 7fd83dd0ed..d3b0be41e2 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/CaseEffectiveStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/CaseEffectiveStatementImpl.java @@ -7,8 +7,8 @@ */ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective; -import com.google.common.base.Optional; import java.util.Objects; +import java.util.Optional; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.ChoiceCaseNode; import org.opendaylight.yangtools.yang.model.api.DerivableSchemaNode; @@ -36,7 +36,7 @@ public final class CaseEffectiveStatementImpl extends AbstractEffectiveSimpleDat @Override public Optional getOriginal() { - return Optional.fromNullable(original); + return Optional.ofNullable(original); } @Override diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/CaseShorthandImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/CaseShorthandImpl.java index 24a5a2b973..45ecabcddc 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/CaseShorthandImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/CaseShorthandImpl.java @@ -7,13 +7,14 @@ */ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective; -import com.google.common.base.Optional; -import com.google.common.base.Preconditions; +import static java.util.Objects.requireNonNull; + import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableSet; import java.util.Collection; import java.util.List; import java.util.Objects; +import java.util.Optional; import java.util.Set; import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.common.QName; @@ -38,8 +39,8 @@ final class CaseShorthandImpl implements ChoiceCaseNode, DerivableSchemaNode { private final boolean augmenting; CaseShorthandImpl(final DataSchemaNode caseShorthandNode) { - this.caseShorthandNode = Preconditions.checkNotNull(caseShorthandNode); - this.path = Preconditions.checkNotNull(caseShorthandNode.getPath().getParent()); + this.caseShorthandNode = requireNonNull(caseShorthandNode); + this.path = requireNonNull(caseShorthandNode.getPath().getParent()); this.original = getOriginalIfPresent(caseShorthandNode); // We need to cache this, as it will be reset @@ -132,7 +133,7 @@ final class CaseShorthandImpl implements ChoiceCaseNode, DerivableSchemaNode { @Override public Optional getOriginal() { - return Optional.fromNullable(original); + return Optional.ofNullable(original); } @Override diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/ChoiceEffectiveStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/ChoiceEffectiveStatementImpl.java index 011fbcb8c5..bc9564bfd9 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/ChoiceEffectiveStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/ChoiceEffectiveStatementImpl.java @@ -7,11 +7,11 @@ */ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective; -import com.google.common.base.Optional; import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableSet; import java.util.LinkedHashSet; import java.util.Objects; +import java.util.Optional; import java.util.Set; import java.util.SortedSet; import java.util.TreeSet; @@ -90,7 +90,7 @@ public final class ChoiceEffectiveStatementImpl extends AbstractEffectiveDataSch @Override public Optional getOriginal() { - return Optional.fromNullable(original); + return Optional.ofNullable(original); } @Override diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/ContainerEffectiveStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/ContainerEffectiveStatementImpl.java index c5cc5983e4..7547f47a47 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/ContainerEffectiveStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/ContainerEffectiveStatementImpl.java @@ -7,10 +7,10 @@ */ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective; -import com.google.common.base.Optional; import com.google.common.collect.ImmutableSet; import com.google.common.collect.ImmutableSet.Builder; import java.util.Objects; +import java.util.Optional; import java.util.Set; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.ActionDefinition; @@ -49,7 +49,7 @@ public final class ContainerEffectiveStatementImpl extends AbstractEffectiveCont @Override public Optional getOriginal() { - return Optional.fromNullable(original); + return Optional.ofNullable(original); } @Override diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/EffectiveConstraintDefinitionImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/EffectiveConstraintDefinitionImpl.java index 3d36340a8c..b29451b9b0 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/EffectiveConstraintDefinitionImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/EffectiveConstraintDefinitionImpl.java @@ -7,7 +7,8 @@ */ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective; -import com.google.common.base.Preconditions; +import static java.util.Objects.requireNonNull; + import com.google.common.collect.ImmutableSet; import java.util.Set; import org.opendaylight.yangtools.yang.data.util.ConstraintDefinitions; @@ -32,7 +33,7 @@ final class EffectiveConstraintDefinitionImpl implements ConstraintDefinition { this.minElements = minElements; this.maxElements = maxElements; this.whenCondition = whenCondition; - this.mustConstraints = Preconditions.checkNotNull(mustConstraints); + this.mustConstraints = requireNonNull(mustConstraints); } static ConstraintDefinition forParent(final EffectiveStatementBase parent) { diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/EffectiveStatementBase.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/EffectiveStatementBase.java index 79077f21f9..c484027882 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/EffectiveStatementBase.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/EffectiveStatementBase.java @@ -7,15 +7,13 @@ */ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective; -import com.google.common.base.Optional; -import com.google.common.base.Predicates; import com.google.common.collect.Collections2; import com.google.common.collect.ImmutableList; -import com.google.common.collect.Iterables; import java.util.ArrayList; import java.util.Collection; import java.util.List; import java.util.Map; +import java.util.function.Predicate; import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.model.api.SchemaNode; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; @@ -86,35 +84,29 @@ public abstract class EffectiveStatementBase> } protected final > S firstEffective(final Class type) { - final Optional> possible = Iterables.tryFind(substatements, - Predicates.instanceOf(type)); - return possible.isPresent() ? type.cast(possible.get()) : null; + return substatements.stream().filter(type::isInstance).findFirst().map(type::cast).orElse(null); } protected final S firstSchemaNode(final Class type) { - final Optional> possible = Iterables.tryFind(substatements, - Predicates.instanceOf(type)); - return possible.isPresent() ? type.cast(possible.get()) : null; + return substatements.stream().filter(type::isInstance).findFirst().map(type::cast).orElse(null); } @SuppressWarnings("unchecked") protected final Collection allSubstatementsOfType(final Class type) { - return Collection.class.cast(Collections2.filter(substatements, Predicates.instanceOf(type))); + return Collection.class.cast(Collections2.filter(substatements, type::isInstance)); } protected final T firstSubstatementOfType(final Class type) { - final Optional> possible = Iterables.tryFind(substatements, - Predicates.instanceOf(type)); - return possible.isPresent() ? type.cast(possible.get()) : null; + return substatements.stream().filter(type::isInstance).findFirst().map(type::cast).orElse(null); } protected final R firstSubstatementOfType(final Class type, final Class returnType) { - final Optional> possible = Iterables.tryFind(substatements, - Predicates.and(Predicates.instanceOf(type), Predicates.instanceOf(returnType))); - return possible.isPresent() ? returnType.cast(possible.get()) : null; + return substatements.stream() + .filter(((Predicate)type::isInstance).and(returnType::isInstance)) + .findFirst().map(returnType::cast).orElse(null); } protected final EffectiveStatement firstEffectiveSubstatementOfType(final Class type) { - return Iterables.tryFind(substatements, Predicates.instanceOf(type)).orNull(); + return substatements.stream().filter(type::isInstance).findFirst().orElse(null); } } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/LeafEffectiveStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/LeafEffectiveStatementImpl.java index 73a5224eb8..d7a7a0def6 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/LeafEffectiveStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/LeafEffectiveStatementImpl.java @@ -7,8 +7,8 @@ */ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective; -import com.google.common.base.Optional; import java.util.Objects; +import java.util.Optional; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.DerivableSchemaNode; import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode; @@ -70,7 +70,7 @@ public final class LeafEffectiveStatementImpl extends AbstractEffectiveDataSchem @Override public Optional getOriginal() { - return Optional.fromNullable(original); + return Optional.ofNullable(original); } @Override diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/LeafListEffectiveStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/LeafListEffectiveStatementImpl.java index 74769f4869..ae6824f16b 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/LeafListEffectiveStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/LeafListEffectiveStatementImpl.java @@ -7,10 +7,10 @@ */ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective; -import com.google.common.base.Optional; import com.google.common.collect.ImmutableSet; import java.util.Collection; import java.util.Objects; +import java.util.Optional; import java.util.Set; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.DerivableSchemaNode; @@ -84,7 +84,7 @@ public final class LeafListEffectiveStatementImpl extends AbstractEffectiveDataS @Override public Optional getOriginal() { - return Optional.fromNullable(original); + return Optional.ofNullable(original); } @Override diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/ListEffectiveStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/ListEffectiveStatementImpl.java index 55e8f58a8b..8ce63c3d90 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/ListEffectiveStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/ListEffectiveStatementImpl.java @@ -7,7 +7,6 @@ */ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective; -import com.google.common.base.Optional; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableSet; import com.google.common.collect.ImmutableSet.Builder; @@ -16,6 +15,7 @@ import java.util.HashSet; import java.util.LinkedList; import java.util.List; import java.util.Objects; +import java.util.Optional; import java.util.Set; import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.common.QName; @@ -97,7 +97,7 @@ public final class ListEffectiveStatementImpl extends AbstractEffectiveSimpleDat @Override public Optional getOriginal() { - return Optional.fromNullable(original); + return Optional.ofNullable(original); } @Override diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/UsesEffectiveStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/UsesEffectiveStatementImpl.java index 0772ef501a..d08075e75e 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/UsesEffectiveStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/UsesEffectiveStatementImpl.java @@ -7,7 +7,6 @@ */ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective; -import com.google.common.base.Optional; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; @@ -17,6 +16,7 @@ import java.util.LinkedHashSet; import java.util.List; import java.util.Map; import java.util.Objects; +import java.util.Optional; import java.util.Set; import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.common.QName; @@ -119,7 +119,7 @@ public final class UsesEffectiveStatementImpl extends AbstractEffectiveDocumente @Nonnull @Override public Optional getWhenCondition() { - return Optional.fromNullable(whenCondition); + return Optional.ofNullable(whenCondition); } @Override diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/YangModeledAnyXmlEffectiveStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/YangModeledAnyXmlEffectiveStatementImpl.java index e70e06d2fd..29af773c25 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/YangModeledAnyXmlEffectiveStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/YangModeledAnyXmlEffectiveStatementImpl.java @@ -7,7 +7,8 @@ */ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective; -import com.google.common.base.Preconditions; +import static java.util.Objects.requireNonNull; + import java.util.Objects; import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.common.QName; @@ -25,7 +26,7 @@ public final class YangModeledAnyXmlEffectiveStatementImpl extends AnyXmlEffecti public YangModeledAnyXmlEffectiveStatementImpl(final StmtContext> ctx, final ContainerSchemaNode contentSchema) { super(ctx); - schemaOfAnyXmlData = Preconditions.checkNotNull(contentSchema); + schemaOfAnyXmlData = requireNonNull(contentSchema); } @Nonnull diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/type/BuiltinEffectiveStatement.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/type/BuiltinEffectiveStatement.java index e82ec10288..df1435f11a 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/type/BuiltinEffectiveStatement.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/type/BuiltinEffectiveStatement.java @@ -7,7 +7,8 @@ */ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.type; -import com.google.common.base.Preconditions; +import static java.util.Objects.requireNonNull; + import com.google.common.collect.ImmutableList; import java.util.Collection; import java.util.Map; @@ -43,7 +44,7 @@ public enum BuiltinEffectiveStatement implements TypeEffectiveStatement typedef; BuiltinEffectiveStatement(final TypeDefinition typedef) { - this.typedef = Preconditions.checkNotNull(typedef); + this.typedef = requireNonNull(typedef); } @Override diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/type/LengthConstraintEffectiveImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/type/LengthConstraintEffectiveImpl.java index b06bdede01..762a6d7691 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/type/LengthConstraintEffectiveImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/type/LengthConstraintEffectiveImpl.java @@ -7,9 +7,10 @@ */ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.type; -import com.google.common.base.Optional; -import com.google.common.base.Preconditions; +import static java.util.Objects.requireNonNull; + import java.util.Objects; +import java.util.Optional; import org.opendaylight.yangtools.yang.model.api.type.LengthConstraint; public class LengthConstraintEffectiveImpl implements LengthConstraint { @@ -25,14 +26,14 @@ public class LengthConstraintEffectiveImpl implements LengthConstraint { public LengthConstraintEffectiveImpl(final Number min, final Number max, final Optional description, final Optional reference) { - this(min, max, description.orNull(), reference.orNull(), "length-out-of-specified-bounds", + this(min, max, description.orElse(null), reference.orElse(null), "length-out-of-specified-bounds", "The argument is out of bounds <" + min + ", " + max + ">"); } public LengthConstraintEffectiveImpl(final Number min, final Number max, final String description, final String reference, final String errorAppTag, final String errorMessage) { - this.min = Preconditions.checkNotNull(min, "min must not be null."); - this.max = Preconditions.checkNotNull(max, "max must not be null"); + this.min = requireNonNull(min, "min must not be null"); + this.max = requireNonNull(max, "max must not be null"); this.description = description; this.reference = reference; this.errorAppTag = errorAppTag != null ? errorAppTag : "length-out-of-specified-bounds"; diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/type/PatternConstraintEffectiveImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/type/PatternConstraintEffectiveImpl.java index dbc963ff52..1df4fe9526 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/type/PatternConstraintEffectiveImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/type/PatternConstraintEffectiveImpl.java @@ -7,10 +7,11 @@ */ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.type; +import static java.util.Objects.requireNonNull; + import com.google.common.base.MoreObjects; -import com.google.common.base.Optional; -import com.google.common.base.Preconditions; import java.util.Objects; +import java.util.Optional; import org.opendaylight.yangtools.yang.model.api.type.ModifierKind; import org.opendaylight.yangtools.yang.model.api.type.PatternConstraint; @@ -26,13 +27,13 @@ public class PatternConstraintEffectiveImpl implements PatternConstraint { public PatternConstraintEffectiveImpl(final String regex, final String rawRegex, final Optional description, final Optional reference) { - this(regex, rawRegex, description.orNull(), reference.orNull(), null, null, null); + this(regex, rawRegex, description.orElse(null), reference.orElse(null), null, null, null); } public PatternConstraintEffectiveImpl(final String regex, final String rawRegex, final String description, final String reference, final String errorAppTag, final String errorMessage, final ModifierKind modifier) { - this.regEx = Preconditions.checkNotNull(regex, "regex must not be null."); - this.rawRegEx = Preconditions.checkNotNull(rawRegex, "raw regex must not be null."); + this.regEx = requireNonNull(regex, "regex must not be null"); + this.rawRegEx = requireNonNull(rawRegex, "raw regex must not be null"); this.description = description; this.reference = reference; this.errorAppTag = errorAppTag != null ? errorAppTag : "invalid-regular-expression"; diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/type/RangeConstraintEffectiveImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/type/RangeConstraintEffectiveImpl.java index 25a1a1e240..6c59953172 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/type/RangeConstraintEffectiveImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/type/RangeConstraintEffectiveImpl.java @@ -7,9 +7,10 @@ */ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.type; -import com.google.common.base.Optional; -import com.google.common.base.Preconditions; +import static java.util.Objects.requireNonNull; + import java.util.Objects; +import java.util.Optional; import org.opendaylight.yangtools.yang.model.api.type.RangeConstraint; public class RangeConstraintEffectiveImpl implements RangeConstraint { @@ -26,14 +27,14 @@ public class RangeConstraintEffectiveImpl implements RangeConstraint { public RangeConstraintEffectiveImpl(final Number min, final Number max, final Optional description, final Optional reference) { - this(min, max, description.orNull(), reference.orNull(), "range-out-of-specified-bounds", + this(min, max, description.orElse(null), reference.orElse(null), "range-out-of-specified-bounds", "The argument is out of bounds <" + min + ", " + max + ">"); } public RangeConstraintEffectiveImpl(final Number min, final Number max, final String description, final String reference, final String errorAppTag, final String errorMessage) { - this.min = Preconditions.checkNotNull(min, "min must not be null."); - this.max = Preconditions.checkNotNull(max, "max must not be null."); + this.min = requireNonNull(min, "min must not be null"); + this.max = requireNonNull(max, "max must not be null"); this.description = description; this.reference = reference; this.errorAppTag = errorAppTag != null ? errorAppTag : "range-out-of-specified-bounds"; diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc7950/effective/AnyDataEffectiveStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc7950/effective/AnyDataEffectiveStatementImpl.java index efbf4917aa..ba67279149 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc7950/effective/AnyDataEffectiveStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc7950/effective/AnyDataEffectiveStatementImpl.java @@ -9,8 +9,8 @@ package org.opendaylight.yangtools.yang.parser.stmt.rfc7950.effective; import com.google.common.annotations.Beta; import com.google.common.base.MoreObjects; -import com.google.common.base.Optional; import java.util.Objects; +import java.util.Optional; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.AnyDataSchemaNode; import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode; @@ -42,7 +42,7 @@ public final class AnyDataEffectiveStatementImpl extends AbstractEffectiveDataSc @Override public Optional getOriginal() { - return Optional.fromNullable(original); + return Optional.ofNullable(original); } @Override diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/util/ASTSchemaSource.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/util/ASTSchemaSource.java index fda0a17581..4ee8b48090 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/util/ASTSchemaSource.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/util/ASTSchemaSource.java @@ -7,11 +7,10 @@ */ package org.opendaylight.yangtools.yang.parser.util; +import static java.util.Objects.requireNonNull; import static org.opendaylight.yangtools.yang.model.api.Module.DEFAULT_SEMANTIC_VERSION; import com.google.common.annotations.Beta; -import com.google.common.base.Function; -import com.google.common.base.Preconditions; import java.util.Optional; import javax.annotation.Nonnull; import javax.annotation.Nullable; @@ -34,18 +33,6 @@ import org.opendaylight.yangtools.yang.parser.impl.util.YangModelDependencyInfo; */ @Beta public final class ASTSchemaSource implements SchemaSourceRepresentation { - @Deprecated - public static final Function GET_IDENTIFIER = - ASTSchemaSource::getIdentifier; - @Deprecated - public static final Function GET_SEMVER_IDENTIFIER = - ASTSchemaSource::getSemVerIdentifier; - @Deprecated - public static final Function GET_DEPINFO = - ASTSchemaSource::getDependencyInformation; - @Deprecated - public static final Function GET_AST = ASTSchemaSource::getAST; - private final YangModelDependencyInfo depInfo; private final SemVerSourceIdentifier semVerId; private final ParserRuleContext tree; @@ -55,10 +42,10 @@ public final class ASTSchemaSource implements SchemaSourceRepresentation { private ASTSchemaSource(@Nonnull final SourceIdentifier id, @Nonnull final SemVerSourceIdentifier semVerId, @Nonnull final ParserRuleContext tree, @Nonnull final YangModelDependencyInfo depInfo, @Nullable final String symbolicName) { - this.depInfo = Preconditions.checkNotNull(depInfo); - this.tree = Preconditions.checkNotNull(tree); - this.id = Preconditions.checkNotNull(id); - this.semVerId = Preconditions.checkNotNull(semVerId); + this.depInfo = requireNonNull(depInfo); + this.tree = requireNonNull(tree); + this.id = requireNonNull(id); + this.semVerId = requireNonNull(semVerId); this.symbolicName = symbolicName; } @@ -203,8 +190,8 @@ public final class ASTSchemaSource implements SchemaSourceRepresentation { private static SemVerSourceIdentifier getSemVerSourceId(final YangModelDependencyInfo depInfo) { return depInfo.getFormattedRevision() == null ? SemVerSourceIdentifier.create(depInfo.getName(), - depInfo.getSemanticVersion().or(DEFAULT_SEMANTIC_VERSION)) + depInfo.getSemanticVersion().orElse(DEFAULT_SEMANTIC_VERSION)) : SemVerSourceIdentifier.create(depInfo.getName(), depInfo.getFormattedRevision(), - depInfo.getSemanticVersion().or(DEFAULT_SEMANTIC_VERSION)); + depInfo.getSemanticVersion().orElse(DEFAULT_SEMANTIC_VERSION)); } } diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/repo/DependencyResolverTest.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/repo/DependencyResolverTest.java index 1fff2ff3b4..5c5c1c5d98 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/repo/DependencyResolverTest.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/repo/DependencyResolverTest.java @@ -10,9 +10,9 @@ package org.opendaylight.yangtools.yang.parser.repo; import static org.junit.Assert.assertEquals; -import com.google.common.base.Optional; import java.util.HashMap; import java.util.Map; +import java.util.Optional; import org.junit.Test; import org.opendaylight.yangtools.yang.model.repo.api.RevisionSourceIdentifier; import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier; @@ -73,6 +73,6 @@ public class DependencyResolverTest { private static SourceIdentifier getSourceId(final YangModelDependencyInfo depInfo) { final String name = depInfo.getName(); - return RevisionSourceIdentifier.create(name, Optional.fromNullable(depInfo.getFormattedRevision())); + return RevisionSourceIdentifier.create(name, Optional.ofNullable(depInfo.getFormattedRevision())); } } diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/repo/MultipleRevImportBug6875Test.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/repo/MultipleRevImportBug6875Test.java index 268ed0c678..9c2a3e86e3 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/repo/MultipleRevImportBug6875Test.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/repo/MultipleRevImportBug6875Test.java @@ -14,7 +14,6 @@ import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; import com.google.common.collect.ImmutableList; -import com.google.common.collect.Lists; import com.google.common.util.concurrent.CheckedFuture; import com.google.common.util.concurrent.ListenableFuture; import org.junit.Test; @@ -105,7 +104,7 @@ public class MultipleRevImportBug6875Test { .createSchemaContextFactory(SchemaSourceFilter.ALWAYS_ACCEPT); final CheckedFuture schemaContextFuture = fact - .createSchemaContext(Lists.newArrayList(foo.getId(), bar1.getId(), bar2.getId())); + .createSchemaContext(ImmutableList.of(foo.getId(), bar1.getId(), bar2.getId())); assertTrue(schemaContextFuture.isDone()); try { diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/repo/OpenconfigVerSharedSchemaRepositoryTest.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/repo/OpenconfigVerSharedSchemaRepositoryTest.java index c94f80eadb..0b28c71cbb 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/repo/OpenconfigVerSharedSchemaRepositoryTest.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/repo/OpenconfigVerSharedSchemaRepositoryTest.java @@ -13,7 +13,6 @@ import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import com.google.common.collect.ImmutableList; -import com.google.common.collect.Lists; import com.google.common.util.concurrent.ListenableFuture; import org.junit.Test; import org.opendaylight.yangtools.yang.model.api.SchemaContext; @@ -54,7 +53,7 @@ public class OpenconfigVerSharedSchemaRepositoryTest { assertSchemaContext(inetAndTopologySchemaContextFuture.get(), 3); final ListenableFuture barSchemaContextFuture = fact - .createSchemaContext(Lists.newArrayList(bar.getId(), semVer.getId()), StatementParserMode.SEMVER_MODE); + .createSchemaContext(ImmutableList.of(bar.getId(), semVer.getId()), StatementParserMode.SEMVER_MODE); assertTrue(barSchemaContextFuture.isDone()); assertSchemaContext(barSchemaContextFuture.get(), 2); } @@ -80,12 +79,12 @@ public class OpenconfigVerSharedSchemaRepositoryTest { .createSchemaContextFactory(SchemaSourceFilter.ALWAYS_ACCEPT); final ListenableFuture inetAndTopologySchemaContextFuture = - fact.createSchemaContext(Lists.newArrayList(bar.getId(), foo.getId(), semVer.getId())); + fact.createSchemaContext(ImmutableList.of(bar.getId(), foo.getId(), semVer.getId())); assertTrue(inetAndTopologySchemaContextFuture.isDone()); assertSchemaContext(inetAndTopologySchemaContextFuture.get(), 3); final ListenableFuture barSchemaContextFuture = - fact.createSchemaContext(Lists.newArrayList(bar.getId(), semVer.getId())); + fact.createSchemaContext(ImmutableList.of(bar.getId(), semVer.getId())); assertTrue(barSchemaContextFuture.isDone()); assertSchemaContext(barSchemaContextFuture.get(), 2); } diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/repo/SettableSchemaProvider.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/repo/SettableSchemaProvider.java index e2f3ba708d..2b9595b061 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/repo/SettableSchemaProvider.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/repo/SettableSchemaProvider.java @@ -8,11 +8,9 @@ package org.opendaylight.yangtools.yang.parser.repo; -import com.google.common.base.Function; import com.google.common.util.concurrent.CheckedFuture; import com.google.common.util.concurrent.Futures; import com.google.common.util.concurrent.SettableFuture; -import javax.annotation.Nullable; import org.opendaylight.yangtools.yang.model.repo.api.SchemaSourceException; import org.opendaylight.yangtools.yang.model.repo.api.SchemaSourceRepresentation; import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier; @@ -46,13 +44,7 @@ class SettableSchemaProvider implements Sc @Override public CheckedFuture getSource(final SourceIdentifier sourceIdentifier) { - return Futures.makeChecked(future, new Function() { - @Nullable - @Override - public SchemaSourceException apply(@Nullable final Exception input) { - return new SchemaSourceException("Failed", input); - } - }); + return Futures.makeChecked(future, input -> new SchemaSourceException("Failed", input)); } public T getSchemaSourceRepresentation() { diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/repo/SharedSchemaRepositoryTest.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/repo/SharedSchemaRepositoryTest.java index f0fa1877f1..8bbbd7e1ac 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/repo/SharedSchemaRepositoryTest.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/repo/SharedSchemaRepositoryTest.java @@ -22,11 +22,9 @@ import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.opendaylight.yangtools.yang.model.repo.api.SchemaSourceFilter.ALWAYS_ACCEPT; -import com.google.common.base.Function; import com.google.common.base.MoreObjects.ToStringHelper; -import com.google.common.base.Optional; -import com.google.common.collect.Collections2; import com.google.common.collect.ImmutableList; +import com.google.common.collect.Lists; import com.google.common.io.Files; import com.google.common.util.concurrent.CheckedFuture; import com.google.common.util.concurrent.FutureCallback; @@ -41,6 +39,7 @@ import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.Optional; import java.util.concurrent.ExecutionException; import javax.annotation.Nonnull; import org.junit.Test; @@ -255,10 +254,8 @@ public class SharedSchemaRepositoryTest { assertEquals(4, listener.registeredSources.size()); - final Function, SourceIdentifier> potSourceToSID = - PotentialSchemaSource::getSourceIdentifier; - assertThat(Collections2.transform(listener.registeredSources, potSourceToSID), - both(hasItem(RevisionSourceIdentifier.create("test", Optional.absent()))) + assertThat(Lists.transform(listener.registeredSources, PotentialSchemaSource::getSourceIdentifier), + both(hasItem(RevisionSourceIdentifier.create("test", Optional.empty()))) .and(hasItem(RevisionSourceIdentifier.create("test", Optional.of("2012-12-12")))) .and(hasItem(RevisionSourceIdentifier.create("test", Optional.of("2013-12-12")))) .and(hasItem(RevisionSourceIdentifier.create("module", Optional.of("2010-12-12")))) diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/repo/YangTextSchemaContextResolverTest.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/repo/YangTextSchemaContextResolverTest.java index c1462f7dcf..9d158ab7cd 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/repo/YangTextSchemaContextResolverTest.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/repo/YangTextSchemaContextResolverTest.java @@ -13,11 +13,11 @@ import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; -import com.google.common.base.Optional; import com.google.common.util.concurrent.CheckedFuture; import com.google.common.util.concurrent.ListenableFuture; import java.io.IOException; import java.net.URL; +import java.util.Optional; import java.util.concurrent.ExecutionException; import org.junit.Test; import org.opendaylight.yangtools.yang.model.api.SchemaContext; diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug6961Test.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug6961Test.java index f390440db4..4a5c381874 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug6961Test.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug6961Test.java @@ -11,7 +11,7 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; -import com.google.common.collect.Sets; +import com.google.common.collect.ImmutableSet; import java.net.URI; import java.util.Date; import java.util.Optional; @@ -35,7 +35,7 @@ public class Bug6961Test { final ModuleIdentifier bar = ModuleIdentifierImpl.create("bar", Optional.of(new URI("bar")), date); final ModuleIdentifier sub1Bar = ModuleIdentifierImpl.create("sub1-bar", Optional.of(new URI("bar")), date); final ModuleIdentifier baz = ModuleIdentifierImpl.create("baz", Optional.of(new URI("baz")), date); - final Set testSet = Sets.newHashSet(foo, sub1Foo, sub2Foo, bar, sub1Bar, baz); + final Set testSet = ImmutableSet.of(foo, sub1Foo, sub2Foo, bar, sub1Bar, baz); final SchemaContext context = StmtTestUtils.parseYangSources("/bugs/bug6961/"); assertNotNull(context); final Set allModuleIdentifiers = context.getAllModuleIdentifiers(); diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/thirdparty/plugin/ThirdPartyExtensionsMapping.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/thirdparty/plugin/ThirdPartyExtensionsMapping.java index 4d57ed6252..36b7ba7866 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/thirdparty/plugin/ThirdPartyExtensionsMapping.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/thirdparty/plugin/ThirdPartyExtensionsMapping.java @@ -7,8 +7,9 @@ */ package org.opendaylight.yangtools.yang.thirdparty.plugin; +import static java.util.Objects.requireNonNull; + import com.google.common.annotations.Beta; -import com.google.common.base.Preconditions; import javax.annotation.Nonnull; import javax.annotation.Nullable; import org.opendaylight.yangtools.yang.common.QName; @@ -32,8 +33,8 @@ public enum ThirdPartyExtensionsMapping implements StatementDefinition { final Class> declared, final Class> effective, final String nameStr, final String argumentStr, final boolean yinElement) { - type = Preconditions.checkNotNull(declared); - effectiveType = Preconditions.checkNotNull(effective); + type = requireNonNull(declared); + effectiveType = requireNonNull(effective); name = createQName(namespace, revision, nameStr); argument = createQName(namespace, revision, argumentStr); this.yinElement = yinElement; @@ -42,8 +43,8 @@ public enum ThirdPartyExtensionsMapping implements StatementDefinition { ThirdPartyExtensionsMapping(final String namespace, final Class> declared, final Class> effective, final String nameStr, final String argumentStr, final boolean yinElement) { - type = Preconditions.checkNotNull(declared); - effectiveType = Preconditions.checkNotNull(effective); + type = requireNonNull(declared); + effectiveType = requireNonNull(effective); name = createQName(namespace, nameStr); argument = createQName(namespace, argumentStr); this.yinElement = yinElement; diff --git a/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/AbstractDeclaredStatement.java b/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/AbstractDeclaredStatement.java index db066080df..185888e099 100644 --- a/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/AbstractDeclaredStatement.java +++ b/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/AbstractDeclaredStatement.java @@ -8,11 +8,8 @@ package org.opendaylight.yangtools.yang.parser.spi.meta; -import com.google.common.base.Optional; -import com.google.common.base.Predicates; import com.google.common.collect.Collections2; import com.google.common.collect.ImmutableList; -import com.google.common.collect.Iterables; import java.util.Collection; import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; @@ -45,9 +42,7 @@ public abstract class AbstractDeclaredStatement implements DeclaredStatement< } protected final > S firstDeclared(final Class type) { - final Optional> declaredSubstmt = Iterables.tryFind(substatements, - Predicates.instanceOf(type)); - return declaredSubstmt.isPresent() ? type.cast(declaredSubstmt.get()) : null; + return substatements.stream().filter(type::isInstance).findFirst().map(type::cast).orElse(null); } @Override @@ -78,8 +73,7 @@ public abstract class AbstractDeclaredStatement implements DeclaredStatement< return source; } - @SuppressWarnings("unchecked") protected final > Collection allDeclared(final Class type) { - return Collection.class.cast(Collections2.filter(substatements, Predicates.instanceOf(type))); + return Collections2.transform(Collections2.filter(substatements, type::isInstance), type::cast); } } diff --git a/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/AbstractStatementSupport.java b/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/AbstractStatementSupport.java index fb2d0e3282..389f6e7322 100644 --- a/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/AbstractStatementSupport.java +++ b/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/AbstractStatementSupport.java @@ -7,7 +7,9 @@ */ package org.opendaylight.yangtools.yang.parser.spi.meta; -import com.google.common.base.Preconditions; +import static com.google.common.base.Preconditions.checkArgument; +import static java.util.Objects.requireNonNull; + import java.util.Optional; import javax.annotation.Nonnull; import javax.annotation.Nullable; @@ -33,8 +35,8 @@ public abstract class AbstractStatementSupport private final StatementDefinition type; protected AbstractStatementSupport(final StatementDefinition publicDefinition) { - Preconditions.checkArgument(publicDefinition != this); - this.type = Preconditions.checkNotNull(publicDefinition); + this.type = requireNonNull(publicDefinition); + checkArgument(publicDefinition != this); } @Nonnull diff --git a/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/DerivedNamespaceBehaviour.java b/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/DerivedNamespaceBehaviour.java index f4193bea7b..0f7e47f962 100644 --- a/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/DerivedNamespaceBehaviour.java +++ b/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/DerivedNamespaceBehaviour.java @@ -7,7 +7,8 @@ */ package org.opendaylight.yangtools.yang.parser.spi.meta; -import com.google.common.base.Preconditions; +import static java.util.Objects.requireNonNull; + import java.util.Map; import org.opendaylight.yangtools.yang.model.api.meta.IdentifierNamespace; @@ -17,9 +18,9 @@ public abstract class DerivedNamespaceBehaviour derivedFrom; - protected DerivedNamespaceBehaviour(Class identifier, Class derivedFrom) { + protected DerivedNamespaceBehaviour(final Class identifier, final Class derivedFrom) { super(identifier); - this.derivedFrom = Preconditions.checkNotNull(derivedFrom); + this.derivedFrom = requireNonNull(derivedFrom); } public Class getDerivedFrom() { @@ -27,7 +28,7 @@ public abstract class DerivedNamespaceBehaviour getAllFrom(NamespaceStorageNode storage) { + public Map getAllFrom(final NamespaceStorageNode storage) { throw new UnsupportedOperationException("Virtual namespaces does not support provision of all items."); } @@ -35,7 +36,7 @@ public abstract class DerivedNamespaceBehaviour identifier; protected NamespaceBehaviour(final Class identifier) { - this.identifier = Preconditions.checkNotNull(identifier); + this.identifier = requireNonNull(identifier); } /** @@ -190,7 +191,7 @@ public abstract class NamespaceBehaviour identifier, final StorageNodeType type) { super(identifier); - storageType = Preconditions.checkNotNull(type); + storageType = requireNonNull(type); } @Override diff --git a/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/NamespaceNotAvailableException.java b/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/NamespaceNotAvailableException.java index 6c4088febe..93a0a32d20 100644 --- a/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/NamespaceNotAvailableException.java +++ b/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/NamespaceNotAvailableException.java @@ -7,7 +7,7 @@ */ package org.opendaylight.yangtools.yang.parser.spi.meta; -import com.google.common.base.Preconditions; +import static java.util.Objects.requireNonNull; /** * Thrown when identifier namespace is not available (supported) in a specific model processing phase. @@ -16,11 +16,11 @@ public class NamespaceNotAvailableException extends RuntimeException { private static final long serialVersionUID = 1L; - public NamespaceNotAvailableException(String message) { - super(Preconditions.checkNotNull(message)); + public NamespaceNotAvailableException(final String message) { + super(requireNonNull(message)); } - public NamespaceNotAvailableException(String message, Throwable cause) { - super(Preconditions.checkNotNull(message), cause); + public NamespaceNotAvailableException(final String message, final Throwable cause) { + super(requireNonNull(message), cause); } } diff --git a/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/ReactorException.java b/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/ReactorException.java index b41c9b2012..476d790736 100644 --- a/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/ReactorException.java +++ b/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/ReactorException.java @@ -7,7 +7,8 @@ */ package org.opendaylight.yangtools.yang.parser.spi.meta; -import com.google.common.base.Preconditions; +import static java.util.Objects.requireNonNull; + import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier; public class ReactorException extends Exception { @@ -19,13 +20,13 @@ public class ReactorException extends Exception { public ReactorException(final ModelProcessingPhase phase, final String message, final SourceIdentifier sourceId, final Throwable cause) { super(message, cause); - this.phase = Preconditions.checkNotNull(phase); + this.phase = requireNonNull(phase); this.sourceIdentifier = sourceId; } public ReactorException(final ModelProcessingPhase phase, final String message, final SourceIdentifier sourceId) { super(message); - this.phase = Preconditions.checkNotNull(phase); + this.phase = requireNonNull(phase); this.sourceIdentifier = sourceId; } diff --git a/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/StatementSupportBundle.java b/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/StatementSupportBundle.java index 7fe7eb0b23..e5a911b71f 100644 --- a/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/StatementSupportBundle.java +++ b/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/StatementSupportBundle.java @@ -7,6 +7,10 @@ */ package org.opendaylight.yangtools.yang.parser.spi.meta; +import static com.google.common.base.Preconditions.checkArgument; +import static com.google.common.base.Preconditions.checkState; +import static java.util.Objects.requireNonNull; + import com.google.common.base.Preconditions; import com.google.common.collect.HashBasedTable; import com.google.common.collect.ImmutableMap; @@ -86,7 +90,6 @@ public final class StatementSupportBundle implements Immutable, NamespaceBehavio } public static Builder derivedFrom(final StatementSupportBundle parent) { - Preconditions.checkNotNull(parent); return new Builder(parent.getSupportedVersions(), parent); } @@ -99,7 +102,7 @@ public final class StatementSupportBundle implements Immutable, NamespaceBehavio final Class namespace) throws NamespaceNotAvailableException { final NamespaceBehaviour potential = namespaceDefinitions.get(namespace); if (potential != null) { - Preconditions.checkState(namespace.equals(potential.getIdentifier())); + checkState(namespace.equals(potential.getIdentifier())); // Safe cast, previous checkState checks equivalence of key from which type argument are derived return (NamespaceBehaviour) potential; @@ -163,15 +166,15 @@ public final class StatementSupportBundle implements Immutable, NamespaceBehavio private StatementSupportBundle parent; Builder(final Set supportedVersions, final StatementSupportBundle parent) { - this.parent = Preconditions.checkNotNull(parent); + this.parent = requireNonNull(parent); this.supportedVersions = ImmutableSet.copyOf(supportedVersions); } public Builder addSupport(final StatementSupport definition) { final QName identifier = definition.getStatementName(); - Preconditions.checkState(!commonStatements.containsKey(identifier), + checkState(!commonStatements.containsKey(identifier), "Statement %s already defined in common statement bundle.", identifier); - Preconditions.checkState(parent.getCommonStatementDefinition(identifier) == null, + checkState(parent.getCommonStatementDefinition(identifier) == null, "Statement %s already defined.", identifier); commonStatements.put(identifier, definition); return this; @@ -180,26 +183,24 @@ public final class StatementSupportBundle implements Immutable, NamespaceBehavio public > Builder addSupport( final NamespaceBehaviour namespaceSupport) { final Class identifier = namespaceSupport.getIdentifier(); - Preconditions.checkState(!namespaces.containsKey(identifier)); - Preconditions.checkState(!parent.hasNamespaceBehaviour(identifier)); + checkState(!namespaces.containsKey(identifier)); + checkState(!parent.hasNamespaceBehaviour(identifier)); namespaces.put(identifier, namespaceSupport); return this; } public Builder addVersionSpecificSupport(final YangVersion version, final StatementSupport definition) { - Preconditions.checkNotNull(version); - Preconditions.checkNotNull(definition); - Preconditions.checkArgument(supportedVersions.contains(version)); + checkArgument(supportedVersions.contains(requireNonNull(version))); final QName identifier = definition.getStatementName(); - Preconditions.checkState(!commonStatements.containsKey(identifier), + checkState(!commonStatements.containsKey(identifier), "Statement %s already defined in common statement bundle.", identifier); - Preconditions.checkState(!versionSpecificStatements.contains(version, identifier), + checkState(!versionSpecificStatements.contains(version, identifier), "Statement %s already defined for version %s.", identifier, version); - Preconditions.checkState(parent.getCommonStatementDefinition(identifier) == null, + checkState(parent.getCommonStatementDefinition(identifier) == null, "Statement %s already defined in parent's common statement bundle.", identifier); - Preconditions.checkState(parent.getVersionSpecificStatementDefinition(version, identifier) == null, + checkState(parent.getVersionSpecificStatementDefinition(version, identifier) == null, "Statement %s already defined for version %s in parent's statement bundle.", identifier, version); versionSpecificStatements.put(version, identifier, definition); return this; diff --git a/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/StmtContextUtils.java b/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/StmtContextUtils.java index 4fed7f2bb5..9c9b8cffc1 100644 --- a/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/StmtContextUtils.java +++ b/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/StmtContextUtils.java @@ -7,7 +7,9 @@ */ package org.opendaylight.yangtools.yang.parser.spi.meta; -import com.google.common.base.Preconditions; +import static com.google.common.base.Preconditions.checkArgument; +import static java.util.Objects.requireNonNull; + import com.google.common.base.Splitter; import com.google.common.base.Strings; import com.google.common.collect.ImmutableList; @@ -349,8 +351,7 @@ public final class StmtContextUtils { */ public static boolean hasAncestorOfType(final StmtContext ctx, final Collection ancestorTypes) { - Preconditions.checkNotNull(ctx); - Preconditions.checkNotNull(ancestorTypes); + requireNonNull(ancestorTypes); StmtContext current = ctx.getParentContext(); while (current != null) { if (ancestorTypes.contains(current.getPublicDefinition())) { @@ -372,9 +373,9 @@ public final class StmtContextUtils { public static > boolean hasAncestorOfTypeWithChildOfType( final StmtContext ctx, final StatementDefinition ancestorType, final StatementDefinition ancestorChildType) { - Preconditions.checkNotNull(ctx); - Preconditions.checkNotNull(ancestorType); - Preconditions.checkNotNull(ancestorChildType); + requireNonNull(ctx); + requireNonNull(ancestorType); + requireNonNull(ancestorChildType); StmtContext current = ctx.getParentContext(); StmtContext parent = current.getParentContext(); @@ -404,8 +405,7 @@ public final class StmtContextUtils { * @return true if the parent of StmtContext is of specified type, otherwise false */ public static boolean hasParentOfType(final StmtContext ctx, final StatementDefinition parentType) { - Preconditions.checkNotNull(ctx); - Preconditions.checkNotNull(parentType); + requireNonNull(parentType); final StmtContext parentContext = ctx.getParentContext(); return parentContext != null ? parentType.equals(parentContext.getPublicDefinition()) : false; } @@ -421,8 +421,6 @@ public final class StmtContextUtils { * @param ctx statement context to be validated */ public static void validateIfFeatureAndWhenOnListKeys(final StmtContext ctx) { - Preconditions.checkNotNull(ctx); - if (!isRelevantForIfFeatureAndWhenOnListKeysCheck(ctx)) { return; } @@ -534,7 +532,7 @@ public final class StmtContextUtils { qnameModule = null; } - Preconditions.checkArgument(qnameModule != null, "Failed to look up root QNameModule for %s", ctx); + checkArgument(qnameModule != null, "Failed to look up root QNameModule for %s", ctx); if (qnameModule.getRevision() != null) { return qnameModule; } diff --git a/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/source/ImplicitSubstatement.java b/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/source/ImplicitSubstatement.java index 40de49f021..c1455e0d5c 100644 --- a/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/source/ImplicitSubstatement.java +++ b/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/source/ImplicitSubstatement.java @@ -7,8 +7,9 @@ */ package org.opendaylight.yangtools.yang.parser.spi.source; +import static java.util.Objects.requireNonNull; + import com.google.common.annotations.Beta; -import com.google.common.base.Preconditions; import org.opendaylight.yangtools.yang.model.api.meta.StatementSource; /** @@ -23,7 +24,7 @@ public final class ImplicitSubstatement implements StatementSourceReference { private final StatementSourceReference parentRef; private ImplicitSubstatement(final StatementSourceReference parentRef) { - this.parentRef = Preconditions.checkNotNull(parentRef); + this.parentRef = requireNonNull(parentRef); } /** diff --git a/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/source/QNameToStatementDefinitionMap.java b/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/source/QNameToStatementDefinitionMap.java index 3fbf513f5f..e505c6b976 100644 --- a/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/source/QNameToStatementDefinitionMap.java +++ b/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/source/QNameToStatementDefinitionMap.java @@ -7,7 +7,8 @@ */ package org.opendaylight.yangtools.yang.parser.spi.source; -import com.google.common.base.Preconditions; +import static java.util.Objects.requireNonNull; + import java.net.URI; import java.util.HashMap; import java.util.Map; @@ -33,16 +34,13 @@ public class QNameToStatementDefinitionMap implements QNameToStatementDefinition public void put(final QName qname, final StatementSupport stDef) { // HashMap does not guard against nulls - Preconditions.checkNotNull(qname); - Preconditions.checkNotNull(stDef); - - qnameToSupport.put(qname, stDef); + qnameToSupport.put(requireNonNull(qname), requireNonNull(stDef)); putNoRev(qname, stDef); } public void putAll(final Map> qnameToStmt) { qnameToSupport.putAll(qnameToStmt); - qnameToStmt.forEach((this::putNoRev)); + qnameToStmt.forEach(this::putNoRev); } public StatementSupport putIfAbsent(final QName qname, final StatementSupport support) { diff --git a/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/source/SourceException.java b/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/source/SourceException.java index 1a37a4bb08..883e0d1d8e 100644 --- a/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/source/SourceException.java +++ b/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/source/SourceException.java @@ -7,7 +7,8 @@ */ package org.opendaylight.yangtools.yang.parser.spi.source; -import com.google.common.base.Preconditions; +import static java.util.Objects.requireNonNull; + import java.util.Optional; import javax.annotation.Nonnull; @@ -133,8 +134,8 @@ public class SourceException extends RuntimeException { } private static String createMessage(@Nonnull final String message, @Nonnull final StatementSourceReference source) { - Preconditions.checkNotNull(message); - Preconditions.checkNotNull(source); + requireNonNull(message); + requireNonNull(source); return message + " [at " + source + ']'; }