You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by da...@apache.org on 2011/03/23 23:49:26 UTC

svn commit: r1084792 - in /aries/trunk/spi-fly: ./ spi-fly-core/ spi-fly-core/src/main/java/org/apache/aries/spifly/ spi-fly-dynamic-bundle/ spi-fly-dynamic-bundle/src/main/java/org/apache/aries/spifly/dynamic/ spi-fly-static-tool/ spi-fly-static-tool/...

Author: davidb
Date: Wed Mar 23 22:49:25 2011
New Revision: 1084792

URL: http://svn.apache.org/viewvc?rev=1084792&view=rev
Log:
More SPI-Fly refactoring

Added:
    aries/trunk/spi-fly/spi-fly-weaver/
    aries/trunk/spi-fly/spi-fly-weaver/pom.xml
    aries/trunk/spi-fly/spi-fly-weaver/src/
    aries/trunk/spi-fly/spi-fly-weaver/src/main/
    aries/trunk/spi-fly/spi-fly-weaver/src/main/java/
    aries/trunk/spi-fly/spi-fly-weaver/src/main/java/org/
    aries/trunk/spi-fly/spi-fly-weaver/src/main/java/org/apache/
    aries/trunk/spi-fly/spi-fly-weaver/src/main/java/org/apache/aries/
    aries/trunk/spi-fly/spi-fly-weaver/src/main/java/org/apache/aries/spifly/
    aries/trunk/spi-fly/spi-fly-weaver/src/main/java/org/apache/aries/spifly/weaver/
    aries/trunk/spi-fly/spi-fly-weaver/src/main/java/org/apache/aries/spifly/weaver/TCCLSetterVisitor.java
      - copied, changed from r1084722, aries/trunk/spi-fly/spi-fly-core/src/main/java/org/apache/aries/spifly/TCCLSetterVisitor.java
Removed:
    aries/trunk/spi-fly/spi-fly-core/src/main/java/org/apache/aries/spifly/TCCLSetterVisitor.java
Modified:
    aries/trunk/spi-fly/pom.xml
    aries/trunk/spi-fly/spi-fly-core/pom.xml
    aries/trunk/spi-fly/spi-fly-core/src/main/java/org/apache/aries/spifly/BaseActivator.java
    aries/trunk/spi-fly/spi-fly-core/src/main/java/org/apache/aries/spifly/ProviderBundleTrackerCustomizer.java
    aries/trunk/spi-fly/spi-fly-core/src/main/java/org/apache/aries/spifly/Util.java
    aries/trunk/spi-fly/spi-fly-dynamic-bundle/pom.xml
    aries/trunk/spi-fly/spi-fly-dynamic-bundle/src/main/java/org/apache/aries/spifly/dynamic/ClientWeavingHook.java
    aries/trunk/spi-fly/spi-fly-static-tool/pom.xml
    aries/trunk/spi-fly/spi-fly-static-tool/src/main/java/org/apache/aries/spifly/statictool/Main.java

Modified: aries/trunk/spi-fly/pom.xml
URL: http://svn.apache.org/viewvc/aries/trunk/spi-fly/pom.xml?rev=1084792&r1=1084791&r2=1084792&view=diff
==============================================================================
--- aries/trunk/spi-fly/pom.xml (original)
+++ aries/trunk/spi-fly/pom.xml Wed Mar 23 22:49:25 2011
@@ -38,6 +38,10 @@
     <description>
         SPI support for OSGi
     </description>
+    
+    <properties>
+      <asm.version>3.2</asm.version>
+    </properties>
 
     <scm>
         <connection>scm:svn:http://svn.apache.org/repos/asf/aries/trunk/spi-fly</connection>
@@ -56,6 +60,7 @@
     <modules>
         <module>spi-fly-deps</module>
         <module>spi-fly-core</module>
+        <module>spi-fly-weaver</module>
         <module>spi-fly-dynamic-bundle</module>
         <module>spi-fly-static-tool</module>
         <module>spi-fly-static-bundle</module>

