Author: gnodet
Date: Fri Jun 11 07:20:32 2010
New Revision: 953588

URL: http://svn.apache.org/viewvc?rev=953588&view=rev
Log:
FELIX-2404: Use felix utils instead of various classes from karaf

Removed:
    felix/trunk/karaf/commons/pom.xml
    
felix/trunk/karaf/commons/src/main/java/org/apache/felix/karaf/commons/osgi/VersionRange.java
    
felix/trunk/karaf/features/core/src/main/java/org/apache/felix/karaf/features/internal/HeaderParser.java
Modified:
    felix/trunk/karaf/assembly/src/main/descriptors/unix-bin.xml
    felix/trunk/karaf/assembly/src/main/descriptors/windows-bin.xml
    
felix/trunk/karaf/assembly/src/main/filtered-resources/etc/startup.properties
    felix/trunk/karaf/features/core/pom.xml
    
felix/trunk/karaf/features/core/src/main/java/org/apache/felix/karaf/features/internal/FeaturesServiceImpl.java
    felix/trunk/karaf/pom.xml
    felix/trunk/karaf/shell/dev/pom.xml
    
felix/trunk/karaf/shell/dev/src/main/java/org/apache/felix/karaf/shell/dev/ShowBundleTree.java
    
felix/trunk/karaf/shell/dev/src/main/java/org/apache/felix/karaf/shell/dev/util/Import.java
    
felix/trunk/karaf/shell/dev/src/test/java/org/apache/felix/karaf/shell/dev/util/ImportTest.java

Modified: felix/trunk/karaf/assembly/src/main/descriptors/unix-bin.xml
URL: 
http://svn.apache.org/viewvc/felix/trunk/karaf/assembly/src/main/descriptors/unix-bin.xml?rev=953588&r1=953587&r2=953588&view=diff
==============================================================================
--- felix/trunk/karaf/assembly/src/main/descriptors/unix-bin.xml (original)
+++ felix/trunk/karaf/assembly/src/main/descriptors/unix-bin.xml Fri Jun 11 
07:20:32 2010
@@ -178,15 +178,6 @@
                 <include>org.ops4j.pax.url:pax-url-wrap</include>
             </includes>
         </dependencySet>
-       <dependencySet>
-            <outputDirectory>/system</outputDirectory>
-            <unpack>false</unpack>
-            <useProjectArtifact>false</useProjectArtifact>
-            
<outputFileNameMapping>org/apache/felix/karaf/${artifact.artifactId}/${artifact.baseVersion}/${artifact.artifactId}-${artifact.baseVersion}${dashClassifier?}.${artifact.extension}</outputFileNameMapping>
-            <includes>
-                
<include>org.apache.felix.karaf:org.apache.felix.karaf.commons</include>
-            </includes>
-        </dependencySet>
         <dependencySet>
             <outputDirectory>/system</outputDirectory>
             <unpack>false</unpack>

Modified: felix/trunk/karaf/assembly/src/main/descriptors/windows-bin.xml
URL: 
http://svn.apache.org/viewvc/felix/trunk/karaf/assembly/src/main/descriptors/windows-bin.xml?rev=953588&r1=953587&r2=953588&view=diff
==============================================================================
--- felix/trunk/karaf/assembly/src/main/descriptors/windows-bin.xml (original)
+++ felix/trunk/karaf/assembly/src/main/descriptors/windows-bin.xml Fri Jun 11 
07:20:32 2010
@@ -176,15 +176,6 @@
             <useProjectArtifact>false</useProjectArtifact>
             
<outputFileNameMapping>org/apache/felix/karaf/${artifact.artifactId}/${artifact.baseVersion}/${artifact.artifactId}-${artifact.baseVersion}${dashClassifier?}.${artifact.extension}</outputFileNameMapping>
             <includes>
