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));
+ }
+}