Method method = ASMHelper.class.getDeclaredMethod("getASMClass", null); method.setAccessible(true); Class asmClass = (Class) method.invoke(new ASMHelper(), null); System.out.println("ASM location: " + asmClass.getProtectionDomain().getCodeSource().getLocation().getPath()); List<URL> classpaths = Arrays.asList(((URLClassLoader)asmClass.getClassLoader()).getURLs()); System.out.println("Classpath of classloader: " + classpaths);
private static synchronized Object createNamespaceWrapper(Map<String, String> map) { ASMHelper helper = new ASMHelper(); String className = "org.apache.cxf.jaxb.NamespaceMapperInternal"; Class<?> cls = helper.findClass(className, JAXBUtils.class); if (cls == null) { ClassWriter cw = helper.createClassWriter(); if (cw == null) { return null; } cls = createNamespaceWrapperInternal(helper, cw); } try { return cls.getConstructor(Map.class).newInstance(map); } catch (Exception e) { return null; } } private static Class<?> createNamespaceWrapperInternal(ASMHelper helper, ClassWriter cw) {
postFix = "RI"; ASMHelper helper = new ASMHelper(); String className = "org.apache.cxf.jaxb.NamespaceMapper"; className += postFix;
postFix = "RI"; ASMHelper helper = new ASMHelper(); String className = "org.apache.cxf.jaxb.NamespaceMapper"; className += postFix;
postFix = "RI"; ASMHelper helper = new ASMHelper(); String className = "org.apache.cxf.jaxb.NamespaceMapper"; className += postFix;
postFix = "RI"; ASMHelper helper = new ASMHelper(); String className = "org.apache.cxf.jaxb.NamespaceMapper"; className += postFix;
@SuppressWarnings("unused") private Object createFactory(Class<?> cls, Constructor<?> contructor) { String newClassName = cls.getName() + "Factory"; ASMHelper helper = new ASMHelper(); ClassWriter cw = helper.createClassWriter(); MethodVisitor mv;
private static synchronized void createFixedAnyConstructor() { if (fixedAnyConstructor != null) { return; } ASMHelper helper = new ASMHelper(); ClassWriter cw = helper.createClassWriter(); FieldVisitor fv; cw.visit(Opcodes.V1_6, Opcodes.ACC_PUBLIC + Opcodes.ACC_SUPER, "org/apache/cxf/binding/corba/utils/FixedAnyImpl", null, "com/sun/corba/se/impl/corba/AnyImpl", null); cw.visitSource("FixedAnyImpl.java", null); fv = cw.visitField(0, "obj", "Lorg/omg/CORBA/portable/Streamable;", null, null); fv.visitEnd(); addFixedAnyConstructor(helper, cw); addInsertOverride(helper, cw); addExtractOverride(helper, cw); addWriteOverride(helper, cw); addReadOverride(helper, cw); cw.visitEnd(); byte[] b = cw.toByteArray(); Class<?> c = helper.loadClass("org.apache.cxf.binding.corba.utils.FixedAnyImpl", CorbaAnyHelper.class, b); try { fixedAnyConstructor = c.getConstructor(ORB.class, Any.class); } catch (Exception e) { //shouldn't happen since we generated that constructor } }
assertEquals(1, ints[0]); if (new ASMHelper().createClassWriter() != null) {
private static Object createEclipseNamespaceMapper(Class<?> mcls, Map<String, String> map) { ASMHelper helper = new ASMHelper(); String className = "org.apache.cxf.jaxb.EclipseNamespaceMapper"; String slashedName = "org/apache/cxf/jaxb/EclipseNamespaceMapper";
private static Class<?> createExtensionClass(Class<?> cls, QName qname, ClassLoader loader) { ASMHelper helper = new ASMHelper(); Class<?> extClass = helper.findClass(className + "Extensibility", loader); if (extClass != null) {
private static Object createEclipseNamespaceMapper(Class<?> mcls, Map<String, String> map) { ASMHelper helper = new ASMHelper(); String className = "org.apache.cxf.jaxb.EclipseNamespaceMapper"; String slashedName = "org/apache/cxf/jaxb/EclipseNamespaceMapper";
private static Object createEclipseNamespaceMapper(Class<?> mcls, Map<String, String> map) { ASMHelper helper = new ASMHelper(); String className = "org.apache.cxf.jaxb.EclipseNamespaceMapper"; String slashedName = "org/apache/cxf/jaxb/EclipseNamespaceMapper";
private static Object createEclipseNamespaceMapper(Class<?> mcls, Map<String, String> map) { ASMHelper helper = new ASMHelper(); String className = "org.apache.cxf.jaxb.EclipseNamespaceMapper"; String slashedName = "org/apache/cxf/jaxb/EclipseNamespaceMapper";