-                
<include>org.apache.felix.karaf:org.apache.felix.karaf.commons</include>
-            </includes>
-        </dependencySet>
-        <dependencySet>
-            <outputDirectory>/system</outputDirectory>
-            <unpack>false</unpack>
-            <useProjectArtifact>false</useProjectArtifact>
-            
<outputFileNameMapping>org/apache/felix/karaf/${artifact.artifactId}/${artifact.baseVersion}/${artifact.artifactId}-${artifact.baseVersion}${dashClassifier?}.${artifact.extension}</outputFileNameMapping>
-            <includes>
                 
<include>org.apache.felix.karaf:org.apache.felix.karaf.management</include>
             </includes>
         </dependencySet>

Modified: 
felix/trunk/karaf/assembly/src/main/filtered-resources/etc/startup.properties
URL: 
http://svn.apache.org/viewvc/felix/trunk/karaf/assembly/src/main/filtered-resources/etc/startup.properties?rev=953588&r1=953587&r2=953588&view=diff
==============================================================================
--- 
felix/trunk/karaf/assembly/src/main/filtered-resources/etc/startup.properties 
(original)
+++ 
felix/trunk/karaf/assembly/src/main/filtered-resources/etc/startup.properties 
Fri Jun 11 07:20:32 2010
@@ -36,7 +36,6 @@ org/apache/felix/org.apache.felix.filein
 #
 
org/apache/aries/blueprint/org.apache.aries.blueprint/${aries.blueprint.version}/org.apache.aries.blueprint-${aries.blueprint.version}.jar=20
 
-org/apache/felix/karaf/org.apache.felix.karaf.commons/${project.version}/org.apache.felix.karaf.commons-${project.version}.jar=30
 
org/apache/felix/gogo/org.apache.felix.gogo.runtime/${felix.gogo.version}/org.apache.felix.gogo.runtime-${felix.gogo.version}.jar=30
 
org/apache/felix/karaf/shell/org.apache.felix.karaf.shell.console/${project.version}/org.apache.felix.karaf.shell.console-${project.version}.jar=30
 
org/apache/felix/karaf/deployer/org.apache.felix.karaf.deployer.spring/${project.version}/org.apache.felix.karaf.deployer.spring-${project.version}.jar=30

Modified: felix/trunk/karaf/features/core/pom.xml
URL: 
http://svn.apache.org/viewvc/felix/trunk/karaf/features/core/pom.xml?rev=953588&r1=953587&r2=953588&view=diff
==============================================================================
--- felix/trunk/karaf/features/core/pom.xml (original)
+++ felix/trunk/karaf/features/core/pom.xml Fri Jun 11 07:20:32 2010
@@ -51,12 +51,12 @@
 
         <dependency>
             <groupId>org.apache.felix</groupId>
-            <artifactId>org.apache.felix.bundlerepository</artifactId>
+            <artifactId>org.apache.felix.utils</artifactId>
+            <scope>provided</scope>
         </dependency>
-
         <dependency>
-            <groupId>org.apache.felix.karaf</groupId>
-            <artifactId>org.apache.felix.karaf.commons</artifactId>
+            <groupId>org.apache.felix</groupId>
+            <artifactId>org.apache.felix.bundlerepository</artifactId>
         </dependency>
 
         <dependency>
@@ -109,7 +109,11 @@
                             org.apache.felix.karaf.shell.console,
                             *
                         </Import-Package>
-                        
<Private-Package>org.apache.felix.karaf.features.internal</Private-Package>
+                        <Private-Package>
+                            org.apache.felix.karaf.features.internal,
+                            org.apache.felix.utils.version,
+                            org.apache.felix.utils.manifest
+                        </Private-Package>
                         <_versionpolicy>${bnd.version.policy}</_versionpolicy>
                     </instructions>
                 </configuration>

