From bad739ae3be754bb495b5a3b5830a0c972f8fa39 Mon Sep 17 00:00:00 2001 From: Bjørn Christian Seime Date: Tue, 8 Feb 2022 16:03:06 +0100 Subject: Deprecate method leaking Guice --- .../src/main/java/com/yahoo/container/jdisc/HttpRequest.java | 5 ----- .../com/yahoo/container/handler/VipStatusHandlerTestCase.java | 5 ----- .../com/yahoo/container/jdisc/LoggingRequestHandlerTestCase.java | 5 ----- .../yahoo/jdisc/http/server/jetty/HttpRequestFactoryTest.java | 6 ------ .../controller/restapi/application/MultipartParserTest.java | 4 ---- jdisc_core/abi-spec.json | 2 +- jdisc_core/src/main/java/com/yahoo/jdisc/Container.java | 4 +++- .../src/main/java/com/yahoo/jdisc/core/ContainerSnapshot.java | 3 +++ jdisc_core/src/test/java/com/yahoo/jdisc/RequestTestCase.java | 6 ------ .../java/com/yahoo/jdisc/core/ContainerSnapshotTestCase.java | 4 ---- .../java/com/yahoo/jdisc/test/NonWorkingRequestTestCase.java | 9 ++++----- 11 files changed, 11 insertions(+), 42 deletions(-) diff --git a/container-core/src/main/java/com/yahoo/container/jdisc/HttpRequest.java b/container-core/src/main/java/com/yahoo/container/jdisc/HttpRequest.java index 6f5cc5722c8..927284f2c66 100644 --- a/container-core/src/main/java/com/yahoo/container/jdisc/HttpRequest.java +++ b/container-core/src/main/java/com/yahoo/container/jdisc/HttpRequest.java @@ -551,11 +551,6 @@ public class HttpRequest { return null; } - @Override - public T getInstance(Key tKey) { - return null; - } - @Override public T getInstance(Class tClass) { return null; diff --git a/container-core/src/test/java/com/yahoo/container/handler/VipStatusHandlerTestCase.java b/container-core/src/test/java/com/yahoo/container/handler/VipStatusHandlerTestCase.java index e95dbcbcb22..e78810db897 100644 --- a/container-core/src/test/java/com/yahoo/container/handler/VipStatusHandlerTestCase.java +++ b/container-core/src/test/java/com/yahoo/container/handler/VipStatusHandlerTestCase.java @@ -186,11 +186,6 @@ public class VipStatusHandlerTestCase { return null; } - @Override - public T getInstance(Key tKey) { - return null; - } - @Override public T getInstance(Class tClass) { return null; diff --git a/container-core/src/test/java/com/yahoo/container/jdisc/LoggingRequestHandlerTestCase.java b/container-core/src/test/java/com/yahoo/container/jdisc/LoggingRequestHandlerTestCase.java index 5f46184bf89..ae0f679771e 100644 --- a/container-core/src/test/java/com/yahoo/container/jdisc/LoggingRequestHandlerTestCase.java +++ b/container-core/src/test/java/com/yahoo/container/jdisc/LoggingRequestHandlerTestCase.java @@ -149,11 +149,6 @@ public class LoggingRequestHandlerTestCase { return null; } - @Override - public T getInstance(Key tKey) { - return null; - } - @Override public T getInstance(Class tClass) { return null; diff --git a/container-core/src/test/java/com/yahoo/jdisc/http/server/jetty/HttpRequestFactoryTest.java b/container-core/src/test/java/com/yahoo/jdisc/http/server/jetty/HttpRequestFactoryTest.java index e2ebdf7a8fc..d1ba4a4d190 100644 --- a/container-core/src/test/java/com/yahoo/jdisc/http/server/jetty/HttpRequestFactoryTest.java +++ b/container-core/src/test/java/com/yahoo/jdisc/http/server/jetty/HttpRequestFactoryTest.java @@ -1,7 +1,6 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.jdisc.http.server.jetty; -import com.google.inject.Key; import com.yahoo.jdisc.Container; import com.yahoo.jdisc.References; import com.yahoo.jdisc.ResourceReference; @@ -157,11 +156,6 @@ public class HttpRequestFactoryTest { return null; } - @Override - public T getInstance(Key tKey) { - return null; - } - @Override public T getInstance(Class tClass) { return null; diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/MultipartParserTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/MultipartParserTest.java index 5bf22ede19d..2c81b1a7fd8 100644 --- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/MultipartParserTest.java +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/MultipartParserTest.java @@ -1,7 +1,6 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.hosted.controller.restapi.application; -import com.google.inject.Key; import com.yahoo.container.jdisc.HttpRequest; import com.yahoo.jdisc.Container; import com.yahoo.jdisc.Request; @@ -71,9 +70,6 @@ public class MultipartParserTest { @Override public RequestHandler resolveHandler(Request request) { return null; } - @Override - public T getInstance(Key key) { return null; } - @Override public T getInstance(Class aClass) { return null; } diff --git a/jdisc_core/abi-spec.json b/jdisc_core/abi-spec.json index d1b676b330f..06e76f88898 100644 --- a/jdisc_core/abi-spec.json +++ b/jdisc_core/abi-spec.json @@ -32,7 +32,7 @@ ], "methods": [ "public abstract com.yahoo.jdisc.handler.RequestHandler resolveHandler(com.yahoo.jdisc.Request)", - "public abstract java.lang.Object getInstance(com.google.inject.Key)", + "public java.lang.Object getInstance(com.google.inject.Key)", "public abstract java.lang.Object getInstance(java.lang.Class)" ], "fields": [] diff --git a/jdisc_core/src/main/java/com/yahoo/jdisc/Container.java b/jdisc_core/src/main/java/com/yahoo/jdisc/Container.java index f3ed16c65e7..e96f7f08fe8 100644 --- a/jdisc_core/src/main/java/com/yahoo/jdisc/Container.java +++ b/jdisc_core/src/main/java/com/yahoo/jdisc/Container.java @@ -49,8 +49,10 @@ public interface Container extends SharedResource, Timer { * @return The appropriate instance of the given class. * @throws ConfigurationException If this injector cannot find or create the provider. * @throws ProvisionException If there was a runtime failure while providing an instance. + * @deprecated Use {@link #getInstance(Class)} instead. */ - T getInstance(Key key); + @Deprecated(forRemoval = true, since = "7") // TODO Vespa 8 remove + default T getInstance(Key key) { throw new UnsupportedOperationException(); } /** * Returns the appropriate instance for the given injection type. When feasible, avoid using this method in diff --git a/jdisc_core/src/main/java/com/yahoo/jdisc/core/ContainerSnapshot.java b/jdisc_core/src/main/java/com/yahoo/jdisc/core/ContainerSnapshot.java index f3641f2475b..808c8e89b1b 100644 --- a/jdisc_core/src/main/java/com/yahoo/jdisc/core/ContainerSnapshot.java +++ b/jdisc_core/src/main/java/com/yahoo/jdisc/core/ContainerSnapshot.java @@ -37,7 +37,10 @@ class ContainerSnapshot extends AbstractResource implements Container { this.containerReference = container.refer(context); } + /** @deprecated Use {@link #getInstance(Class)} instead. */ @Override + @Deprecated(forRemoval = true, since = "7") // TODO Vespa 8 remove + @SuppressWarnings("removal") public T getInstance(Key key) { return container.guiceInjector().getInstance(key); } diff --git a/jdisc_core/src/test/java/com/yahoo/jdisc/RequestTestCase.java b/jdisc_core/src/test/java/com/yahoo/jdisc/RequestTestCase.java index 987a24fe332..75154dd588e 100644 --- a/jdisc_core/src/test/java/com/yahoo/jdisc/RequestTestCase.java +++ b/jdisc_core/src/test/java/com/yahoo/jdisc/RequestTestCase.java @@ -3,7 +3,6 @@ package com.yahoo.jdisc; import com.google.inject.AbstractModule; import com.google.inject.Guice; -import com.google.inject.Key; import com.yahoo.jdisc.application.BindingMatch; import com.yahoo.jdisc.application.UriPattern; import com.yahoo.jdisc.handler.CompletionHandler; @@ -306,11 +305,6 @@ public class RequestTestCase { return requestHandler; } - @Override - public T getInstance(Key key) { - return Guice.createInjector().getInstance(key); - } - @Override public T getInstance(Class type) { return Guice.createInjector().getInstance(type); diff --git a/jdisc_core/src/test/java/com/yahoo/jdisc/core/ContainerSnapshotTestCase.java b/jdisc_core/src/test/java/com/yahoo/jdisc/core/ContainerSnapshotTestCase.java index 3e6987c8c6f..dc1f3c7609e 100644 --- a/jdisc_core/src/test/java/com/yahoo/jdisc/core/ContainerSnapshotTestCase.java +++ b/jdisc_core/src/test/java/com/yahoo/jdisc/core/ContainerSnapshotTestCase.java @@ -2,8 +2,6 @@ package com.yahoo.jdisc.core; import com.google.inject.AbstractModule; -import com.google.inject.Key; -import com.google.inject.name.Names; import com.yahoo.jdisc.AbstractResource; import com.yahoo.jdisc.Request; import com.yahoo.jdisc.application.BindingMatch; @@ -142,13 +140,11 @@ public class ContainerSnapshotTestCase { @Override protected void configure() { bind(Object.class).toInstance(obj); - bind(String.class).annotatedWith(Names.named("foo")).toInstance("foo"); } }); ActiveContainer active = new ActiveContainer(driver.newContainerBuilder()); ContainerSnapshot snapshot = new ContainerSnapshot(active, null, null, null); assertSame(obj, snapshot.getInstance(Object.class)); - assertEquals("foo", snapshot.getInstance(Key.get(String.class, Names.named("foo")))); snapshot.release(); assertTrue(driver.close()); } diff --git a/jdisc_core/src/test/java/com/yahoo/jdisc/test/NonWorkingRequestTestCase.java b/jdisc_core/src/test/java/com/yahoo/jdisc/test/NonWorkingRequestTestCase.java index ac55334308c..b0d67102a12 100644 --- a/jdisc_core/src/test/java/com/yahoo/jdisc/test/NonWorkingRequestTestCase.java +++ b/jdisc_core/src/test/java/com/yahoo/jdisc/test/NonWorkingRequestTestCase.java @@ -2,13 +2,11 @@ package com.yahoo.jdisc.test; import com.google.inject.AbstractModule; -import com.google.inject.Key; -import com.google.inject.name.Names; import com.yahoo.jdisc.Request; import org.junit.Test; -import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertSame; /** @@ -23,13 +21,14 @@ public class NonWorkingRequestTestCase { @Test public void requireThatGuiceModulesAreInjected() { + Object obj = new Object(); Request request = NonWorkingRequest.newInstance("scheme://host/path", new AbstractModule() { @Override protected void configure() { - bind(String.class).annotatedWith(Names.named("foo")).toInstance("bar"); + bind(Object.class).toInstance(obj); } }); - assertEquals("bar", request.container().getInstance(Key.get(String.class, Names.named("foo")))); + assertSame(obj, request.container().getInstance(Object.class)); } } -- cgit v1.2.3