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 <[email protected]>
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 />

Reply via email to