You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by ri...@apache.org on 2009/12/11 17:23:03 UTC
svn commit: r889684 - in
/felix/sandbox/rickhall/resolver/src/main/java/org/apache/felix/resolver:
manifestparser/Main.java prototype/ProtoResolver.java
Author: rickhall
Date: Fri Dec 11 16:23:02 2009
New Revision: 889684
URL: http://svn.apache.org/viewvc?rev=889684&view=rev
Log:
Use separate indices for package vs module capabilities.
Modified:
felix/sandbox/rickhall/resolver/src/main/java/org/apache/felix/resolver/manifestparser/Main.java
felix/sandbox/rickhall/resolver/src/main/java/org/apache/felix/resolver/prototype/ProtoResolver.java
Modified: felix/sandbox/rickhall/resolver/src/main/java/org/apache/felix/resolver/manifestparser/Main.java
URL: http://svn.apache.org/viewvc/felix/sandbox/rickhall/resolver/src/main/java/org/apache/felix/resolver/manifestparser/Main.java?rev=889684&r1=889683&r2=889684&view=diff
==============================================================================
--- felix/sandbox/rickhall/resolver/src/main/java/org/apache/felix/resolver/manifestparser/Main.java (original)
+++ felix/sandbox/rickhall/resolver/src/main/java/org/apache/felix/resolver/manifestparser/Main.java Fri Dec 11 16:23:02 2009
@@ -317,7 +317,7 @@
if (module != null)
{
moduleList.add(module);
-// dumpModule(module);
+ dumpModule(module);
}
}
}
@@ -400,9 +400,9 @@
private static Module getTarget(List<Module> modules)
{
- return getTargetByUnresolved(modules);
+// return getTargetByUnresolved(modules);
// return getTargetBySymbolicName(modules, "org.springframework.faces");
-// return getTargetBySymbolicName(modules, "bundle1");
+ return getTargetBySymbolicName(modules, "bundle1");
}
private static Module getTargetByUnresolved(List<Module> modules)
Modified: felix/sandbox/rickhall/resolver/src/main/java/org/apache/felix/resolver/prototype/ProtoResolver.java
URL: http://svn.apache.org/viewvc/felix/sandbox/rickhall/resolver/src/main/java/org/apache/felix/resolver/prototype/ProtoResolver.java?rev=889684&r1=889683&r2=889684&view=diff
==============================================================================
--- felix/sandbox/rickhall/resolver/src/main/java/org/apache/felix/resolver/prototype/ProtoResolver.java (original)
+++ felix/sandbox/rickhall/resolver/src/main/java/org/apache/felix/resolver/prototype/ProtoResolver.java Fri Dec 11 16:23:02 2009
@@ -38,6 +38,7 @@
{
private final List<Module> m_moduleList;
private final CapabilitySet m_pkgCapSet;
+ private final CapabilitySet m_modCapSet;
private final Map<Module, Map<String, Blame>> m_moduleConstraintCache =
new HashMap<Module, Map<String, Blame>>();
private final Map<Module, Map<String, Blame>> m_resolvingConstraintCache =
@@ -55,15 +56,28 @@
{
System.out.println("+++ PROTO RESOLVER");
m_moduleList = moduleList;
+
List indices = new ArrayList();
- indices.add("package");
+ indices.add(Constants.BUNDLE_SYMBOLICNAME_ATTRIBUTE);
+ m_modCapSet = new CapabilitySet(indices);
+
+ indices = new ArrayList();
+ indices.add(Capability.PACKAGE_ATTR);
m_pkgCapSet = new CapabilitySet(indices);
+
for (int modIdx = 0; modIdx < m_moduleList.size(); modIdx++)
{
- List<Capability> exports = m_moduleList.get(modIdx).getCapabilities();
- for (int expIdx = 0; expIdx < exports.size(); expIdx++)
+ List<Capability> caps = m_moduleList.get(modIdx).getCapabilities();
+ for (int capIdx = 0; capIdx < caps.size(); capIdx++)
{
- m_pkgCapSet.addCapability(exports.get(expIdx));
+ if (caps.get(capIdx).getNamespace().equals(Capability.MODULE_NAMESPACE))
+ {
+ m_modCapSet.addCapability(caps.get(capIdx));
+ }
+ else if (caps.get(capIdx).getNamespace().equals(Capability.PACKAGE_NAMESPACE))
+ {
+ m_pkgCapSet.addCapability(caps.get(capIdx));
+ }
}
}
@@ -557,7 +571,15 @@
}
}
});
- result.addAll(m_pkgCapSet.match(req.getFilter()));
+
+ if (req.getNamespace().equals(Capability.MODULE_NAMESPACE))
+ {
+ result.addAll(m_modCapSet.match(req.getFilter()));
+ }
+ else if (req.getNamespace().equals(Capability.PACKAGE_NAMESPACE))
+ {
+ result.addAll(m_pkgCapSet.match(req.getFilter()));
+ }
return result;
}