Modified: 
felix/trunk/karaf/features/core/src/main/java/org/apache/felix/karaf/features/internal/FeaturesServiceImpl.java
URL: 
http://svn.apache.org/viewvc/felix/trunk/karaf/features/core/src/main/java/org/apache/felix/karaf/features/internal/FeaturesServiceImpl.java?rev=953588&r1=953587&r2=953588&view=diff
==============================================================================
--- 
felix/trunk/karaf/features/core/src/main/java/org/apache/felix/karaf/features/internal/FeaturesServiceImpl.java
 (original)
+++ 
felix/trunk/karaf/features/core/src/main/java/org/apache/felix/karaf/features/internal/FeaturesServiceImpl.java
 Fri Jun 11 07:20:32 2010
@@ -22,32 +22,22 @@ import java.io.InputStream;
 import java.net.URI;
 import java.net.URISyntaxException;
 import java.net.URL;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Dictionary;
-import java.util.EnumSet;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
+import java.util.*;
 import java.util.concurrent.CopyOnWriteArrayList;
 import java.util.jar.JarInputStream;
 import java.util.jar.Manifest;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
-import org.apache.felix.karaf.commons.osgi.VersionRange;
-import org.apache.felix.karaf.features.FeaturesService;
 import org.apache.felix.karaf.features.Feature;
-import org.apache.felix.karaf.features.Repository;
-import org.apache.felix.karaf.features.FeaturesListener;
 import org.apache.felix.karaf.features.FeatureEvent;
+import org.apache.felix.karaf.features.FeaturesListener;
+import org.apache.felix.karaf.features.FeaturesService;
+import org.apache.felix.karaf.features.Repository;
 import org.apache.felix.karaf.features.RepositoryEvent;
+import org.apache.felix.utils.manifest.Clause;
+import org.apache.felix.utils.manifest.Parser;
+import org.apache.felix.utils.version.VersionRange;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.BundleException;
@@ -56,10 +46,10 @@ import org.osgi.framework.InvalidSyntaxE
 import org.osgi.framework.Version;
 import org.osgi.service.cm.Configuration;
 import org.osgi.service.cm.ConfigurationAdmin;
+import org.osgi.service.packageadmin.PackageAdmin;
 import org.osgi.service.prefs.BackingStoreException;
 import org.osgi.service.prefs.Preferences;
 import org.osgi.service.prefs.PreferencesService;
