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