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