-import org.osgi.service.packageadmin.PackageAdmin;
 import org.osgi.service.startlevel.StartLevel;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -406,15 +396,15 @@ public class FeaturesServiceImpl impleme
         for (Bundle b : state.installed) {
             String hostHeader = (String) 
b.getHeaders().get(Constants.FRAGMENT_HOST);
             if (hostHeader != null) {
-                List<HeaderParser.PathElement> header = 
HeaderParser.parseHeader(hostHeader);
-                if (header != null && header.size() > 0) {
-                    HeaderParser.PathElement path = header.get(0);
+                Clause[] clauses = Parser.parseHeader(hostHeader);
+                if (clauses != null && clauses.length > 0) {
+                    Clause path = clauses[0];
                     for (Bundle hostBundle : state.bundles) {
                         if 
(hostBundle.getSymbolicName().equals(path.getName())) {
                             String ver = 
path.getAttribute(Constants.BUNDLE_VERSION_ATTRIBUTE);
                             if (ver != null) {
-                                VersionRange v = VersionRange.parse(ver);
-                                if (v.isInRange(hostBundle.getVersion())) {
+                                VersionRange v = 
VersionRange.parseVersionRange(ver);
+                                if (v.contains(hostBundle.getVersion())) {
                                     bundles.add(hostBundle);
                                 }
                             } else {
@@ -436,16 +426,16 @@ public class FeaturesServiceImpl impleme
             return bundles;
         }
         // Second pass: for each bundle, check if there is any unresolved 
optional package that could be resolved
-        Map<Bundle, List<HeaderParser.PathElement>> imports = new 
HashMap<Bundle, List<HeaderParser.PathElement>>();
+        Map<Bundle, List<Clause>> imports = new HashMap<Bundle, 
List<Clause>>();
         for (Iterator<Bundle> it = bundles.iterator(); it.hasNext();) {
             Bundle b = it.next();
             String importsStr = (String) 
b.getHeaders().get(Constants.IMPORT_PACKAGE);
             if (importsStr == null) {
                 it.remove();
             } else {
-                List<HeaderParser.PathElement> importsList = 
HeaderParser.parseHeader(importsStr);
-                for (Iterator<HeaderParser.PathElement> itp = 
importsList.iterator(); itp.hasNext();) {
-                    HeaderParser.PathElement p = itp.next();
+                List<Clause> importsList = 
Arrays.asList(Parser.parseHeader(importsStr));
+                for (Iterator<Clause> itp = importsList.iterator(); 
itp.hasNext();) {
+                    Clause p = itp.next();
                     String resolution = 
p.getDirective(Constants.RESOLUTION_DIRECTIVE);
                     if (!Constants.RESOLUTION_OPTIONAL.equals(resolution)) {
                         itp.remove();
@@ -463,27 +453,27 @@ public class FeaturesServiceImpl impleme
         }
         // Third pass: compute a list of packages that are exported by our 
bundles and see if
         //             some exported packages can be wired to the optional 
imports
-        List<HeaderParser.PathElement> exports = new 
ArrayList<HeaderParser.PathElement>();
+        List<Clause> exports = new ArrayList<Clause>();
         for (Bundle b : state.installed) {
             String exportsStr = (String) 
b.getHeaders().get(Constants.EXPORT_PACKAGE);
             if (exportsStr != null) {
-                List<HeaderParser.PathElement> exportsList = 
HeaderParser.parseHeader(exportsStr);
-                exports.addAll(exportsList);
+                Clause[] exportsList = Parser.parseHeader(exportsStr);
+                exports.addAll(Arrays.asList(exportsList));
             }
         }
         for (Iterator<Bundle> it = bundles.iterator(); it.hasNext();) {
             Bundle b = it.next();
-            List<HeaderParser.PathElement> importsList = imports.get(b);
-            for (Iterator<HeaderParser.PathElement> itpi = 
importsList.iterator(); itpi.hasNext();) {
-                HeaderParser.PathElement pi = itpi.next();
+            List<Clause> importsList = imports.get(b);
+            for (Iterator<Clause> itpi = importsList.iterator(); 
itpi.hasNext();) {
+                Clause pi = itpi.next();
                 boolean matching = false;
-                for (HeaderParser.PathElement pe : exports) {
+                for (Clause pe : exports) {
                     if (pi.getName().equals(pe.getName())) {
                         String evStr = 
pe.getAttribute(Constants.VERSION_ATTRIBUTE);
                         String ivStr = 
pi.getAttribute(Constants.VERSION_ATTRIBUTE);
                         Version exported = evStr != null ? 
Version.parseVersion(evStr) : Version.emptyVersion;
-                        VersionRange imported = ivStr != null ? 
VersionRange.parse(ivStr) : VersionRange.infiniteRange;
-                        if (imported.isInRange(exported)) {
+                        VersionRange imported = ivStr != null ? 
VersionRange.parseVersionRange(ivStr) : VersionRange.ANY_VERSION;
+                        if (imported.contains(exported)) {
                             matching = true;
                             break;
                         }
@@ -497,7 +487,7 @@ public class FeaturesServiceImpl impleme
                 it.remove();
             } else {
                 LOGGER.debug("Refeshing bundle {} ({}) to solve the following 
optional imports", b.getSymbolicName(), b.getBundleId());
-                for (HeaderParser.PathElement p : importsList) {
+                for (Clause p : importsList) {
                     LOGGER.debug("    {}", p);
                 }
 

Modified: felix/trunk/karaf/pom.xml
URL: 
http://svn.apache.org/viewvc/felix/trunk/karaf/pom.xml?rev=953588&r1=953587&r2=953588&view=diff
==============================================================================
--- felix/trunk/karaf/pom.xml (original)
+++ felix/trunk/karaf/pom.xml Fri Jun 11 07:20:32 2010
@@ -36,7 +36,6 @@
 
     <modules>
         <module>main</module>
-        <module>commons</module>
         <module>features</module>
         <module>admin</module>
         <module>deployer</module>
@@ -84,6 +83,7 @@
         <felix.osgi.version>1.4.0</felix.osgi.version>
         <felix.plugin.version>2.1.0</felix.plugin.version>
         <felix.prefs.version>1.0.4</felix.prefs.version>
+        <felix.utils.version>1.0.0</felix.utils.version>
         <felix.webconsole.version>3.0.1-SNAPSHOT</felix.webconsole.version>
         <felix.metatype.version>1.0.2</felix.metatype.version>
         <aries.blueprint.version>0.1-incubating</aries.blueprint.version>
@@ -179,11 +179,6 @@
                 <version>${project.version}</version>
             </dependency>
             <dependency>
-                <groupId>org.apache.felix.karaf</groupId>
-                <artifactId>org.apache.felix.karaf.commons</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-            <dependency>
                 <groupId>org.apache.felix.karaf.deployer</groupId>
                 <artifactId>org.apache.felix.karaf.deployer.spring</artifactId>
                 <version>${project.version}</version>
@@ -398,6 +393,11 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.felix</groupId>
+                <artifactId>org.apache.felix.utils</artifactId>
+                <version>${felix.utils.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.felix</groupId>
                 <artifactId>org.apache.felix.webconsole</artifactId>
                 <version>${felix.webconsole.version}</version>
             </dependency>

Modified: felix/trunk/karaf/shell/dev/pom.xml
URL: 
http://svn.apache.org/viewvc/felix/trunk/karaf/shell/dev/pom.xml?rev=953588&r1=953587&r2=953588&view=diff
==============================================================================
--- felix/trunk/karaf/shell/dev/pom.xml (original)
+++ felix/trunk/karaf/shell/dev/pom.xml Fri Jun 11 07:20:32 2010
@@ -37,11 +37,6 @@
     </dependency>
 
     <dependency>
-        <groupId>org.apache.felix.karaf</groupId>
-        <artifactId>org.apache.felix.karaf.commons</artifactId>
-    </dependency>
-
-    <dependency>
         <groupId>org.ops4j.pax.url</groupId>
         <artifactId>pax-url-wrap</artifactId>
     </dependency>
@@ -56,7 +51,13 @@
         <groupId>org.apache.felix</groupId>
         <artifactId>org.osgi.compendium</artifactId>
         <scope>provided</scope>
-    </dependency>    
+    </dependency>
+
+    <dependency>
+        <groupId>org.apache.felix</groupId>
+        <artifactId>org.apache.felix.utils</artifactId>
+        <scope>provided</scope>
+    </dependency>
   </dependencies>
 
   <build>
@@ -75,7 +76,10 @@
                           org.apache.felix.karaf.shell.console,
                           *
                       </Import-Package>
-                      <Private-Package>!*</Private-Package>
+                      <Private-Package>
+                          org.apache.felix.utils.version,
+                          !*
+                      </Private-Package>
                       <_versionpolicy>${bnd.version.policy}</_versionpolicy>
                   </instructions>
               </configuration>

Modified: 
felix/trunk/karaf/shell/dev/src/main/java/org/apache/felix/karaf/shell/dev/ShowBundleTree.java
URL: 
http://svn.apache.org/viewvc/felix/trunk/karaf/shell/dev/src/main/java/org/apache/felix/karaf/shell/dev/ShowBundleTree.java?rev=953588&r1=953587&r2=953588&view=diff
==============================================================================
--- 
felix/trunk/karaf/shell/dev/src/main/java/org/apache/felix/karaf/shell/dev/ShowBundleTree.java
 (original)
+++ 
felix/trunk/karaf/shell/dev/src/main/java/org/apache/felix/karaf/shell/dev/ShowBundleTree.java
 Fri Jun 11 07:20:32 2010
@@ -148,7 +148,7 @@ public class ShowBundleTree extends Abst
         boolean foundMatch = false;
         if (exporters != null) {
             for (ExportedPackage ep : exporters) {
-                if (i.getVersion().isInRange(ep.getVersion())) {
+                if (i.getVersion().contains(ep.getVersion())) {
                     if (bundle.equals(ep.getExportingBundle())) {
                         foundMatch = true;
                     } else {

Modified: 
felix/trunk/karaf/shell/dev/src/main/java/org/apache/felix/karaf/shell/dev/util/Import.java
URL: 
http://svn.apache.org/viewvc/felix/trunk/karaf/shell/dev/src/main/java/org/apache/felix/karaf/shell/dev/util/Import.java?rev=953588&r1=953587&r2=953588&view=diff
==============================================================================
--- 
felix/trunk/karaf/shell/dev/src/main/java/org/apache/felix/karaf/shell/dev/util/Import.java
 (original)
+++ 
felix/trunk/karaf/shell/dev/src/main/java/org/apache/felix/karaf/shell/dev/util/Import.java
 Fri Jun 11 07:20:32 2010
@@ -19,7 +19,7 @@ package org.apache.felix.karaf.shell.dev
 import java.util.LinkedList;
 import java.util.List;
 
-import org.apache.felix.karaf.commons.osgi.VersionRange;
+import org.apache.felix.utils.version.VersionRange;
 
 /**
  * Simple class to model an OSGi Import-Package
@@ -42,7 +42,7 @@ public class Import {
         if (value.contains("version=")) {
             this.version = extractVersion(value);
         } else {
-            this.version = VersionRange.infiniteRange;
+            this.version = VersionRange.ANY_VERSION;
         }
     }
 
@@ -53,9 +53,9 @@ public class Import {
         int begin = value.indexOf("version=") + 8;
         int end = value.indexOf(";", begin);
         if (end < 0) {
-            return VersionRange.parse(unquote(value.substring(begin)));
+            return 
VersionRange.parseVersionRange(unquote(value.substring(begin)));
         } else {
-            return VersionRange.parse(unquote(value.substring(begin, end)));
+            return 
VersionRange.parseVersionRange(unquote(value.substring(begin, end)));
         }
     }
 

Modified: 
felix/trunk/karaf/shell/dev/src/test/java/org/apache/felix/karaf/shell/dev/util/ImportTest.java
URL: 
http://svn.apache.org/viewvc/felix/trunk/karaf/shell/dev/src/test/java/org/apache/felix/karaf/shell/dev/util/ImportTest.java?rev=953588&r1=953587&r2=953588&view=diff
==============================================================================
--- 
felix/trunk/karaf/shell/dev/src/test/java/org/apache/felix/karaf/shell/dev/util/ImportTest.java
 (original)
+++ 
felix/trunk/karaf/shell/dev/src/test/java/org/apache/felix/karaf/shell/dev/util/ImportTest.java
 Fri Jun 11 07:20:32 2010
@@ -21,7 +21,7 @@ import java.util.List;
 import static junit.framework.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 
-import org.apache.felix.karaf.commons.osgi.VersionRange;
+import org.apache.felix.utils.version.VersionRange;
 import org.junit.Test;
 
 /**
@@ -39,7 +39,7 @@ public class ImportTest {
     public void createWithPackageNameAndVersion() {
         Import i = new Import("org.wip.bar;version=\"2.0.0\"");
         assertEquals("org.wip.bar", i.getPackage());
-        assertEquals(VersionRange.parse("2.0.0"), i.getVersion());
+        assertEquals(VersionRange.parseVersionRange("2.0.0"), i.getVersion());
     }
 
     @Test


Reply via email to