You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by cz...@apache.org on 2017/03/15 10:32:25 UTC

svn commit: r1787016 - in /felix/trunk/osgi-r7/scr/src: main/java/org/apache/felix/scr/impl/inject/Annotations.java test/java/org/apache/felix/scr/impl/inject/AnnotationTest.java

Author: cziegeler
Date: Wed Mar 15 10:32:24 2017
New Revision: 1787016

URL: http://svn.apache.org/viewvc?rev=1787016&view=rev
Log:
FELIX-5354 : Implement Declarative Service Updates for R7 (RFC 222). Add new mapping rule for 20$ to hyphen

Modified:
    felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/Annotations.java
    felix/trunk/osgi-r7/scr/src/test/java/org/apache/felix/scr/impl/inject/AnnotationTest.java

Modified: felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/Annotations.java
URL: http://svn.apache.org/viewvc/felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/Annotations.java?rev=1787016&r1=1787015&r2=1787016&view=diff
==============================================================================
--- felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/Annotations.java (original)
+++ felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/Annotations.java Wed Mar 15 10:32:24 2017
@@ -209,7 +209,7 @@ public class Annotations
 
     }
 
-    private static final Pattern p = Pattern.compile("(\\$\\$)|(\\$)|(__)|(_)");
+    private static final Pattern p = Pattern.compile("(\\$_\\$)|(\\$\\$)|(\\$)|(__)|(_)");
 
     static String fixup(String name)
     {
@@ -217,11 +217,12 @@ public class Annotations
         StringBuffer b = new StringBuffer();
         while (m.find())
         {
-            String replacement = "";//null;
-            if (m.group(1) != null) replacement = "\\$";
-            if (m.group(2) != null) replacement = "";
-            if (m.group(3) != null) replacement = "_";
-            if (m.group(4) != null) replacement = ".";
+            String replacement = "";
+            if (m.group(1) != null) replacement = "-";
+            if (m.group(2) != null) replacement = "\\$";
+            if (m.group(3) != null) replacement = "";
+            if (m.group(4) != null) replacement = "_";
+            if (m.group(5) != null) replacement = ".";
 
             m.appendReplacement(b, replacement);
         }
@@ -238,6 +239,7 @@ public class Annotations
             this.values = values;
         }
 
+        @Override
         public Object invoke(Object proxy, Method method, Object[] args) throws Throwable
         {
             Object value = values.get(method.getName());

Modified: felix/trunk/osgi-r7/scr/src/test/java/org/apache/felix/scr/impl/inject/AnnotationTest.java
URL: http://svn.apache.org/viewvc/felix/trunk/osgi-r7/scr/src/test/java/org/apache/felix/scr/impl/inject/AnnotationTest.java?rev=1787016&r1=1787015&r2=1787016&view=diff
==============================================================================
--- felix/trunk/osgi-r7/scr/src/test/java/org/apache/felix/scr/impl/inject/AnnotationTest.java (original)
+++ felix/trunk/osgi-r7/scr/src/test/java/org/apache/felix/scr/impl/inject/AnnotationTest.java Wed Mar 15 10:32:24 2017
@@ -49,7 +49,9 @@ public class AnnotationTest extends Test
         assertEquals("foo_bar", Annotations.fixup("foo__bar"));
         assertEquals("foo$", Annotations.fixup("foo$$$"));
         assertEquals("foo_.", Annotations.fixup("foo___"));
-        assertEquals("foo..bar", Annotations.fixup("foo$_$_bar"));
+        assertEquals("foo-.bar", Annotations.fixup("foo$_$_bar"));
+        assertEquals("six-prop", Annotations.fixup("six$_$prop"));
+        assertEquals("seven$.prop", Annotations.fixup("seven$$_$prop"));
     }
 
     public enum E1 {a, b, c}
@@ -67,6 +69,7 @@ public class AnnotationTest extends Test
         String string();
     }
 
+    @SuppressWarnings({ "unchecked", "rawtypes" })
     private Bundle mockBundle() throws ClassNotFoundException
     {
         Bundle b = Mockito.mock(Bundle.class);
@@ -290,7 +293,7 @@ public class AnnotationTest extends Test
 
     private Map<String, Object> arrayValues()
     {
-        Map<String, Object> values = new HashMap();
+        Map<String, Object> values = new HashMap<String, Object>();
         values.put("bool", new boolean[] {true, false});
         values.put("byt", new byte[] {12, 3});
         values.put("cha", new char[] {'c', 'h', 'a', 'r'});
@@ -326,7 +329,7 @@ public class AnnotationTest extends Test
 
     private List<?> toList(Object value)
     {
-        List result = new ArrayList();
+        List<Object> result = new ArrayList<Object>();
         for (int i = 0; i < Array.getLength(value); i++)
         {
             result.add(Array.get(value, i));