[jboss-osgi-commits] JBoss-OSGI SVN: r96183 - in projects/jboss-osgi/trunk/reactor/framework/src: main/java/org/jboss/osgi/framework/classloading and 9 other directories.
jboss-osgi-commits at lists.jboss.org
jboss-osgi-commits at lists.jboss.org
Mon Nov 9 12:30:34 EST 2009
Author: adrian at jboss.org
Date: 2009-11-09 12:30:32 -0500 (Mon, 09 Nov 2009)
New Revision: 96183
Modified:
projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/bundle/OSGiBundleManager.java
projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/classloading/OSGiBundleCapability.java
projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/classloading/OSGiBundleRequirement.java
projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/classloading/OSGiPackageCapability.java
projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/classloading/OSGiPackageRequirement.java
projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/metadata/ParameterizedAttribute.java
projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/metadata/internal/AbstractOSGiMetaData.java
projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/metadata/internal/AbstractPackageAttribute.java
projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/metadata/internal/AbstractParameterizedAttribute.java
projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/metadata/internal/ManifestParser.java
projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/resolver/ExportPackage.java
projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/resolver/ImportPackage.java
projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/resolver/NamedPackage.java
projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/resolver/Resolvable.java
projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/resolver/Resolver.java
projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/resolver/internal/ExportPackageImpl.java
projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/resolver/internal/basic/BasicResolverImpl.java
projects/jboss-osgi/trunk/reactor/framework/src/test/java/org/jboss/test/osgi/bundle/metadata/HeaderValuesTestCase.java
projects/jboss-osgi/trunk/reactor/framework/src/test/java/org/jboss/test/osgi/resolver/ImportDirectiveResolutionTest.java
projects/jboss-osgi/trunk/reactor/framework/src/test/resources/bundles/singleton/singleton1/META-INF/MANIFEST.MF
projects/jboss-osgi/trunk/reactor/framework/src/test/resources/bundles/singleton/singleton2/META-INF/MANIFEST.MF
Log:
[JBOSGI-200] - Split parameters into attributes and directives - also completed validation of bundles at install
Modified: projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/bundle/OSGiBundleManager.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/bundle/OSGiBundleManager.java 2009-11-09 17:28:33 UTC (rev 96182)
+++ projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/bundle/OSGiBundleManager.java 2009-11-09 17:30:32 UTC (rev 96183)
@@ -36,6 +36,7 @@
import java.util.Collections;
import java.util.Comparator;
import java.util.Dictionary;
+import java.util.HashSet;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Locale;
@@ -64,6 +65,7 @@
import org.jboss.kernel.Kernel;
import org.jboss.logging.Logger;
import org.jboss.osgi.framework.metadata.OSGiMetaData;
+import org.jboss.osgi.framework.metadata.PackageAttribute;
import org.jboss.osgi.framework.metadata.internal.AbstractOSGiMetaData;
import org.jboss.osgi.framework.plugins.AutoInstallPlugin;
import org.jboss.osgi.framework.plugins.ResolverPlugin;
@@ -612,18 +614,7 @@
if (bundleState == null)
throw new IllegalArgumentException("Null bundle state");
- // todo more validation
- OSGiMetaData metaData = bundleState.getOSGiMetaData();
- if (metaData.isSingleton())
- {
- String symbolicName = metaData.getBundleSymbolicName();
- for (AbstractBundleState bundle : getBundles())
- {
- OSGiMetaData other = bundle.getOSGiMetaData();
- if (other.isSingleton() && symbolicName.equals(other.getBundleSymbolicName()))
- throw new IllegalStateException("Cannot install singleton " + bundleState + " another singleton is already installed: " + bundle);
- }
- }
+ validateBundle(bundleState);
bundleState.setBundleManager(this);
bundles.add(bundleState);
@@ -642,6 +633,69 @@
}
/**
+ * Validate the bundle
+ *
+ * @param bundleState the bundle state
+ */
+ private void validateBundle(AbstractBundleState bundleState)
+ {
+
+ OSGiMetaData metaData = bundleState.getOSGiMetaData();
+
+ String symbolicName = metaData.getBundleSymbolicName();
+ if (symbolicName == null)
+ throw new IllegalStateException("No bundle symbolic name " + bundleState);
+
+ int manifestVersion = metaData.getBundleManifestVersion();
+ if (manifestVersion > 2)
+ throw new IllegalStateException("Unsupported manifest version " + manifestVersion + " for " + bundleState);
+
+ for (AbstractBundleState bundle : getBundles())
+ {
+ OSGiMetaData other = bundle.getOSGiMetaData();
+ if (symbolicName.equals(other.getBundleSymbolicName()))
+ {
+ if (other.isSingleton() && metaData.isSingleton())
+ throw new IllegalStateException("Cannot install singleton " + bundleState + " another singleton is already installed: " + bundle.getLocation());
+ if (other.getBundleVersion().equals(metaData.getBundleVersion()))
+ throw new IllegalStateException("Cannot install " + bundleState + " a bundle with that name and version is already installed: " + bundle.getLocation());
+ }
+ }
+
+ List<PackageAttribute> importPackages = metaData.getImportPackages();
+ if (importPackages != null && importPackages.isEmpty() == false)
+ {
+ Set<String> packages = new HashSet<String>();
+ for (PackageAttribute packageAttribute : importPackages)
+ {
+ String packageName = packageAttribute.getAttribute();
+ if (packages.contains(packageName))
+ throw new IllegalStateException("Duplicate import of package " + packageName + " for " + bundleState);
+ packages.add(packageName);
+
+ if (packageName.startsWith("java."))
+ throw new IllegalStateException("Not allowed to import java.* for " + bundleState);
+
+ String version = packageAttribute.getAttributeValue(Constants.VERSION_ATTRIBUTE, String.class);
+ String specificationVersion = packageAttribute.getAttributeValue(Constants.PACKAGE_SPECIFICATION_VERSION, String.class);
+ if (version != null && specificationVersion != null && version.equals(specificationVersion) == false)
+ throw new IllegalStateException(packageName + " version and specification version should be the same for " + bundleState);
+ }
+ }
+
+ List<PackageAttribute> exportPackages = metaData.getExportPackages();
+ if (exportPackages != null && exportPackages.isEmpty() == false)
+ {
+ for (PackageAttribute packageAttribute : exportPackages)
+ {
+ String packageName = packageAttribute.getAttribute();
+ if (packageName.startsWith("java."))
+ throw new IllegalStateException("Not allowed to export java.* for " + bundleState);
+ }
+ }
+ }
+
+ /**
* Remove a bundle
*
* @param bundleState the bundle state
Modified: projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/classloading/OSGiBundleCapability.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/classloading/OSGiBundleCapability.java 2009-11-09 17:28:33 UTC (rev 96182)
+++ projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/classloading/OSGiBundleCapability.java 2009-11-09 17:30:32 UTC (rev 96183)
@@ -108,22 +108,19 @@
ParameterizedAttribute otherParameters = bundleRequirement.getRequireBundle();
if (otherParameters != null)
{
- Map<String, Parameter> params = otherParameters.getParameters();
+ Map<String, Parameter> params = otherParameters.getAttributes();
if (params != null && params.isEmpty() == false)
{
for (String name : params.keySet())
{
- // todo we shouldn't mix attributes and directives in the metadata
- if (Constants.VISIBILITY_DIRECTIVE.equals(name) == false
- && Constants.RESOLUTION_DIRECTIVE.equals(name) == false
- && Constants.BUNDLE_VERSION_ATTRIBUTE.equals(name) == false)
+ if (Constants.BUNDLE_VERSION_ATTRIBUTE.equals(name) == false)
{
if (ourParameters == null)
return false;
- String ourValue = ourParameters.getParameterValue(name, String.class);
+ String ourValue = ourParameters.getAttributeValue(name, String.class);
if (ourValue == null)
return false;
- if (ourValue.equals(otherParameters.getParameterValue(name, String.class)) == false)
+ if (ourValue.equals(otherParameters.getAttributeValue(name, String.class)) == false)
return false;
}
}
@@ -152,9 +149,9 @@
ParameterizedAttribute parameters = metadata.getBundleParameters();
if (parameters != null)
{
- Map<String, Parameter> params = parameters.getParameters();
+ Map<String, Parameter> params = parameters.getAttributes();
if (params != null && params.isEmpty() == false)
- buffer.append(" parameters=").append(params);
+ buffer.append(" attributes=").append(params);
}
}
}
Modified: projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/classloading/OSGiBundleRequirement.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/classloading/OSGiBundleRequirement.java 2009-11-09 17:28:33 UTC (rev 96182)
+++ projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/classloading/OSGiBundleRequirement.java 2009-11-09 17:30:32 UTC (rev 96183)
@@ -61,7 +61,7 @@
String name = requireBundle.getAttribute();
AbstractVersionRange range = null;
- String version = requireBundle.getParameterValue(Constants.BUNDLE_VERSION_ATTRIBUTE, String.class);
+ String version = requireBundle.getAttributeValue(Constants.BUNDLE_VERSION_ATTRIBUTE, String.class);
if (version != null)
range = (AbstractVersionRange) AbstractVersionRange.valueOf(version);
@@ -83,11 +83,11 @@
throw new IllegalArgumentException("Null requireBundle");
this.requireBundle = requireBundle;
- String visibility = requireBundle.getParameterValue(Constants.VISIBILITY_DIRECTIVE, String.class);
+ String visibility = requireBundle.getDirectiveValue(Constants.VISIBILITY_DIRECTIVE, String.class);
if (Constants.VISIBILITY_REEXPORT.equals(visibility))
setReExport(true);
- String resolution = requireBundle.getParameterValue(Constants.RESOLUTION_DIRECTIVE, String.class);
+ String resolution = requireBundle.getDirectiveValue(Constants.RESOLUTION_DIRECTIVE, String.class);
if (Constants.RESOLUTION_OPTIONAL.equals(resolution))
setOptional(true);
}
@@ -119,8 +119,8 @@
protected void toString(StringBuffer buffer)
{
super.toString(buffer);
- Map<String, Parameter> parameters = requireBundle.getParameters();
+ Map<String, Parameter> parameters = requireBundle.getAttributes();
if (parameters != null && parameters.isEmpty() == false)
- buffer.append(" parameters=").append(parameters);
+ buffer.append(" attributes=").append(parameters);
}
}
Modified: projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/classloading/OSGiPackageCapability.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/classloading/OSGiPackageCapability.java 2009-11-09 17:28:33 UTC (rev 96182)
+++ projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/classloading/OSGiPackageCapability.java 2009-11-09 17:30:32 UTC (rev 96183)
@@ -82,9 +82,9 @@
throw new IllegalArgumentException("Null bundle");
String name = exportPackage.getAttribute();
- String versionString = exportPackage.getParameterValue(Constants.VERSION_ATTRIBUTE, String.class);
+ String versionString = exportPackage.getAttributeValue(Constants.VERSION_ATTRIBUTE, String.class);
- String oldVersionString = exportPackage.getParameterValue(Constants.PACKAGE_SPECIFICATION_VERSION, String.class);
+ String oldVersionString = exportPackage.getAttributeValue(Constants.PACKAGE_SPECIFICATION_VERSION, String.class);
if (oldVersionString != null)
{
if (versionString != null && versionString.equals(oldVersionString) == false)
@@ -116,7 +116,7 @@
this.bundleState = bundleState;
this.exportPackage = exportPackage;
- String mandatory = exportPackage.getParameterValue(Constants.MANDATORY_DIRECTIVE, String.class);
+ String mandatory = exportPackage.getAttributeValue(Constants.MANDATORY_DIRECTIVE, String.class);
if (mandatory != null)
{
StringTokenizer tokens = new StringTokenizer(mandatory, ",");
@@ -126,9 +126,9 @@
mandatoryAttributes[i++] = tokens.nextToken();
}
- if (exportPackage.getParameter(Constants.BUNDLE_SYMBOLICNAME_ATTRIBUTE) != null)
+ if (exportPackage.getAttribute(Constants.BUNDLE_SYMBOLICNAME_ATTRIBUTE) != null)
throw new IllegalStateException("You cannot specify " + Constants.BUNDLE_SYMBOLICNAME_ATTRIBUTE + " on an Export-Package");
- if (exportPackage.getParameter(Constants.BUNDLE_VERSION_ATTRIBUTE) != null)
+ if (exportPackage.getAttribute(Constants.BUNDLE_VERSION_ATTRIBUTE) != null)
throw new IllegalStateException("You cannot specify " + Constants.BUNDLE_VERSION_ATTRIBUTE + " on an Export-Package");
}
@@ -209,7 +209,7 @@
{
for (String mand : mandatoryAttributes)
{
- if (reqParameters.getParameter(mand) == null)
+ if (reqParameters.getAttribute(mand) == null)
{
validMatch = false;
break;
@@ -220,15 +220,14 @@
if (validMatch == true && reqParameters != null)
{
- Map<String, Parameter> params = reqParameters.getParameters();
+ Map<String, Parameter> params = reqParameters.getAttributes();
if (params != null && params.isEmpty() == false)
{
for (String name : params.keySet())
{
- String otherValue = reqParameters.getParameterValue(name, String.class);
- String ourValue = capParameters.getParameterValue(name, String.class);
+ String otherValue = reqParameters.getAttributeValue(name, String.class);
+ String ourValue = capParameters.getAttributeValue(name, String.class);
- // todo we shouldn't mix attributes and directives in the metadata
if (Constants.BUNDLE_SYMBOLICNAME_ATTRIBUTE.equals(name))
{
if (otherValue.equals(metaData.getBundleSymbolicName()) == false)
@@ -240,7 +239,7 @@
if (range.isInRange(metaData.getBundleVersion()) == false)
validMatch = false;
}
- else if (Constants.RESOLUTION_DIRECTIVE.equals(name) == false && Constants.PACKAGE_SPECIFICATION_VERSION.equals(name) == false
+ else if (Constants.PACKAGE_SPECIFICATION_VERSION.equals(name) == false
&& Constants.VERSION_ATTRIBUTE.equals(name) == false)
{
if (ourValue == null || ourValue.equals(otherValue) == false)
@@ -277,9 +276,9 @@
ParameterizedAttribute parameters = metadata.getBundleParameters();
if (parameters != null)
{
- Map<String, Parameter> params = parameters.getParameters();
+ Map<String, Parameter> params = parameters.getAttributes();
if (params != null && params.isEmpty() == false)
- buffer.append(" parameters=").append(params);
+ buffer.append(" attributes=").append(params);
}
}
}
Modified: projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/classloading/OSGiPackageRequirement.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/classloading/OSGiPackageRequirement.java 2009-11-09 17:28:33 UTC (rev 96182)
+++ projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/classloading/OSGiPackageRequirement.java 2009-11-09 17:30:32 UTC (rev 96183)
@@ -72,18 +72,18 @@
String name = requirePackage.getAttribute();
AbstractVersionRange range = null;
- String versionString = requirePackage.getParameterValue(Constants.VERSION_ATTRIBUTE, String.class);
+ String versionString = requirePackage.getAttributeValue(Constants.VERSION_ATTRIBUTE, String.class);
if (versionString != null)
{
range = (AbstractVersionRange)AbstractVersionRange.valueOf(versionString);
- String oldVersionString = requirePackage.getParameterValue(Constants.PACKAGE_SPECIFICATION_VERSION, String.class);
+ String oldVersionString = requirePackage.getAttributeValue(Constants.PACKAGE_SPECIFICATION_VERSION, String.class);
if (oldVersionString != null && oldVersionString.equals(versionString) == false)
throw new IllegalStateException(Constants.VERSION_ATTRIBUTE + " of " + versionString + " does not match " + Constants.PACKAGE_SPECIFICATION_VERSION
+ " of " + oldVersionString);
}
else
{
- versionString = requirePackage.getParameterValue(Constants.PACKAGE_SPECIFICATION_VERSION, String.class);
+ versionString = requirePackage.getAttributeValue(Constants.PACKAGE_SPECIFICATION_VERSION, String.class);
if (versionString != null)
range = (AbstractVersionRange)AbstractVersionRange.valueOf(versionString);
}
@@ -108,7 +108,7 @@
if (requirePackage != null)
{
this.requirePackage = requirePackage;
- String resolution = requirePackage.getParameterValue(Constants.RESOLUTION_DIRECTIVE, String.class);
+ String resolution = requirePackage.getDirectiveValue(Constants.RESOLUTION_DIRECTIVE, String.class);
if (Constants.RESOLUTION_OPTIONAL.equals(resolution))
setOptional(true);
}
@@ -157,7 +157,7 @@
super.toString(buffer);
if (requirePackage != null)
{
- Map<String, Parameter> parameters = requirePackage.getParameters();
+ Map<String, Parameter> parameters = requirePackage.getAttributes();
if (parameters != null)
{
Map<String, Object> keyValueMap = new LinkedHashMap<String, Object>();
Modified: projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/metadata/ParameterizedAttribute.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/metadata/ParameterizedAttribute.java 2009-11-09 17:28:33 UTC (rev 96182)
+++ projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/metadata/ParameterizedAttribute.java 2009-11-09 17:30:32 UTC (rev 96183)
@@ -32,28 +32,74 @@
public interface ParameterizedAttribute extends AttributeAware
{
/**
- * Get the parameters.
+ * Get the attributes.
*
- * @return properties for this attribute
+ * @return the attributes
*/
- Map<String, Parameter> getParameters();
+ Map<String, Parameter> getAttributes();
/**
- * Get the parameter by name.
- * Helper method to getParameters method.
+ * Get an attribute by name.
*
- * @param name parameter's name
- * @return parameter value
+ * @param name attributes's name
+ * @return the attribute
*/
- Parameter getParameter(String name);
+ Parameter getAttribute(String name);
/**
- * Get a parameter value
+ * Get an attribute value
*
* @param <T> the expected type
- * @param name the name of the parameter
+ * @param name the name of the attribute
* @param type the expected type
- * @return the parmaeter value
+ * @return the attribute value
*/
- <T> T getParameterValue(String name, Class<T> type);
+ <T> T getAttributeValue(String name, Class<T> type);
+
+ /**
+ * Get a directive value
+ *
+ * @param <T> the expected type
+ * @param name the name of the directive
+ * @param defaultValue the default value when no attribute is specified
+ * @param type the expected type
+ * @return the attribute value
+ */
+ <T> T getAttributeValue(String name, T defaultValue, Class<T> type);
+
+ /**
+ * Get the declerations
+ *
+ * @return the directives
+ */
+ Map<String, Parameter> getDirectives();
+
+ /**
+ * Get a directive by name.
+ *
+ * @param name directive's name
+ * @return the directive
+ */
+ Parameter getDirective(String name);
+
+ /**
+ * Get a directive value
+ *
+ * @param <T> the expected type
+ * @param name the name of the directive
+ * @param type the expected type
+ * @return the directive value
+ */
+ <T> T getDirectiveValue(String name, Class<T> type);
+
+ /**
+ * Get a directive value
+ *
+ * @param <T> the expected type
+ * @param name the name of the directive
+ * @param defaultValue the default value when no directive is specified
+ * @param type the expected type
+ * @return the directive value
+ */
+ <T> T getDirectiveValue(String name, T defaultValue, Class<T> type);
}
Modified: projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/metadata/internal/AbstractOSGiMetaData.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/metadata/internal/AbstractOSGiMetaData.java 2009-11-09 17:28:33 UTC (rev 96182)
+++ projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/metadata/internal/AbstractOSGiMetaData.java 2009-11-09 17:30:32 UTC (rev 96183)
@@ -151,7 +151,7 @@
public int getBundleManifestVersion()
{
- return get(BUNDLE_MANIFESTVERSION, INTEGER_VC, 1);
+ return get(BUNDLE_MANIFESTVERSION, INTEGER_VC, 2);
}
public String getBundleName()
@@ -225,7 +225,7 @@
parseSymbolicName();
if (parameters == null)
return false;
- return "true".equals(parameters.getParameterValue(Constants.SINGLETON_DIRECTIVE, String.class));
+ return "true".equals(parameters.getDirectiveValue(Constants.SINGLETON_DIRECTIVE, String.class));
}
public String getFragmentAttachment()
@@ -233,7 +233,7 @@
parseSymbolicName();
if (parameters == null)
return null;
- return parameters.getParameterValue(Constants.FRAGMENT_ATTACHMENT_DIRECTIVE, String.class);
+ return parameters.getDirectiveValue(Constants.FRAGMENT_ATTACHMENT_DIRECTIVE, String.class);
}
protected ParameterizedAttribute parseSymbolicName()
Modified: projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/metadata/internal/AbstractPackageAttribute.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/metadata/internal/AbstractPackageAttribute.java 2009-11-09 17:28:33 UTC (rev 96182)
+++ projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/metadata/internal/AbstractPackageAttribute.java 2009-11-09 17:30:32 UTC (rev 96183)
@@ -43,9 +43,9 @@
protected PackageInfo packageInfo;
protected VersionRange versionRange;
- public AbstractPackageAttribute(String attribute, Map<String, Parameter> parameters)
+ public AbstractPackageAttribute(String attribute, Map<String, Parameter> attributes, Map<String, Parameter> directives)
{
- super(attribute, parameters);
+ super(attribute, attributes, directives);
packageInfo = new PackageInfoImpl(attribute);
}
@@ -58,7 +58,7 @@
{
if (versionRange == null)
{
- Parameter parameter = getParameter(Constants.VERSION_ATTRIBUTE);
+ Parameter parameter = getDirective(Constants.VERSION_ATTRIBUTE);
if (parameter != null)
{
if (parameter.isCollection())
Modified: projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/metadata/internal/AbstractParameterizedAttribute.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/metadata/internal/AbstractParameterizedAttribute.java 2009-11-09 17:28:33 UTC (rev 96182)
+++ projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/metadata/internal/AbstractParameterizedAttribute.java 2009-11-09 17:30:32 UTC (rev 96183)
@@ -21,6 +21,7 @@
*/
package org.jboss.osgi.framework.metadata.internal;
+import java.util.Collections;
import java.util.Map;
import org.jboss.osgi.framework.metadata.Parameter;
@@ -36,48 +37,83 @@
{
private static final long serialVersionUID = 1l;
- protected Map<String, Parameter> parameters;
+ protected Map<String, Parameter> attributes;
+
+ protected Map<String, Parameter> directives;
- public AbstractParameterizedAttribute(String attribute, Map<String, Parameter> parameters)
+ public AbstractParameterizedAttribute(String attribute, Map<String, Parameter> attributes, Map<String, Parameter> directives)
{
super(attribute);
- this.parameters = parameters;
+ if (attributes == null)
+ attributes = Collections.emptyMap();
+ this.attributes = attributes;
+ if (directives == null)
+ directives = Collections.emptyMap();
+ this.directives = directives;
}
- public Map<String, Parameter> getParameters()
+ public Map<String, Parameter> getAttributes()
{
- return parameters;
+ return attributes;
}
- public Parameter getParameter(String name)
+ public Parameter getAttribute(String name)
{
- return parameters.get(name);
+ return attributes.get(name);
}
- /**
- * Get a parameter
- *
- * @param <T> the expected type
- * @param name the name of the parameter
- * @param type the expected type
- * @return the parmaeter value
- */
- public <T> T getParameterValue(String name, Class<T> type)
+ public <T> T getAttributeValue(String name, Class<T> type)
{
- Parameter parameter = getParameter(name);
+ return getAttributeValue(name, null, type);
+ }
+
+ public <T> T getAttributeValue(String name, T defaultValue, Class<T> type)
+ {
+ Parameter parameter = getAttribute(name);
if (parameter == null)
- return null;
+ return defaultValue;
if (parameter.isCollection())
- throw new IllegalArgumentException("Duplicate " + name + " parameter.");
+ throw new IllegalArgumentException("Duplicate " + name + " attribute.");
Object value = parameter.getValue();
if (value == null)
- return null;
+ return defaultValue;
return type.cast(value);
}
+ public Map<String, Parameter> getDirectives()
+ {
+ return directives;
+ }
+
+ public Parameter getDirective(String name)
+ {
+ return directives.get(name);
+ }
+
+ public <T> T getDirectiveValue(String name, Class<T> type)
+ {
+ return getDirectiveValue(name, null, type);
+ }
+
+ public <T> T getDirectiveValue(String name, T defaultValue, Class<T> type)
+ {
+ Parameter parameter = getDirective(name);
+ if (parameter == null)
+ return defaultValue;
+ if (parameter.isCollection())
+ throw new IllegalArgumentException("Duplicate " + name + " directive.");
+ Object value = parameter.getValue();
+ if (value == null)
+ return defaultValue;
+ return type.cast(value);
+ }
+
protected void toString(JBossStringBuilder buffer)
{
super.toString(buffer);
- buffer.append(" parameters=" + parameters);
+ if (attributes.isEmpty() == false)
+ buffer.append(" attributes=" + attributes);
+ if (directives.isEmpty() == false)
+ buffer.append(" directives=" + directives);
}
}
Modified: projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/metadata/internal/ManifestParser.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/metadata/internal/ManifestParser.java 2009-11-09 17:28:33 UTC (rev 96182)
+++ projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/metadata/internal/ManifestParser.java 2009-11-09 17:30:32 UTC (rev 96183)
@@ -144,7 +144,10 @@
String value = piece.substring(seperator + 2);
if (directives == null)
directives = new HashMap<String, Parameter>();
- directives.put(unquote(name), new AbstractParameter(unquote(value)));
+ String unquoted = unquote(name);
+ if (directives.containsKey(unquoted))
+ throw new IllegalStateException("Dupicate directive: " + unquoted);
+ directives.put(unquoted, new AbstractParameter(unquote(value)));
}
else
{
@@ -155,7 +158,10 @@
String value = piece.substring(seperator + 1);
if (attributes == null)
attributes = new HashMap<String, Parameter>();
- attributes.put(unquote(name), new AbstractParameter(unquote(value)));
+ String unquoted = unquote(name);
+ if (attributes.containsKey(unquoted))
+ throw new IllegalStateException("Dupicate attribute: " + unquoted);
+ attributes.put(unquoted, new AbstractParameter(unquote(value)));
}
else
{
@@ -164,20 +170,13 @@
}
}
- // TODO JBOSGI-200 replace with seperate attribute and directives in the metadata
- if (attributes == null)
- attributes = new HashMap<String, Parameter>();
- if (directives != null)
- attributes.putAll(directives);
- // END JBOSGI-200
-
for (String path : paths)
{
ParameterizedAttribute metadata = null;
if (packages)
- metadata = new AbstractPackageAttribute(path, attributes);
+ metadata = new AbstractPackageAttribute(path, attributes, directives);
else
- metadata = new AbstractParameterizedAttribute(path, attributes);
+ metadata = new AbstractParameterizedAttribute(path, attributes, directives);
list.add(metadata);
}
Modified: projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/resolver/ExportPackage.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/resolver/ExportPackage.java 2009-11-09 17:28:33 UTC (rev 96182)
+++ projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/resolver/ExportPackage.java 2009-11-09 17:30:32 UTC (rev 96183)
@@ -36,11 +36,15 @@
{
/**
* Get the version of this export.
+ *
+ * @return the version
*/
Version getVersion();
/**
* Get the list of packages that is used by this export.
+ *
+ * @return the list of uses
*/
List<String> getUses();
Modified: projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/resolver/ImportPackage.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/resolver/ImportPackage.java 2009-11-09 17:28:33 UTC (rev 96182)
+++ projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/resolver/ImportPackage.java 2009-11-09 17:30:32 UTC (rev 96183)
@@ -39,11 +39,15 @@
/**
* Get the version range for this import package.
+ *
+ * @return the version range
*/
VersionRange getVersion();
/**
* Get the resolution directive for this import package.
+ *
+ * @return the resolution directive
*/
Resolution getResolution();
Modified: projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/resolver/NamedPackage.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/resolver/NamedPackage.java 2009-11-09 17:28:33 UTC (rev 96182)
+++ projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/resolver/NamedPackage.java 2009-11-09 17:30:32 UTC (rev 96183)
@@ -34,11 +34,15 @@
{
/**
* Get the bundle that owns this package decalaration
+ *
+ * @return the owner
*/
Resolvable getOwner();
/**
* Get the package name
+ *
+ * @return the name
*/
String getName();
Modified: projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/resolver/Resolvable.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/resolver/Resolvable.java 2009-11-09 17:28:33 UTC (rev 96182)
+++ projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/resolver/Resolvable.java 2009-11-09 17:30:32 UTC (rev 96183)
@@ -36,16 +36,22 @@
{
/**
* Get the underlying bundle that this resolvable is associated with.
+ *
+ * @return the bundle
*/
Bundle getBundle();
/**
* Get the bundle's symbolic name.
+ *
+ * @return the symbolic name
*/
String getSymbolicName();
/**
* Get the bundle's version.
+ *
+ * @return the version
*/
Version getVersion();
@@ -57,6 +63,8 @@
/**
* Get an exported package by name.
+ *
+ * @param packageName the package name
* @return The exported package or null if the bundle does not export that package.
*/
ExportPackage getExportPackage(String packageName);
@@ -69,17 +77,19 @@
/**
* Get an imported package by name.
+ *
+ * @param packageName the package name
* @return The imported package or null if the bundle does not import that package.
*/
ImportPackage getImportPackage(String packageName);
/**
- * True if this resovable is a singleton bundle.
+ * @return True if this resovable is a singleton bundle.
*/
boolean isSingleton();
/**
- * True if this resovable has been resolved.
+ * @return True if this resovable has been resolved.
*/
boolean isResolved();
}
\ No newline at end of file
Modified: projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/resolver/Resolver.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/resolver/Resolver.java 2009-11-09 17:28:33 UTC (rev 96182)
+++ projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/resolver/Resolver.java 2009-11-09 17:30:32 UTC (rev 96183)
@@ -41,12 +41,16 @@
/**
* Add a bundle to the resolver.
+ *
+ * @param bundle the bundle
* @return The resolvable associated with the added bundle.
*/
Resolvable addBundle(Bundle bundle);
/**
* Remove a bundle from the resolver.
+
+ * @param bundle the bundle
* @return The resolvable associated with the removed bundle.
*/
Resolvable removeBundle(Bundle bundle);
Modified: projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/resolver/internal/ExportPackageImpl.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/resolver/internal/ExportPackageImpl.java 2009-11-09 17:28:33 UTC (rev 96182)
+++ projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/resolver/internal/ExportPackageImpl.java 2009-11-09 17:30:32 UTC (rev 96183)
@@ -26,7 +26,6 @@
import org.jboss.osgi.framework.resolver.ExportPackage;
import org.jboss.osgi.framework.resolver.ImportPackage;
-import org.jboss.osgi.framework.resolver.NamedPackage;
import org.jboss.osgi.framework.resolver.Resolvable;
import org.jboss.osgi.spi.NotImplementedException;
import org.osgi.framework.Version;
Modified: projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/resolver/internal/basic/BasicResolverImpl.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/resolver/internal/basic/BasicResolverImpl.java 2009-11-09 17:28:33 UTC (rev 96182)
+++ projects/jboss-osgi/trunk/reactor/framework/src/main/java/org/jboss/osgi/framework/resolver/internal/basic/BasicResolverImpl.java 2009-11-09 17:30:32 UTC (rev 96183)
@@ -40,7 +40,6 @@
import org.jboss.osgi.framework.bundle.OSGiBundleState;
import org.jboss.osgi.framework.classloading.OSGiPackageRequirement;
import org.jboss.osgi.framework.metadata.OSGiMetaData;
-import org.jboss.osgi.framework.metadata.Parameter;
import org.jboss.osgi.framework.metadata.ParameterizedAttribute;
import org.jboss.osgi.framework.plugins.ResolverPlugin;
import org.jboss.osgi.framework.plugins.internal.AbstractPlugin;
@@ -420,21 +419,12 @@
if (requiredBundleName == null)
throw new IllegalStateException("Cannot obtain value for: " + Constants.REQUIRE_BUNDLE);
- String visibility = Constants.VISIBILITY_PRIVATE;
- Parameter param = attr.getParameter(Constants.VISIBILITY_DIRECTIVE);
- if (param != null)
- visibility = (String)param.getValue();
+ String visibility = attr.getDirectiveValue(Constants.VISIBILITY_DIRECTIVE, Constants.VISIBILITY_PRIVATE, String.class);
- String resolution = Constants.RESOLUTION_MANDATORY;
- param = attr.getParameter(Constants.RESOLUTION_DIRECTIVE);
- if (param != null)
- resolution = (String)param.getValue();
+ String resolution = attr.getDirectiveValue(Constants.RESOLUTION_DIRECTIVE, Constants.RESOLUTION_MANDATORY, String.class);
// [TODO] bundle-version
- //String bundleVersion = null;
- //param = attr.getParameter(Constants.BUNDLE_VERSION_ATTRIBUTE);
- //if (param != null)
- // bundleVersion = (String)param.getValue();
+ //String bundleVersion = attr.getAttributeValue(Constants.BUNDLE_VERSION_ATTRIBUTE, String.class);
if (Constants.RESOLUTION_MANDATORY.equals(resolution))
{
Modified: projects/jboss-osgi/trunk/reactor/framework/src/test/java/org/jboss/test/osgi/bundle/metadata/HeaderValuesTestCase.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/framework/src/test/java/org/jboss/test/osgi/bundle/metadata/HeaderValuesTestCase.java 2009-11-09 17:28:33 UTC (rev 96182)
+++ projects/jboss-osgi/trunk/reactor/framework/src/test/java/org/jboss/test/osgi/bundle/metadata/HeaderValuesTestCase.java 2009-11-09 17:30:32 UTC (rev 96183)
@@ -104,12 +104,12 @@
Map<String, Parameter> bnc1 = new HashMap<String, Parameter>();
bnc1.put("osname", new AbstractParameter("QNX"));
bnc1.put("osversion", new AbstractParameter("3.1"));
- bundleNativeCode.add(new AbstractPackageAttribute("/lib/http.DLL", bnc1));
+ bundleNativeCode.add(new AbstractPackageAttribute("/lib/http.DLL", bnc1, null));
Map<String, Parameter> bnc2 = new HashMap<String, Parameter>();
bnc2.put("osname", new AbstractParameter("QWE"));
bnc2.put("osversion", new AbstractParameter("4.0"));
- bundleNativeCode.add(new AbstractPackageAttribute("/lib/tcp.DLL", bnc2));
- bundleNativeCode.add(new AbstractPackageAttribute("/lib/iiop.DLL", bnc2));
+ bundleNativeCode.add(new AbstractPackageAttribute("/lib/tcp.DLL", bnc2, null));
+ bundleNativeCode.add(new AbstractPackageAttribute("/lib/iiop.DLL", bnc2, null));
List<ParameterizedAttribute> metadataBNC = metaData.getBundleNativeCode();
assertNotNull(metadataBNC);
assertEquals(bundleNativeCode.size(), metadataBNC.size());
@@ -118,19 +118,19 @@
ParameterizedAttribute paMD = metadataBNC.get(i);
ParameterizedAttribute myPA = bundleNativeCode.get(i);
assertEquals(paMD.getAttribute(), myPA.getAttribute());
- assertEquals(paMD.getParameters(), myPA.getParameters());
+ assertEquals(paMD.getAttributes(), myPA.getAttributes());
}
List<PackageAttribute> dynamicImports = new ArrayList<PackageAttribute>();
Map<String, Parameter> dyna1 = new HashMap<String, Parameter>();
dyna1.put("user", new AbstractParameter("alesj"));
- dynamicImports.add(new AbstractPackageAttribute("org.jboss.test", dyna1));
+ dynamicImports.add(new AbstractPackageAttribute("org.jboss.test", dyna1, null));
Map<String, Parameter> dyna2 = new HashMap<String, Parameter>();
dyna2.put("version", new AbstractParameter("1.2.3.GA"));
- dynamicImports.add(new AbstractPackageAttribute("com.acme.plugin.*", dyna2));
+ dynamicImports.add(new AbstractPackageAttribute("com.acme.plugin.*", dyna2, null));
Map<String, Parameter> dyna3 = new HashMap<String, Parameter>();
dyna3.put("test", new AbstractParameter("test"));
- dynamicImports.add(new AbstractPackageAttribute("*", dyna3));
+ dynamicImports.add(new AbstractPackageAttribute("*", dyna3, null));
List<PackageAttribute> metadataDyna = metaData.getDynamicImports();
assertNotNull(metadataDyna);
assertEquals(dynamicImports.size(), metadataDyna.size());
@@ -140,17 +140,17 @@
PackageAttribute myPA = dynamicImports.get(i);
assertEquals(paMD.getAttribute(), myPA.getAttribute());
assertEquals(paMD.getPackageInfo(), myPA.getPackageInfo());
- assertEquals(paMD.getParameters(), myPA.getParameters());
+ assertEquals(paMD.getAttributes(), myPA.getAttributes());
}
List<PackageAttribute> exportPackages = new ArrayList<PackageAttribute>();
Map<String, Parameter> ep1 = new HashMap<String, Parameter>();
ep1.put("version", new AbstractParameter("1.3"));
- exportPackages.add(new AbstractPackageAttribute("org.osgi.util.tracker", ep1));
- exportPackages.add(new AbstractPackageAttribute("net.osgi.foo", ep1));
+ exportPackages.add(new AbstractPackageAttribute("org.osgi.util.tracker", ep1, null));
+ exportPackages.add(new AbstractPackageAttribute("net.osgi.foo", ep1, null));
Map<String, Parameter> ep2 = new HashMap<String, Parameter>();
ep2.put("version", new AbstractParameter("[1.0,2.0)"));
- exportPackages.add(new AbstractPackageAttribute("org.jboss.test", ep2));
+ exportPackages.add(new AbstractPackageAttribute("org.jboss.test", ep2, null));
List<PackageAttribute> metadataExport = metaData.getExportPackages();
assertNotNull(metadataExport);
assertEquals(exportPackages.size(), metadataExport.size());
@@ -160,9 +160,9 @@
PackageAttribute myPA = exportPackages.get(i);
assertEquals(paMD.getAttribute(), myPA.getAttribute());
assertEquals(paMD.getPackageInfo(), myPA.getPackageInfo());
- assertEquals(paMD.getParameters(), myPA.getParameters());
- OSGiParameters o1 = new OSGiParameters(paMD.getParameters());
- OSGiParameters o2 = new OSGiParameters(myPA.getParameters());
+ assertEquals(paMD.getAttributes(), myPA.getAttributes());
+ OSGiParameters o1 = new OSGiParameters(paMD.getAttributes());
+ OSGiParameters o2 = new OSGiParameters(myPA.getAttributes());
VersionRange v1 = o1.getVersion();
VersionRange v2 = o2.getVersion();
assertEquals(v1, v2);
@@ -170,12 +170,12 @@
Map<String, Parameter> parameters = new HashMap<String, Parameter>();
parameters.put("bundle-version", new AbstractParameter("\"[3.0.0,4.0.0)\""));
- ParameterizedAttribute fragmentHost = new AbstractParameterizedAttribute("org.eclipse.swt", parameters);
+ ParameterizedAttribute fragmentHost = new AbstractParameterizedAttribute("org.eclipse.swt", parameters, null);
ParameterizedAttribute metadataFragment = metaData.getFragmentHost();
assertNotNull(metadataFragment);
assertEquals(fragmentHost.getAttribute(), metadataFragment.getAttribute());
- OSGiParameters o1 = new OSGiParameters(fragmentHost.getParameters());
- OSGiParameters o2 = new OSGiParameters(metadataFragment.getParameters());
+ OSGiParameters o1 = new OSGiParameters(fragmentHost.getAttributes());
+ OSGiParameters o2 = new OSGiParameters(metadataFragment.getAttributes());
VersionRange v1 = o1.getBundleVersion();
VersionRange v2 = o2.getBundleVersion();
assertNotNull(v1);
@@ -186,12 +186,13 @@
Map<String, Parameter> ip1 = new HashMap<String, Parameter>();
ip1.put("version", new AbstractParameter("1.4"));
ip1.put("name", new AbstractParameter("osgi"));
- importPackages.add(new AbstractPackageAttribute("org.osgi.util.tracker", ip1));
- importPackages.add(new AbstractPackageAttribute("org.osgi.service.io", ip1));
+ importPackages.add(new AbstractPackageAttribute("org.osgi.util.tracker", ip1, null));
+ importPackages.add(new AbstractPackageAttribute("org.osgi.service.io", ip1, null));
Map<String, Parameter> ip2 = new HashMap<String, Parameter>();
ip2.put("version", new AbstractParameter("[2.0,3.0)"));
- ip2.put("resolution", new AbstractParameter("osgi-int"));
- importPackages.add(new AbstractPackageAttribute("org.jboss.test", ip2));
+ Map<String, Parameter> ip2d = new HashMap<String, Parameter>();
+ ip2d.put("resolution", new AbstractParameter("osgi-int"));
+ importPackages.add(new AbstractPackageAttribute("org.jboss.test", ip2, ip2d));
List<PackageAttribute> metadataImport = metaData.getImportPackages();
assertNotNull(metadataImport);
assertEquals(importPackages.size(), metadataImport.size());
@@ -201,9 +202,10 @@
PackageAttribute myPA = importPackages.get(i);
assertEquals(paMD.getAttribute(), myPA.getAttribute());
assertEquals(paMD.getPackageInfo(), myPA.getPackageInfo());
- assertEquals(paMD.getParameters(), myPA.getParameters());
- OSGiParameters oi1 = new OSGiParameters(paMD.getParameters());
- OSGiParameters oi2 = new OSGiParameters(myPA.getParameters());
+ assertEquals(paMD.getAttributes(), myPA.getAttributes());
+ assertEquals(paMD.getDirectives(), myPA.getDirectives());
+ OSGiParameters oi1 = new OSGiParameters(paMD.getAttributes());
+ OSGiParameters oi2 = new OSGiParameters(myPA.getAttributes());
VersionRange vi1 = oi1.getVersion();
VersionRange vi2 = oi2.getVersion();
assertEquals(vi1, vi2);
@@ -212,10 +214,10 @@
List<ParameterizedAttribute> requireBundles = new ArrayList<ParameterizedAttribute>();
Map<String, Parameter> rb1 = new HashMap<String, Parameter>();
rb1.put("visibility", new AbstractParameter("true"));
- requireBundles.add(new AbstractParameterizedAttribute("com.acme.chess", rb1));
+ requireBundles.add(new AbstractParameterizedAttribute("com.acme.chess", null, rb1));
Map<String, Parameter> rb2 = new HashMap<String, Parameter>();
rb2.put("bundle-version", new AbstractParameter("1.2"));
- requireBundles.add(new AbstractParameterizedAttribute("com.alesj.test", rb2));
+ requireBundles.add(new AbstractParameterizedAttribute("com.alesj.test", rb2, null));
List<ParameterizedAttribute> metadataRB = metaData.getRequireBundles();
assertNotNull(metadataRB);
assertEquals(requireBundles.size(), metadataRB.size());
@@ -224,9 +226,10 @@
ParameterizedAttribute paMD = metadataRB.get(i);
ParameterizedAttribute myPA = requireBundles.get(i);
assertEquals(paMD.getAttribute(), myPA.getAttribute());
- assertEquals(paMD.getParameters(), myPA.getParameters());
- OSGiParameters oi1 = new OSGiParameters(paMD.getParameters());
- OSGiParameters oi2 = new OSGiParameters(myPA.getParameters());
+ assertEquals(paMD.getAttributes(), myPA.getAttributes());
+ assertEquals(paMD.getDirectives(), myPA.getDirectives());
+ OSGiParameters oi1 = new OSGiParameters(paMD.getAttributes());
+ OSGiParameters oi2 = new OSGiParameters(myPA.getAttributes());
String vis1 = oi1.getVisibility();
String vis2 = oi2.getVisibility();
assertEquals(vis1, vis2);
Modified: projects/jboss-osgi/trunk/reactor/framework/src/test/java/org/jboss/test/osgi/resolver/ImportDirectiveResolutionTest.java
===================================================================
--- projects/jboss-osgi/trunk/reactor/framework/src/test/java/org/jboss/test/osgi/resolver/ImportDirectiveResolutionTest.java 2009-11-09 17:28:33 UTC (rev 96182)
+++ projects/jboss-osgi/trunk/reactor/framework/src/test/java/org/jboss/test/osgi/resolver/ImportDirectiveResolutionTest.java 2009-11-09 17:30:32 UTC (rev 96183)
@@ -63,6 +63,8 @@
}
/**
* [TODO] testImportAvailable
+ *
+ * @throws BundleException
*/
public void testImportAvailable() throws BundleException
{
@@ -70,6 +72,8 @@
/**
* [TODO] testImportNotAvailable
+
+ * @throws BundleException
*/
public void testImportNotAvailable() throws BundleException
{
Modified: projects/jboss-osgi/trunk/reactor/framework/src/test/resources/bundles/singleton/singleton1/META-INF/MANIFEST.MF
===================================================================
--- projects/jboss-osgi/trunk/reactor/framework/src/test/resources/bundles/singleton/singleton1/META-INF/MANIFEST.MF 2009-11-09 17:28:33 UTC (rev 96182)
+++ projects/jboss-osgi/trunk/reactor/framework/src/test/resources/bundles/singleton/singleton1/META-INF/MANIFEST.MF 2009-11-09 17:30:32 UTC (rev 96183)
@@ -3,4 +3,4 @@
Implementation-Version: test
Implementation-Vendor: jboss.org
Bundle-Name: Singleton1
-Bundle-SymbolicName: org.jboss.test.osgi.singleton;singleton=true
+Bundle-SymbolicName: org.jboss.test.osgi.singleton;singleton:=true
Modified: projects/jboss-osgi/trunk/reactor/framework/src/test/resources/bundles/singleton/singleton2/META-INF/MANIFEST.MF
===================================================================
--- projects/jboss-osgi/trunk/reactor/framework/src/test/resources/bundles/singleton/singleton2/META-INF/MANIFEST.MF 2009-11-09 17:28:33 UTC (rev 96182)
+++ projects/jboss-osgi/trunk/reactor/framework/src/test/resources/bundles/singleton/singleton2/META-INF/MANIFEST.MF 2009-11-09 17:30:32 UTC (rev 96183)
@@ -3,4 +3,4 @@
Implementation-Version: test
Implementation-Vendor: jboss.org
Bundle-Name: Singleton2
-Bundle-SymbolicName: org.jboss.test.osgi.singleton;singleton=true
+Bundle-SymbolicName: org.jboss.test.osgi.singleton;singleton:=true
More information about the jboss-osgi-commits
mailing list