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/08 17:17:19 UTC

svn commit: r897248 - in /felix/sandbox/rickhall/resolver/src/main/java/org/apache/felix/resolver: Main.java StatefulResolver.java manifestparser/Main.java

Author: rickhall
Date: Fri Jan  8 16:17:04 2010
New Revision: 897248

URL: http://svn.apache.org/viewvc?rev=897248&view=rev
Log:
Prepare for saving resolver wires.

Added:
    felix/sandbox/rickhall/resolver/src/main/java/org/apache/felix/resolver/StatefulResolver.java
Modified:
    felix/sandbox/rickhall/resolver/src/main/java/org/apache/felix/resolver/Main.java
    felix/sandbox/rickhall/resolver/src/main/java/org/apache/felix/resolver/manifestparser/Main.java

Modified: felix/sandbox/rickhall/resolver/src/main/java/org/apache/felix/resolver/Main.java
URL: http://svn.apache.org/viewvc/felix/sandbox/rickhall/resolver/src/main/java/org/apache/felix/resolver/Main.java?rev=897248&r1=897247&r2=897248&view=diff
==============================================================================
--- felix/sandbox/rickhall/resolver/src/main/java/org/apache/felix/resolver/Main.java (original)
+++ felix/sandbox/rickhall/resolver/src/main/java/org/apache/felix/resolver/Main.java Fri Jan  8 16:17:04 2010
@@ -63,45 +63,29 @@
         }
 
         List<Module> moduleList = new ArrayList<Module>();
-        Module targetModule = setupScenario(moduleList, scenario);
+        Module target = setupScenario(moduleList, scenario);
 
         ResolverState state = new ResolverStateImpl(moduleList);
-        Resolver resolver = null;
+        Resolver statelessResolver = null;
 
         if (legacy)
         {
-            resolver = new FelixResolver();
+            statelessResolver = new FelixResolver();
         }
         else if (proto)
         {
-            resolver = new ProtoResolver();
+            statelessResolver = new ProtoResolver();
         }
         else
         {
-            resolver = new Proto3Resolver();
+            statelessResolver = new Proto3Resolver();
         }
 
