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 ) {


Reply via email to