Modified: aries/trunk/spi-fly/spi-fly-core/pom.xml
URL: http://svn.apache.org/viewvc/aries/trunk/spi-fly/spi-fly-core/pom.xml?rev=1084792&r1=1084791&r2=1084792&view=diff
==============================================================================
--- aries/trunk/spi-fly/spi-fly-core/pom.xml (original)
+++ aries/trunk/spi-fly/spi-fly-core/pom.xml Wed Mar 23 22:49:25 2011
@@ -37,20 +37,14 @@ JRE through META-INF/services resources)
 
     <dependencies>
         <dependency>
-            <groupId>asm</groupId>
-            <artifactId>asm-all</artifactId>
-            <version>3.3.1</version>
-            <scope>provided</scope>
-        </dependency>
+            <groupId>org.osgi</groupId>
+            <artifactId>org.osgi.core</artifactId>
+        </dependency>        
 
         <dependency>
-            <!-- Use the Eclipse version of OSGi until the core 4.3 OSGi jar is available in Maven. -->
-            <groupId>org.eclipse</groupId>
-            <artifactId>osgi</artifactId>
-            <version>3.7M5</version>
-            <scope>system</scope>
-            <systemPath>${basedir}/../spi-fly-deps/target/downloaded/org.eclipse.osgi_3.7.0.jar</systemPath>
-        </dependency>
+            <groupId>org.osgi</groupId>
+            <artifactId>org.osgi.compendium</artifactId>
+        </dependency>        
 
         <dependency>
             <groupId>org.easymock</groupId>

Modified: aries/trunk/spi-fly/spi-fly-core/src/main/java/org/apache/aries/spifly/BaseActivator.java
URL: http://svn.apache.org/viewvc/aries/trunk/spi-fly/spi-fly-core/src/main/java/org/apache/aries/spifly/BaseActivator.java?rev=1084792&r1=1084791&r2=1084792&view=diff
==============================================================================
--- aries/trunk/spi-fly/spi-fly-core/src/main/java/org/apache/aries/spifly/BaseActivator.java (original)
+++ aries/trunk/spi-fly/spi-fly-core/src/main/java/org/apache/aries/spifly/BaseActivator.java Wed Mar 23 22:49:25 2011
@@ -31,13 +31,11 @@ import java.util.concurrent.ConcurrentHa
 import java.util.concurrent.ConcurrentMap;
 import java.util.concurrent.CopyOnWriteArrayList;
 
-import org.apache.aries.spifly.api.SpiFlyConstants;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleActivator;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.BundleEvent;
 import org.osgi.framework.ServiceReference;
-import org.osgi.framework.ServiceRegistration;
 import org.osgi.service.log.LogService;
 import org.osgi.util.tracker.BundleTracker;
 import org.osgi.util.tracker.ServiceTracker;
@@ -53,8 +51,8 @@ public abstract class BaseActivator impl
     private BundleContext bundleContext;
     private LogServiceTracker logServiceTracker;
     private List<LogService> logServices = new CopyOnWriteArrayList<LogService>();
-    private BundleTracker<Object> consumerBundleTracker; 
-    private BundleTracker<List<ServiceRegistration<?>>> providerBundleTracker;
+    private BundleTracker consumerBundleTracker; 
+    private BundleTracker providerBundleTracker;
 
     private final ConcurrentMap<Bundle, Set<WeavingData>> bundleWeavingData = 
         new ConcurrentHashMap<Bundle, Set<WeavingData>>();
@@ -71,11 +69,11 @@ public abstract class BaseActivator impl
         logServiceTracker = new LogServiceTracker(context);
         logServiceTracker.open();
 
