You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by ds...@apache.org on 2009/07/17 22:30:12 UTC
svn commit: r795214 -
/felix/trunk/sigil/common/core/src/org/apache/felix/sigil/repository/AbstractBundleRepository.java
Author: dsavage
Date: Fri Jul 17 20:30:12 2009
New Revision: 795214
URL: http://svn.apache.org/viewvc?rev=795214&view=rev
Log:
fix for FELIX-1379
Modified:
felix/trunk/sigil/common/core/src/org/apache/felix/sigil/repository/AbstractBundleRepository.java
Modified: felix/trunk/sigil/common/core/src/org/apache/felix/sigil/repository/AbstractBundleRepository.java
URL: http://svn.apache.org/viewvc/felix/trunk/sigil/common/core/src/org/apache/felix/sigil/repository/AbstractBundleRepository.java?rev=795214&r1=795213&r2=795214&view=diff
==============================================================================
--- felix/trunk/sigil/common/core/src/org/apache/felix/sigil/repository/AbstractBundleRepository.java (original)
+++ felix/trunk/sigil/common/core/src/org/apache/felix/sigil/repository/AbstractBundleRepository.java Fri Jul 17 20:30:12 2009
@@ -236,24 +236,30 @@
info.setDescription( attrs.getValue( "Bundle-Description" ) );
info.setVendor( attrs.getValue( "Bundle-Vendor" ) );
- String importStr = attrs.getValue( "Import-Package" );
- if ( importStr != null ) {
- addImports( info, importStr );
+ String str = attrs.getValue( "Import-Package" );
+ if ( str != null ) {
+ addImports( info, str );
}
- String exportStr = attrs.getValue( "Export-Package" );
- if ( exportStr != null ) {
- addExports( info, exportStr );
+
+ str = attrs.getValue( "Export-Package" );
+ if ( str != null ) {
+ addExports( info, str );
}
- String reqStr = attrs.getValue( "Require-Bundle" );
- if ( reqStr != null ) {
- addRequires( info, reqStr );
+ str = attrs.getValue( "Require-Bundle" );
+ if ( str != null ) {
+ addRequires( info, str );
}
- String cpStr = attrs.getValue( "Bundle-Classpath" );
+ str = attrs.getValue( "Bundle-Classpath" );
- if ( cpStr != null ) {
- addClasspath( info, cpStr );
+ if ( str != null ) {
+ addClasspath( info, str );
+ }
+
+ str = attrs.getValue( "Fragment-Host" );
+ if ( str != null ) {
+ addHost(info, str);
}
}
catch (RuntimeException e) {
@@ -377,4 +383,22 @@
info.addRequiredBundle(req);
}
}
-}
+
+ /**
+ * @param info
+ * @param str
+ */
+ private void addHost(IBundleModelElement info, String str) {
+ String[] parts = str.split( ";" );
+ IRequiredBundle req = ModelElementFactory.getInstance().newModelElement(IRequiredBundle.class);
+ req.setSymbolicName( parts[0].trim() );
+
+ if ( parts.length > 1 ) {
+ String part = parts[1].toLowerCase().trim();
+ if ( part.startsWith( "bundle-version=" ) ) {
+ req.setVersions( VersionRange.parseVersionRange(part.substring("bundle-version=".length())));
+ }
+ }
+ info.setFragmentHost(req);
+ }
+}
\ No newline at end of file