+        StatefulResolver resolver = new StatefulResolver(statelessResolver, state);
+
         try
         {
-            long starttime = System.currentTimeMillis();
-            Map<Module, List<Wire>> wireMap = resolver.resolve(state, targetModule);
-            long endtime = System.currentTimeMillis();
-            System.out.println("Resolve time: " + (endtime - starttime));
-            System.out.println("Wires:");
-            for (Iterator<Entry<Module, List<Wire>>> it = wireMap.entrySet().iterator();
-                it.hasNext(); )
-            {
-                Entry<Module, List<Wire>> entry = it.next();
-                entry.getKey().resolve(entry.getValue());
-                if (entry.getValue().size() > 0)
-                {
-                    System.out.println("   " + entry.getKey());
-                    for (int i = 0; i < entry.getValue().size(); i++)
-                    {
-                        System.out.println("      " + entry.getValue().get(i));
-                    }
-                }
-            }
+            resolver.resolve(target);
         }
         catch (Exception ex)
         {

Added: felix/sandbox/rickhall/resolver/src/main/java/org/apache/felix/resolver/StatefulResolver.java
URL: http://svn.apache.org/viewvc/felix/sandbox/rickhall/resolver/src/main/java/org/apache/felix/resolver/StatefulResolver.java?rev=897248&view=auto
==============================================================================
--- felix/sandbox/rickhall/resolver/src/main/java/org/apache/felix/resolver/StatefulResolver.java (added)
+++ felix/sandbox/rickhall/resolver/src/main/java/org/apache/felix/resolver/StatefulResolver.java Fri Jan  8 16:17:04 2010
@@ -0,0 +1,64 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ * 
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+package org.apache.felix.resolver;
+
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
+import org.apache.felix.resolver.Resolver.ResolverState;
+
+public class StatefulResolver
+{
+    private final Resolver m_resolver;
+    private final ResolverState m_state;
+
+    public StatefulResolver(Resolver resolver, ResolverState state)
+    {
+        m_resolver = resolver;
+        m_state = state;
+    }
+
+    public void resolve(Module module)
+    {
+        System.out.println("Target: " + module + " (" + module.getRequirements().size() + ")");
+        long starttime = System.currentTimeMillis();
+        Map<Module, List<Wire>> wireMap = m_resolver.resolve(m_state, module);
+        long endtime = System.currentTimeMillis();
+        System.out.println("Resolve time: " + (endtime - starttime));
+        System.out.println("Modules resolved: " + wireMap.size());
+//        System.out.println("Wires:");
+        for (Iterator<Entry<Module, List<Wire>>> it = wireMap.entrySet().iterator();
+            it.hasNext(); )
+        {
+            Entry<Module, List<Wire>> entry = it.next();
+            entry.getKey().resolve(entry.getValue());
+//System.out.println("SETTING WIRES FOR " + entry.getKey());
+            if (entry.getValue().size() > 0)
+            {
+//                System.out.println("   " + entry.getKey());
+                for (int i = 0; i < entry.getValue().size(); i++)
+                {
+//                    System.out.println("      " + entry.getValue().get(i));
+                    System.out.println("   " + entry.getKey() + " - " + entry.getValue().get(i));
+                }
+            }
+        }
+    }
+}
\ No newline at end of file

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=897248&r1=897247&r2=897248&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 Jan  8 16:17:04 2010
@@ -36,6 +36,7 @@
 import org.apache.felix.resolver.Resolver;
 import org.apache.felix.resolver.Resolver.ResolverState;
 import org.apache.felix.resolver.ResolverStateImpl;
+import org.apache.felix.resolver.StatefulResolver;
 import org.apache.felix.resolver.Wire;
 import org.apache.felix.resolver.cs.Capability;
 import org.apache.felix.resolver.cs.Requirement;
@@ -338,21 +339,23 @@
         System.out.println("Generated " + moduleList.size() + " modules.");
 
         ResolverState state = new ResolverStateImpl(moduleList);
-        Resolver resolver = null;
+        Resolver statelessResolver = null;
 
         if (legacy)
         {
-            resolver = new FelixResolver();
+            statelessResolver = new FelixResolver();
         }
         else if (proto)
         {
-            resolver = new ProtoResolver();
+            statelessResolver = new ProtoResolver();
         }
         else
         {
-            resolver = new Proto3Resolver();
+            statelessResolver = new Proto3Resolver();
         }
 
+        StatefulResolver resolver = new StatefulResolver(statelessResolver, state);
+
         try
         {
 Module target = getTarget(moduleList);
@@ -360,29 +363,7 @@
 //                target != null;
 //                target = getTarget(moduleList))
             {
-                System.out.println("Target: " + target + " (" + target.getRequirements().size() + ")");
-                long starttime = System.currentTimeMillis();
-                Map<Module, List<Wire>> wireMap = resolver.resolve(state, target);
-                long endtime = System.currentTimeMillis();
-                System.out.println("Resolve time: " + (endtime - starttime));
-                System.out.println("Modules resolved: " + wireMap.size());
-//                System.out.println("Wires:");
-                for (Iterator<Entry<Module, List<Wire>>> it = wireMap.entrySet().iterator();
-                    it.hasNext(); )
-                {
-                    Entry<Module, List<Wire>> entry = it.next();
-                    entry.getKey().resolve(entry.getValue());
-//System.out.println("SETTING WIRES FOR " + entry.getKey());
-                    if (entry.getValue().size() > 0)
-                    {
-//                    System.out.println("   " + entry.getKey());
-                        for (int i = 0; i < entry.getValue().size(); i++)
-                        {
-//                        System.out.println("      " + entry.getValue().get(i));
-                            System.out.println("   " + entry.getKey() + " - " + entry.getValue().get(i));
-                        }
-                    }
-                }
+                resolver.resolve(target);
 
                 if (target.getName().equals("jersey-bundle"))
                 {