oalexeev 02/01/31 08:57:45 Modified: services/src/java/org/apache/commons/services Event.java EventModule.java EventRegistration.java Leaf.java Queue.java QueueModule.java Service.java ServiceManager.java ServiceModule.java Log: Change Digester related stuff. Revision Changes Path 1.3 +6 -1 jakarta-commons-sandbox/services/src/java/org/apache/commons/services/Event.java Index: Event.java =================================================================== RCS file: /home/cvs/jakarta-commons-sandbox/services/src/java/org/apache/commons/services/Event.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- Event.java 19 Dec 2001 16:21:28 -0000 1.2 +++ Event.java 31 Jan 2002 16:57:44 -0000 1.3 @@ -10,7 +10,7 @@ /** Base class for all Events. * - * @version $Id: Event.java,v 1.2 2001/12/19 16:21:28 oalexeev Exp $ + * @version $Id: Event.java,v 1.3 2002/01/31 16:57:44 oalexeev Exp $ * @author Oleg V Alexeev */ public class Event extends Leaf { @@ -28,6 +28,11 @@ public void destroy() { super.destroy(); eventRegistration = null; + } + + public String toString() { + return this.getClass().getName() + " [eventRegistration='" + + getEventRegistration() + "']"; } } 1.6 +13 -8 jakarta-commons-sandbox/services/src/java/org/apache/commons/services/EventModule.java Index: EventModule.java =================================================================== RCS file: /home/cvs/jakarta-commons-sandbox/services/src/java/org/apache/commons/services/EventModule.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- EventModule.java 30 Jan 2002 09:26:02 -0000 1.5 +++ EventModule.java 31 Jan 2002 16:57:44 -0000 1.6 @@ -16,7 +16,7 @@ /** Event module. Generate events. * - * @version $Id: EventModule.java,v 1.5 2002/01/30 09:26:02 oalexeev Exp $ + * @version $Id: EventModule.java,v 1.6 2002/01/31 16:57:44 oalexeev Exp $ * @author Oleg V Alexeev */ public class EventModule extends Module { @@ -43,7 +43,9 @@ } protected EventRegistration createDefaultEventRegistration() { - return new EventRegistration(); + EventRegistration registration = new EventRegistration(); + registration.setType( "org.apache.commons.services.Event" ); + return registration; } public void addEventRegistration( EventRegistration eventRegistration ) { @@ -61,6 +63,10 @@ pool.close(); } + public EventRegistration getDefaultEventRegistration() { + return defaultEventRegistration; + } + public EventRegistration getEventRegistration( String key ) { EventRegistration eventRegistration = (EventRegistration)eventRegistrations.get( key ); if( eventRegistration==null ) { @@ -69,11 +75,11 @@ return eventRegistration; } - public Event getEvent( String name ) throws Exception { + public Event getEvent( String name ) { return (Event)pool.borrowObject( name ); } - public Event getDefaultEvent() throws Exception { + public Event getDefaultEvent() { return (Event)pool.borrowObject( defaultEventRegistration.getName() ); } @@ -83,11 +89,10 @@ throw new IllegalArgumentException( "Module can not be used alone. The path argument is mandatory." ); String eventPath = - path + "event"; + path + "/event"; - digester.addRule( eventPath, - new ObjectCreateRule( digester, - "org.apache.commons.services.EventRegistration", "type" ) ); + digester.addObjectCreate( eventPath, "org.apache.commons.services.EventRegistration", + "type" ); digester.addSetNext( eventPath, "addEventRegistration", "org.apache.commons.services.EventRegistration" ); digester.addSetProperties( eventPath ); 1.3 +6 -1 jakarta-commons-sandbox/services/src/java/org/apache/commons/services/EventRegistration.java Index: EventRegistration.java =================================================================== RCS file: /home/cvs/jakarta-commons-sandbox/services/src/java/org/apache/commons/services/EventRegistration.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- EventRegistration.java 30 Jan 2002 09:26:02 -0000 1.2 +++ EventRegistration.java 31 Jan 2002 16:57:44 -0000 1.3 @@ -10,7 +10,7 @@ /** Event registration. * - * @version $Id: EventRegistration.java,v 1.2 2002/01/30 09:26:02 oalexeev Exp $ + * @version $Id: EventRegistration.java,v 1.3 2002/01/31 16:57:44 oalexeev Exp $ * @author Oleg V Alexeev */ public class EventRegistration { @@ -33,6 +33,11 @@ public void setName( String name ) { this.name = name; + } + + public String toString() { + return this.getClass().getName() + "[name='" + + getName() + ", type='" + getType() + "']"; } } 1.3 +3 -1 jakarta-commons-sandbox/services/src/java/org/apache/commons/services/Leaf.java Index: Leaf.java =================================================================== RCS file: /home/cvs/jakarta-commons-sandbox/services/src/java/org/apache/commons/services/Leaf.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- Leaf.java 30 Jan 2002 09:26:02 -0000 1.2 +++ Leaf.java 31 Jan 2002 16:57:44 -0000 1.3 @@ -12,7 +12,7 @@ /** Base class for all 'leaf' classes - Event, Service, Queue. * - * @version $Id: Leaf.java,v 1.2 2002/01/30 09:26:02 oalexeev Exp $ + * @version $Id: Leaf.java,v 1.3 2002/01/31 16:57:44 oalexeev Exp $ * @author Oleg V Alexeev */ public class Leaf implements Serializable { @@ -39,10 +39,12 @@ public void init() { parentModule = null; + name = null; } public void destroy() { parentModule = null; + name = null; } } 1.3 +9 -1 jakarta-commons-sandbox/services/src/java/org/apache/commons/services/Queue.java Index: Queue.java =================================================================== RCS file: /home/cvs/jakarta-commons-sandbox/services/src/java/org/apache/commons/services/Queue.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- Queue.java 30 Jan 2002 09:26:02 -0000 1.2 +++ Queue.java 31 Jan 2002 16:57:44 -0000 1.3 @@ -14,7 +14,7 @@ * walk throw all services in ServiceManager and pass event to * every of them. * - * @version $Id: Queue.java,v 1.2 2002/01/30 09:26:02 oalexeev Exp $ + * @version $Id: Queue.java,v 1.3 2002/01/31 16:57:44 oalexeev Exp $ * @author Oleg V Alexeev */ public class Queue extends Leaf { @@ -32,6 +32,7 @@ public Object execute( Event event ) throws Exception { int processed = 0; Service service = null; + Object result = null; Iterator iterator = parentModule.getServiceManager().getServiceModule().getServices(); while( iterator.hasNext() ) { @@ -46,12 +47,19 @@ processed++; } } + return new Integer( processed ); + } public void init() { super.init(); strongCheck = false; + } + + public String toString() { + return this.getClass().getName() + " [name='" + this.getName() + + "',strongCheck='" + (this.getStrongCheck()?"true":"false") + "']"; } } 1.4 +5 -5 jakarta-commons-sandbox/services/src/java/org/apache/commons/services/QueueModule.java Index: QueueModule.java =================================================================== RCS file: /home/cvs/jakarta-commons-sandbox/services/src/java/org/apache/commons/services/QueueModule.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- QueueModule.java 30 Jan 2002 09:26:02 -0000 1.3 +++ QueueModule.java 31 Jan 2002 16:57:44 -0000 1.4 @@ -15,7 +15,7 @@ /** QueueModule - manages queues. * - * @version $Id: QueueModule.java,v 1.3 2002/01/30 09:26:02 oalexeev Exp $ + * @version $Id: QueueModule.java,v 1.4 2002/01/31 16:57:44 oalexeev Exp $ * @author Oleg V Alexeev */ public class QueueModule extends Module { @@ -68,11 +68,11 @@ queues.remove( name ); } - public Queue getQueue( String name ) throws Exception { + public Queue getQueue( String name ) { Queue queue = (Queue)queues.get( name ); if( queue==null ) { if( strongCheck ) { - throw new Exception( "Can not find queue for name" ); + return null; } else { return getDefaultQueue(); } @@ -91,15 +91,15 @@ throw new IllegalArgumentException( "Module can not be used alone. The path argument is mandatory." ); String queuePath = - path + "queue"; + path + "/queue"; - //FIXIT - replace class name with configurable property digester.addRule( queuePath, new ConfigObjectCreateRule( digester, "org.apache.commons.services.SequenceQueue", "type", queuePath ) ); digester.addSetNext( queuePath, "addQueue", "org.apache.commons.services.Queue" ); + digester.addSetProperties( queuePath ); return digester; 1.2 +7 -1 jakarta-commons-sandbox/services/src/java/org/apache/commons/services/Service.java Index: Service.java =================================================================== RCS file: /home/cvs/jakarta-commons-sandbox/services/src/java/org/apache/commons/services/Service.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- Service.java 17 Dec 2001 16:38:18 -0000 1.1 +++ Service.java 31 Jan 2002 16:57:44 -0000 1.2 @@ -10,13 +10,19 @@ /** Base Service class. * - * @version $Id: Service.java,v 1.1 2001/12/17 16:38:18 oalexeev Exp $ + * @version $Id: Service.java,v 1.2 2002/01/31 16:57:44 oalexeev Exp $ * @author Oleg V Alexeev */ public class Service extends Leaf { public Object execute( Event event ) { + getParentModule().getServiceManager().getLog().debug( "Execute service " + + this.toString() ); return this.getClass().getName(); + } + + public String toString() { + return this.getClass().getName() + " [name='" + this.getName() + "']"; } } 1.7 +21 -9 jakarta-commons-sandbox/services/src/java/org/apache/commons/services/ServiceManager.java Index: ServiceManager.java =================================================================== RCS file: /home/cvs/jakarta-commons-sandbox/services/src/java/org/apache/commons/services/ServiceManager.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- ServiceManager.java 30 Jan 2002 09:26:02 -0000 1.6 +++ ServiceManager.java 31 Jan 2002 16:57:44 -0000 1.7 @@ -17,7 +17,7 @@ /** * Core class in package. * - * @version $Id: ServiceManager.java,v 1.6 2002/01/30 09:26:02 oalexeev Exp $ + * @version $Id: ServiceManager.java,v 1.7 2002/01/31 16:57:44 oalexeev Exp $ * @author Oleg V Alexeev */ public class ServiceManager implements Serializable, ConfigObject { @@ -165,35 +165,47 @@ } } - public Object execute() throws Exception { + public Object execute() { Event event = eventModule.getDefaultEvent(); return execute( event ); } - public Object execute( String queueName ) throws Exception { + public Object execute( String queueName ) { Event event = eventModule.getDefaultEvent(); return execute( queueName, event ); } - public Object execute( Event event ) throws Exception { + public Object execute( Event event ) { Queue queue = queueModule.getDefaultQueue(); return execute( queue, event ); } - public Object execute( String queueName, Event event ) throws Exception { + public Object execute( String queueName, Event event ) { Queue queue = queueModule.getQueue( queueName ); return execute( queue, event ); } - protected Object execute( Queue queue, Event event ) throws Exception { + protected Object execute( Queue queue, Event event ) { + Object result = null; try { - return queue.execute( event ); + if( log.isDebugEnabled() ) { + log.debug( "ServiceManager.execute() start" ); + log.debug( " Queue=[" + queue + "]" ); + log.debug( " Event=[" + event + "]" ); + } + + result = queue.execute( event ); + + if( log.isDebugEnabled() ) + log.debug( "ServiceManager.execute() result = " + result ); + + return result; } catch ( Exception e ) { - log.error( "Error at execute() call in ServiceManager.", e ); - throw e; + log.error( "ServiceManager.execute() - error at call", e ); } finally { eventModule.releaseEvent( event ); } + return null; } } 1.4 +4 -2 jakarta-commons-sandbox/services/src/java/org/apache/commons/services/ServiceModule.java Index: ServiceModule.java =================================================================== RCS file: /home/cvs/jakarta-commons-sandbox/services/src/java/org/apache/commons/services/ServiceModule.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- ServiceModule.java 30 Jan 2002 09:26:02 -0000 1.3 +++ ServiceModule.java 31 Jan 2002 16:57:44 -0000 1.4 @@ -15,7 +15,7 @@ /** ServiceModule manages services. * - * @version $Id: ServiceModule.java,v 1.3 2002/01/30 09:26:02 oalexeev Exp $ + * @version $Id: ServiceModule.java,v 1.4 2002/01/31 16:57:44 oalexeev Exp $ * @author Oleg V Alexeev */ public class ServiceModule extends Module { @@ -52,6 +52,7 @@ public void addService( Service service ) { services.put( service.getName(), service ); service.setParentModule( this ); +System.out.println( "------------- addService " + service + " with name = " + service.getName() ); } public void removeService( String name ) { @@ -77,13 +78,14 @@ throw new IllegalArgumentException( "Module can not be used alone. The path argument is mandatory." ); String servicePath = - path + "service"; + path + "/service"; // FIXIT! digester.addRule( servicePath, new ConfigObjectCreateRule( digester, "", "type", servicePath ) ); digester.addSetNext( servicePath, "addService", "org.apache.commons.services.Service" ); + digester.addSetProperties( servicePath ); return digester; }
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>