You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by ro...@apache.org on 2018/12/22 21:41:01 UTC

svn commit: r1849578 - in /aries/trunk/cdi: ./ cdi-extender/ cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/util/ cdi-itests/ cdi-itests/src/main/java/org/apache/aries/cdi/test/tb6/

Author: rotty3000
Date: Sat Dec 22 21:41:01 2018
New Revision: 1849578

URL: http://svn.apache.org/viewvc?rev=1849578&view=rev
Log:
[CDI] solve issue with BeanPropertyType PREFIX_ handling

Signed-off-by: Raymond Auge <ro...@apache.org>

Modified:
    aries/trunk/cdi/cdi-extender/pom.xml
    aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/util/Maps.java
    aries/trunk/cdi/cdi-itests/itest.bndrun
    aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb6/BarServlet.java
    aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb6/FooServlet.java
    aries/trunk/cdi/pom.xml

Modified: aries/trunk/cdi/cdi-extender/pom.xml
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/pom.xml?rev=1849578&r1=1849577&r2=1849578&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-extender/pom.xml (original)
+++ aries/trunk/cdi/cdi-extender/pom.xml Sat Dec 22 21:41:01 2018
@@ -42,6 +42,10 @@
 	<dependencies>
 		<dependency>
 			<groupId>org.apache.felix</groupId>
+			<artifactId>org.apache.felix.converter</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.felix</groupId>
 			<artifactId>org.apache.felix.utils</artifactId>
 		</dependency>
 		<dependency>
@@ -94,10 +98,6 @@
 		</dependency>
 		<dependency>
 			<groupId>org.osgi</groupId>
-			<artifactId>org.osgi.util.converter</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>org.osgi</groupId>
 			<artifactId>org.osgi.util.function</artifactId>
 		</dependency>
 		<dependency>

Modified: aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/util/Maps.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/util/Maps.java?rev=1849578&r1=1849577&r2=1849578&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/util/Maps.java (original)
+++ aries/trunk/cdi/cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/util/Maps.java Sat Dec 22 21:41:01 2018
@@ -15,8 +15,6 @@
 package org.apache.aries.cdi.container.internal.util;
 
 import java.lang.annotation.Annotation;
-import java.lang.reflect.Field;
-import java.lang.reflect.Modifier;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
@@ -43,8 +41,6 @@ import org.osgi.util.converter.TypeRefer
 
 public class Maps {
 
-	private static final String PREFIX_CONSTANT = "PREFIX_";
-
 	private Maps() {
 		// no instances
 	}
@@ -153,28 +149,6 @@ public class Maps {
 		);
 	}
 
