Java 8: use lambdas and function references
[yangtools.git] / yang / yang-parser-impl / src / test / java / org / opendaylight / yangtools / yang / parser / repo / SharedSchemaRepositoryTest.java
index 83c0a8f850c6ad2d37cf056a72635608b1e92fc3..f9dff888633ea5be2aefeda2488fc485ede15044 100644 (file)
@@ -20,7 +20,7 @@ import static org.junit.Assert.fail;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
-import com.google.common.base.Charsets;
+
 import com.google.common.base.Function;
 import com.google.common.base.MoreObjects;
 import com.google.common.base.Optional;
@@ -30,16 +30,18 @@ import com.google.common.io.Files;
 import com.google.common.util.concurrent.CheckedFuture;
 import com.google.common.util.concurrent.FutureCallback;
 import com.google.common.util.concurrent.Futures;
+import java.io.ByteArrayInputStream;
 import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
+import java.nio.charset.StandardCharsets;
 import java.util.Arrays;
 import java.util.List;
 import java.util.concurrent.ExecutionException;
-import org.apache.commons.io.IOUtils;
 import org.junit.Test;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 import org.opendaylight.yangtools.yang.model.repo.api.MissingSchemaSourceException;
+import org.opendaylight.yangtools.yang.model.repo.api.RevisionSourceIdentifier;
 import org.opendaylight.yangtools.yang.model.repo.api.SchemaContextFactory;
 import org.opendaylight.yangtools.yang.model.repo.api.SchemaResolutionException;
 import org.opendaylight.yangtools.yang.model.repo.api.SchemaSourceException;
@@ -69,7 +71,7 @@ public class SharedSchemaRepositoryTest {
         assertEquals(id2, source.checkedGet().getIdentifier());
     }
 
-    private SourceIdentifier loadAndRegisterSource(final SharedSchemaRepository sharedSchemaRepository, final String resourceName) throws Exception {
+    private static SourceIdentifier loadAndRegisterSource(final SharedSchemaRepository sharedSchemaRepository, final String resourceName) throws Exception {
         final SettableSchemaProvider<ASTSchemaSource> sourceProvider = getImmediateYangSourceProviderFromResource(resourceName);
         sourceProvider.setResult();
         final SourceIdentifier idNoRevision = sourceProvider.getId();
@@ -223,16 +225,16 @@ public class SharedSchemaRepositoryTest {
         sharedSchemaRepository.registerSchemaSourceListener(listener);
 
         final File test = new File(storageDir, "test.yang");
-        Files.write("content-test", test, Charsets.UTF_8);
+        Files.write("content-test", test, StandardCharsets.UTF_8);
 
         final File test2 = new File(storageDir, "test@2012-12-12.yang");
-        Files.write("content-test-2012", test2, Charsets.UTF_8);
+        Files.write("content-test-2012", test2, StandardCharsets.UTF_8);
 
         final File test3 = new File(storageDir, "test@2013-12-12.yang");
-        Files.write("content-test-2013", test3, Charsets.UTF_8);
+        Files.write("content-test-2013", test3, StandardCharsets.UTF_8);
 
         final File test4 = new File(storageDir, "module@2010-12-12.yang");
-        Files.write("content-module-2010", test4, Charsets.UTF_8);
+        Files.write("content-module-2010", test4, StandardCharsets.UTF_8);
 
 
         final FilesystemSchemaSourceCache<YangTextSchemaSource> cache = new FilesystemSchemaSourceCache<>(sharedSchemaRepository, YangTextSchemaSource.class, storageDir);
@@ -240,17 +242,13 @@ public class SharedSchemaRepositoryTest {
 
         assertEquals(4, listener.registeredSources.size());
 
-        final Function<PotentialSchemaSource<?>, SourceIdentifier> potSourceToSID = new Function<PotentialSchemaSource<?>, SourceIdentifier>() {
-            @Override
-            public SourceIdentifier apply(final PotentialSchemaSource<?> input) {
-                return input.getSourceIdentifier();
-            }
-        };
+        final Function<PotentialSchemaSource<?>, SourceIdentifier> potSourceToSID =
+                PotentialSchemaSource::getSourceIdentifier;
         assertThat(Collections2.transform(listener.registeredSources, potSourceToSID),
-                both(hasItem(new SourceIdentifier("test", Optional.<String>absent())))
-                        .and(hasItem(new SourceIdentifier("test", Optional.of("2012-12-12"))))
-                        .and(hasItem(new SourceIdentifier("test", Optional.of("2013-12-12"))))
-                        .and(hasItem(new SourceIdentifier("module", Optional.of("2010-12-12"))))
+                both(hasItem(RevisionSourceIdentifier.create("test", Optional.absent())))
+                        .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"))))
         );
     }
 
@@ -263,12 +261,12 @@ public class SharedSchemaRepositoryTest {
         final FilesystemSchemaSourceCache<YangTextSchemaSource> cache = new FilesystemSchemaSourceCache<>(sharedSchemaRepository, YangTextSchemaSource.class, storageDir);
         sharedSchemaRepository.registerSchemaSourceListener(cache);
 
-        final SourceIdentifier runningId = new SourceIdentifier("running", Optional.of("2012-12-12"));
+        final SourceIdentifier runningId = RevisionSourceIdentifier.create("running", Optional.of("2012-12-12"));
 
         sharedSchemaRepository.registerSchemaSource(new SchemaSourceProvider<YangTextSchemaSource>() {
             @Override
             public CheckedFuture<YangTextSchemaSource, SchemaSourceException> getSource(final SourceIdentifier sourceIdentifier) {
-                return Futures.<YangTextSchemaSource, SchemaSourceException>immediateCheckedFuture(new YangTextSchemaSource(runningId) {
+                return Futures.immediateCheckedFuture(new YangTextSchemaSource(runningId) {
                     @Override
                     protected MoreObjects.ToStringHelper addToStringAttributes(final MoreObjects.ToStringHelper toStringHelper) {
                         return toStringHelper;
@@ -276,7 +274,7 @@ public class SharedSchemaRepositoryTest {
 
                     @Override
                     public InputStream openStream() throws IOException {
-                        return IOUtils.toInputStream("running");
+                        return new ByteArrayInputStream("running".getBytes(StandardCharsets.UTF_8));
                     }
                 });
             }
@@ -313,7 +311,7 @@ public class SharedSchemaRepositoryTest {
         fail("Creation of schema context should fail from non-regular sources");
     }
 
-    private void assertSchemaContext(final SchemaContext schemaContext, final int moduleSize) {
+    private static void assertSchemaContext(final SchemaContext schemaContext, final int moduleSize) {
         assertNotNull(schemaContext);
         assertEquals(moduleSize, schemaContext.getModules().size());
     }