You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@juneau.apache.org by ja...@apache.org on 2022/07/11 11:54:21 UTC
[juneau] branch jbFixRestNpe updated: Remote javax.inject dependency
This is an automated email from the ASF dual-hosted git repository.
jamesbognar pushed a commit to branch jbFixRestNpe
in repository https://gitbox.apache.org/repos/asf/juneau.git
The following commit(s) were added to refs/heads/jbFixRestNpe by this push:
new 7d096f056 Remote javax.inject dependency
7d096f056 is described below
commit 7d096f056bc598165deecd0d189d7502db17afde
Author: JamesBognar <ja...@salesforce.com>
AuthorDate: Mon Jul 11 07:54:01 2022 -0400
Remote javax.inject dependency
---
.../01.jrss.Overview.html | 2 +-
.../04.jp.juneau-petstore-server.html | 2 +-
.../build-overlay/pom.xml | 7 -------
.../build-overlay/pom.xml | 6 ------
.../rest/springboot/HelloWorldResource.java | 5 ++---
juneau-examples/juneau-examples-rest/pom.xml | 7 -------
.../springboot/template/HelloWorldResource.java | 5 ++---
.../juneau/rest/springboot/SpringRestServlet.java | 14 ++++++++++----
juneau-rest/juneau-rest-server/pom.xml | 5 -----
.../java/org/apache/juneau/rest/RestContext.java | 4 ++--
.../org/apache/juneau/rest/servlet/RestServlet.java | 21 ++++++++++-----------
.../java/org/apache/juneau/cp/BeanStore_Test.java | 13 +++++++++++--
pom.xml | 1 -
13 files changed, 39 insertions(+), 53 deletions(-)
diff --git a/juneau-doc/docs/Topics/11.juneau-rest-server-springboot/01.jrss.Overview.html b/juneau-doc/docs/Topics/11.juneau-rest-server-springboot/01.jrss.Overview.html
index dfa69c487..1c1582732 100644
--- a/juneau-doc/docs/Topics/11.juneau-rest-server-springboot/01.jrss.Overview.html
+++ b/juneau-doc/docs/Topics/11.juneau-rest-server-springboot/01.jrss.Overview.html
@@ -146,7 +146,7 @@
| )
| <jk>public class</jk> HelloWorldResource <jk>extends</jk> BasicRestObject <jk>implements</jk> BasicUniversalConfig {
|
- | <ja>@Inject</ja>
+ | <ja>@Autowired</ja>
| <jk>private</jk> HelloWorldMessageProvider <jf>messageProvider</jf>;
|
| <ja>@RestGet</ja>(path=<js>"/*"</js>, summary=<js>"Responds with injected message"</js>)
diff --git a/juneau-doc/docs/Topics/18.juneau-petstore/04.jp.juneau-petstore-server.html b/juneau-doc/docs/Topics/18.juneau-petstore/04.jp.juneau-petstore-server.html
index 99f51c13c..c57ed0e3c 100644
--- a/juneau-doc/docs/Topics/18.juneau-petstore/04.jp.juneau-petstore-server.html
+++ b/juneau-doc/docs/Topics/18.juneau-petstore/04.jp.juneau-petstore-server.html
@@ -209,7 +209,7 @@
| )
| <jk>public class</jk> PetStoreResource <jk>extends</jk> BasicRestObject <jk>implements</jk> BasicUniversalConfig, PetStore {
|
- | <ja>@Inject</ja>
+ | <ja>@Autowired</ja>
| <jk>private</jk> PetStoreService <jf>store</jf>;
|
| <jd>/**
diff --git a/juneau-examples/juneau-examples-rest-jetty/build-overlay/pom.xml b/juneau-examples/juneau-examples-rest-jetty/build-overlay/pom.xml
index cdd10787b..1650f8b03 100644
--- a/juneau-examples/juneau-examples-rest-jetty/build-overlay/pom.xml
+++ b/juneau-examples/juneau-examples-rest-jetty/build-overlay/pom.xml
@@ -41,7 +41,6 @@
<maven.javadoc.skip>true</maven.javadoc.skip>
<derby.version>${derby.version}</derby.version>
<springboot.version>${springboot.version}</springboot.version>
- <javax.inject.version>1</javax.inject.version>
<juneau.version>${version}</juneau.version>
<jena.version>${jena.version}</jena.version>
<junit.version>${junit.version}</junit.version>
@@ -65,12 +64,6 @@
<version>\${juneau.version}</version>
</dependency>
- <dependency>
- <groupId>javax.inject</groupId>
- <artifactId>javax.inject</artifactId>
- <version>\${javax.inject.version}</version>
- </dependency>
-
<!-- Used for JPA persistence of beans -->
<dependency>
<groupId>org.apache.derby</groupId>
diff --git a/juneau-examples/juneau-examples-rest-springboot/build-overlay/pom.xml b/juneau-examples/juneau-examples-rest-springboot/build-overlay/pom.xml
index ee67ba8f7..b55f48849 100644
--- a/juneau-examples/juneau-examples-rest-springboot/build-overlay/pom.xml
+++ b/juneau-examples/juneau-examples-rest-springboot/build-overlay/pom.xml
@@ -49,7 +49,6 @@
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<maven.javadoc.skip>true</maven.javadoc.skip>
- <javax.inject.version>${javax.inject.version}</javax.inject.version>
<juneau.version>${version}</juneau.version>
<jena.version>${jena.version}</jena.version>
<springboot.version>2.4.2</springboot.version>
@@ -90,11 +89,6 @@
</exclusion>
</exclusions>
</dependency>
- <dependency>
- <groupId>javax.inject</groupId>
- <artifactId>javax.inject</artifactId>
- <version>\${javax.inject.version}</version>
- </dependency>
<!-- Used for JPA persistence of beans -->
<dependency>
diff --git a/juneau-examples/juneau-examples-rest-springboot/src/main/java/org/apache/juneau/examples/rest/springboot/HelloWorldResource.java b/juneau-examples/juneau-examples-rest-springboot/src/main/java/org/apache/juneau/examples/rest/springboot/HelloWorldResource.java
index ee1775904..4ebdaf1ff 100644
--- a/juneau-examples/juneau-examples-rest-springboot/src/main/java/org/apache/juneau/examples/rest/springboot/HelloWorldResource.java
+++ b/juneau-examples/juneau-examples-rest-springboot/src/main/java/org/apache/juneau/examples/rest/springboot/HelloWorldResource.java
@@ -12,12 +12,11 @@
// ***************************************************************************************************************************
package org.apache.juneau.examples.rest.springboot;
-import javax.inject.*;
-
import org.apache.juneau.html.annotation.*;
import org.apache.juneau.rest.annotation.*;
import org.apache.juneau.rest.config.*;
import org.apache.juneau.rest.servlet.*;
+import org.springframework.beans.factory.annotation.*;
/**
* Sample REST resource that prints out a simple "Hello world!" message.
@@ -42,7 +41,7 @@ import org.apache.juneau.rest.servlet.*;
)
public class HelloWorldResource extends BasicRestObject implements BasicUniversalConfig {
- @Inject
+ @Autowired
private HelloWorldMessageProvider messageProvider;
/**
diff --git a/juneau-examples/juneau-examples-rest/pom.xml b/juneau-examples/juneau-examples-rest/pom.xml
index 7df9346e9..d8cd94eb2 100644
--- a/juneau-examples/juneau-examples-rest/pom.xml
+++ b/juneau-examples/juneau-examples-rest/pom.xml
@@ -86,13 +86,6 @@
<scope>compile</scope>
</dependency>
- <dependency>
- <groupId>javax.inject</groupId>
- <artifactId>javax.inject</artifactId>
- <scope>compile</scope>
- <version>${javax.inject.version}</version>
- </dependency>
-
</dependencies>
<build>
diff --git a/juneau-microservice/juneau-my-springboot-microservice/src/main/java/org/apache/juneau/microservice/springboot/template/HelloWorldResource.java b/juneau-microservice/juneau-my-springboot-microservice/src/main/java/org/apache/juneau/microservice/springboot/template/HelloWorldResource.java
index c4359f620..0e02bc730 100644
--- a/juneau-microservice/juneau-my-springboot-microservice/src/main/java/org/apache/juneau/microservice/springboot/template/HelloWorldResource.java
+++ b/juneau-microservice/juneau-my-springboot-microservice/src/main/java/org/apache/juneau/microservice/springboot/template/HelloWorldResource.java
@@ -14,12 +14,11 @@ package org.apache.juneau.microservice.springboot.template;
import java.util.*;
-import javax.inject.*;
-
import org.apache.juneau.html.annotation.*;
import org.apache.juneau.rest.annotation.*;
import org.apache.juneau.rest.config.BasicUniversalConfig;
import org.apache.juneau.rest.servlet.BasicRestObject;
+import org.springframework.beans.factory.annotation.Autowired;
/**
* Sample REST resource that prints out a simple "Hello world!" message.
@@ -49,7 +48,7 @@ public class HelloWorldResource extends BasicRestObject implements BasicUniversa
/**
* Optional message provider that can be injected into this object.
*/
- @Inject
+ @Autowired
private Optional<HelloWorldMessageProvider> messageProvider;
/**
diff --git a/juneau-rest/juneau-rest-server-springboot/src/main/java/org/apache/juneau/rest/springboot/SpringRestServlet.java b/juneau-rest/juneau-rest-server-springboot/src/main/java/org/apache/juneau/rest/springboot/SpringRestServlet.java
index 7a9659505..057df3b74 100644
--- a/juneau-rest/juneau-rest-server-springboot/src/main/java/org/apache/juneau/rest/springboot/SpringRestServlet.java
+++ b/juneau-rest/juneau-rest-server-springboot/src/main/java/org/apache/juneau/rest/springboot/SpringRestServlet.java
@@ -14,10 +14,10 @@ package org.apache.juneau.rest.springboot;
import java.util.*;
-import javax.inject.*;
-
import org.apache.juneau.cp.*;
+import org.apache.juneau.rest.annotation.*;
import org.apache.juneau.rest.servlet.*;
+import org.springframework.beans.factory.annotation.*;
import org.springframework.context.*;
/**
@@ -41,10 +41,16 @@ public abstract class SpringRestServlet extends RestServlet {
private static final long serialVersionUID = 1L;
- @Inject
+ @Autowired
private Optional<ApplicationContext> appContext;
- @Override /* RestServlet */
+ /**
+ * Hook into Spring bean injection framework.
+ *
+ * @param parent Optional parent resource.
+ * @return A BeanStore that retrieves beans from the Spring Boot app context.
+ */
+ @RestBean
public BeanStore createBeanStore(Optional<BeanStore> parent) {
return new SpringBeanStore(appContext, parent, this);
}
diff --git a/juneau-rest/juneau-rest-server/pom.xml b/juneau-rest/juneau-rest-server/pom.xml
index 1a226e2d3..86565cd38 100644
--- a/juneau-rest/juneau-rest-server/pom.xml
+++ b/juneau-rest/juneau-rest-server/pom.xml
@@ -48,11 +48,6 @@
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
</dependency>
- <dependency>
- <groupId>javax.inject</groupId>
- <artifactId>javax.inject</artifactId>
- <version>1</version>
- </dependency>
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContext.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContext.java
index 30b2f5c52..e9233a5df 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContext.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContext.java
@@ -588,13 +588,13 @@ public class RestContext extends Context {
// Replace with builder from: public [static] BeanStore.Builder createBeanStore(<args>)
v.get().build()
.createMethodFinder(BeanStore.Builder.class)
- .find("createBeanStore")
+ .find(x -> x.hasAnnotation(RestBean.class))
.run(x -> v.set(x));
// Replace with bean from: public [static] BeanStore createBeanStore(<args>)
v.get().build()
.createMethodFinder(BeanStore.class)
- .find("createBeanStore")
+ .find(x -> x.hasAnnotation(RestBean.class))
.run(x -> v.get().impl(x));
return v.get();
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/servlet/RestServlet.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/servlet/RestServlet.java
index 88c1ff71b..a37cceb22 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/servlet/RestServlet.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/servlet/RestServlet.java
@@ -21,7 +21,6 @@ import static org.apache.juneau.rest.annotation.HookEvent.*;
import java.io.*;
import java.text.*;
-import java.util.*;
import java.util.concurrent.atomic.*;
import java.util.function.*;
import java.util.logging.*;
@@ -37,7 +36,6 @@ import org.apache.juneau.rest.converter.*;
import org.apache.juneau.rest.guard.*;
import org.apache.juneau.rest.matcher.*;
import org.apache.juneau.*;
-import org.apache.juneau.cp.*;
import org.apache.juneau.http.response.*;
/**
@@ -93,15 +91,16 @@ public abstract class RestServlet extends HttpServlet {
}
}
- /**
- * Instantiates the bean store to use for creating beans for this servlet.
- *
- * @param parent The parent bean store.
- * @return A new bean store.
- */
- public BeanStore createBeanStore(Optional<BeanStore> parent) {
- return BeanStore.of(parent.orElse(null), this);
- }
+// /**
+// * Instantiates the bean store to use for creating beans for this servlet.
+// *
+// * @param parent The parent bean store.
+// * @return A new bean store.
+// */
+// @Rest
+// public BeanStore createBeanStore(Optional<BeanStore> parent) {
+// return BeanStore.of(parent.orElse(null), this);
+// }
/**
* Sets the context object for this servlet.
diff --git a/juneau-utest/src/test/java/org/apache/juneau/cp/BeanStore_Test.java b/juneau-utest/src/test/java/org/apache/juneau/cp/BeanStore_Test.java
index ae278522f..0cb2dd0d7 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/cp/BeanStore_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/cp/BeanStore_Test.java
@@ -12,16 +12,17 @@
// ***************************************************************************************************************************
package org.apache.juneau.cp;
+import static java.lang.annotation.ElementType.*;
+import static java.lang.annotation.RetentionPolicy.*;
import static org.apache.juneau.assertions.Assertions.*;
import static org.apache.juneau.internal.ObjectUtils.*;
import static org.junit.Assert.*;
import static org.junit.runners.MethodSorters.*;
+import java.lang.annotation.*;
import java.util.*;
import java.util.function.*;
-import javax.inject.*;
-
import org.apache.juneau.annotation.*;
import org.apache.juneau.reflect.*;
import org.junit.*;
@@ -29,6 +30,14 @@ import org.junit.*;
@FixMethodOrder(NAME_ASCENDING)
public class BeanStore_Test {
+ @Documented
+ @Target({PARAMETER})
+ @Retention(RUNTIME)
+ @Inherited
+ public @interface Named {
+ String value();
+ }
+
//-----------------------------------------------------------------------------------------------------------------
// Basic tests
//-----------------------------------------------------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index f25360217..2aef6479d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -49,7 +49,6 @@
<juneauVersionNext>9.0.1</juneauVersionNext>
<derby.version>10.10.2.0</derby.version>
<hibernate.version>5.0.9.Final</hibernate.version>
- <javax.inject.version>1</javax.inject.version>
<springboot.version>2.7.0</springboot.version>
<xml.apis.version>1.4.01</xml.apis.version>
<javadoc.executable />