[jboss-svn-commits] JBL Code SVN: r30409 - 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
Tue Dec 1 06:56:20 EST 2009


Author: kevin.conner at jboss.com
Date: 2009-12-01 06:56:20 -0500 (Tue, 01 Dec 2009)
New Revision: 30409

Added:
   labs/jbossesb/branches/JBESB_4_7_CP/product/rosetta/aop/java/org/jboss/internal/soa/esb/services/registry/aspect/JUDDINotificationListAspect.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:
Disable juddi NotificationList vector: JBESB-3005

Added: labs/jbossesb/branches/JBESB_4_7_CP/product/rosetta/aop/java/org/jboss/internal/soa/esb/services/registry/aspect/JUDDINotificationListAspect.java
===================================================================
--- labs/jbossesb/branches/JBESB_4_7_CP/product/rosetta/aop/java/org/jboss/internal/soa/esb/services/registry/aspect/JUDDINotificationListAspect.java	                        (rev 0)
+++ labs/jbossesb/branches/JBESB_4_7_CP/product/rosetta/aop/java/org/jboss/internal/soa/esb/services/registry/aspect/JUDDINotificationListAspect.java	2009-12-01 11:56:20 UTC (rev 30409)
@@ -0,0 +1,49 @@
+/*
+ * 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 java.util.Vector;
+
+import org.jboss.aop.joinpoint.ConstructorCalledByMethodInvocation;
+
+/**
+ * Aspect used to allow us to override the vector creation in NotificationList.
+ * 
+ * @author <a href='mailto:kevin.conner at redhat.com'>Kevin Conner</a>
+ */
+public class JUDDINotificationListAspect
+{
+    public Object getVector(final ConstructorCalledByMethodInvocation invocation)
+        throws Throwable
+    {
+        return new UnmodifiableVector<Object>() ;
+    }
+    
+    private static final class UnmodifiableVector<E> extends Vector<E>
+    {
+        private static final long serialVersionUID = 2015581580631950877L;
+        
+        public void insertElementAt(E obj, int index) {};
+        public void addElement(E obj) {};
+        public boolean add(E o) {return false ;};
+    }
+}


Property changes on: labs/jbossesb/branches/JBESB_4_7_CP/product/rosetta/aop/java/org/jboss/internal/soa/esb/services/registry/aspect/JUDDINotificationListAspect.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-01 10:34:30 UTC (rev 30408)
+++ labs/jbossesb/branches/JBESB_4_7_CP/product/rosetta/aop/resources/META-INF/jboss-aop.xml	2009-12-01 11:56:20 UTC (rev 30409)
@@ -4,6 +4,7 @@
    <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"/>
    <aspect class="org.jboss.internal.soa.esb.services.registry.aspect.JUDDIClientConfigAspect" scope="PER_VM"/>
+   <aspect class="org.jboss.internal.soa.esb.services.registry.aspect.JUDDINotificationListAspect" scope="PER_VM"/>
    <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"/>
  
@@ -23,6 +24,10 @@
         <advice name="getConfiguration" aspect="org.jboss.internal.soa.esb.services.registry.aspect.JUDDIClientConfigAspect"/>
    </bind>
 
+   <bind pointcut="withincode(* org.apache.juddi.subscription.NotificationList->getInstance(..)) AND call(java.util.Vector->new(..))">
+        <advice name="getVector" aspect="org.jboss.internal.soa.esb.services.registry.aspect.JUDDINotificationListAspect"/>
+   </bind>
+
    <bind pointcut="withincode(* org.apache.juddi.config.AppConfig->loadConfiguration(..)) AND call(org.apache.commons.configuration.PropertiesConfiguration->new(..))">
         <advice name="getConfiguration" aspect="org.jboss.internal.soa.esb.services.registry.aspect.JUDDIServerConfigAspect"/>
    </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-01 10:34:30 UTC (rev 30408)
+++ labs/jbossesb/branches/JBESB_4_7_CP/product/rosetta/build.xml	2009-12-01 11:56:20 UTC (rev 30409)
@@ -273,6 +273,7 @@
             <classpath path="${org.jboss.esb.rosetta.aopc.juddi.core.classes.dir}"/>
             <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"/>
             <aoppath path="aop/resources/META-INF/jboss-aop.xml"/>
             <aopclasspath path="${org.jboss.esb.rosetta.aop.classes.dir}"/>
         </aopc>



More information about the jboss-svn-commits mailing list