[jboss-svn-commits] JBL Code SVN: r30491 - in labs/jbossesb/branches/JBESB_4_7_CP/product/rosetta: aop/java/org/jboss/internal/soa/esb/services/registry/aspect and 1 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Sun Dec 6 01:31:58 EST 2009


Author: kevin.conner at jboss.com
Date: 2009-12-06 01:31:58 -0500 (Sun, 06 Dec 2009)
New Revision: 30491

Added:
   labs/jbossesb/branches/JBESB_4_7_CP/product/rosetta/aop/java/org/jboss/internal/soa/esb/services/registry/aspect/JUDDIAuthenticatorFactoryAspect.java
Modified:
   labs/jbossesb/branches/JBESB_4_7_CP/product/rosetta/aop/resources/META-INF/jboss-aop.xml
   labs/jbossesb/branches/JBESB_4_7_CP/product/rosetta/build.xml
Log:
Fix juddi AuthenticatorFactory class loading: JBESB-3024

Added: labs/jbossesb/branches/JBESB_4_7_CP/product/rosetta/aop/java/org/jboss/internal/soa/esb/services/registry/aspect/JUDDIAuthenticatorFactoryAspect.java
===================================================================
--- labs/jbossesb/branches/JBESB_4_7_CP/product/rosetta/aop/java/org/jboss/internal/soa/esb/services/registry/aspect/JUDDIAuthenticatorFactoryAspect.java	                        (rev 0)
+++ labs/jbossesb/branches/JBESB_4_7_CP/product/rosetta/aop/java/org/jboss/internal/soa/esb/services/registry/aspect/JUDDIAuthenticatorFactoryAspect.java	2009-12-06 06:31:58 UTC (rev 30491)
@@ -0,0 +1,41 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.internal.soa.esb.services.registry.aspect;
+
+import org.jboss.aop.joinpoint.MethodCalledByMethodInvocation;
+import org.jboss.soa.esb.util.ClassUtil;
+
+/**
+ * Aspect used to override class loading within AuthenticatorFactory
+ * 
+ * @author <a href='mailto:kevin.conner at jboss.com'>Kevin Conner</a>
+ */
+public class JUDDIAuthenticatorFactoryAspect
+{
+    public Object loadClass(final MethodCalledByMethodInvocation invocation)
+        throws Throwable
+    {
+        final Object[] args = invocation.getArguments() ;
+        final String className = (String)args[0] ;
+        return ClassUtil.forName(className, getClass()) ;
+    }
+}


Property changes on: labs/jbossesb/branches/JBESB_4_7_CP/product/rosetta/aop/java/org/jboss/internal/soa/esb/services/registry/aspect/JUDDIAuthenticatorFactoryAspect.java
___________________________________________________________________
Name: svn:keywords
   + Rev Date
Name: svn:eol-style
   + native

Modified: labs/jbossesb/branches/JBESB_4_7_CP/product/rosetta/aop/resources/META-INF/jboss-aop.xml
===================================================================
--- labs/jbossesb/branches/JBESB_4_7_CP/product/rosetta/aop/resources/META-INF/jboss-aop.xml	2009-12-06 04:44:08 UTC (rev 30490)
+++ labs/jbossesb/branches/JBESB_4_7_CP/product/rosetta/aop/resources/META-INF/jboss-aop.xml	2009-12-06 06:31:58 UTC (rev 30491)
@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <aop xmlns="urn:jboss:aop-beans:1.0">
+   <aspect class="org.jboss.internal.soa.esb.services.registry.aspect.JUDDIAuthenticatorFactoryAspect" scope="PER_VM"/>  
    <aspect class="org.jboss.internal.soa.esb.services.registry.aspect.JUDDIClientInquiryAspect" scope="PER_VM"/>  
    <aspect class="org.jboss.internal.soa.esb.services.registry.aspect.JUDDIClientPublicationAspect" scope="PER_VM"/>
    <aspect class="org.jboss.internal.soa.esb.services.registry.aspect.JUDDIClientSecurityAspect" scope="PER_VM"/>
@@ -8,6 +9,10 @@
    <aspect class="org.jboss.internal.soa.esb.services.registry.aspect.JUDDIServerConfigAspect" scope="PER_VM"/>
    <aspect class="org.jboss.internal.soa.esb.services.registry.aspect.JUDDIScoutAspect" scope="PER_VM"/>
  
+   <bind pointcut="withincode(* org.apache.juddi.v3.auth.AuthenticatorFactory->createAuthenticator()) AND call(* org.apache.log4j.helpers.Loader->loadClass(java.lang.String))">
+        <advice name="loadClass" aspect="org.jboss.internal.soa.esb.services.registry.aspect.JUDDIAuthenticatorFactoryAspect"/>  
+   </bind>
+
    <bind pointcut="execution(* org.apache.juddi.v3.client.transport.wrapper.UDDIInquiryService->inquire(org.w3c.dom.Element))">
 	<advice name="inquire" aspect="org.jboss.internal.soa.esb.services.registry.aspect.JUDDIClientInquiryAspect"/>
    </bind>

Modified: labs/jbossesb/branches/JBESB_4_7_CP/product/rosetta/build.xml
===================================================================
--- labs/jbossesb/branches/JBESB_4_7_CP/product/rosetta/build.xml	2009-12-06 04:44:08 UTC (rev 30490)
+++ labs/jbossesb/branches/JBESB_4_7_CP/product/rosetta/build.xml	2009-12-06 06:31:58 UTC (rev 30491)
@@ -274,6 +274,7 @@
             <src path="${org.jboss.esb.rosetta.aopc.juddi.core.classes.dir}"/>
             <include name="org/apache/juddi/config/AppConfig.class"/>
             <include name="org/apache/juddi/subscription/NotificationList.class"/>
+            <include name="org/apache/juddi/v3/auth/AuthenticatorFactory.class"/>
             <aoppath path="aop/resources/META-INF/jboss-aop.xml"/>
             <aopclasspath path="${org.jboss.esb.rosetta.aop.classes.dir}"/>
         </aopc>
@@ -299,8 +300,12 @@
 
     <target name="aop-compile">
         <javac srcdir="aop/java" destdir="${org.jboss.esb.rosetta.aop.classes.dir}"
-            debug="${org.jboss.esb.debug}" optimize="${org.jboss.esb.optimize}"
-            classpathref="org.jboss.esb.rosetta.base.classpath"/>
+            debug="${org.jboss.esb.debug}" optimize="${org.jboss.esb.optimize}">
+            <classpath>
+                <path refid="org.jboss.esb.rosetta.base.classpath"/>
+                <pathelement location="${org.jboss.esb.rosetta.classes.dir}"/>
+            </classpath>
+        </javac>
     </target>
 
     <target name="war">



More information about the jboss-svn-commits mailing list