deltaspike-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From tandrasc...@apache.org
Subject [1/2] deltaspike git commit: DELTASPIKE-1274 Refactor proxy-module / improve performance
Date Mon, 26 Jun 2017 18:13:44 GMT
Repository: deltaspike
Updated Branches:
  refs/heads/master cdb86507f -> b4c2ed263


http://git-wip-us.apache.org/repos/asf/deltaspike/blob/b4c2ed26/deltaspike/modules/proxy/impl-asm5/src/main/java/org/apache/deltaspike/proxy/impl/AsmProxyClassGenerator.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/proxy/impl-asm5/src/main/java/org/apache/deltaspike/proxy/impl/AsmProxyClassGenerator.java b/deltaspike/modules/proxy/impl-asm5/src/main/java/org/apache/deltaspike/proxy/impl/AsmProxyClassGenerator.java
deleted file mode 100644
index 64408a8..0000000
--- a/deltaspike/modules/proxy/impl-asm5/src/main/java/org/apache/deltaspike/proxy/impl/AsmProxyClassGenerator.java
+++ /dev/null
@@ -1,494 +0,0 @@
-/*
- * 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.deltaspike.proxy.impl;
-
-import org.apache.deltaspike.proxy.spi.DeltaSpikeProxy;
-import org.apache.deltaspike.proxy.impl.invocation.DelegateManualInvocationHandler;
-import org.apache.deltaspike.proxy.impl.invocation.InterceptManualInvocationHandler;
-
-import java.lang.annotation.Annotation;
-import java.lang.reflect.InvocationHandler;
-import java.lang.reflect.UndeclaredThrowableException;
-import java.security.ProtectionDomain;
-import java.util.ArrayList;
-import java.util.Arrays;
-
-import javax.enterprise.inject.Typed;
-
-import org.apache.deltaspike.proxy.spi.ProxyClassGenerator;
-import org.objectweb.asm.AnnotationVisitor;
-import org.objectweb.asm.ClassReader;
-import org.objectweb.asm.ClassVisitor;
-import org.objectweb.asm.ClassWriter;
-import org.objectweb.asm.Label;
-import org.objectweb.asm.Opcodes;
-import org.objectweb.asm.Type;
-import org.objectweb.asm.commons.GeneratorAdapter;
-import org.objectweb.asm.commons.Method;
-
-@Typed
-public class AsmProxyClassGenerator implements ProxyClassGenerator
-{
-    private static final String FIELDNAME_DELEGATE_INVOCATION_HANDLER = "delegateInvocationHandler";
-
-    private static final Type TYPE_CLASS = Type.getType(Class.class);
-    private static final Type TYPE_OBJECT = Type.getType(Object.class);
-
-    @Override
-    public <T> Class<T> generateProxyClass(ClassLoader classLoader,
-            Class<T> targetClass,
-            String suffix,
-            String superAccessorMethodSuffix,
-            Class<?>[] additionalInterfaces,
-            java.lang.reflect.Method[] delegateMethods,
-            java.lang.reflect.Method[] interceptMethods)
-    {
-        String proxyName = targetClass.getName() + suffix;
-        String classFileName = proxyName.replace('.', '/');
-
-        byte[] proxyBytes = generateProxyClassBytes(targetClass,
-                classFileName, superAccessorMethodSuffix, additionalInterfaces, delegateMethods, interceptMethods);
-
-        Class<T> proxyClass = (Class<T>) loadClass(classLoader, proxyName, proxyBytes,
-                targetClass.getProtectionDomain());
-
-        return proxyClass;
-    }
-
-    private static byte[] generateProxyClassBytes(Class<?> targetClass,
-            String proxyName,
-            String superAccessorMethodSuffix,
-            Class<?>[] additionalInterfaces,
-            java.lang.reflect.Method[] delegateMethods,
-            java.lang.reflect.Method[] interceptMethods)
-    {
-        Class<?> superClass = targetClass;
-        String[] interfaces = new String[] { };
-
-        if (targetClass.isInterface())
-        {
-            superClass = Object.class;
-            interfaces = new String[] { Type.getInternalName(targetClass) };
-        }
-
-        // add DeltaSpikeProxy as interface
-        interfaces = Arrays.copyOf(interfaces, interfaces.length + 1);
-        interfaces[interfaces.length - 1] = Type.getInternalName(DeltaSpikeProxy.class);
-
-        if (additionalInterfaces != null && additionalInterfaces.length > 0)
-        {
-            interfaces = Arrays.copyOf(interfaces, interfaces.length + additionalInterfaces.length);
-            for (int i = 0; i < additionalInterfaces.length; i++)
-            {
-                interfaces[(interfaces.length - 1) + i] = Type.getInternalName(additionalInterfaces[i]);
-            }
-        }
-
-        Type superType = Type.getType(superClass);
-        Type proxyType = Type.getObjectType(proxyName);
-        Type delegateInvocationHandlerType = Type.getType(InvocationHandler.class);
-
-        final ClassWriter cw = new ClassWriter(ClassWriter.COMPUTE_MAXS);
-        cw.visit(Opcodes.V1_6, Opcodes.ACC_PUBLIC + Opcodes.ACC_SUPER, proxyType.getInternalName(), null,
-                superType.getInternalName(), interfaces);
-
-        defineInvocationHandlerField(cw, delegateInvocationHandlerType);
-        defineDefaultConstructor(cw, proxyType, superType);
-        defineDelegateInvocationHandlerConstructor(cw, proxyType, superType, delegateInvocationHandlerType);
-        defineDeltaSpikeProxyMethods(cw, proxyType, delegateInvocationHandlerType);
-
-        if (delegateMethods != null)
-        {
-            for (java.lang.reflect.Method method : delegateMethods)
-            {
-                defineMethod(cw, method, DelegateManualInvocationHandler.class);
-            }
-        }
-
-        if (interceptMethods != null)
-        {
-            for (java.lang.reflect.Method method : interceptMethods)
-            {
-                defineSuperAccessorMethod(cw, method, superType, superAccessorMethodSuffix);
-                defineMethod(cw, method, InterceptManualInvocationHandler.class);
-            }
-        }
-
-        // copy all annotations from the source class
-        try
-        {
-            // ClassVisitor to intercept all annotation visits on the class
-            ClassVisitor cv = new ClassVisitor(Opcodes.ASM5)
-            {
-                @Override
-                public AnnotationVisitor visitAnnotation(String desc, boolean visible)
-                {
-                    return new CopyAnnotationVisitorAdapter(
-                            super.visitAnnotation(desc, visible),
-                            cw.visitAnnotation(desc, visible));
-                }
-            };
-
-            // visit class to proxy with our visitor to copy all annotations from the source class to our ClassWriter
-            String sourceClassFilename = targetClass.getName().replace('.', '/') + ".class";
-            ClassReader cr = new ClassReader(targetClass.getClassLoader().getResourceAsStream(sourceClassFilename));
-            cr.accept(cv, 0);
-        }
-        catch (Exception e)
-        {
-            throw new RuntimeException(e);
-        }
-
-        return cw.toByteArray();
-    }
-    
-    private static void defineInvocationHandlerField(ClassWriter cw, Type delegateInvocationHandlerType)
-    {
-        // generates
-        // private MyInvocationHandler delegateInvocationHandler;
-        cw.visitField(Opcodes.ACC_PRIVATE, FIELDNAME_DELEGATE_INVOCATION_HANDLER,
-                delegateInvocationHandlerType.getDescriptor(), null, null).visitEnd();
-    }
-
-    private static void defineDefaultConstructor(ClassWriter cw, Type proxyType, Type superType)
-    {
-        GeneratorAdapter mg = new GeneratorAdapter(Opcodes.ACC_PUBLIC,
-                new Method("<init>", Type.VOID_TYPE, new Type[]{ }),
-                null,
-                null,
-                cw);
-
-        mg.visitCode();
-
-        // invoke super constructor
-        mg.loadThis();
-        mg.invokeConstructor(superType, Method.getMethod("void <init> ()"));
-        mg.returnValue();
-        mg.endMethod();
-
-        mg.visitEnd();
-    }
-    
-    private static void defineDelegateInvocationHandlerConstructor(ClassWriter cw, Type proxyType, Type superType,
-            Type delegateInvocationHandlerType)
-    {
-        GeneratorAdapter mg = new GeneratorAdapter(Opcodes.ACC_PUBLIC,
-                new Method("<init>", Type.VOID_TYPE, new Type[] { delegateInvocationHandlerType }),
-                null,
-                null,
-                cw);
-
-        mg.visitCode();
-
-        // invoke super constructor
-        mg.loadThis();
-        mg.invokeConstructor(superType, Method.getMethod("void <init> ()"));
-        
-        // set invocation handler
-        mg.loadThis();
-        mg.loadArg(0);
-        mg.putField(proxyType, FIELDNAME_DELEGATE_INVOCATION_HANDLER, delegateInvocationHandlerType);
-        
-        mg.returnValue();
-        mg.endMethod();
-
-        mg.visitEnd();
-    }
-
-    private static void defineDeltaSpikeProxyMethods(ClassWriter cw, Type proxyType, Type delegateInvocationHandlerType)
-    {
-        try
-        {
-            // implement #setDelegateInvocationHandler
-            Method asmMethod = Method.getMethod(DeltaSpikeProxy.class.getDeclaredMethod(
-                    "setDelegateInvocationHandler", InvocationHandler.class));
-            GeneratorAdapter mg = new GeneratorAdapter(Opcodes.ACC_PUBLIC, asmMethod, null, null, cw);
-
-            mg.visitCode();
-
-            mg.loadThis();
-            mg.loadArg(0);
-            mg.checkCast(delegateInvocationHandlerType);
-            mg.putField(proxyType, FIELDNAME_DELEGATE_INVOCATION_HANDLER, delegateInvocationHandlerType);
-            mg.returnValue();
-
-            mg.visitMaxs(2, 1);
-            mg.visitEnd();
-
-
-            // implement #getDelegateInvocationHandler
-            asmMethod = Method.getMethod(DeltaSpikeProxy.class.getDeclaredMethod("getDelegateInvocationHandler"));
-            mg = new GeneratorAdapter(Opcodes.ACC_PUBLIC, asmMethod, null, null, cw);
-
-            mg.visitCode();
-
-            mg.loadThis();
-            mg.getField(proxyType, FIELDNAME_DELEGATE_INVOCATION_HANDLER, delegateInvocationHandlerType);
-            mg.returnValue();
-
-            mg.visitMaxs(2, 1);
-            mg.visitEnd();
-        }
-        catch (NoSuchMethodException e)
-        {
-            throw new IllegalStateException("Unable to implement " + DeltaSpikeProxy.class.getName(), e);
-        }
-    }
-
-    private static void defineSuperAccessorMethod(ClassWriter cw, java.lang.reflect.Method method, Type superType,
-            String superAccessorMethodSuffix) 
-    {
-        Method originalAsmMethod = Method.getMethod(method);
-        Method newAsmMethod = new Method(method.getName() + superAccessorMethodSuffix,
-                originalAsmMethod.getReturnType(),
-                originalAsmMethod.getArgumentTypes());
-        GeneratorAdapter mg = new GeneratorAdapter(Opcodes.ACC_PUBLIC, newAsmMethod, null, null, cw);
-        
-        mg.visitCode();
-        
-        // call super method
-        mg.loadThis();
-        mg.loadArgs();
-        mg.visitMethodInsn(Opcodes.INVOKESPECIAL,
-                superType.getInternalName(),
-                method.getName(),
-                Type.getMethodDescriptor(method),
-                false);
-        mg.returnValue();
-        
-        // finish the method
-        mg.endMethod();
-        mg.visitMaxs(10, 10);
-        mg.visitEnd();
-    }
-    
-    private static void defineMethod(ClassWriter cw, java.lang.reflect.Method method,
-            Class manualInvocationHandlerClass)
-    {
-        Type methodType = Type.getType(method);
-        
-        ArrayList<Type> exceptionsToCatch = new ArrayList<Type>();
-        for (Class<?> exception : method.getExceptionTypes())
-        {
-            if (!RuntimeException.class.isAssignableFrom(exception))
-            {
-                exceptionsToCatch.add(Type.getType(exception));
-            }
-        }
-        
-        // push the method definition
-        int modifiers = (Opcodes.ACC_PUBLIC | Opcodes.ACC_PROTECTED) & method.getModifiers();
-        Method asmMethod = Method.getMethod(method);
-        GeneratorAdapter mg = new GeneratorAdapter(modifiers,
-                asmMethod,
-                null,
-                getTypes(method.getExceptionTypes()),
-                cw);
-
-        // copy annotations
-        for (Annotation annotation : method.getDeclaredAnnotations())
-        {
-            mg.visitAnnotation(Type.getDescriptor(annotation.annotationType()), true).visitEnd();
-        }
-
-        mg.visitCode();
-
-        Label tryBlockStart = mg.mark();
-
-        mg.loadThis();
-        loadCurrentMethod(mg, method, methodType);
-        loadArguments(mg, method, methodType);
-        
-        // invoke our ProxyInvocationHandler
-        mg.invokeStatic(Type.getType(manualInvocationHandlerClass),
-                Method.getMethod("Object staticInvoke(Object, java.lang.reflect.Method, Object[])"));
-
-        // cast the result
-        mg.unbox(methodType.getReturnType());
-
-        // build try catch
-        Label tryBlockEnd = mg.mark();
-        
-        // push return
-        mg.returnValue();
-
-        // catch runtime exceptions and rethrow it
-        Label rethrow = mg.mark();
-        mg.visitVarInsn(Opcodes.ASTORE, 1);
-        mg.visitVarInsn(Opcodes.ALOAD, 1);
-        mg.throwException();
-        mg.visitTryCatchBlock(tryBlockStart, tryBlockEnd, rethrow, Type.getInternalName(RuntimeException.class));
-
-        // catch checked exceptions and rethrow it
-        boolean throwableCatched = false;
-        if (!exceptionsToCatch.isEmpty())
-        {
-            rethrow = mg.mark();
-            mg.visitVarInsn(Opcodes.ASTORE, 1);
-            mg.visitVarInsn(Opcodes.ALOAD, 1);
-            mg.throwException();
-
-            // catch declared exceptions and rethrow it...
-            for (Type exceptionType : exceptionsToCatch)
-            {
-                if (exceptionType.getClassName().equals(Throwable.class.getName()))
-                {
-                    throwableCatched = true;
-                }
-                mg.visitTryCatchBlock(tryBlockStart, tryBlockEnd, rethrow, exceptionType.getInternalName());
-            }
-        }
-
-        // if throwable isn't alreached cachted, catch it and wrap it with an UndeclaredThrowableException and throw it
-        if (!throwableCatched)
-        {
-            Type uteType = Type.getType(UndeclaredThrowableException.class);
-            Label wrapAndRethrow = mg.mark();
-
-            mg.visitVarInsn(Opcodes.ASTORE, 1);
-            mg.newInstance(uteType);
-            mg.dup();
-            mg.visitVarInsn(Opcodes.ALOAD, 1);
-            mg.invokeConstructor(uteType,
-                    Method.getMethod("void <init>(java.lang.Throwable)"));
-            mg.throwException();
-
-            mg.visitTryCatchBlock(tryBlockStart, tryBlockEnd, wrapAndRethrow, Type.getInternalName(Throwable.class));
-        }
-
-        // finish the method
-        mg.endMethod();
-        mg.visitMaxs(10, 10);
-        mg.visitEnd();
-    }
-
-    /**
-     * Generates:
-     * <pre>
-     * Method method =
-     *      method.getDeclaringClass().getMethod("methodName", new Class[] { args... });
-     * </pre>
-     * @param mg
-     * @param method
-     * @param methodType
-     */
-    private static void loadCurrentMethod(GeneratorAdapter mg, java.lang.reflect.Method method, Type methodType)
-    {
-        mg.push(Type.getType(method.getDeclaringClass()));
-        mg.push(method.getName());
-
-        // create the Class[]
-        mg.push(methodType.getArgumentTypes().length);
-        mg.newArray(TYPE_CLASS);
-
-        // push parameters into array
-        for (int i = 0; i < methodType.getArgumentTypes().length; i++)
-        {
-            // keep copy of array on stack
-            mg.dup();
-
-            // push index onto stack
-            mg.push(i);
-            mg.push(methodType.getArgumentTypes()[i]);
-            mg.arrayStore(TYPE_CLASS);
-        }
-
-        // invoke getMethod() with the method name and the array of types
-        mg.invokeVirtual(TYPE_CLASS, Method.getMethod("java.lang.reflect.Method getDeclaredMethod(String, Class[])"));
-    }
-
-    /**
-     * Defines a new Object[] and push all method argmuments into the array.
-     *
-     * @param mg
-     * @param method
-     * @param methodType
-     */
-    private static void loadArguments(GeneratorAdapter mg, java.lang.reflect.Method method, Type methodType)
-    {
-        // create the Object[]
-        mg.push(methodType.getArgumentTypes().length);
-        mg.newArray(TYPE_OBJECT);
-
-        // push parameters into array
-        for (int i = 0; i < methodType.getArgumentTypes().length; i++)
-        {
-            // keep copy of array on stack
-            mg.dup();
-
-            // push index onto stack
-            mg.push(i);
-
-            mg.loadArg(i);
-            mg.valueOf(methodType.getArgumentTypes()[i]);
-            mg.arrayStore(TYPE_OBJECT);
-        }
-    }
-
-    private static Type[] getTypes(Class<?>... src)
-    {
-        Type[] result = new Type[src.length];
-        for (int i = 0; i < result.length; i++)
-        {
-            result[i] = Type.getType(src[i]);
-        }
-        return result;
-    }
-
-    /**
-     * Adapted from http://asm.ow2.org/doc/faq.html#Q5
-     *
-     * @param b
-     *
-     * @return Class<?>
-     */
-    private static Class<?> loadClass(ClassLoader loader, String className, byte[] b,
-            ProtectionDomain protectionDomain)
-    {
-        // override classDefine (as it is protected) and define the class.
-        try
-        {
-            java.lang.reflect.Method method = ClassLoader.class.getDeclaredMethod(
-                    "defineClass", String.class, byte[].class, int.class, int.class, ProtectionDomain.class);
-
-            // protected method invocation
-            boolean accessible = method.isAccessible();
-            if (!accessible)
-            {
-                method.setAccessible(true);
-            }
-            try
-            {
-                return (Class<?>) method.invoke(loader, className, b, Integer.valueOf(0), Integer.valueOf(b.length),
-                        protectionDomain);
-            }
-            finally
-            {
-                if (!accessible)
-                {
-                    method.setAccessible(false);
-                }
-            }
-        }
-        catch (Exception e)
-        {
-            throw e instanceof RuntimeException ? ((RuntimeException) e) : new RuntimeException(e);
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/deltaspike/blob/b4c2ed26/deltaspike/modules/proxy/impl-asm5/src/main/java/org/apache/deltaspike/proxy/impl/invocation/AbstractManualInvocationHandler.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/proxy/impl-asm5/src/main/java/org/apache/deltaspike/proxy/impl/invocation/AbstractManualInvocationHandler.java b/deltaspike/modules/proxy/impl-asm5/src/main/java/org/apache/deltaspike/proxy/impl/invocation/AbstractManualInvocationHandler.java
deleted file mode 100644
index 03fcbd2..0000000
--- a/deltaspike/modules/proxy/impl-asm5/src/main/java/org/apache/deltaspike/proxy/impl/invocation/AbstractManualInvocationHandler.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * 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.deltaspike.proxy.impl.invocation;
-
-import javax.enterprise.inject.spi.Interceptor;
-import javax.inject.Inject;
-import java.lang.reflect.InvocationHandler;
-import java.lang.reflect.Method;
-import java.util.List;
-
-public abstract class AbstractManualInvocationHandler implements InvocationHandler
-{
-    @Inject
-    private InterceptorLookup interceptorLookup;
-
-    @Override
-    public Object invoke(Object proxy, Method method, Object[] parameters) throws Throwable
-    {
-        // check if interceptors are defined, otherwise just call the original logik
-        List<Interceptor<?>> interceptors = interceptorLookup.lookup(proxy, method);
-        if (interceptors != null && !interceptors.isEmpty())
-        {
-            try
-            {
-                ManualInvocationContext invocationContext =
-                      new ManualInvocationContext(this, interceptors, proxy, method, parameters, null);
-
-                Object returnValue = invocationContext.proceed();
-
-                if (invocationContext.isProceedOriginal())
-                {
-                    return invocationContext.getProceedOriginalReturnValue();
-                }
-
-                return returnValue;
-            }
-            catch (ManualInvocationThrowableWrapperException e)
-            {
-                throw e.getCause();
-            }
-        }
-
-        return proceedOriginal(proxy, method, parameters);
-    }
-
-    /**
-     * Calls the original logic after invoking the interceptor chain.
-     *
-     * @param proxy The current proxy instance.
-     * @param method The current invoked method.
-     * @param parameters The method parameter.
-     * @return The original value from the original method.
-     * @throws Throwable
-     */
-    protected abstract Object proceedOriginal(Object proxy, Method method, Object[] parameters) throws Throwable;
-}

http://git-wip-us.apache.org/repos/asf/deltaspike/blob/b4c2ed26/deltaspike/modules/proxy/impl-asm5/src/main/java/org/apache/deltaspike/proxy/impl/invocation/DelegateManualInvocationHandler.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/proxy/impl-asm5/src/main/java/org/apache/deltaspike/proxy/impl/invocation/DelegateManualInvocationHandler.java b/deltaspike/modules/proxy/impl-asm5/src/main/java/org/apache/deltaspike/proxy/impl/invocation/DelegateManualInvocationHandler.java
deleted file mode 100644
index 91587ea..0000000
--- a/deltaspike/modules/proxy/impl-asm5/src/main/java/org/apache/deltaspike/proxy/impl/invocation/DelegateManualInvocationHandler.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * 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.deltaspike.proxy.impl.invocation;
-
-import org.apache.deltaspike.core.api.provider.BeanProvider;
-import org.apache.deltaspike.proxy.spi.DeltaSpikeProxy;
-
-import java.lang.reflect.InvocationHandler;
-import java.lang.reflect.Method;
-
-import javax.enterprise.context.ApplicationScoped;
-
-/**
- * {@link AbstractManualInvocationHandler} which delegates the method call to the defined {@link InvocationHandler}
- * in {@link DeltaSpikeProxy#getDelegateInvocationHandler()}.
- */
-@ApplicationScoped
-public class DelegateManualInvocationHandler extends AbstractManualInvocationHandler
-{
-    public static Object staticInvoke(Object proxy, Method method, Object[] parameters) throws Throwable
-    {
-        DelegateManualInvocationHandler handler = BeanProvider
-              .getContextualReference(DelegateManualInvocationHandler.class);
-        return handler.invoke(proxy, method, parameters);
-    }
-    
-    @Override
-    protected Object proceedOriginal(Object proxy, Method method, Object[] parameters) throws Throwable
-    {
-        InvocationHandler delegateInvocationHandler = ((DeltaSpikeProxy) proxy).getDelegateInvocationHandler();
-        return delegateInvocationHandler.invoke(proxy, method, parameters);
-    }
-}

http://git-wip-us.apache.org/repos/asf/deltaspike/blob/b4c2ed26/deltaspike/modules/proxy/impl-asm5/src/main/java/org/apache/deltaspike/proxy/impl/invocation/InterceptManualInvocationHandler.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/proxy/impl-asm5/src/main/java/org/apache/deltaspike/proxy/impl/invocation/InterceptManualInvocationHandler.java b/deltaspike/modules/proxy/impl-asm5/src/main/java/org/apache/deltaspike/proxy/impl/invocation/InterceptManualInvocationHandler.java
deleted file mode 100644
index 49caaef..0000000
--- a/deltaspike/modules/proxy/impl-asm5/src/main/java/org/apache/deltaspike/proxy/impl/invocation/InterceptManualInvocationHandler.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * 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.deltaspike.proxy.impl.invocation;
-
-import org.apache.deltaspike.core.api.provider.BeanProvider;
-import org.apache.deltaspike.proxy.api.DeltaSpikeProxyFactory;
-
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-
-import javax.enterprise.context.ApplicationScoped;
-
-/**
- * {@link AbstractManualInvocationHandler} which just delegates to the original method after invoking interceptors.
- */
-@ApplicationScoped
-public class InterceptManualInvocationHandler extends AbstractManualInvocationHandler
-{
-    public static Object staticInvoke(Object proxy, Method method, Object[] parameters) throws Throwable
-    {
-        InterceptManualInvocationHandler handler = BeanProvider
-              .getContextualReference(InterceptManualInvocationHandler.class);
-        return handler.invoke(proxy, method, parameters);
-    }
-    
-    @Override
-    protected Object proceedOriginal(Object proxy, Method method, Object[] parameters) throws Throwable
-    {
-        try
-        {
-            Method superAccessorMethod = DeltaSpikeProxyFactory.getSuperAccessorMethod(proxy, method);
-            return superAccessorMethod.invoke(proxy, parameters);
-        }
-        catch (InvocationTargetException e)
-        {
-            // rethrow original exception
-            throw e.getCause();
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/deltaspike/blob/b4c2ed26/deltaspike/modules/proxy/impl-asm5/src/main/java/org/apache/deltaspike/proxy/impl/invocation/InterceptorLookup.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/proxy/impl-asm5/src/main/java/org/apache/deltaspike/proxy/impl/invocation/InterceptorLookup.java b/deltaspike/modules/proxy/impl-asm5/src/main/java/org/apache/deltaspike/proxy/impl/invocation/InterceptorLookup.java
deleted file mode 100644
index 413ea45..0000000
--- a/deltaspike/modules/proxy/impl-asm5/src/main/java/org/apache/deltaspike/proxy/impl/invocation/InterceptorLookup.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * 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.deltaspike.proxy.impl.invocation;
-
-import java.lang.annotation.Annotation;
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import javax.enterprise.context.ApplicationScoped;
-import javax.enterprise.inject.spi.BeanManager;
-import javax.enterprise.inject.spi.InterceptionType;
-import javax.enterprise.inject.spi.Interceptor;
-import javax.interceptor.InterceptorBinding;
-import org.apache.deltaspike.core.api.provider.BeanManagerProvider;
-
-@ApplicationScoped
-public class InterceptorLookup
-{
-    private final Map<Method, List<Interceptor<?>>> cache = new HashMap<Method, List<Interceptor<?>>>();
-    
-    public List<Interceptor<?>> lookup(Object instance, Method method)
-    {
-        List<Interceptor<?>> interceptors = cache.get(method);
-        
-        if (interceptors == null)
-        {
-            interceptors = resolveInterceptors(instance, method);
-            cache.put(method, interceptors);
-        }
-        
-        return interceptors;
-    }
-    
-    protected List<Interceptor<?>> resolveInterceptors(Object instance, Method method)
-    {
-        BeanManager beanManager = BeanManagerProvider.getInstance().getBeanManager();
-        
-        Annotation[] interceptorBindings = extractInterceptorBindings(beanManager, instance, method);
-        if (interceptorBindings.length > 0)
-        {
-            return beanManager.resolveInterceptors(InterceptionType.AROUND_INVOKE, interceptorBindings);
-        }
-
-        return new ArrayList<Interceptor<?>>();
-    }
-
-    protected Annotation[] extractInterceptorBindings(BeanManager beanManager, Object instance, Method method)
-    {
-        ArrayList<Annotation> bindings = new ArrayList<Annotation>();
-
-        addInterceptorBindings(beanManager, bindings, instance.getClass().getDeclaredAnnotations());
-        addInterceptorBindings(beanManager, bindings, method.getDeclaredAnnotations());
-
-        return bindings.toArray(new Annotation[bindings.size()]);
-    }
-    
-    protected void addInterceptorBindings(BeanManager beanManager, ArrayList<Annotation> bindings,
-            Annotation[] declaredAnnotations)
-    {
-        for (Annotation annotation : declaredAnnotations)
-        {
-            if (bindings.contains(annotation))
-            {
-                continue;
-            }
-            
-            Class<? extends Annotation> annotationType = annotation.annotationType();
-            
-            if (annotationType.isAnnotationPresent(InterceptorBinding.class))
-            {
-                bindings.add(annotation);
-            }
-            
-            if (beanManager.isStereotype(annotationType))
-            {
-                for (Annotation subAnnotation : annotationType.getDeclaredAnnotations())
-                {                    
-                    if (bindings.contains(subAnnotation))
-                    {
-                        continue;
-                    }
-
-                    if (subAnnotation.annotationType().isAnnotationPresent(InterceptorBinding.class))
-                    {
-                        bindings.add(subAnnotation);
-                    }  
-                }
-            }
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/deltaspike/blob/b4c2ed26/deltaspike/modules/proxy/impl-asm5/src/main/java/org/apache/deltaspike/proxy/impl/invocation/ManualInvocationContext.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/proxy/impl-asm5/src/main/java/org/apache/deltaspike/proxy/impl/invocation/ManualInvocationContext.java b/deltaspike/modules/proxy/impl-asm5/src/main/java/org/apache/deltaspike/proxy/impl/invocation/ManualInvocationContext.java
deleted file mode 100644
index 2a4cf3b..0000000
--- a/deltaspike/modules/proxy/impl-asm5/src/main/java/org/apache/deltaspike/proxy/impl/invocation/ManualInvocationContext.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*
- * 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.deltaspike.proxy.impl.invocation;
-
-import java.lang.reflect.Method;
-import java.util.List;
-import javax.enterprise.context.spi.CreationalContext;
-import javax.enterprise.inject.Typed;
-import javax.enterprise.inject.spi.BeanManager;
-import javax.enterprise.inject.spi.InterceptionType;
-import javax.enterprise.inject.spi.Interceptor;
-
-import org.apache.deltaspike.core.api.provider.BeanManagerProvider;
-import org.apache.deltaspike.core.util.interceptor.AbstractInvocationContext;
-
-/**
- * {@link javax.interceptor.InvocationContext}
- * implementation to support manual interceptor invocation before invoking the
- * original logic via the given {@link AbstractManualInvocationHandler}.
- */
-@Typed
-public class ManualInvocationContext<T, H> extends AbstractInvocationContext<T>
-{
-    protected List<Interceptor<H>> interceptors;
-    protected int interceptorIndex;
-    protected AbstractManualInvocationHandler manualInvocationHandler;
-
-    protected BeanManager beanManager;
-
-    protected boolean proceedOriginal;
-    protected Object proceedOriginalReturnValue;
-
-    public ManualInvocationContext(AbstractManualInvocationHandler manualInvocationHandler,
-            List<Interceptor<H>> interceptors, T target, Method method, Object[] parameters, Object timer)
-    {
-        super(target, method, parameters, timer);
-
-        this.manualInvocationHandler = manualInvocationHandler;
-        this.interceptors = interceptors;
-
-        this.interceptorIndex = 0;
-    }
-
-    @Override
-    public Object proceed() throws Exception
-    {
-        if (proceedOriginal)
-        {
-            return null;
-        }
-
-        if (interceptors.size() > interceptorIndex)
-        {
-            Interceptor<H> interceptor = null;
-            CreationalContext<H> creationalContext = null;
-            H interceptorInstance = null;
-
-            try
-            {
-                // lazy init beanManager
-                if (beanManager == null)
-                {
-                    beanManager = BeanManagerProvider.getInstance().getBeanManager();
-                }
-
-                interceptor = interceptors.get(interceptorIndex++);
-                creationalContext = beanManager.createCreationalContext(interceptor);
-                interceptorInstance = interceptor.create(creationalContext);
-
-                return interceptor.intercept(InterceptionType.AROUND_INVOKE, interceptorInstance, this);
-            }
-            finally
-            {
-                if (creationalContext != null)
-                {
-                    if (interceptorInstance != null && interceptor != null)
-                    {
-                        interceptor.destroy(interceptorInstance, creationalContext);
-                    }
-
-                    creationalContext.release();
-                }
-            }
-        }
-
-
-        // workaround for OWB 1.1, otherwise we could just return the proceedOriginalReturnValue here
-        try
-        {
-            proceedOriginal = true;
-            proceedOriginalReturnValue = manualInvocationHandler.proceedOriginal(target, method, parameters);
-        }
-        catch (Exception e)
-        {
-            throw e;
-        }
-        catch (Throwable e)
-        {
-            // wrap the Throwable here as interceptors declared only "throws Exception"
-            throw new ManualInvocationThrowableWrapperException(e);
-        }
-
-        return null;
-    }
-
-    public boolean isProceedOriginal()
-    {
-        return proceedOriginal;
-    }
-
-    public Object getProceedOriginalReturnValue()
-    {
-        return proceedOriginalReturnValue;
-    }
-
-    public void setProceedOriginalReturnValue(Object proceedOriginalReturnValue)
-    {
-        this.proceedOriginalReturnValue = proceedOriginalReturnValue;
-    }
-}

http://git-wip-us.apache.org/repos/asf/deltaspike/blob/b4c2ed26/deltaspike/modules/proxy/impl-asm5/src/main/java/org/apache/deltaspike/proxy/impl/invocation/ManualInvocationThrowableWrapperException.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/proxy/impl-asm5/src/main/java/org/apache/deltaspike/proxy/impl/invocation/ManualInvocationThrowableWrapperException.java b/deltaspike/modules/proxy/impl-asm5/src/main/java/org/apache/deltaspike/proxy/impl/invocation/ManualInvocationThrowableWrapperException.java
deleted file mode 100644
index 2a14f44..0000000
--- a/deltaspike/modules/proxy/impl-asm5/src/main/java/org/apache/deltaspike/proxy/impl/invocation/ManualInvocationThrowableWrapperException.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * 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.deltaspike.proxy.impl.invocation;
-
-/**
- * Wrapper exception to wrap and pass trough the original {@link Throwable} because
- * the {@link javax.interceptor.InvocationContext#proceed()} method only declares "throws Exception".
- */
-public class ManualInvocationThrowableWrapperException extends Exception
-{
-    public ManualInvocationThrowableWrapperException(Throwable e)
-    {
-        super(e);
-    }
-}

http://git-wip-us.apache.org/repos/asf/deltaspike/blob/b4c2ed26/deltaspike/modules/proxy/impl-asm5/src/main/resources/META-INF/services/org.apache.deltaspike.proxy.spi.DeltaSpikeProxyClassGenerator
----------------------------------------------------------------------
diff --git a/deltaspike/modules/proxy/impl-asm5/src/main/resources/META-INF/services/org.apache.deltaspike.proxy.spi.DeltaSpikeProxyClassGenerator b/deltaspike/modules/proxy/impl-asm5/src/main/resources/META-INF/services/org.apache.deltaspike.proxy.spi.DeltaSpikeProxyClassGenerator
new file mode 100644
index 0000000..66d8960
--- /dev/null
+++ b/deltaspike/modules/proxy/impl-asm5/src/main/resources/META-INF/services/org.apache.deltaspike.proxy.spi.DeltaSpikeProxyClassGenerator
@@ -0,0 +1,96 @@
+#
+# 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.
+#
+
+#
+# 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.
+#
+
+#
+# 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.
+#
+
+#
+# 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.
+#
+
+#####################################################################################
+# 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.
+#####################################################################################
+
+org.apache.deltaspike.proxy.impl.AsmDeltaSpikeProxyClassGenerator
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/deltaspike/blob/b4c2ed26/deltaspike/modules/proxy/impl-asm5/src/main/resources/META-INF/services/org.apache.deltaspike.proxy.spi.ProxyClassGenerator
----------------------------------------------------------------------
diff --git a/deltaspike/modules/proxy/impl-asm5/src/main/resources/META-INF/services/org.apache.deltaspike.proxy.spi.ProxyClassGenerator b/deltaspike/modules/proxy/impl-asm5/src/main/resources/META-INF/services/org.apache.deltaspike.proxy.spi.ProxyClassGenerator
deleted file mode 100644
index 1b62002..0000000
--- a/deltaspike/modules/proxy/impl-asm5/src/main/resources/META-INF/services/org.apache.deltaspike.proxy.spi.ProxyClassGenerator
+++ /dev/null
@@ -1,96 +0,0 @@
-#
-# 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.
-#
-
-#
-# 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.
-#
-
-#
-# 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.
-#
-
-#
-# 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.
-#
-
-#####################################################################################
-# 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.
-#####################################################################################
-
-org.apache.deltaspike.proxy.impl.AsmProxyClassGenerator
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/deltaspike/blob/b4c2ed26/deltaspike/modules/proxy/impl-asm5/src/main/resources/OSGI-INF/AsmDeltaSpikeProxyClassGenerator.xml
----------------------------------------------------------------------
diff --git a/deltaspike/modules/proxy/impl-asm5/src/main/resources/OSGI-INF/AsmDeltaSpikeProxyClassGenerator.xml b/deltaspike/modules/proxy/impl-asm5/src/main/resources/OSGI-INF/AsmDeltaSpikeProxyClassGenerator.xml
new file mode 100644
index 0000000..8f5877c
--- /dev/null
+++ b/deltaspike/modules/proxy/impl-asm5/src/main/resources/OSGI-INF/AsmDeltaSpikeProxyClassGenerator.xml
@@ -0,0 +1,25 @@
+<?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.
+  -->
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="AsmDeltaSpikeProxyClassGenerator">
+   <implementation class="org.apache.deltaspike.proxy.impl.AsmDeltaSpikeProxyClassGenerator"/>
+   <service>
+      <provide interface="org.apache.deltaspike.proxy.spi.DeltaSpikeProxyClassGenerator"/>
+   </service>
+</scr:component>

http://git-wip-us.apache.org/repos/asf/deltaspike/blob/b4c2ed26/deltaspike/modules/proxy/impl-asm5/src/main/resources/OSGI-INF/AsmProxyClassGenerator.xml
----------------------------------------------------------------------
diff --git a/deltaspike/modules/proxy/impl-asm5/src/main/resources/OSGI-INF/AsmProxyClassGenerator.xml b/deltaspike/modules/proxy/impl-asm5/src/main/resources/OSGI-INF/AsmProxyClassGenerator.xml
deleted file mode 100644
index 6fad217..0000000
--- a/deltaspike/modules/proxy/impl-asm5/src/main/resources/OSGI-INF/AsmProxyClassGenerator.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?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.
-  -->
-<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="AsmProxyClassGenerator">
-   <implementation class="org.apache.deltaspike.proxy.impl.AsmProxyClassGenerator"/>
-   <service>
-      <provide interface="org.apache.deltaspike.proxy.spi.ProxyClassGenerator"/>
-   </service>
-</scr:component>

http://git-wip-us.apache.org/repos/asf/deltaspike/blob/b4c2ed26/deltaspike/modules/proxy/impl-asm5/src/test/java/org/apache/deltaspike/proxy/impl/AsmProxyClassGeneratorTest.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/proxy/impl-asm5/src/test/java/org/apache/deltaspike/proxy/impl/AsmProxyClassGeneratorTest.java b/deltaspike/modules/proxy/impl-asm5/src/test/java/org/apache/deltaspike/proxy/impl/AsmProxyClassGeneratorTest.java
index 7f45720..9ccfec2 100644
--- a/deltaspike/modules/proxy/impl-asm5/src/test/java/org/apache/deltaspike/proxy/impl/AsmProxyClassGeneratorTest.java
+++ b/deltaspike/modules/proxy/impl-asm5/src/test/java/org/apache/deltaspike/proxy/impl/AsmProxyClassGeneratorTest.java
@@ -30,7 +30,7 @@ public class AsmProxyClassGeneratorTest
     @BeforeClass
     public static void init()
     {
-        AsmProxyClassGenerator asmProxyClassGenerator = new AsmProxyClassGenerator();
+        AsmDeltaSpikeProxyClassGenerator asmProxyClassGenerator = new AsmDeltaSpikeProxyClassGenerator();
         proxyClass = asmProxyClassGenerator.generateProxyClass(TestClass.class.getClassLoader(),
                 TestClass.class,
                 "$Test",


Mime
View raw message