Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Watson2008-01-21 16:32:23 +0000
committerThomas Watson2008-01-21 16:32:23 +0000
commita1ba0b6c5e702178094ab7df0b69d6f4384b8b92 (patch)
treeed6f4994c3dc16d7988d77f3c256f5ee2d4f2cce /bundles/org.eclipse.osgi/resolver
parent7090b0be3103d077986b6c3f8f5cdc38a1f7e431 (diff)
downloadrt.equinox.framework-a1ba0b6c5e702178094ab7df0b69d6f4384b8b92.tar.gz
rt.equinox.framework-a1ba0b6c5e702178094ab7df0b69d6f4384b8b92.tar.xz
rt.equinox.framework-a1ba0b6c5e702178094ab7df0b69d6f4384b8b92.zip
Bug 215901 Bundle-NativeCode resolution of org.osgi.framework.os.name and org.osgi.framework.processor is not case-insensitive
Diffstat (limited to 'bundles/org.eclipse.osgi/resolver')
-rw-r--r--bundles/org.eclipse.osgi/resolver/src/org/eclipse/osgi/internal/resolver/NativeCodeSpecificationImpl.java23
1 files changed, 13 insertions, 10 deletions
diff --git a/bundles/org.eclipse.osgi/resolver/src/org/eclipse/osgi/internal/resolver/NativeCodeSpecificationImpl.java b/bundles/org.eclipse.osgi/resolver/src/org/eclipse/osgi/internal/resolver/NativeCodeSpecificationImpl.java
index 3486053e3..e2ac3e023 100644
--- a/bundles/org.eclipse.osgi/resolver/src/org/eclipse/osgi/internal/resolver/NativeCodeSpecificationImpl.java
+++ b/bundles/org.eclipse.osgi/resolver/src/org/eclipse/osgi/internal/resolver/NativeCodeSpecificationImpl.java
@@ -88,25 +88,28 @@ public class NativeCodeSpecificationImpl extends VersionConstraintImpl implement
match = true;
else {
Object platformProcessor = platformProps[i].get(Constants.FRAMEWORK_PROCESSOR);
- for (int j = 0; j < processors.length && !match; j++) {
- String aliasedProcessor = aliasMapper.aliasProcessor(processors[j]);
- if (platformProcessor.equals(aliasedProcessor))
- match = true;
- }
+ Object aliasedPlatformProcessor = platformProcessor == null || !(platformProcessor instanceof String) ? platformProcessor : aliasMapper.aliasProcessor((String) platformProcessor);
+ if (aliasedPlatformProcessor != null)
+ for (int j = 0; j < processors.length && !match; j++) {
+ String aliasedProcessor = aliasMapper.aliasProcessor(processors[j]);
+ if (aliasedPlatformProcessor.equals(aliasedProcessor))
+ match = true;
+ }
}
if (!match)
return false;
match = false;
String[] languages = nativeSupplier.getLanguages();
- if (languages.length == 0l)
+ if (languages.length == 0)
match = true;
else {
Object platformLanguage = platformProps[i].get(Constants.FRAMEWORK_LANGUAGE);
- for (int j = 0; j < languages.length && !match; j++) {
- if ((platformLanguage instanceof String) ? ((String) platformLanguage).equalsIgnoreCase(languages[j]) : platformLanguage.equals(languages[j]))
- match = true;
- }
+ if (platformLanguage != null)
+ for (int j = 0; j < languages.length && !match; j++) {
+ if ((platformLanguage instanceof String) ? ((String) platformLanguage).equalsIgnoreCase(languages[j]) : platformLanguage.equals(languages[j]))
+ match = true;
+ }
}
if (!match)
return false;

Back to the top