-        providerBundleTracker = new BundleTracker<List<ServiceRegistration<?>>>(context,
+        providerBundleTracker = new BundleTracker(context,
                 Bundle.ACTIVE, new ProviderBundleTrackerCustomizer(this, context.getBundle()));
         providerBundleTracker.open();
         
-        consumerBundleTracker = new BundleTracker<Object>(context, Bundle.INSTALLED, null) {
+        consumerBundleTracker = new BundleTracker(context, Bundle.INSTALLED, null) {
             @Override
             public Object addingBundle(Bundle bundle, BundleEvent event) {
                 processBundle(bundle, consumerHeaderName);                    
@@ -109,9 +107,9 @@ public abstract class BaseActivator impl
             return;
         }
         
-        String consumerHeader = bundle.getHeaders().get(consumerHeaderName);
-        if (consumerHeader != null) {
-            Set<WeavingData> wd = ConsumerHeaderProcessor.processHeader(consumerHeader);
+        Object consumerHeader = bundle.getHeaders().get(consumerHeaderName);
+        if (consumerHeader instanceof String) {
+            Set<WeavingData> wd = ConsumerHeaderProcessor.processHeader((String) consumerHeader);
             bundleWeavingData.put(bundle, Collections.unmodifiableSet(wd));
             
             for (WeavingData w : wd) {
@@ -218,20 +216,20 @@ public abstract class BaseActivator impl
 
     // TODO unRegisterConsumerBundle();
     
-    private class LogServiceTracker extends ServiceTracker<LogService, LogService> {
+    private class LogServiceTracker extends ServiceTracker {
         public LogServiceTracker(BundleContext context) {
-            super(context, LogService.class, null);
+            super(context, LogService.class.getName(), null);
         }
 
-        public LogService addingService(ServiceReference<LogService> reference) {
-            LogService svc = super.addingService(reference);
-            if (svc != null)
-                logServices.add(svc);
+        public Object addingService(ServiceReference reference) {
+            Object svc = super.addingService(reference);
+            if (svc instanceof LogService)
+                logServices.add((LogService) svc);
             return svc;
         }
 
         @Override
-        public void removedService(ServiceReference<LogService> reference, LogService service) {
+        public void removedService(ServiceReference reference, Object service) {
             logServices.remove(service);
         }        
     }

Modified: aries/trunk/spi-fly/spi-fly-core/src/main/java/org/apache/aries/spifly/ProviderBundleTrackerCustomizer.java
URL: http://svn.apache.org/viewvc/aries/trunk/spi-fly/spi-fly-core/src/main/java/org/apache/aries/spifly/ProviderBundleTrackerCustomizer.java?rev=1084792&r1=1084791&r2=1084792&view=diff
==============================================================================
--- aries/trunk/spi-fly/spi-fly-core/src/main/java/org/apache/aries/spifly/ProviderBundleTrackerCustomizer.java (original)
+++ aries/trunk/spi-fly/spi-fly-core/src/main/java/org/apache/aries/spifly/ProviderBundleTrackerCustomizer.java Wed Mar 23 22:49:25 2011
@@ -36,7 +36,7 @@ import org.osgi.util.tracker.BundleTrack
 /**
  * Listens for new bundles being installed and registers them as service providers if applicable.
  */
-public class ProviderBundleTrackerCustomizer implements BundleTrackerCustomizer<List<ServiceRegistration<?>>> {
+public class ProviderBundleTrackerCustomizer implements BundleTrackerCustomizer {
     final BaseActivator activator;
     final Bundle spiBundle;
 
@@ -47,7 +47,7 @@ public class ProviderBundleTrackerCustom
         // TODO handle pre-existing bundles.
     }
 
-    public List<ServiceRegistration<?>> addingBundle(Bundle bundle, BundleEvent event) {
+    public List<ServiceRegistration> addingBundle(Bundle bundle, BundleEvent event) {
         log(LogService.LOG_INFO, "Bundle Considered for SPI providers: "
                 + bundle.getSymbolicName());
 
@@ -66,12 +66,13 @@ public class ProviderBundleTrackerCustom
                     + bundle.getSymbolicName());
         }
 
+        @SuppressWarnings("unchecked")
         Enumeration<URL> entries = bundle.findEntries("META-INF/services", "*", false);
         if (entries == null) {
             return null;
         }
 
-        List<ServiceRegistration<?>> registrations = new ArrayList<ServiceRegistration<?>>();
+        List<ServiceRegistration> registrations = new ArrayList<ServiceRegistration>();
         while (entries.hasMoreElements()) {
             URL url = entries.nextElement();
             log(LogService.LOG_INFO, "Found SPI resource: " + url);
@@ -96,7 +97,7 @@ public class ProviderBundleTrackerCustom
                     registrationClassName = s.substring(idx + 1);
                 }
 
-                ServiceRegistration<?> reg = bundle.getBundleContext()
+                ServiceRegistration reg = bundle.getBundleContext()
                         .registerService(registrationClassName, o, props);
                 registrations.add(reg);
 
@@ -111,15 +112,16 @@ public class ProviderBundleTrackerCustom
         return registrations;
     }
 
-    public void modifiedBundle(Bundle bundle, BundleEvent event, List<ServiceRegistration<?>> registrations) {
+    public void modifiedBundle(Bundle bundle, BundleEvent event, Object registrations) {
         // should really be doing something here...
     }
 
-    public void removedBundle(Bundle bundle, BundleEvent event, List<ServiceRegistration<?>> registrations) {
+    @SuppressWarnings("unchecked")
+    public void removedBundle(Bundle bundle, BundleEvent event, Object registrations) {
         if (registrations == null)
             return;
         
-        for (ServiceRegistration<?> reg : registrations) {
+        for (ServiceRegistration reg : (List<ServiceRegistration>) registrations) {
             reg.unregister();
             log(LogService.LOG_INFO, "Unregistered: " + reg);            
         }

Modified: aries/trunk/spi-fly/spi-fly-core/src/main/java/org/apache/aries/spifly/Util.java
URL: http://svn.apache.org/viewvc/aries/trunk/spi-fly/spi-fly-core/src/main/java/org/apache/aries/spifly/Util.java?rev=1084792&r1=1084791&r2=1084792&view=diff
==============================================================================
--- aries/trunk/spi-fly/spi-fly-core/src/main/java/org/apache/aries/spifly/Util.java (original)
+++ aries/trunk/spi-fly/spi-fly-core/src/main/java/org/apache/aries/spifly/Util.java Wed Mar 23 22:49:25 2011
@@ -18,8 +18,10 @@
  */
 package org.apache.aries.spifly;
 
+import java.net.URL;
 import java.util.ArrayList;
 import java.util.Collection;
+import java.util.Enumeration;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
@@ -28,7 +30,6 @@ import java.util.ServiceLoader;
 
 import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleReference;
-import org.osgi.framework.wiring.BundleWiring;
 import org.osgi.service.log.LogService;
 
 /** 
@@ -97,15 +98,38 @@ public class Util {
             return null;
         case 1:
             Bundle bundle = bundles.iterator().next();
-            BundleWiring wiring = bundle.adapt(BundleWiring.class);
-            return wiring.getClassLoader();            
+            return getBundleClassLoader(bundle);
+//            BundleWiring wiring = bundle.adapt(BundleWiring.class);
+//            return wiring.getClassLoader();            
         default:
             List<ClassLoader> loaders = new ArrayList<ClassLoader>();
             for (Bundle b : bundles) {
-                BundleWiring bw = b.adapt(BundleWiring.class);
-                loaders.add(bw.getClassLoader());
+//                BundleWiring bw = b.adapt(BundleWiring.class);
+//                loaders.add(bw.getClassLoader());
+                loaders.add(getBundleClassLoader(b));
             }
             return new MultiDelegationClassloader(loaders.toArray(new ClassLoader[loaders.size()]));
         }
     }
+    
+    @SuppressWarnings("unchecked")
+    private static ClassLoader getBundleClassLoader(Bundle b) {
+        // In 4.3 this can be done much easier by using the BundleWiring...
+        // but here we're just finding any class in the bundle, load that and then use its classloader.
+        Enumeration<String> paths = b.getEntryPaths("/");
+        while(paths.hasMoreElements()) {
+            String path = paths.nextElement();
+            if (path.endsWith(".class")) {
+                String className = path.substring(0,path.length() - ".class".length());
+                className = className.replace('/', '.');
+                try {
+                    Class<?> cls = b.loadClass(className);
+                    return cls.getClassLoader();
+                } catch (ClassNotFoundException e) {                    
+                    // try the next class
+                }
+            }
+        }
+        throw new RuntimeException("Could not obtain classloader for bundle " + b);
+    }
 }

Modified: aries/trunk/spi-fly/spi-fly-dynamic-bundle/pom.xml
URL: http://svn.apache.org/viewvc/aries/trunk/spi-fly/spi-fly-dynamic-bundle/pom.xml?rev=1084792&r1=1084791&r2=1084792&view=diff
==============================================================================
--- aries/trunk/spi-fly/spi-fly-dynamic-bundle/pom.xml (original)
+++ aries/trunk/spi-fly/spi-fly-dynamic-bundle/pom.xml Wed Mar 23 22:49:25 2011
@@ -41,10 +41,9 @@ JRE through META-INF/services resources)
         <dependency>
             <groupId>asm</groupId>
             <artifactId>asm-all</artifactId>
-            <version>3.2</version>
-            <scope>provided</scope>
+            <version>${asm.version}</version>
         </dependency>
-        
+
         <dependency>
             <groupId>org.apache.aries.spifly</groupId>
             <artifactId>org.apache.aries.spifly.core</artifactId>
@@ -52,6 +51,12 @@ JRE through META-INF/services resources)
         </dependency>
 
         <dependency>
+            <groupId>org.apache.aries.spifly</groupId>
+            <artifactId>org.apache.aries.spifly.weaver</artifactId>
+            <version>${pom.version}</version>
+        </dependency>
+
+        <dependency>
             <!-- Use the Eclipse version of OSGi until the core 4.3 OSGi jar is available in Maven. -->
             <groupId>org.eclipse</groupId>
             <artifactId>osgi</artifactId>

Modified: aries/trunk/spi-fly/spi-fly-dynamic-bundle/src/main/java/org/apache/aries/spifly/dynamic/ClientWeavingHook.java
URL: http://svn.apache.org/viewvc/aries/trunk/spi-fly/spi-fly-dynamic-bundle/src/main/java/org/apache/aries/spifly/dynamic/ClientWeavingHook.java?rev=1084792&r1=1084791&r2=1084792&view=diff
==============================================================================
--- aries/trunk/spi-fly/spi-fly-dynamic-bundle/src/main/java/org/apache/aries/spifly/dynamic/ClientWeavingHook.java (original)
+++ aries/trunk/spi-fly/spi-fly-dynamic-bundle/src/main/java/org/apache/aries/spifly/dynamic/ClientWeavingHook.java Wed Mar 23 22:49:25 2011
@@ -20,9 +20,9 @@ package org.apache.aries.spifly.dynamic;
 
 import java.util.Set;
 
-import org.apache.aries.spifly.TCCLSetterVisitor;
 import org.apache.aries.spifly.Util;
 import org.apache.aries.spifly.WeavingData;
+import org.apache.aries.spifly.weaver.TCCLSetterVisitor;
 import org.objectweb.asm.ClassReader;
 import org.objectweb.asm.ClassWriter;
 import org.osgi.framework.Bundle;

Modified: aries/trunk/spi-fly/spi-fly-static-tool/pom.xml
URL: http://svn.apache.org/viewvc/aries/trunk/spi-fly/spi-fly-static-tool/pom.xml?rev=1084792&r1=1084791&r2=1084792&view=diff
==============================================================================
--- aries/trunk/spi-fly/spi-fly-static-tool/pom.xml (original)
+++ aries/trunk/spi-fly/spi-fly-static-tool/pom.xml Wed Mar 23 22:49:25 2011
@@ -37,7 +37,7 @@
         <dependency>
             <groupId>asm</groupId>
             <artifactId>asm-all</artifactId>
-            <version>3.3.1</version>
+            <version>${asm.version}</version>
         </dependency>
 
         <dependency>
@@ -45,6 +45,12 @@
             <artifactId>org.apache.aries.spifly.core</artifactId>
             <version>${pom.version}</version>
         </dependency>
+
+        <dependency>
+            <groupId>org.apache.aries.spifly</groupId>
+            <artifactId>org.apache.aries.spifly.weaver</artifactId>
+            <version>${pom.version}</version>
+        </dependency>
     </dependencies>
 
     <build>

Modified: aries/trunk/spi-fly/spi-fly-static-tool/src/main/java/org/apache/aries/spifly/statictool/Main.java
URL: http://svn.apache.org/viewvc/aries/trunk/spi-fly/spi-fly-static-tool/src/main/java/org/apache/aries/spifly/statictool/Main.java?rev=1084792&r1=1084791&r2=1084792&view=diff
==============================================================================
--- aries/trunk/spi-fly/spi-fly-static-tool/src/main/java/org/apache/aries/spifly/statictool/Main.java (original)
+++ aries/trunk/spi-fly/spi-fly-static-tool/src/main/java/org/apache/aries/spifly/statictool/Main.java Wed Mar 23 22:49:25 2011
@@ -33,10 +33,10 @@ import java.util.jar.Manifest;
 
 import org.apache.aries.spifly.ConsumerHeaderProcessor;
 import org.apache.aries.spifly.Streams;
-import org.apache.aries.spifly.TCCLSetterVisitor;
 import org.apache.aries.spifly.Util;
 import org.apache.aries.spifly.WeavingData;
 import org.apache.aries.spifly.api.SpiFlyConstants;
+import org.apache.aries.spifly.weaver.TCCLSetterVisitor;
 import org.objectweb.asm.ClassReader;
 import org.objectweb.asm.ClassVisitor;
 import org.objectweb.asm.ClassWriter;

Added: aries/trunk/spi-fly/spi-fly-weaver/pom.xml
URL: http://svn.apache.org/viewvc/aries/trunk/spi-fly/spi-fly-weaver/pom.xml?rev=1084792&view=auto
==============================================================================
--- aries/trunk/spi-fly/spi-fly-weaver/pom.xml (added)
+++ aries/trunk/spi-fly/spi-fly-weaver/pom.xml Wed Mar 23 22:49:25 2011
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+    <!--
+ 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.
+    -->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache.aries.spifly</groupId>
+        <artifactId>spifly</artifactId>
+        <version>0.4-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>org.apache.aries.spifly.weaver</artifactId>
+    <packaging>jar</packaging>
+    <name>Apache Aries SPI Fly Weaver</name>
+
+    <dependencies>
+        <dependency>
+            <groupId>asm</groupId>
+            <artifactId>asm-all</artifactId>
+            <version>${asm.version}</version>
+            <scope>provided</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.aries.spifly</groupId>
+            <artifactId>org.apache.aries.spifly.core</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.easymock</groupId>
+            <artifactId>easymock</artifactId>
+            <version>3.0</version>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+</project>

Copied: aries/trunk/spi-fly/spi-fly-weaver/src/main/java/org/apache/aries/spifly/weaver/TCCLSetterVisitor.java (from r1084722, aries/trunk/spi-fly/spi-fly-core/src/main/java/org/apache/aries/spifly/TCCLSetterVisitor.java)
URL: http://svn.apache.org/viewvc/aries/trunk/spi-fly/spi-fly-weaver/src/main/java/org/apache/aries/spifly/weaver/TCCLSetterVisitor.java?p2=aries/trunk/spi-fly/spi-fly-weaver/src/main/java/org/apache/aries/spifly/weaver/TCCLSetterVisitor.java&p1=aries/trunk/spi-fly/spi-fly-core/src/main/java/org/apache/aries/spifly/TCCLSetterVisitor.java&r1=1084722&r2=1084792&rev=1084792&view=diff
==============================================================================
--- aries/trunk/spi-fly/spi-fly-core/src/main/java/org/apache/aries/spifly/TCCLSetterVisitor.java (original)
+++ aries/trunk/spi-fly/spi-fly-weaver/src/main/java/org/apache/aries/spifly/weaver/TCCLSetterVisitor.java Wed Mar 23 22:49:25 2011
@@ -16,12 +16,14 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.aries.spifly;
+package org.apache.aries.spifly.weaver;
 
 import java.util.Arrays;
 import java.util.ServiceLoader;
 import java.util.Set;
 
+import org.apache.aries.spifly.Util;
+import org.apache.aries.spifly.WeavingData;
 import org.objectweb.asm.ClassAdapter;
 import org.objectweb.asm.ClassVisitor;
 import org.objectweb.asm.MethodAdapter;