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 2010/01/20 18:06:23 UTC
svn commit: r901281 - in
/felix/sandbox/rickhall/framework-proto/src/main/java/org/apache/felix/framework/resolver:
CandidateComparator.java Resolver.java ResolverImpl.java
ResolverStateImpl.java StatefulResolver.java
Author: rickhall
Date: Wed Jan 20 17:06:22 2010
New Revision: 901281
URL: http://svn.apache.org/viewvc?rev=901281&view=rev
Log:
Fix many errors, but still completely broken.
Modified:
felix/sandbox/rickhall/framework-proto/src/main/java/org/apache/felix/framework/resolver/CandidateComparator.java
felix/sandbox/rickhall/framework-proto/src/main/java/org/apache/felix/framework/resolver/Resolver.java
felix/sandbox/rickhall/framework-proto/src/main/java/org/apache/felix/framework/resolver/ResolverImpl.java
felix/sandbox/rickhall/framework-proto/src/main/java/org/apache/felix/framework/resolver/ResolverStateImpl.java
felix/sandbox/rickhall/framework-proto/src/main/java/org/apache/felix/framework/resolver/StatefulResolver.java
Modified: felix/sandbox/rickhall/framework-proto/src/main/java/org/apache/felix/framework/resolver/CandidateComparator.java
URL: http://svn.apache.org/viewvc/felix/sandbox/rickhall/framework-proto/src/main/java/org/apache/felix/framework/resolver/CandidateComparator.java?rev=901281&r1=901280&r2=901281&view=diff
==============================================================================
--- felix/sandbox/rickhall/framework-proto/src/main/java/org/apache/felix/framework/resolver/CandidateComparator.java (original)
+++ felix/sandbox/rickhall/framework-proto/src/main/java/org/apache/felix/framework/resolver/CandidateComparator.java Wed Jan 20 17:06:22 2010
@@ -19,8 +19,9 @@
package org.apache.felix.framework.resolver;
import java.util.Comparator;
-import org.apache.felix.resolver.cs.Capability;
-import org.apache.felix.resolver.manifestparser.Constants;
+import org.apache.felix.framework.candidateset.Capability;
+import org.osgi.framework.Constants;
+import org.osgi.framework.Version;
public class CandidateComparator implements Comparator
{
@@ -85,7 +86,16 @@
// Finally, compare module identity.
if (c == 0)
{
- c = cap1.getModule().getName().compareTo(cap2.getModule().getName());
+ if (cap1.getModule().getBundle().getBundleId() <
+ cap2.getModule().getBundle().getBundleId())
+ {
+ c = -1;
+ }
+ else if (cap1.getModule().getBundle().getBundleId() >
+ cap2.getModule().getBundle().getBundleId())
+ {
+ c = 1;
+ }
}
return c;
Modified: felix/sandbox/rickhall/framework-proto/src/main/java/org/apache/felix/framework/resolver/Resolver.java
URL: http://svn.apache.org/viewvc/felix/sandbox/rickhall/framework-proto/src/main/java/org/apache/felix/framework/resolver/Resolver.java?rev=901281&r1=901280&r2=901281&view=diff
==============================================================================
--- felix/sandbox/rickhall/framework-proto/src/main/java/org/apache/felix/framework/resolver/Resolver.java (original)
+++ felix/sandbox/rickhall/framework-proto/src/main/java/org/apache/felix/framework/resolver/Resolver.java Wed Jan 20 17:06:22 2010
@@ -21,8 +21,10 @@
import java.util.List;
import java.util.Map;
import java.util.Set;
-import org.apache.felix.resolver.cs.Capability;
-import org.apache.felix.resolver.cs.Requirement;
+import org.apache.felix.framework.candidateset.Capability;
+import org.apache.felix.framework.candidateset.Module;
+import org.apache.felix.framework.candidateset.Requirement;
+import org.apache.felix.framework.candidateset.Wire;
public interface Resolver
{
Modified: felix/sandbox/rickhall/framework-proto/src/main/java/org/apache/felix/framework/resolver/ResolverImpl.java
URL: http://svn.apache.org/viewvc/felix/sandbox/rickhall/framework-proto/src/main/java/org/apache/felix/framework/resolver/ResolverImpl.java?rev=901281&r1=901280&r2=901281&view=diff
==============================================================================
--- felix/sandbox/rickhall/framework-proto/src/main/java/org/apache/felix/framework/resolver/ResolverImpl.java (original)
+++ felix/sandbox/rickhall/framework-proto/src/main/java/org/apache/felix/framework/resolver/ResolverImpl.java Wed Jan 20 17:06:22 2010
@@ -27,15 +27,11 @@
import java.util.Map.Entry;
import java.util.Set;
import java.util.TreeSet;
-import org.apache.felix.resolver.CandidateComparator;
-import org.apache.felix.resolver.Module;
-import org.apache.felix.resolver.ResolveException;
-import org.apache.felix.resolver.Resolver;
-import org.apache.felix.resolver.ResolverStateImpl;
-import org.apache.felix.resolver.Wire;
-import org.apache.felix.resolver.cs.Capability;
-import org.apache.felix.resolver.cs.CapabilitySet;
-import org.apache.felix.resolver.cs.Requirement;
+import org.apache.felix.framework.candidateset.Capability;
+import org.apache.felix.framework.candidateset.CapabilitySet;
+import org.apache.felix.framework.candidateset.Module;
+import org.apache.felix.framework.candidateset.Requirement;
+import org.apache.felix.framework.candidateset.Wire;
// 1. Treat hard pkg constraints separately from implied package constraints
// 2. Map pkg constraints to a set of capabilities, not a single capability.
@@ -222,7 +218,7 @@
if ((candidates.size() == 0) && !req.isOptional())
{
throw new ResolveException("Unable to resolve " + module
- + ": missing requirement " + req);
+ + ": missing requirement " + req, module, req);
}
else if (candidates.size() > 0)
{
@@ -339,7 +335,7 @@
{
// candidateMap.remove(req);
throw new ResolveException("Unresolved constraint "
- + req + " in " + module);
+ + req + " in " + module, module, req);
}
}
}
@@ -484,7 +480,7 @@
{
throw new ResolveException("Constraint violation between "
+ current + " and " + candBlame.m_cap.getModule()
- + " for " + pkgName);
+ + " for " + pkgName, null, null);
}
//
@@ -586,7 +582,7 @@
+ " between existing constraint "
+ currentUsedBlames.get(i)
+ " and candidate constraint "
- + candBlame);
+ + candBlame, null, null);
}
}
}
@@ -678,7 +674,7 @@
+ " between existing constraint "
+ currentExportedBlame
+ " and candidate constraint "
- + candSourceBlame);
+ + candSourceBlame, null, null);
}
else if ((currentImportedBlame != null)
&& !isCompatible(currentImportedBlame.m_cap, candSourceBlame.m_cap, modulePkgMap))
@@ -712,7 +708,7 @@
+ " between existing constraint "
+ currentImportedBlame
+ " and candidate constraint "
- + candSourceBlame);
+ + candSourceBlame, null, null);
}
}
}
@@ -833,7 +829,7 @@
if (!module.equals(entry.getValue().m_cap.getModule()))
{
moduleWires.add(
- new Wire(module,
+ new WireImpl(module,
entry.getValue().m_reqs.get(entry.getValue().m_reqs.size() - 1),
entry.getValue().m_cap.getModule(),
entry.getValue().m_cap));
@@ -875,7 +871,7 @@
if (!module.equals(rbEntry.getValue().getModule()))
{
moduleWires.add(
- new Wire(module,
+ new WireImpl(module,
rbEntry.getKey(),
rbEntry.getValue().getModule(),
rbEntry.getValue()));
Modified: felix/sandbox/rickhall/framework-proto/src/main/java/org/apache/felix/framework/resolver/ResolverStateImpl.java
URL: http://svn.apache.org/viewvc/felix/sandbox/rickhall/framework-proto/src/main/java/org/apache/felix/framework/resolver/ResolverStateImpl.java?rev=901281&r1=901280&r2=901281&view=diff
==============================================================================
--- felix/sandbox/rickhall/framework-proto/src/main/java/org/apache/felix/framework/resolver/ResolverStateImpl.java (original)
+++ felix/sandbox/rickhall/framework-proto/src/main/java/org/apache/felix/framework/resolver/ResolverStateImpl.java Wed Jan 20 17:06:22 2010
@@ -22,11 +22,12 @@
import java.util.List;
import java.util.Set;
import java.util.TreeSet;
-import org.apache.felix.resolver.Resolver.ResolverState;
-import org.apache.felix.resolver.cs.Capability;
-import org.apache.felix.resolver.cs.CapabilitySet;
-import org.apache.felix.resolver.cs.Requirement;
-import org.apache.felix.resolver.manifestparser.Constants;
+import org.apache.felix.framework.candidateset.Capability;
+import org.apache.felix.framework.candidateset.CapabilitySet;
+import org.apache.felix.framework.candidateset.Module;
+import org.apache.felix.framework.candidateset.Requirement;
+import org.apache.felix.framework.resolver.Resolver.ResolverState;
+import org.osgi.framework.Constants;
public class ResolverStateImpl implements ResolverState
{
Modified: felix/sandbox/rickhall/framework-proto/src/main/java/org/apache/felix/framework/resolver/StatefulResolver.java
URL: http://svn.apache.org/viewvc/felix/sandbox/rickhall/framework-proto/src/main/java/org/apache/felix/framework/resolver/StatefulResolver.java?rev=901281&r1=901280&r2=901281&view=diff
==============================================================================
--- felix/sandbox/rickhall/framework-proto/src/main/java/org/apache/felix/framework/resolver/StatefulResolver.java (original)
+++ felix/sandbox/rickhall/framework-proto/src/main/java/org/apache/felix/framework/resolver/StatefulResolver.java Wed Jan 20 17:06:22 2010
@@ -21,6 +21,9 @@
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
+import org.apache.felix.framework.ModuleImpl;
+import org.apache.felix.framework.candidateset.Module;
+import org.apache.felix.framework.candidateset.Wire;
public class StatefulResolver
{
@@ -67,7 +70,7 @@
{
System.out.println("WIRE: " + wires.get(wireIdx));
}
- entry.getKey().resolve(wires);
+ ((ModuleImpl) entry.getKey()).setWires(wires);
}
}
}