Author: bdelacretaz
Date: Wed Dec 17 13:51:51 2014
New Revision: 1646239

URL: http://svn.apache.org/r1646239
Log:
SLING-4255 - add test that exposes the problem

Added:
    
sling/trunk/bundles/extensions/adapter/src/test/java/org/apache/sling/adapter/internal/PackageNameTest.java
Modified:
    
sling/trunk/bundles/extensions/adapter/src/main/java/org/apache/sling/adapter/internal/AdapterManagerImpl.java

Modified: 
sling/trunk/bundles/extensions/adapter/src/main/java/org/apache/sling/adapter/internal/AdapterManagerImpl.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/adapter/src/main/java/org/apache/sling/adapter/internal/AdapterManagerImpl.java?rev=1646239&r1=1646238&r2=1646239&view=diff
==============================================================================
--- 
sling/trunk/bundles/extensions/adapter/src/main/java/org/apache/sling/adapter/internal/AdapterManagerImpl.java
 (original)
+++ 
sling/trunk/bundles/extensions/adapter/src/main/java/org/apache/sling/adapter/internal/AdapterManagerImpl.java
 Wed Dec 17 13:51:51 2014
@@ -307,6 +307,10 @@ public class AdapterManagerImpl implemen
                     props));
         }
     }
+    
+    static String getPackageName(String clazz) {
+        return clazz.substring(0, clazz.lastIndexOf('.'));
+    }
 
     /**
      * Check that the package containing the class is exported or is a java.*
@@ -317,7 +321,7 @@ public class AdapterManagerImpl implemen
      * @return true if the package is exported
      */
     static boolean checkPackage(PackageAdmin packageAdmin, String clazz) {
-        String packageName = clazz.substring(0, clazz.lastIndexOf('.'));
+        final String packageName = getPackageName(clazz); 
         if (packageName.startsWith("java.")) {
             return true;
         }

Added: 
sling/trunk/bundles/extensions/adapter/src/test/java/org/apache/sling/adapter/internal/PackageNameTest.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/adapter/src/test/java/org/apache/sling/adapter/internal/PackageNameTest.java?rev=1646239&view=auto
==============================================================================
--- 
sling/trunk/bundles/extensions/adapter/src/test/java/org/apache/sling/adapter/internal/PackageNameTest.java
 (added)
+++ 
sling/trunk/bundles/extensions/adapter/src/test/java/org/apache/sling/adapter/internal/PackageNameTest.java
 Wed Dec 17 13:51:51 2014
@@ -0,0 +1,55 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.sling.adapter.internal;
+
+import static org.junit.Assert.assertEquals;
+
+import java.util.Arrays;
+import java.util.Collection;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameters;
+
+@RunWith(Parameterized.class)
+public class PackageNameTest {
+    
+    @Parameters
+    public static Collection<Object[]> data() {
+        return Arrays.asList(new Object[][] {   
+                { "java.lang.Foo", "java.lang" },
+                //{ "noPackageName", "" },
+                //{ "", "" }
+        });
+    }
+    
+    private final String className;
+    private final String packageName;
+    
+    public PackageNameTest(String className, String packageName) {
+        this.className = className;
+        this.packageName = packageName;
+    }
+    
+    @Test
+    public void testPackageName() {
+        assertEquals(packageName, 
AdapterManagerImpl.getPackageName(className));
+    }
+}


Reply via email to