You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ju...@apache.org on 2017/05/01 16:56:26 UTC

svn commit: r1793373 - in /sling/trunk/bundles/extensions/adapter/src/main/java/org/apache/sling/adapter/internal: AdapterManagerImpl.java AdapterWebConsolePlugin.java

Author: justin
Date: Mon May  1 16:56:25 2017
New Revision: 1793373

URL: http://svn.apache.org/viewvc?rev=1793373&view=rev
Log:
SLING-6815 - allow suppression of private package warning in adapter registration and web console plugin

Modified:
    sling/trunk/bundles/extensions/adapter/src/main/java/org/apache/sling/adapter/internal/AdapterManagerImpl.java
    sling/trunk/bundles/extensions/adapter/src/main/java/org/apache/sling/adapter/internal/AdapterWebConsolePlugin.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=1793373&r1=1793372&r2=1793373&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 Mon May  1 16:56:25 2017
@@ -67,6 +67,8 @@ public class AdapterManagerImpl implemen
 
     private final Logger log = LoggerFactory.getLogger(getClass());
 
+    static final String ALLOWED_IN_PRIVATE = "adapter.allowed.in.private.package";
+
     /**
      * The OSGi <code>ComponentContext</code> to retrieve
      * {@link AdapterFactory} service instances.
@@ -244,6 +246,7 @@ public class AdapterManagerImpl implemen
             final ServiceReference<AdapterFactory> reference) {
         final String[] adaptables = PropertiesUtil.toStringArray(reference.getProperty(ADAPTABLE_CLASSES));
         final String[] adapters = PropertiesUtil.toStringArray(reference.getProperty(ADAPTER_CLASSES));
+        final boolean allowedInPrivatePackage = PropertiesUtil.toBoolean(reference.getProperty(ALLOWED_IN_PRIVATE), false);
 
         if (adaptables == null || adaptables.length == 0 || adapters == null
                 || adapters.length == 0) {
@@ -251,13 +254,13 @@ public class AdapterManagerImpl implemen
         }
 
         for (String clazz : adaptables) {
-            if (!checkPackage(packageAdmin, clazz)) {
+            if (!allowedInPrivatePackage && !checkPackage(packageAdmin, clazz)) {
                 log.warn("Adaptable class {} in factory service {} is not in an exported package.", clazz, reference.getProperty(Constants.SERVICE_ID));
             }
         }
 
         for (String clazz : adapters) {
-            if (!checkPackage(packageAdmin, clazz)) {
+            if (!allowedInPrivatePackage && !checkPackage(packageAdmin, clazz)) {
                 log.warn("Adapter class {} in factory service {} is not in an exported package.", clazz, reference.getProperty(Constants.SERVICE_ID));
             }
         }

Modified: sling/trunk/bundles/extensions/adapter/src/main/java/org/apache/sling/adapter/internal/AdapterWebConsolePlugin.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/adapter/src/main/java/org/apache/sling/adapter/internal/AdapterWebConsolePlugin.java?rev=1793373&r1=1793372&r2=1793373&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/adapter/src/main/java/org/apache/sling/adapter/internal/AdapterWebConsolePlugin.java (original)
+++ sling/trunk/bundles/extensions/adapter/src/main/java/org/apache/sling/adapter/internal/AdapterWebConsolePlugin.java Mon May  1 16:56:25 2017
@@ -114,6 +114,7 @@ public class AdapterWebConsolePlugin ext
         final boolean deprecated = PropertiesUtil.toBoolean(reference.getProperty(ADAPTER_DEPRECATED), false);
         final String[] adaptables = PropertiesUtil.toStringArray(reference.getProperty(ADAPTABLE_CLASSES));
         final List<AdaptableDescription> descriptions = new ArrayList<>(adaptables.length);
+        final boolean allowedInPrivatePackage = PropertiesUtil.toBoolean(reference.getProperty(AdapterManagerImpl.ALLOWED_IN_PRIVATE), false);
         for (final String adaptable : adaptables) {
             descriptions.add(new AdaptableDescription(reference.getBundle(), adaptable, adapters, condition, deprecated));
         }