Author: cziegeler
Date: Thu Jul 6 14:54:28 2017
New Revision: 1801067
URL: http://svn.apache.org/viewvc?rev=1801067&view=rev
Log:
Update scanner framework to scan features and applications
Modified:
sling/whiteboard/cziegeler/feature-analyser/src/main/java/org/apache/sling/feature/scanner/ApplicationDescriptor.java
sling/whiteboard/cziegeler/feature-analyser/src/main/java/org/apache/sling/feature/scanner/ArtifactDescriptor.java
sling/whiteboard/cziegeler/feature-analyser/src/main/java/org/apache/sling/feature/scanner/Descriptor.java
sling/whiteboard/cziegeler/feature-analyser/src/main/java/org/apache/sling/feature/scanner/FeatureDescriptor.java
sling/whiteboard/cziegeler/feature-analyser/src/main/java/org/apache/sling/feature/scanner/Scanner.java
Modified:
sling/whiteboard/cziegeler/feature-analyser/src/main/java/org/apache/sling/feature/scanner/ApplicationDescriptor.java
URL:
http://svn.apache.org/viewvc/sling/whiteboard/cziegeler/feature-analyser/src/main/java/org/apache/sling/feature/scanner/ApplicationDescriptor.java?rev=1801067&r1=1801066&r2=1801067&view=diff
==============================================================================
---
sling/whiteboard/cziegeler/feature-analyser/src/main/java/org/apache/sling/feature/scanner/ApplicationDescriptor.java
(original)
+++
sling/whiteboard/cziegeler/feature-analyser/src/main/java/org/apache/sling/feature/scanner/ApplicationDescriptor.java
Thu Jul 6 14:54:28 2017
@@ -22,7 +22,7 @@ package org.apache.sling.feature.scanner
*/
public class ApplicationDescriptor extends FeatureDescriptor {
- private Descriptor frameworkDescriptor = new Descriptor();
+ private Descriptor frameworkDescriptor = new Descriptor() {};
public Descriptor getFrameworkDescriptor() {
return frameworkDescriptor;
Modified:
sling/whiteboard/cziegeler/feature-analyser/src/main/java/org/apache/sling/feature/scanner/ArtifactDescriptor.java
URL:
http://svn.apache.org/viewvc/sling/whiteboard/cziegeler/feature-analyser/src/main/java/org/apache/sling/feature/scanner/ArtifactDescriptor.java?rev=1801067&r1=1801066&r2=1801067&view=diff
==============================================================================
---
sling/whiteboard/cziegeler/feature-analyser/src/main/java/org/apache/sling/feature/scanner/ArtifactDescriptor.java
(original)
+++
sling/whiteboard/cziegeler/feature-analyser/src/main/java/org/apache/sling/feature/scanner/ArtifactDescriptor.java
Thu Jul 6 14:54:28 2017
@@ -25,9 +25,9 @@ import org.apache.sling.feature.Artifact
/**
* Information about an artifact
*/
-public class ArtifactDescriptor extends Descriptor {
+public class ArtifactDescriptor implements Descriptor {
- /** The physical file for analysing. */
+ /** The physical file for analyzing. */
private final File artifactFile;
/** The corresponding artifact from the feature. */
Modified:
sling/whiteboard/cziegeler/feature-analyser/src/main/java/org/apache/sling/feature/scanner/Descriptor.java
URL:
http://svn.apache.org/viewvc/sling/whiteboard/cziegeler/feature-analyser/src/main/java/org/apache/sling/feature/scanner/Descriptor.java?rev=1801067&r1=1801066&r2=1801067&view=diff
==============================================================================
---
sling/whiteboard/cziegeler/feature-analyser/src/main/java/org/apache/sling/feature/scanner/Descriptor.java
(original)
+++
sling/whiteboard/cziegeler/feature-analyser/src/main/java/org/apache/sling/feature/scanner/Descriptor.java
Thu Jul 6 14:54:28 2017
@@ -25,17 +25,17 @@ import org.apache.sling.feature.Requirem
/**
* A descriptor holds information about requirements and capabilities
*/
-public class Descriptor {
+public interface Descriptor {
- public Set<PackageInfo> getExportedPackages() {
+ default Set<PackageInfo> getExportedPackages() {
return Collections.emptySet();
}
- public Set<PackageInfo> getImportedPackages() {
+ default Set<PackageInfo> getImportedPackages() {
return Collections.emptySet();
}
- public Set<PackageInfo> getDynamicImportedPackages() {
+ default Set<PackageInfo> getDynamicImportedPackages() {
return Collections.emptySet();
}
@@ -43,7 +43,7 @@ public class Descriptor {
* Return the list of requirements.
* @return The list of requirements. The list might be empty.
*/
- public Set<Requirement> getRequirements() {
+ default Set<Requirement> getRequirements() {
return Collections.emptySet();
}
@@ -51,7 +51,7 @@ public class Descriptor {
* Return the list of capabilities.
* @return The list of capabilities. The list might be empty.
*/
- public Set<Capability> getCapabilities() {
+ default Set<Capability> getCapabilities() {
return Collections.emptySet();
}
}
\ No newline at end of file
Modified:
sling/whiteboard/cziegeler/feature-analyser/src/main/java/org/apache/sling/feature/scanner/FeatureDescriptor.java
URL:
http://svn.apache.org/viewvc/sling/whiteboard/cziegeler/feature-analyser/src/main/java/org/apache/sling/feature/scanner/FeatureDescriptor.java?rev=1801067&r1=1801066&r2=1801067&view=diff
==============================================================================
---
sling/whiteboard/cziegeler/feature-analyser/src/main/java/org/apache/sling/feature/scanner/FeatureDescriptor.java
(original)
+++
sling/whiteboard/cziegeler/feature-analyser/src/main/java/org/apache/sling/feature/scanner/FeatureDescriptor.java
Thu Jul 6 14:54:28 2017
@@ -26,7 +26,7 @@ import org.apache.sling.feature.Requirem
* Information about a feature.
* This is the aggregated information.
*/
-public class FeatureDescriptor extends Descriptor {
+public class FeatureDescriptor implements Descriptor {
private final Set<Requirement> requirements = new HashSet<>();
@@ -42,6 +42,7 @@ public class FeatureDescriptor extends D
private final Set<ArtifactDescriptor> artifacts = new HashSet<>();
+ @Override
public Set<PackageInfo> getExportedPackages() {
return this.exports;
}
Modified:
sling/whiteboard/cziegeler/feature-analyser/src/main/java/org/apache/sling/feature/scanner/Scanner.java
URL:
http://svn.apache.org/viewvc/sling/whiteboard/cziegeler/feature-analyser/src/main/java/org/apache/sling/feature/scanner/Scanner.java?rev=1801067&r1=1801066&r2=1801067&view=diff
==============================================================================
---
sling/whiteboard/cziegeler/feature-analyser/src/main/java/org/apache/sling/feature/scanner/Scanner.java
(original)
+++
sling/whiteboard/cziegeler/feature-analyser/src/main/java/org/apache/sling/feature/scanner/Scanner.java
Thu Jul 6 14:54:28 2017
@@ -168,9 +168,6 @@ public class Scanner {
desc.getDynamicImportedPackages().addAll(bundleDesc.getDynamicImportedPackages());
}
}
-
- // TBD remove all import packages / dynamic import packages which are
resolved by this bundle set
- // same with requirements
}
private void scan(final Extensions extensions, final FeatureDescriptor
desc)
@@ -209,10 +206,13 @@ public class Scanner {
desc.getImportedPackages().addAll(extDesc.getImportedPackages());
desc.getDynamicImportedPackages().addAll(extDesc.getDynamicImportedPackages());
}
+ }
+
+ private void compact(final FeatureDescriptor desc) {
// TBD remove all import packages / dynamic import packages which are
resolved by this bundle set
// same with requirements
- }
+ }
/**
* Scan a feature
*
@@ -224,8 +224,10 @@ public class Scanner {
final FeatureDescriptor desc = new FeatureDescriptor();
getBundleInfos(feature.getBundles(), desc);
-
scan(feature.getExtensions(), desc);
+
+ compact(desc);
+
return desc;
}
@@ -242,6 +244,8 @@ public class Scanner {
getBundleInfos(app.getBundles(), desc);
scan(app.getExtensions(), desc);
+ compact(desc);
+
// framework
final File file =
artifactManager.getArtifactHandler(app.getFramework().toMvnUrl()).getFile();
if ( file == null ) {