Author: cziegeler
Date: Fri Aug 4 14:20:45 2017
New Revision: 1804127
URL: http://svn.apache.org/viewvc?rev=1804127&view=rev
Log:
Support container descriptor from extension scanner
Modified:
sling/whiteboard/cziegeler/feature-analyser/src/main/java/org/apache/sling/feature/analyser/Scanner.java
Modified:
sling/whiteboard/cziegeler/feature-analyser/src/main/java/org/apache/sling/feature/analyser/Scanner.java
URL:
http://svn.apache.org/viewvc/sling/whiteboard/cziegeler/feature-analyser/src/main/java/org/apache/sling/feature/analyser/Scanner.java?rev=1804127&r1=1804126&r2=1804127&view=diff
==============================================================================
---
sling/whiteboard/cziegeler/feature-analyser/src/main/java/org/apache/sling/feature/analyser/Scanner.java
(original)
+++
sling/whiteboard/cziegeler/feature-analyser/src/main/java/org/apache/sling/feature/analyser/Scanner.java
Fri Aug 4 14:20:45 2017
@@ -16,6 +16,13 @@
*/
package org.apache.sling.feature.analyser;
+import java.io.File;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.ServiceLoader;
+
import org.apache.sling.feature.Application;
import org.apache.sling.feature.Artifact;
import org.apache.sling.feature.Bundles;
@@ -33,13 +40,6 @@ import org.apache.sling.feature.scanner.
import org.apache.sling.feature.support.ArtifactManager;
import org.apache.sling.feature.support.ArtifactManagerConfig;
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.ServiceLoader;
-
/**
* The scanner is a service that scans items and provides descriptions for
these.
* The following items can be scanned individually
@@ -77,9 +77,9 @@ public class Scanner {
final List<FrameworkScanner> frameworkScanners)
throws IOException {
this.artifactManager = ArtifactManager.getArtifactManager(amConfig);
- this.artifactScanners = artifactScanners;
- this.extensionScanners = extensionScanners;
- this.frameworkScanners = frameworkScanners;
+ this.artifactScanners = artifactScanners == null ?
getServices(ArtifactScanner.class) : artifactScanners;
+ this.extensionScanners = extensionScanners == null ?
getServices(ExtensionScanner.class) : extensionScanners;
+ this.frameworkScanners = frameworkScanners == null ?
getServices(FrameworkScanner.class) : frameworkScanners;
}
/**
@@ -90,9 +90,7 @@ public class Scanner {
*/
public Scanner(final ArtifactManagerConfig amConfig)
throws IOException {
- this(amConfig, getServices(ArtifactScanner.class),
- getServices(ExtensionScanner.class),
- getServices(FrameworkScanner.class));
+ this(amConfig, null, null, null);
}
/**
@@ -212,6 +210,12 @@ public class Scanner {
desc.getExportedPackages().addAll(extDesc.getExportedPackages());
desc.getImportedPackages().addAll(extDesc.getImportedPackages());
desc.getDynamicImportedPackages().addAll(extDesc.getDynamicImportedPackages());
+
+ if ( extDesc instanceof ContainerDescriptor ) {
+ final ContainerDescriptor cd = (ContainerDescriptor)extDesc;
+
desc.getArtifactDescriptors().addAll(cd.getArtifactDescriptors());
+ desc.getBundleDescriptors().addAll(cd.getBundleDescriptors());
+ }
}
}