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