-	static String getPrefix(Annotation ann) {
-		try {
-			Class<?> clazz = ann.annotationType();
-			final Field f = clazz.getField(PREFIX_CONSTANT);
-			if (Modifier.isStatic(f.getModifiers()) &&
-				Modifier.isPublic(f.getModifiers()) &&
-				Modifier.isFinal(f.getModifiers()) &&
-				String.class.isAssignableFrom(f.getType())) {
-
-				final Object value = f.get(null);
-
-				if ( value != null ) {
-					return value.toString();
-				}
-			}
-		}
-		catch ( final Exception ignore) {
-			// ignore
-		}
-		return null;
-	}
-
 	@SuppressWarnings({ "rawtypes", "unchecked" })
 	public static List<?> merge(Object a, Object b) {
 		List<?> aList = Conversions.convert(a).to(new TypeReference<List<?>>() {});

Modified: aries/trunk/cdi/cdi-itests/itest.bndrun
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/itest.bndrun?rev=1849578&r1=1849577&r2=1849578&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-itests/itest.bndrun (original)
+++ aries/trunk/cdi/cdi-itests/itest.bndrun Sat Dec 22 21:41:01 2018
@@ -18,6 +18,7 @@
 -runrequires: \
 	osgi.identity;filter:='(osgi.identity=javax.ejb-api)',\
 	osgi.identity;filter:='(osgi.identity=javax.transaction-api)',\
+	osgi.identity;filter:='(osgi.identity=org.apache.aries.cdi.extra)',\
 	osgi.identity;filter:='(osgi.identity=org.apache.aries.cdi.itests)',\
 	osgi.identity;filter:='(osgi.identity=org.apache.aries.jndi.core)',\
 	osgi.identity;filter:='(osgi.identity=org.apache.felix.gogo.command)',\
@@ -68,7 +69,8 @@
 	org.jboss.weld.osgi-bundle;version='[3.0.5,3.0.6)',\
 	org.osgi.service.cdi;version='[1.0.0,1.0.1)',\
 	org.osgi.util.function;version='[1.1.0,1.1.1)',\
-	org.osgi.util.promise;version='[1.1.0,1.1.1)'
+	org.osgi.util.promise;version='[1.1.0,1.1.1)',\
+	org.apache.aries.cdi.extra;version='[0.0.2,0.0.3)'
 
 -resolve.effective: resolve, active
 -runee: JavaSE-1.8

Modified: aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb6/BarServlet.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb6/BarServlet.java?rev=1849578&r1=1849577&r2=1849578&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb6/BarServlet.java (original)
+++ aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb6/BarServlet.java Sat Dec 22 21:41:01 2018
@@ -14,13 +14,8 @@
 
 package org.apache.aries.cdi.test.tb6;
 
-import static java.lang.annotation.ElementType.*;
-import static java.lang.annotation.RetentionPolicy.*;
-
 import java.io.IOException;
 import java.io.PrintWriter;
-import java.lang.annotation.Retention;
-import java.lang.annotation.Target;
 
 import javax.inject.Inject;
 import javax.servlet.Servlet;
@@ -29,31 +24,24 @@ import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import org.apache.aries.cdi.extra.propertytypes.HttpWhiteboardServletName;
+import org.apache.aries.cdi.extra.propertytypes.HttpWhiteboardServletPattern;
 import org.osgi.annotation.bundle.Requirement;
 import org.osgi.service.cdi.CDIConstants;
-import org.osgi.service.cdi.annotations.BeanPropertyType;
 import org.osgi.service.cdi.annotations.Service;
 import org.osgi.service.cdi.annotations.SingleComponent;
 
+@HttpWhiteboardServletName("bar")
+@HttpWhiteboardServletPattern("/bar")
 @Requirement(
 	namespace = CDIConstants.CDI_EXTENSION_PROPERTY,
 	name = "aries.cdi.http"
 )
-@SingleComponent
 @Service(Servlet.class)
-@BarServlet.Props
+@SingleComponent
+@SuppressWarnings("serial")
 public class BarServlet extends HttpServlet {
 
-	@Retention(RUNTIME) @Target(TYPE )
-	@BeanPropertyType
-	public @interface Props {
-		String osgi_http_whiteboard_servlet_name() default "bar";
-		String osgi_http_whiteboard_servlet_pattern() default "/bar";
-
-	}
-
-	private static final long serialVersionUID = 1L;
-
 	@Override
 	protected void service(
 			HttpServletRequest request, HttpServletResponse response)

Modified: aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb6/FooServlet.java
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb6/FooServlet.java?rev=1849578&r1=1849577&r2=1849578&view=diff
==============================================================================
--- aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb6/FooServlet.java (original)
+++ aries/trunk/cdi/cdi-itests/src/main/java/org/apache/aries/cdi/test/tb6/FooServlet.java Sat Dec 22 21:41:01 2018
@@ -14,13 +14,8 @@
 
 package org.apache.aries.cdi.test.tb6;
 
-import static java.lang.annotation.ElementType.*;
-import static java.lang.annotation.RetentionPolicy.*;
-
 import java.io.IOException;
 import java.io.PrintWriter;
-import java.lang.annotation.Retention;
-import java.lang.annotation.Target;
 
 import javax.inject.Inject;
 import javax.servlet.Servlet;
@@ -29,25 +24,18 @@ import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
-import org.osgi.service.cdi.annotations.BeanPropertyType;
+import org.apache.aries.cdi.extra.propertytypes.HttpWhiteboardServletName;
+import org.apache.aries.cdi.extra.propertytypes.HttpWhiteboardServletPattern;
 import org.osgi.service.cdi.annotations.Service;
 import org.osgi.service.cdi.annotations.SingleComponent;
 
+@HttpWhiteboardServletName("foo")
+@HttpWhiteboardServletPattern("/foo")
 @SingleComponent
 @Service(Servlet.class)
-@FooServlet.Props
+@SuppressWarnings("serial")
 public class FooServlet extends HttpServlet {
 
-	@Retention(RUNTIME) @Target(TYPE )
-	@BeanPropertyType
-	public @interface Props {
-		String osgi_http_whiteboard_servlet_name() default "foo";
-		String osgi_http_whiteboard_servlet_pattern() default "/foo";
-
-	}
-
-	private static final long serialVersionUID = 1L;
-
 	@Override
 	protected void service(
 			HttpServletRequest request, HttpServletResponse response)

Modified: aries/trunk/cdi/pom.xml
URL: http://svn.apache.org/viewvc/aries/trunk/cdi/pom.xml?rev=1849578&r1=1849577&r2=1849578&view=diff
==============================================================================
--- aries/trunk/cdi/pom.xml (original)
+++ aries/trunk/cdi/pom.xml Sat Dec 22 21:41:01 2018
@@ -61,6 +61,12 @@
 		<dependencies>
 			<dependency>
 				<groupId>org.apache.felix</groupId>
+				<artifactId>org.apache.felix.converter</artifactId>
+				<version>1.0.2</version>
+				<scope>provided</scope>
+			</dependency>
+			<dependency>
+				<groupId>org.apache.felix</groupId>
 				<artifactId>org.apache.felix.http.servlet-api</artifactId>
 				<version>1.1.2</version>
 			</dependency>
@@ -186,12 +192,6 @@
 				<scope>provided</scope>
 			</dependency>
 			<dependency>
-				<groupId>org.osgi</groupId>
-				<artifactId>org.osgi.util.converter</artifactId>
-				<version>1.0.0</version>
-				<scope>provided</scope>
-			</dependency>
-			<dependency>
 				<groupId>org.osgi</groupId>
 				<artifactId>org.osgi.util.function</artifactId>
 				<version>1.1.0</version>