[Design of the JBoss EJB Container] - Patch to replace gjt-jpl packages
by csaldanh
JBAS-4148.
I have made a patch in order to get rid of the gjt-jpl-util and gjt-util-pattern packages.
Bellow is the patch that I recommend:
diff -Naur trunk/build/build-distr.xml trunk_JBAS-4148/build/build-distr.xml
--- trunk/build/build-distr.xml 2007-12-06 16:05:21.000000000 -0500
+++ trunk_JBAS-4148/build/build-distr.xml 2007-12-06 16:14:27.000000000 -0500
@@ -515,9 +515,6 @@
-
-
-
diff -Naur trunk/build/build-thirdparty.xml trunk_JBAS-4148/build/build-thirdparty.xml
--- trunk/build/build-thirdparty.xml 2007-12-06 16:05:21.000000000 -0500
+++ trunk_JBAS-4148/build/build-thirdparty.xml 2007-12-06 16:15:01.000000000 -0500
@@ -72,7 +72,6 @@
-
diff -Naur trunk/server/build.xml trunk_JBAS-4148/server/build.xml
--- trunk/server/build.xml 2007-12-06 15:56:04.000000000 -0500
+++ trunk_JBAS-4148/server/build.xml 2007-12-06 16:15:13.000000000 -0500
@@ -79,7 +79,6 @@
-
diff -Naur trunk/server/src/main/org/jboss/verifier/event/EventGeneratorSupport.java trunk_JBAS-4148/server/src/main/org/jboss/verifier/event/EventGeneratorSupport.java
--- trunk/server/src/main/org/jboss/verifier/event/EventGeneratorSupport.java 1969-12-31 19:00:00.000000000 -0500
+++ trunk_JBAS-4148/server/src/main/org/jboss/verifier/event/EventGeneratorSupport.java 2007-12-06 16:16:36.000000000 -0500
@@ -0,0 +1,278 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file 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.gjt.lindfors.util; Taken from Juha Lindfors implementation as stated in
+package org.jboss.verifier.event;
+
+/*
+ * Class org.jboss.verifier.event.EventGeneratorSupport (refer Class org.gjt.lindfors.util.EventGeneratorSupport at gjt.org)
+ * Copyright (C) 1999 Juha Lindfors
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library 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
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * This package and its source code is available at www.gjt.org
+ * $Id: EventGeneratorSupport.java,v 1.4 2007/12/06 11:31:15 csaldanh(a)redhat.com Exp $
+ *
+ * You can reach the author by sending email to jpl(a)gjt.org or
+ * directly to jplindfo(a)helsinki.fi.
+ */
+
+// standard imports
+import java.util.*;
+import java.awt.*;
+import java.io.*;
+
+// dependencies to non-standard packages and classes
+
+
+
+/**
+ * Support class for objects implementing the
+ * {@link org.gjt.lindfors.util.EventGenerator EventGenerator} interface.
+ * Contains implementations for addListener, removeListener, and hasListeners.
+ *
+ *
+ *
+ * Every effort has been made to try to achieve thread-safety in
+ * EventGeneratorSupport class. Of course, this doesn't mean
+ * nasty race conditions and dead locks don't exist. I'm just
+ * not aware of them :)
+ *
+ *
+ *
+ * For more detailed documentation, refer to the
+ *
+ *
+ * Util Library Tutorial
+ *
+ * and
+ *
+ *
+ *
+ * Util Library Specifications
+ *
+ * . See Also:
+ *
+ *
+ *
+ * The Event Generator Idiom
+ *
+ * by Bill Venners.
+ *
+ *
+ * @see org.gjt.lindfors.util.EventGenerator
+ *
+ * @author Juha Lindfors
+ * @version $Revision: 1.4 $
+ * @since JDK1.1
+ */
+public abstract class EventGeneratorSupport implements Serializable, Cloneable{
+
+ /*
+ * [TODO] Implement different algorithms for listener notification. Use the
+ * one implemented in this class as default, and implement high
+ * performance notifications. Use strategy pattern to allow any
+ * number of algorithms to be added.
+ *
+ * [TODO] write performance tests to compare the implementations
+ *
+ * [TODO] Could use Doug Lea's latch implementation here. Prettier than
+ * using a mutex :P
+ *
+ * [TODO] The use of this class could be used as an example of bridge.
+ * Also, the concrete implementations usually act as adapters (not
+ * allowing just any listener to be added, but a specific type).
+ * Can subclassing be used as an adapter pattern?
+ */
+
+ /**
+ * Vector for storing the registered listeners. Vector will use lazy
+ * instantiation and will be constructed only upon request. To ensure
+ * proper behaviour in a multi-threaded environment, use the private
+ * getListInstance method any time you need a reference to this vector.
+ */
+ private transient Vector list = null;
+
+ /**
+ * Clone of listener list. This clone is used as a snapshot of the listener
+ * list. The clone is updated every time a listener is either registered
+ * or unregistered. This way we can avoid cloning the listener list for
+ * the getListeners method call which is usually called by the event
+ * firing methods. Since we don't have to clone the listener list for every
+ * event notification, we gain a significantly better performance.
+ */
+ private transient Vector clone = null;
+
+ /**
+ * Mutex lock for instantiating the listener collection.
+ */
+ private transient final boolean[] MUTEX = new boolean[0];
+
+
+ /**
+ * Always use this method to get a reference to listener collection.
+ * This guarantees thread safety.
+ */
+ private Vector getListInstance() {
+ synchronized (MUTEX) {
+ if (list == null) {
+ list = new Vector();
+ clone = (Vector)list.clone();
+ }
+ }
+ return list;
+ }
+
+ /**
+ * Constructs support object.
+ */
+ public EventGeneratorSupport() {}
+
+
+ /**
+ * Checks if any registered listeners exist.
+ *
+ * @return true if one or more listeners exist, false otherwise
+ */
+ public boolean hasListeners() {
+ if (list == null) // lazy list, not instantiated
+ return false;
+
+ if (list.size() == 0) // instantiated but empty
+ return false;
+
+ return true;
+ }
+
+
+ /**
+ * Returns the listeners registered to this object.
+ *
+ * @return enumeration of registered listener objects
+ */
+ protected Enumeration getListeners() {
+ if (list == null)
+ return new Enumeration() {
+
+ public boolean hasMoreElements() {
+ return false;
+ }
+
+ public Object nextElement() {
+ return null;
+ }
+ };
+
+ Vector v = (Vector)list.clone();
+ return v.elements();
+ }
+
+ /**
+ * Registers a new listener to this object. Duplicate listeners are
+ * discarded.
+ *
+ *
+ *
+ * This method is marked as protected and is supposed to be used only by
+ * the concrete implementations of generator support classes. The concrete
+ * subclasses must ensure only the correct type of listeners are allowed
+ * to register, as this method allows any listener to be added, therefore
+ * not being type safe.
+ *
+ * @param listener the listener object
+ */
+ protected void addListener(EventListener listener) {
+ synchronized (MUTEX) {
+ Vector v = getListInstance();
+ if (!v.contains(listener))
+ v.addElement(listener);
+ }
+ }
+
+ /**
+ * Unregisters a listener from this object. It is safe to attempt to
+ * unregister non-existant listeners.
+ *
+ * @param listener the listener object
+ */
+ protected void removeListener(EventListener listener) {
+ if (list != null) {
+ list.removeElement(listener);
+ }
+ }
+
+ /**
+ * Returns a string representation of this EventGeneratorSupport object.
+ *
+ *
+ *
+ * The output will be similar to the following form:
+ *
+ * EventGeneratorSupport[Registered Listeners=1]
+ *
+ */
+ public String toString() {
+ int count;
+
+ // don't want to instantiate listener just to tell it has zero elements
+ if (list == null)
+ count = 0;
+ else count = getListInstance().size();
+
+ return Library.getClassName(this) + "[Registered Listeners=" + count + "]";
+ }
+
+ /**
+ * [PENDING]
+ */
+ public Component toComponent() {
+ // [FIXME] this exception class has disappeared!
+ //throw new UnsupportedOperationException("not implemented yet.");
+ return null;
+ }
+
+ /**
+ * [PENDING]
+ */
+ public Object clone() {
+ // [FIXME] this exception class has disappeared!
+ //throw new UnsupportedOperationException("not implemented yet.");
+ return null;
+ }
+
+}
+
+
diff -Naur trunk/server/src/main/org/jboss/verifier/event/Library.java trunk_JBAS-4148/server/src/main/org/jboss/verifier/event/Library.java
--- trunk/server/src/main/org/jboss/verifier/event/Library.java 1969-12-31 19:00:00.000000000 -0500
+++ trunk_JBAS-4148/server/src/main/org/jboss/verifier/event/Library.java 2007-12-06 16:16:45.000000000 -0500
@@ -0,0 +1,85 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file 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.verifier.event;
+
+/*
+ * Class org.jboss.verifier.event.Library (refer Class org.gjt.lindfors.util.Library at www.gjt.org)
+ * Copyright (C) 1999 Juha Lindfors
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library 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
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * This package and its source code is available at www.jboss.org
+ * $Id: Library.java 3217 2007-12-06 11:28:57Z csaldanh(a)redhat.com $
+ *
+ * You can reach the author by sending email to jpl(a)gjt.org or
+ * directly to jplindfo(a)helsinki.fi.
+ */
+
+
+/**
+ * Collection of miscellaneous utility methods.
+ *
+ * For more detailed documentation, refer to the
+ *
+ * Util Library Developer's Guide
+ *
+ * @author Juha Lindfors
+ * @version $Revision: 1.1 $
+ * @since JDK1.1
+ */
+public class Library {
+
+ private Library() {}
+
+ /**
+ * Returns the class name of an object. This method returns only the
+ * name of the class, not a fully qualified class name with package
+ * information. For fully qualified class name, use
+ * getClass().getName().
+ *
+ * @param obj object whose class name is wanted
+ *
+ * @return object's class name, without package information
+ *
+ * @see java.lang.Object#getClass()
+ */
+ public static String getClassName(Object obj) {
+ String str = obj.getClass().getName();
+ int index = str.lastIndexOf('.');
+ return str.substring(index+1);
+ }
+}
+
diff -Naur trunk/server/src/main/org/jboss/verifier/event/VerificationEventGenerator.java trunk_JBAS-4148/server/src/main/org/jboss/verifier/event/VerificationEventGenerator.java
--- trunk/server/src/main/org/jboss/verifier/event/VerificationEventGenerator.java 2007-12-06 15:55:50.000000000 -0500
+++ trunk_JBAS-4148/server/src/main/org/jboss/verifier/event/VerificationEventGenerator.java 2007-12-06 16:17:36.000000000 -0500
@@ -1,24 +1,24 @@
/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file 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.verifier.event;
/*
@@ -40,15 +40,13 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* This package and its source code is available at www.jboss.org
- * $Id: VerificationEventGenerator.java 37459 2005-10-30 00:04:02Z starksm $
+ * $Id: VerificationEventGenerator.java 57209 2006-09-26 12:21:57Z dimitris(a)jboss.org $
*
* You can reach the author by sending email to jplindfo(a)helsinki.fi.
*/
-// non-standard class dependencies
-import org.gjt.lindfors.util.EventGenerator;
/**
@@ -60,10 +58,10 @@
* @see << OTHER RELATED CLASSES >>
*
* @author Juha Lindfors
- * @version $Revision: 37459 $
+ * @version $Revision: 57209 $
* @since JDK 1.3
*/
-public interface VerificationEventGenerator extends EventGenerator {
+public interface VerificationEventGenerator {
abstract void addVerificationListener(VerificationListener listener);
abstract void removeVerificationListener(VerificationListener listener);
diff -Naur trunk/server/src/main/org/jboss/verifier/event/VerificationEventGeneratorSupport.java trunk_JBAS-4148/server/src/main/org/jboss/verifier/event/VerificationEventGeneratorSupport.java
--- trunk/server/src/main/org/jboss/verifier/event/VerificationEventGeneratorSupport.java 2007-12-06 15:55:50.000000000 -0500
+++ trunk_JBAS-4148/server/src/main/org/jboss/verifier/event/VerificationEventGeneratorSupport.java 2007-12-06 16:17:47.000000000 -0500
@@ -1,24 +1,24 @@
/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file 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.verifier.event;
/*
@@ -40,7 +40,7 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* This package and its source code is available at www.jboss.org
- * $Id: VerificationEventGeneratorSupport.java 37459 2005-10-30 00:04:02Z starksm $
+ * $Id: VerificationEventGeneratorSupport.java 57209 2006-09-26 12:21:57Z dimitris(a)jboss.org $
*
* You can reach the author by sending email to jplindfo(a)helsinki.fi.
*/
@@ -51,7 +51,12 @@
// non-standard class dependencies
-import org.gjt.lindfors.util.EventGeneratorSupport;
+/*
+ * import org.gjt.lindfors.util.EventGeneratorSupport; to org.jboss.verifier.event.EventGeneratorSupport;
+ * Trying to replace gjt-util, hence adding EventGeneratorSupport.java to this package
+ * which is taken from Juha Lindfors implementation found at the following reference:
+ * Refer org.gjt.lindfors.util.EventGeneratorSupport at www.gjt.org
+ */
import org.jboss.verifier.strategy.VerificationContext;
@@ -64,7 +69,7 @@
* @see << OTHER RELATED CLASSES >>
*
* @author Juha Lindfors
- * @version $Revision: 37459 $
+ * @version $Revision: 57209 $
* @since JDK 1.3
*/
public class VerificationEventGeneratorSupport extends EventGeneratorSupport {
diff -Naur trunk/server/src/main/org/jboss/verifier/factory/VerificationEventFactory.java trunk_JBAS-4148/server/src/main/org/jboss/verifier/factory/VerificationEventFactory.java
--- trunk/server/src/main/org/jboss/verifier/factory/VerificationEventFactory.java 2007-12-06 15:55:52.000000000 -0500
+++ trunk_JBAS-4148/server/src/main/org/jboss/verifier/factory/VerificationEventFactory.java 2007-12-06 16:18:42.000000000 -0500
@@ -1,24 +1,24 @@
/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file 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.verifier.factory;
/*
@@ -40,14 +40,13 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* This package and its source code is available at www.jboss.org
- * $Id: VerificationEventFactory.java 37459 2005-10-30 00:04:02Z starksm $
+ * $Id: VerificationEventFactory.java 57209 2006-09-26 12:21:57Z dimitris(a)jboss.org $
*/
// standard imports
// non-standard class dependencies
-import org.gjt.lindfors.pattern.AbstractFactory;
import org.jboss.verifier.Section;
import org.jboss.verifier.event.VerificationEventGenerator;
@@ -63,10 +62,10 @@
* @see << OTHER RELATED CLASSES >>
*
* @author Juha Lindfors
- * @version $Revision: 37459 $
+ * @version $Revision: 57209 $
* @since JDK 1.3
*/
-public interface VerificationEventFactory extends AbstractFactory {
+public interface VerificationEventFactory {
VerificationEvent createSpecViolationEvent(
VerificationEventGenerator source,
diff -Naur trunk/server/src/main/org/jboss/verifier/strategy/AbstractVerifier.java trunk_JBAS-4148/server/src/main/org/jboss/verifier/strategy/AbstractVerifier.java
--- trunk/server/src/main/org/jboss/verifier/strategy/AbstractVerifier.java 2007-12-06 15:55:52.000000000 -0500
+++ trunk_JBAS-4148/server/src/main/org/jboss/verifier/strategy/AbstractVerifier.java 2007-12-06 16:19:13.000000000 -0500
@@ -1,29 +1,28 @@
/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file 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.verifier.strategy;
// standard imports
-import org.gjt.lindfors.pattern.StrategyContext;
import org.jboss.logging.Logger;
import org.jboss.metadata.BeanMetaData;
import org.jboss.metadata.EntityMetaData;
@@ -63,7 +62,7 @@
* @author Jay Walters
* @author Scott.Stark(a)jboss.org
*
- * @version $Revision: 45238 $
+ * @version $Revision: 57209 $
* @since JDK 1.3
*/
public abstract class AbstractVerifier
@@ -1165,7 +1164,7 @@
*
* @return the client object using this algorithm implementation
*/
- public StrategyContext getContext()
+ public VerificationContext getContext()
{
return context;
}
diff -Naur trunk/server/src/main/org/jboss/verifier/strategy/VerificationContext.java trunk_JBAS-4148/server/src/main/org/jboss/verifier/strategy/VerificationContext.java
--- trunk/server/src/main/org/jboss/verifier/strategy/VerificationContext.java 2007-12-06 15:55:52.000000000 -0500
+++ trunk_JBAS-4148/server/src/main/org/jboss/verifier/strategy/VerificationContext.java 2007-12-06 16:19:32.000000000 -0500
@@ -1,24 +1,24 @@
/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file 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.verifier.strategy;
/*
@@ -40,7 +40,7 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* This package and its source code is available at www.jboss.org
- * $Id: VerificationContext.java 37459 2005-10-30 00:04:02Z starksm $
+ * $Id: VerificationContext.java 57209 2006-09-26 12:21:57Z dimitris(a)jboss.org $
*
* You can reach the author by sending email to jplindfo(a)helsinki.fi.
*/
@@ -49,7 +49,6 @@
import java.net.URL;
// non-standard class dependencies
-import org.gjt.lindfors.pattern.StrategyContext;
import org.jboss.verifier.event.VerificationEventGenerator;
@@ -64,11 +63,11 @@
* @see << OTHER RELATED CLASSES >>
*
* @author Juha Lindfors
- * @version $Revision: 37459 $
+ * @version $Revision: 57209 $
* @since JDK 1.3
*/
public interface VerificationContext
- extends StrategyContext, VerificationEventGenerator
+ extends VerificationEventGenerator
{
/*
diff -Naur trunk/server/src/main/org/jboss/verifier/strategy/VerificationStrategy.java trunk_JBAS-4148/server/src/main/org/jboss/verifier/strategy/VerificationStrategy.java
--- trunk/server/src/main/org/jboss/verifier/strategy/VerificationStrategy.java 2007-12-06 15:55:52.000000000 -0500
+++ trunk_JBAS-4148/server/src/main/org/jboss/verifier/strategy/VerificationStrategy.java 2007-12-06 16:19:22.000000000 -0500
@@ -1,24 +1,24 @@
/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, 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.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file 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.verifier.strategy;
/*
@@ -40,15 +40,13 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* This package and its source code is available at www.jboss.org
- * $Id: VerificationStrategy.java 37459 2005-10-30 00:04:02Z starksm $
+ * $Id: VerificationStrategy.java 57209 2006-09-26 12:21:57Z dimitris(a)jboss.org $
*/
// standard imports
import java.util.Iterator;
-// non-standard class dependencies
-import org.gjt.lindfors.pattern.Strategy;
import org.jboss.metadata.EntityMetaData;
import org.jboss.metadata.MessageDrivenMetaData;
@@ -56,11 +54,10 @@
/**
* @author Juha Lindfors
- * @version $Revision: 37459 $
+ * @version $Revision: 57209 $
* @since JDK 1.3
*/
public interface VerificationStrategy
- extends Strategy
{
/**
* Does the entity check
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4111281#4111281
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4111281
18 years, 4 months
[Design the new POJO MicroContainer] - Re: setting managed property of type List
by alesj
Do we need a CollectionMetaType/Value?
Since this code doesn't know anything about the actual Collection class:
>From DefaultMetaValueFactory:
| else if (classInfo.isCollection())
| {
| Collection c = (Collection) value;
| oldArray = c.toArray();
| }
| else
| throw new UnsupportedOperationException("Cannot construct array for " + value.getClass());
|
| array = createArray(elementType, componentType.getComponentType(), dimension, oldArray);
|
And from DefaultMetaTypeFactory:
| /**
| * Generate a collection metatype
| *
| * @param typeInfo the type info
| * @return the metatype
| */
| public ArrayMetaType generateCollection(ClassInfo typeInfo)
| {
| TypeInfo elementType = objectTypeInfo;
|
| TypeInfo[] types = typeInfo.getActualTypeArguments();
| if (types != null)
| elementType = types[0];
|
| MetaType elementMetaType = resolve(elementType);
| return new ArrayMetaType(1, elementMetaType);
| }
|
Hence no way of unwrapping it.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4111279#4111279
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4111279
18 years, 4 months
[Design of JBoss jBPM] - A customized version of jBPM is available to evaluation and
by zorzid
Customized jBPM
A customized version of jBoss jBPM was built to be part of a collection product. jBPM was customized to allow creation of collection workflows and to cover our business requirements.
Its respective Eclipse plug-in was also changed.
The whole source-code is available at: http://sourceforge.net/projects/jbpmlhs/
Basically, the following changes were performed:
| For Eclipse plug-ing:
|
| | -> Allowed Events shall be selected from a drop down list;
| |
| | -> Allowed Actions shall be selected from a drop down list;
| |
| | -> Allowed Tasks shall be selected from a drop down list;
| |
| | -> Conditions defined using GUI;
| | It was added the capability to define the conditions parameters of 'Condition Nodes' through a GUI, instead of edit the workflow process definition XML.
| |
| | -> Timers defined using GUI;
| |
| | -> Usage of Properties file;
| | In order to allow selection of events, actions and tasks mentioned above, it was added the capability to read from a property file theses object names (it is possible now to configure a XML file into jBPM Preference page of Eclipse with the list of possible actions, tasks and events).
| |
| For jBPM Engine:
|
| | -> jBPM Asynchronous Message Queue handling;
| | Current jBPM implementation of modules that execute expired timers (Scheduler) and asynchronous actions (Command Executor) are not thread safe. This could lead to bottlenecks in production environments once only one thread can be used to process queues (timer and asynchronous actions).
| | New solution for processing of queues uses a concurrent process where a thread will get all data from the database and add them to a queue. Some threads working together concurrently will process this queue.
| |
| | -> jBPM Timers;
| | TimersâÃÂàimplementation for jBPM has a major drawback, start date of timer is always the date that timer is created. So, a configurable start date cannot be used while creating timers (in other words, it is not possible to configure another date instead of timer creation date).
| | Requirements would not be fulfilled because of this drawback and for that the jBPM timer was modified to support a reference date. Using the start date the system automatically calculates the date when should be executed. The timer is created on the chosen event of the node where it was defined.
| |
| | -> jBPM Log;
| | In order to get a complete history of workflow processing, new values for JBPM_LOG.CLASS_ column were added (there were not specific values for workflow processing cancelation or suspension, for example).
| |
|
|
| For further questions, please post them into this forum.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4111257#4111257
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4111257
18 years, 4 months