You can subscribe to this list here.
2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
(723) |
Oct
(267) |
Nov
(75) |
Dec
(278) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
(563) |
Feb
(104) |
Mar
(85) |
Apr
(43) |
May
(135) |
Jun
(7) |
Jul
(98) |
Aug
(28) |
Sep
(5) |
Oct
(105) |
Nov
(108) |
Dec
(165) |
2005 |
Jan
(116) |
Feb
(73) |
Mar
(107) |
Apr
(119) |
May
(160) |
Jun
(66) |
Jul
(1105) |
Aug
(84) |
Sep
(50) |
Oct
(198) |
Nov
(134) |
Dec
(16) |
2006 |
Jan
(7) |
Feb
(9) |
Mar
(54) |
Apr
(307) |
May
(121) |
Jun
(216) |
Jul
(138) |
Aug
(365) |
Sep
(131) |
Oct
(41) |
Nov
(30) |
Dec
(89) |
2007 |
Jan
(70) |
Feb
(22) |
Mar
(527) |
Apr
(585) |
May
(155) |
Jun
(53) |
Jul
(78) |
Aug
(84) |
Sep
(53) |
Oct
(339) |
Nov
(151) |
Dec
(165) |
2008 |
Jan
(39) |
Feb
(61) |
Mar
(49) |
Apr
(143) |
May
(93) |
Jun
(105) |
Jul
(142) |
Aug
(90) |
Sep
(34) |
Oct
(123) |
Nov
(91) |
Dec
(61) |
2009 |
Jan
(46) |
Feb
(55) |
Mar
(16) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Erik B. <er...@us...> - 2009-03-09 17:52:25
|
Update of /cvsroot/jaffa/JaffaRIA/source/html/js/extjs In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv4906/source/html/js/extjs Modified Files: ext-extensions.js Log Message: Merge from JAFFA_5_1_0_RELEASE branch Index: ext-extensions.js =================================================================== RCS file: /cvsroot/jaffa/JaffaRIA/source/html/js/extjs/ext-extensions.js,v retrieving revision 1.18 retrieving revision 1.19 diff -C2 -d -r1.18 -r1.19 *** ext-extensions.js 20 Nov 2008 19:45:03 -0000 1.18 --- ext-extensions.js 9 Mar 2009 17:52:13 -0000 1.19 *************** *** 140,143 **** --- 140,144 ---- if (this.rendered) { this.el.dom.value = (v === null || v === undefined ? '' : v); + if (this.pushValue) this.pushValue(); this.validate(); } |
From: Erik B. <er...@us...> - 2009-03-09 17:52:25
|
Update of /cvsroot/jaffa/JaffaRIA/source/html/js/extjs/jaffa/finder In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv4906/source/html/js/extjs/jaffa/finder Modified Files: CriteriaPanel.js FinderStore.js Log Message: Merge from JAFFA_5_1_0_RELEASE branch Index: FinderStore.js =================================================================== RCS file: /cvsroot/jaffa/JaffaRIA/source/html/js/extjs/jaffa/finder/FinderStore.js,v retrieving revision 1.18 retrieving revision 1.19 diff -C2 -d -r1.18 -r1.19 *** FinderStore.js 19 Jan 2009 19:08:19 -0000 1.18 --- FinderStore.js 9 Mar 2009 17:52:13 -0000 1.19 *************** *** 187,194 **** // make the first letter of field name to uppercase (required to make the domain model to work) p[this.paramNames.sort] = [{ ! fieldName:this.sortInfo.field[0].toUpperCase()+this.sortInfo.field.substring(1), sortAscending:this.sortInfo.direction=='ASC' }]; } if (this.groupField && this.groupField!='' && this.remoteGroup) { if (this.sortInfo && this.remoteSort && this.sortInfo.field==this.groupField) { --- 187,195 ---- // make the first letter of field name to uppercase (required to make the domain model to work) p[this.paramNames.sort] = [{ ! fieldName:this.sortInfo.field.substring(0,1).toUpperCase()+this.sortInfo.field.substring(1), sortAscending:this.sortInfo.direction=='ASC' }]; } + if (this.groupField && this.groupField!='' && this.remoteGroup) { if (this.sortInfo && this.remoteSort && this.sortInfo.field==this.groupField) { Index: CriteriaPanel.js =================================================================== RCS file: /cvsroot/jaffa/JaffaRIA/source/html/js/extjs/jaffa/finder/CriteriaPanel.js,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** CriteriaPanel.js 10 Dec 2008 00:35:53 -0000 1.8 --- CriteriaPanel.js 9 Mar 2009 17:52:13 -0000 1.9 *************** *** 582,586 **** metaField: config.metaField || config.mapping, editable: false, ! operator: true }), { --- 582,587 ---- metaField: config.metaField || config.mapping, editable: false, ! operator: true, ! store: config.store?config.store:null }), { *************** *** 588,591 **** --- 589,593 ---- adjacentSeparator: '', noLabel: true, + metaClass: config.metaClass, metaField: config.metaField || config.mapping, validationEvent: false, |
From: Gautam J. <ga...@us...> - 2009-03-06 23:10:50
|
Update of /cvsroot/jaffa/JaffaComponentsMessaging/source/java/org/jaffa/modules/messaging In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv2643/source/java/org/jaffa/modules/messaging Modified Files: ApplicationResources.pfragment Log Message: Made the following changes: - Enhanced JaffaComponentsMessaging to write a JMS Message to both a Queue as well as a Topic, if so configured - Modified ConfigurationService to allow a Message to have both the queueName and topicName. Ensured that the topic and queue names are unique. - Modified JmsClientHelper.send() to send messages to both a Queue and a Topic, if so configured - Enhanced JaffaComponentsMessaging to run a payload through a series of filters. A filter may inspect the input payload. It may choose to leave the payload as-is, modify the payload, add new payload(s), or replace with new payload(s). It may even choose to remove the payload, thereby stopping the submission of any message to the messaging system. This feature would allow for re-routing of Messages. - Created org.jaffa.modules.messaging.services.IMessageFilter with a 'public void doFilter(List<Object> payloads)' method. - Enhanced jaffa-messaging-config_1_0.xsd, adding zero or more 'message-filter' elements. The message-filter element will contain the attributes filter-name and filter-class. The value for the filter-class attribute should be a class that implements the IMessageFilter interface - Regenerated JAXB classes for jaffa-messaging-config_1_0.xsd - Enhanced ConfigurationService with a new method 'public List<MessageFilter> getMessageFilters()' - Enhanced JmsClientHelper to invoke the filters, if specified, before processing a payload Index: ApplicationResources.pfragment =================================================================== RCS file: /cvsroot/jaffa/JaffaComponentsMessaging/source/java/org/jaffa/modules/messaging/ApplicationResources.pfragment,v retrieving revision 1.24 retrieving revision 1.25 diff -C2 -d -r1.24 -r1.25 *** ApplicationResources.pfragment 11 Nov 2008 22:31:19 -0000 1.24 --- ApplicationResources.pfragment 6 Mar 2009 23:10:22 -0000 1.25 *************** *** 13,16 **** --- 13,17 ---- exception.org.jaffa.modules.messaging.services.JaffaMessagingFrameworkException.initialContextError=Error in creating an InitialContext exception.org.jaffa.modules.messaging.services.JaffaMessagingFrameworkException.mbeanMissing=Error in locating the MBean {0} + exception.org.jaffa.modules.messaging.services.JaffaMessagingFrameworkException.messageFilterError=Error in instantiating MessageFilter (name={0}, class={1}) exception.org.jaffa.modules.messaging.services.JaffaMessagingFrameworkException.messageInfoMissing=Message info missing from the configuration file for the class {0} exception.org.jaffa.modules.messaging.services.JaffaMessagingFrameworkException.payloadError=Error in creating the XML payload for the Message |
Update of /cvsroot/jaffa/JaffaComponentsMessaging/source/java/org/jaffa/modules/messaging/services/configdomain In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv2643/source/java/org/jaffa/modules/messaging/services/configdomain Modified Files: Config.java ConsumerPolicy.java DisplayParam.java Filter.java Header.java JmsConfig.java JndiContext.java LockCheck.java LoggingName.java MessageInfo.java ObjectFactory.java Param.java QueueInfo.java Security.java TopicInfo.java jaffa-messaging-config_1_0.xsd Added Files: MessageFilter.java Log Message: Made the following changes: - Enhanced JaffaComponentsMessaging to write a JMS Message to both a Queue as well as a Topic, if so configured - Modified ConfigurationService to allow a Message to have both the queueName and topicName. Ensured that the topic and queue names are unique. - Modified JmsClientHelper.send() to send messages to both a Queue and a Topic, if so configured - Enhanced JaffaComponentsMessaging to run a payload through a series of filters. A filter may inspect the input payload. It may choose to leave the payload as-is, modify the payload, add new payload(s), or replace with new payload(s). It may even choose to remove the payload, thereby stopping the submission of any message to the messaging system. This feature would allow for re-routing of Messages. - Created org.jaffa.modules.messaging.services.IMessageFilter with a 'public void doFilter(List<Object> payloads)' method. - Enhanced jaffa-messaging-config_1_0.xsd, adding zero or more 'message-filter' elements. The message-filter element will contain the attributes filter-name and filter-class. The value for the filter-class attribute should be a class that implements the IMessageFilter interface - Regenerated JAXB classes for jaffa-messaging-config_1_0.xsd - Enhanced ConfigurationService with a new method 'public List<MessageFilter> getMessageFilters()' - Enhanced JmsClientHelper to invoke the filters, if specified, before processing a payload Index: TopicInfo.java =================================================================== RCS file: /cvsroot/jaffa/JaffaComponentsMessaging/source/java/org/jaffa/modules/messaging/services/configdomain/TopicInfo.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** TopicInfo.java 13 May 2008 20:33:21 -0000 1.1 --- TopicInfo.java 6 Mar 2009 23:10:23 -0000 1.2 *************** *** 3,7 **** // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> // Any modifications to this file will be lost upon recompilation of the source schema. ! // Generated on: 2008.05.12 at 04:49:55 PM PDT // --- 3,7 ---- // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> // Any modifications to this file will be lost upon recompilation of the source schema. ! // Generated on: 2009.03.06 at 11:22:40 AM PST // Index: Security.java =================================================================== RCS file: /cvsroot/jaffa/JaffaComponentsMessaging/source/java/org/jaffa/modules/messaging/services/configdomain/Security.java,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** Security.java 13 May 2008 20:33:20 -0000 1.8 --- Security.java 6 Mar 2009 23:10:23 -0000 1.9 *************** *** 3,7 **** // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> // Any modifications to this file will be lost upon recompilation of the source schema. ! // Generated on: 2008.05.12 at 04:49:55 PM PDT // --- 3,7 ---- // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> // Any modifications to this file will be lost upon recompilation of the source schema. ! // Generated on: 2009.03.06 at 11:22:40 AM PST // Index: JmsConfig.java =================================================================== RCS file: /cvsroot/jaffa/JaffaComponentsMessaging/source/java/org/jaffa/modules/messaging/services/configdomain/JmsConfig.java,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** JmsConfig.java 13 May 2008 20:33:19 -0000 1.10 --- JmsConfig.java 6 Mar 2009 23:10:23 -0000 1.11 *************** *** 3,7 **** // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> // Any modifications to this file will be lost upon recompilation of the source schema. ! // Generated on: 2008.05.12 at 04:49:55 PM PDT // --- 3,7 ---- // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> // Any modifications to this file will be lost upon recompilation of the source schema. ! // Generated on: 2009.03.06 at 11:22:40 AM PST // Index: LockCheck.java =================================================================== RCS file: /cvsroot/jaffa/JaffaComponentsMessaging/source/java/org/jaffa/modules/messaging/services/configdomain/LockCheck.java,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** LockCheck.java 13 May 2008 20:33:19 -0000 1.10 --- LockCheck.java 6 Mar 2009 23:10:23 -0000 1.11 *************** *** 3,7 **** // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> // Any modifications to this file will be lost upon recompilation of the source schema. ! // Generated on: 2008.05.12 at 04:49:55 PM PDT // --- 3,7 ---- // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> // Any modifications to this file will be lost upon recompilation of the source schema. ! // Generated on: 2009.03.06 at 11:22:40 AM PST // Index: QueueInfo.java =================================================================== RCS file: /cvsroot/jaffa/JaffaComponentsMessaging/source/java/org/jaffa/modules/messaging/services/configdomain/QueueInfo.java,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** QueueInfo.java 13 May 2008 20:33:20 -0000 1.10 --- QueueInfo.java 6 Mar 2009 23:10:23 -0000 1.11 *************** *** 3,7 **** // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> // Any modifications to this file will be lost upon recompilation of the source schema. ! // Generated on: 2008.05.12 at 04:49:55 PM PDT // --- 3,7 ---- // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> // Any modifications to this file will be lost upon recompilation of the source schema. ! // Generated on: 2009.03.06 at 11:22:40 AM PST // Index: ConsumerPolicy.java =================================================================== RCS file: /cvsroot/jaffa/JaffaComponentsMessaging/source/java/org/jaffa/modules/messaging/services/configdomain/ConsumerPolicy.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** ConsumerPolicy.java 13 May 2008 20:33:19 -0000 1.5 --- ConsumerPolicy.java 6 Mar 2009 23:10:23 -0000 1.6 *************** *** 3,7 **** // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> // Any modifications to this file will be lost upon recompilation of the source schema. ! // Generated on: 2008.05.12 at 04:49:55 PM PDT // --- 3,7 ---- // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> // Any modifications to this file will be lost upon recompilation of the source schema. ! // Generated on: 2009.03.06 at 11:22:40 AM PST // --- NEW FILE: MessageFilter.java --- // // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vJAXB 2.1.3 in JDK 1.6 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> // Any modifications to this file will be lost upon recompilation of the source schema. // Generated on: 2009.03.06 at 11:22:40 AM PST // package org.jaffa.modules.messaging.services.configdomain; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlAttribute; import javax.xml.bind.annotation.XmlType; /** * * message-filter provides a mechanism to filter messages. * An IMessageFilter implementation may inspect the input payloads. * It may choose to leave them as-is, modify them, add new payload(s), or replace some of them with new payload(s). * It may even choose to empty the List, thereby stopping the submission of any message to the messaging system. * * <pre> * <?xml version="1.0" encoding="UTF-8"?><ul xmlns:jxb="http://java.sun.com/xml/ns/jaxb" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><li><b>filter-name</b>: the name of this message-filter</li><li><b>filter-class</b>: fully qualified name of a class that implements the IMessageFilter interface</li> * </ul> * </pre> * * * * <p>Java class for message-filter complex type. * * <p>The following schema fragment specifies the expected content contained within this class. * * <pre> * <complexType name="message-filter"> * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <attribute name="filter-name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /> * <attribute name="filter-class" use="required" type="{http://www.w3.org/2001/XMLSchema}string" /> * </restriction> * </complexContent> * </complexType> * </pre> * * */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "message-filter") public class MessageFilter { @XmlAttribute(name = "filter-name", required = true) protected String filterName; @XmlAttribute(name = "filter-class", required = true) protected String filterClass; /** * Gets the value of the filterName property. * * @return * possible object is * {@link String } * */ public String getFilterName() { return filterName; } /** * Sets the value of the filterName property. * * @param value * allowed object is * {@link String } * */ public void setFilterName(String value) { this.filterName = value; } /** * Gets the value of the filterClass property. * * @return * possible object is * {@link String } * */ public String getFilterClass() { return filterClass; } /** * Sets the value of the filterClass property. * * @param value * allowed object is * {@link String } * */ public void setFilterClass(String value) { this.filterClass = value; } } Index: jaffa-messaging-config_1_0.xsd =================================================================== RCS file: /cvsroot/jaffa/JaffaComponentsMessaging/source/java/org/jaffa/modules/messaging/services/configdomain/jaffa-messaging-config_1_0.xsd,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** jaffa-messaging-config_1_0.xsd 13 May 2008 20:33:20 -0000 1.9 --- jaffa-messaging-config_1_0.xsd 6 Mar 2009 23:10:23 -0000 1.10 *************** *** 19,22 **** --- 19,23 ---- <li><b>queue</b>: provides additional information for a Queue</li> <li><b>topic</b>: provides additional information for a Topic</li> + <li><b>message-filter</b>: provides a mechanism to filter messages</li> </ul> </xsd:documentation> *************** *** 37,40 **** --- 38,42 ---- <xsd:element name="queue" type="queueInfo" minOccurs="1" maxOccurs="unbounded"/> <xsd:element name="topic" type="topicInfo" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="message-filter" type="message-filter" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> *************** *** 133,136 **** --- 135,157 ---- <!-- **************************************************** --> + <xsd:complexType name="message-filter"> + <xsd:annotation> + <xsd:documentation> + message-filter provides a mechanism to filter messages. + An IMessageFilter implementation may inspect the input payloads. + It may choose to leave them as-is, modify them, add new payload(s), or replace some of them with new payload(s). + It may even choose to empty the List, thereby stopping the submission of any message to the messaging system. + <ul> + <li><b>filter-name</b>: the name of this message-filter</li> + <li><b>filter-class</b>: fully qualified name of a class that implements the IMessageFilter interface</li> + </ul> + </xsd:documentation> + </xsd:annotation> + <xsd:attribute name="filter-name" type="xsd:string" use="required"/> + <xsd:attribute name="filter-class" type="xsd:string" use="required"/> + </xsd:complexType> + + <!-- **************************************************** --> + <xsd:complexType name="jndi-context"> <xsd:annotation> Index: Filter.java =================================================================== RCS file: /cvsroot/jaffa/JaffaComponentsMessaging/source/java/org/jaffa/modules/messaging/services/configdomain/Filter.java,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** Filter.java 13 May 2008 20:33:19 -0000 1.9 --- Filter.java 6 Mar 2009 23:10:23 -0000 1.10 *************** *** 3,7 **** // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> // Any modifications to this file will be lost upon recompilation of the source schema. ! // Generated on: 2008.05.12 at 04:49:55 PM PDT // --- 3,7 ---- // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> // Any modifications to this file will be lost upon recompilation of the source schema. ! // Generated on: 2009.03.06 at 11:22:40 AM PST // Index: Config.java =================================================================== RCS file: /cvsroot/jaffa/JaffaComponentsMessaging/source/java/org/jaffa/modules/messaging/services/configdomain/Config.java,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** Config.java 13 May 2008 20:33:19 -0000 1.10 --- Config.java 6 Mar 2009 23:10:23 -0000 1.11 *************** *** 3,7 **** // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> // Any modifications to this file will be lost upon recompilation of the source schema. ! // Generated on: 2008.05.12 at 04:49:55 PM PDT // --- 3,7 ---- // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> // Any modifications to this file will be lost upon recompilation of the source schema. ! // Generated on: 2009.03.06 at 11:22:40 AM PST // *************** *** 32,35 **** --- 32,36 ---- * <element name="queue" type="{}queueInfo" maxOccurs="unbounded"/> * <element name="topic" type="{}topicInfo" maxOccurs="unbounded" minOccurs="0"/> + * <element name="message-filter" type="{}message-filter" maxOccurs="unbounded" minOccurs="0"/> * </sequence> * </restriction> *************** *** 45,49 **** "message", "queue", ! "topic" }) @XmlRootElement(name = "config") --- 46,51 ---- "message", "queue", ! "topic", ! "messageFilter" }) @XmlRootElement(name = "config") *************** *** 57,60 **** --- 59,64 ---- protected List<QueueInfo> queue; protected List<TopicInfo> topic; + @XmlElement(name = "message-filter") + protected List<MessageFilter> messageFilter; /** *************** *** 169,171 **** --- 173,204 ---- } + /** + * Gets the value of the messageFilter property. + * + * <p> + * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a <CODE>set</CODE> method for the messageFilter property. + * + * <p> + * For example, to add a new item, do as follows: + * <pre> + * getMessageFilter().add(newItem); + * </pre> + * + * + * <p> + * Objects of the following type(s) are allowed in the list + * {@link MessageFilter } + * + * + */ + public List<MessageFilter> getMessageFilter() { + if (messageFilter == null) { + messageFilter = new ArrayList<MessageFilter>(); + } + return this.messageFilter; + } + } Index: Header.java =================================================================== RCS file: /cvsroot/jaffa/JaffaComponentsMessaging/source/java/org/jaffa/modules/messaging/services/configdomain/Header.java,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** Header.java 13 May 2008 20:33:19 -0000 1.10 --- Header.java 6 Mar 2009 23:10:23 -0000 1.11 *************** *** 3,7 **** // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> // Any modifications to this file will be lost upon recompilation of the source schema. ! // Generated on: 2008.05.12 at 04:49:55 PM PDT // --- 3,7 ---- // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> // Any modifications to this file will be lost upon recompilation of the source schema. ! // Generated on: 2009.03.06 at 11:22:40 AM PST // Index: LoggingName.java =================================================================== RCS file: /cvsroot/jaffa/JaffaComponentsMessaging/source/java/org/jaffa/modules/messaging/services/configdomain/LoggingName.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** LoggingName.java 13 May 2008 20:33:19 -0000 1.5 --- LoggingName.java 6 Mar 2009 23:10:23 -0000 1.6 *************** *** 3,7 **** // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> // Any modifications to this file will be lost upon recompilation of the source schema. ! // Generated on: 2008.05.12 at 04:49:55 PM PDT // --- 3,7 ---- // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> // Any modifications to this file will be lost upon recompilation of the source schema. ! // Generated on: 2009.03.06 at 11:22:40 AM PST // Index: Param.java =================================================================== RCS file: /cvsroot/jaffa/JaffaComponentsMessaging/source/java/org/jaffa/modules/messaging/services/configdomain/Param.java,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** Param.java 13 May 2008 20:33:20 -0000 1.10 --- Param.java 6 Mar 2009 23:10:23 -0000 1.11 *************** *** 3,7 **** // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> // Any modifications to this file will be lost upon recompilation of the source schema. ! // Generated on: 2008.05.12 at 04:49:55 PM PDT // --- 3,7 ---- // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> // Any modifications to this file will be lost upon recompilation of the source schema. ! // Generated on: 2009.03.06 at 11:22:40 AM PST // Index: JndiContext.java =================================================================== RCS file: /cvsroot/jaffa/JaffaComponentsMessaging/source/java/org/jaffa/modules/messaging/services/configdomain/JndiContext.java,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** JndiContext.java 13 May 2008 20:33:19 -0000 1.10 --- JndiContext.java 6 Mar 2009 23:10:23 -0000 1.11 *************** *** 3,7 **** // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> // Any modifications to this file will be lost upon recompilation of the source schema. ! // Generated on: 2008.05.12 at 04:49:55 PM PDT // --- 3,7 ---- // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> // Any modifications to this file will be lost upon recompilation of the source schema. ! // Generated on: 2009.03.06 at 11:22:40 AM PST // Index: MessageInfo.java =================================================================== RCS file: /cvsroot/jaffa/JaffaComponentsMessaging/source/java/org/jaffa/modules/messaging/services/configdomain/MessageInfo.java,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** MessageInfo.java 13 May 2008 20:33:20 -0000 1.10 --- MessageInfo.java 6 Mar 2009 23:10:23 -0000 1.11 *************** *** 3,7 **** // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> // Any modifications to this file will be lost upon recompilation of the source schema. ! // Generated on: 2008.05.12 at 04:49:55 PM PDT // --- 3,7 ---- // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> // Any modifications to this file will be lost upon recompilation of the source schema. ! // Generated on: 2009.03.06 at 11:22:40 AM PST // Index: DisplayParam.java =================================================================== RCS file: /cvsroot/jaffa/JaffaComponentsMessaging/source/java/org/jaffa/modules/messaging/services/configdomain/DisplayParam.java,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** DisplayParam.java 13 May 2008 20:33:19 -0000 1.10 --- DisplayParam.java 6 Mar 2009 23:10:23 -0000 1.11 *************** *** 3,7 **** // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> // Any modifications to this file will be lost upon recompilation of the source schema. ! // Generated on: 2008.05.12 at 04:49:55 PM PDT // --- 3,7 ---- // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> // Any modifications to this file will be lost upon recompilation of the source schema. ! // Generated on: 2009.03.06 at 11:22:40 AM PST // Index: ObjectFactory.java =================================================================== RCS file: /cvsroot/jaffa/JaffaComponentsMessaging/source/java/org/jaffa/modules/messaging/services/configdomain/ObjectFactory.java,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** ObjectFactory.java 13 May 2008 20:33:20 -0000 1.10 --- ObjectFactory.java 6 Mar 2009 23:10:23 -0000 1.11 *************** *** 3,7 **** // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> // Any modifications to this file will be lost upon recompilation of the source schema. ! // Generated on: 2008.05.12 at 04:49:55 PM PDT // --- 3,7 ---- // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> // Any modifications to this file will be lost upon recompilation of the source schema. ! // Generated on: 2009.03.06 at 11:22:40 AM PST // *************** *** 38,86 **** /** ! * Create an instance of {@link Filter } * */ ! public Filter createFilter() { ! return new Filter(); } /** ! * Create an instance of {@link LockCheck } * */ ! public LockCheck createLockCheck() { ! return new LockCheck(); } /** ! * Create an instance of {@link Header } * */ ! public Header createHeader() { ! return new Header(); } /** ! * Create an instance of {@link JmsConfig } * */ ! public JmsConfig createJmsConfig() { ! return new JmsConfig(); } /** ! * Create an instance of {@link Security } * */ ! public Security createSecurity() { ! return new Security(); } /** ! * Create an instance of {@link QueueInfo } * */ ! public QueueInfo createQueueInfo() { ! return new QueueInfo(); } --- 38,86 ---- /** ! * Create an instance of {@link TopicInfo } * */ ! public TopicInfo createTopicInfo() { ! return new TopicInfo(); } /** ! * Create an instance of {@link Security } * */ ! public Security createSecurity() { ! return new Security(); } /** ! * Create an instance of {@link Config } * */ ! public Config createConfig() { ! return new Config(); } /** ! * Create an instance of {@link Header } * */ ! public Header createHeader() { ! return new Header(); } /** ! * Create an instance of {@link DisplayParam } * */ ! public DisplayParam createDisplayParam() { ! return new DisplayParam(); } /** ! * Create an instance of {@link LockCheck } * */ ! public LockCheck createLockCheck() { ! return new LockCheck(); } *************** *** 94,134 **** /** ! * Create an instance of {@link DisplayParam } * */ ! public DisplayParam createDisplayParam() { ! return new DisplayParam(); } /** ! * Create an instance of {@link Config } * */ ! public Config createConfig() { ! return new Config(); } /** ! * Create an instance of {@link TopicInfo } * */ ! public TopicInfo createTopicInfo() { ! return new TopicInfo(); } /** ! * Create an instance of {@link Param } * */ ! public Param createParam() { ! return new Param(); } /** ! * Create an instance of {@link MessageInfo } * */ ! public MessageInfo createMessageInfo() { ! return new MessageInfo(); } --- 94,142 ---- /** ! * Create an instance of {@link Filter } * */ ! public Filter createFilter() { ! return new Filter(); } /** ! * Create an instance of {@link JmsConfig } * */ ! public JmsConfig createJmsConfig() { ! return new JmsConfig(); } /** ! * Create an instance of {@link MessageFilter } * */ ! public MessageFilter createMessageFilter() { ! return new MessageFilter(); } /** ! * Create an instance of {@link MessageInfo } * */ ! public MessageInfo createMessageInfo() { ! return new MessageInfo(); } /** ! * Create an instance of {@link QueueInfo } * */ ! public QueueInfo createQueueInfo() { ! return new QueueInfo(); ! } ! ! /** ! * Create an instance of {@link Param } ! * ! */ ! public Param createParam() { ! return new Param(); } |
From: Gautam J. <ga...@us...> - 2009-03-06 23:10:33
|
Update of /cvsroot/jaffa/JaffaComponentsMessaging In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv2643 Modified Files: NEXT_ RELEASE_NOTES.txt Log Message: Made the following changes: - Enhanced JaffaComponentsMessaging to write a JMS Message to both a Queue as well as a Topic, if so configured - Modified ConfigurationService to allow a Message to have both the queueName and topicName. Ensured that the topic and queue names are unique. - Modified JmsClientHelper.send() to send messages to both a Queue and a Topic, if so configured - Enhanced JaffaComponentsMessaging to run a payload through a series of filters. A filter may inspect the input payload. It may choose to leave the payload as-is, modify the payload, add new payload(s), or replace with new payload(s). It may even choose to remove the payload, thereby stopping the submission of any message to the messaging system. This feature would allow for re-routing of Messages. - Created org.jaffa.modules.messaging.services.IMessageFilter with a 'public void doFilter(List<Object> payloads)' method. - Enhanced jaffa-messaging-config_1_0.xsd, adding zero or more 'message-filter' elements. The message-filter element will contain the attributes filter-name and filter-class. The value for the filter-class attribute should be a class that implements the IMessageFilter interface - Regenerated JAXB classes for jaffa-messaging-config_1_0.xsd - Enhanced ConfigurationService with a new method 'public List<MessageFilter> getMessageFilters()' - Enhanced JmsClientHelper to invoke the filters, if specified, before processing a payload Index: NEXT_ RELEASE_NOTES.txt =================================================================== RCS file: /cvsroot/jaffa/JaffaComponentsMessaging/NEXT_ RELEASE_NOTES.txt,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** NEXT_ RELEASE_NOTES.txt 11 Nov 2008 22:31:19 -0000 1.12 --- NEXT_ RELEASE_NOTES.txt 6 Mar 2009 23:10:22 -0000 1.13 *************** *** 11,14 **** --- 11,23 ---- ===================================================== - Modified JmsBrowser.getPendingMessages() to throw an ApplicationException whenever an invalid syntax is used in the filter. This will result in a more user-friendly error message. + - Enhanced JaffaComponentsMessaging to write a JMS Message to both a Queue as well as a Topic, if so configured + - Modified ConfigurationService to allow a Message to have both the queueName and topicName. Ensured that the topic and queue names are unique. + - Modified JmsClientHelper.send() to send messages to both a Queue and a Topic, if so configured + - Enhanced JaffaComponentsMessaging to run a payload through a series of filters. A filter may inspect the input payload. It may choose to leave the payload as-is, modify the payload, add new payload(s), or replace with new payload(s). It may even choose to remove the payload, thereby stopping the submission of any message to the messaging system. This feature would allow for re-routing of Messages. + - Created org.jaffa.modules.messaging.services.IMessageFilter with a 'public void doFilter(List<Object> payloads)' method. + - Enhanced jaffa-messaging-config_1_0.xsd, adding zero or more 'message-filter' elements. The message-filter element will contain the attributes filter-name and filter-class. The value for the filter-class attribute should be a class that implements the IMessageFilter interface + - Regenerated JAXB classes for jaffa-messaging-config_1_0.xsd + - Enhanced ConfigurationService with a new method 'public List<MessageFilter> getMessageFilters()' + - Enhanced JmsClientHelper to invoke the filters, if specified, before processing a payload What's Deleted/Deprecated |
Update of /cvsroot/jaffa/JaffaComponentsMessaging/source/java/org/jaffa/modules/messaging/services In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv2643/source/java/org/jaffa/modules/messaging/services Modified Files: ConfigurationService.java JaffaMessagingFrameworkException.java JmsClientHelper.java Added Files: IMessageFilter.java Log Message: Made the following changes: - Enhanced JaffaComponentsMessaging to write a JMS Message to both a Queue as well as a Topic, if so configured - Modified ConfigurationService to allow a Message to have both the queueName and topicName. Ensured that the topic and queue names are unique. - Modified JmsClientHelper.send() to send messages to both a Queue and a Topic, if so configured - Enhanced JaffaComponentsMessaging to run a payload through a series of filters. A filter may inspect the input payload. It may choose to leave the payload as-is, modify the payload, add new payload(s), or replace with new payload(s). It may even choose to remove the payload, thereby stopping the submission of any message to the messaging system. This feature would allow for re-routing of Messages. - Created org.jaffa.modules.messaging.services.IMessageFilter with a 'public void doFilter(List<Object> payloads)' method. - Enhanced jaffa-messaging-config_1_0.xsd, adding zero or more 'message-filter' elements. The message-filter element will contain the attributes filter-name and filter-class. The value for the filter-class attribute should be a class that implements the IMessageFilter interface - Regenerated JAXB classes for jaffa-messaging-config_1_0.xsd - Enhanced ConfigurationService with a new method 'public List<MessageFilter> getMessageFilters()' - Enhanced JmsClientHelper to invoke the filters, if specified, before processing a payload --- NEW FILE: IMessageFilter.java --- /* * ==================================================================== * JAFFA - Java Application Framework For All * * Copyright (C) 2002 JAFFA Development Group * * This library 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 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser 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 * * Redistribution and use of this software and associated documentation ("Software"), * with or without modification, are permitted provided that the following conditions are met: * 1. Redistributions of source code must retain copyright statements and notices. * Redistributions must also contain a copy of this document. * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * 3. The name "JAFFA" must not be used to endorse or promote products derived from * this Software without prior written permission. For written permission, * please contact mail to: jaf...@ya.... * 4. Products derived from this Software may not be called "JAFFA" nor may "JAFFA" * appear in their names without prior written permission. * 5. Due credit should be given to the JAFFA Project (http://jaffa.sourceforge.net). * * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * ==================================================================== */ package org.jaffa.modules.messaging.services; import java.util.List; import org.jaffa.exceptions.ApplicationExceptions; import org.jaffa.exceptions.FrameworkException; /** * This interface allows the transformation of payload objects being sent to the messaging system. * An implementation may inspect the input payloads. * It may choose to leave them as-is, modify them, add new payload(s), or replace some of them with new payload(s). * It may even choose to empty the List, thereby stopping the submission of any message to the messaging system. */ public interface IMessageFilter { /** * An implementation may inspect the input payloads. * It may choose to leave them as-is, modify them, add new payload(s), or replace some of them with new payload(s). * It may even choose to empty the List, thereby stopping the submission of any message to the messaging system. * @param payloads a List of serializable objects being submitted to the messaging system. * @throws FrameworkException Indicates some system error. * @throws ApplicationExceptions Indicates application error(s). */ public void doFilter(List<Object> payloads) throws FrameworkException, ApplicationExceptions; } Index: ConfigurationService.java =================================================================== RCS file: /cvsroot/jaffa/JaffaComponentsMessaging/source/java/org/jaffa/modules/messaging/services/ConfigurationService.java,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** ConfigurationService.java 13 May 2008 20:33:17 -0000 1.11 --- ConfigurationService.java 6 Mar 2009 23:10:22 -0000 1.12 *************** *** 51,56 **** --- 51,59 ---- import java.net.MalformedURLException; import java.net.URL; + import java.util.HashSet; import java.util.LinkedHashMap; + import java.util.List; import java.util.Map; + import java.util.Set; import javax.xml.XMLConstants; import javax.xml.bind.JAXBContext; *************** *** 62,65 **** --- 65,69 ---- import org.jaffa.modules.messaging.services.configdomain.Config; import org.jaffa.modules.messaging.services.configdomain.JmsConfig; + import org.jaffa.modules.messaging.services.configdomain.MessageFilter; import org.jaffa.modules.messaging.services.configdomain.MessageInfo; import org.jaffa.modules.messaging.services.configdomain.QueueInfo; *************** *** 166,178 **** if (m_config.getMessage() != null) { for (MessageInfo messageInfo : m_config.getMessage()) { ! if ((messageInfo.getQueueName() == null && messageInfo. ! getTopicName() == null) || (messageInfo.getQueueName() != null && messageInfo. ! getTopicName() != null)) { String s = "Either queueName or topicName should be specified for dataBean '" + messageInfo. getDataBean() + "' in the Jaffa Messaging configuration file " + CONFIGURATION_FILE; log.fatal(s); throw new RuntimeException(s); ! } else if (messageInfo.getTopicName() != null && messageInfo. ! getLockCheck() != null) { String s = "The 'lock-check' feature is not supported for a Topic. See dataBean '" + messageInfo. getDataBean() + "' in the Jaffa Messaging configuration file " + CONFIGURATION_FILE; --- 170,179 ---- if (m_config.getMessage() != null) { for (MessageInfo messageInfo : m_config.getMessage()) { ! if (messageInfo.getQueueName() == null && messageInfo.getTopicName() == null) { String s = "Either queueName or topicName should be specified for dataBean '" + messageInfo. getDataBean() + "' in the Jaffa Messaging configuration file " + CONFIGURATION_FILE; log.fatal(s); throw new RuntimeException(s); ! } else if (messageInfo.getQueueName() == null && messageInfo.getTopicName() != null && messageInfo.getLockCheck() != null) { String s = "The 'lock-check' feature is not supported for a Topic. See dataBean '" + messageInfo. getDataBean() + "' in the Jaffa Messaging configuration file " + CONFIGURATION_FILE; *************** *** 223,226 **** --- 224,235 ---- } } + + // Ensure that there is no name-clash between Queues and Topics + Set<String> queueNames = new HashSet(m_queueInfoMap.keySet()); + if (queueNames.size() > 0 && queueNames.retainAll(m_topicInfoMap.keySet()) && queueNames.size() > 0) { + String s = "Queues and Topics cannot share the same name. Check definition(s) for '" + queueNames + "' in the Jaffa Messaging configuration file " + CONFIGURATION_FILE; + log.fatal(s); + throw new RuntimeException(s); + } } catch (JAXBException e) { String s = "Error in parsing the configuration file " + CONFIGURATION_FILE; *************** *** 308,311 **** --- 317,327 ---- } + /** Returns a list of MessageFilter instances, as defined in the configuration file. + * @return a list of MessageFilter instances, as defined in the configuration file. + */ + public List<MessageFilter> getMessageFilters() { + return m_config.getMessageFilter(); + } + /** Loads the input configurationFile using JAXB. * The XML is validated as per the schema 'org/jaffa/modules/messaging/services/configdomain/jaffa-messaging-config_1_0.xsd'. Index: JaffaMessagingFrameworkException.java =================================================================== RCS file: /cvsroot/jaffa/JaffaComponentsMessaging/source/java/org/jaffa/modules/messaging/services/JaffaMessagingFrameworkException.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** JaffaMessagingFrameworkException.java 13 May 2008 20:33:18 -0000 1.7 --- JaffaMessagingFrameworkException.java 6 Mar 2009 23:10:22 -0000 1.8 *************** *** 65,68 **** --- 65,69 ---- public static final String INITIAL_CONTEXT_ERROR = BASE_CODE + "initialContextError"; public static final String MBEAN_MISSING = BASE_CODE + "mbeanMissing"; + public static final String MESSAGE_FILTER_ERROR = BASE_CODE + "messageFilterError"; public static final String MESSAGE_INFO_MISSING = BASE_CODE + "messageInfoMissing"; public static final String PAYLOAD_ERROR = BASE_CODE + "payloadError"; Index: JmsClientHelper.java =================================================================== RCS file: /cvsroot/jaffa/JaffaComponentsMessaging/source/java/org/jaffa/modules/messaging/services/JmsClientHelper.java,v retrieving revision 1.32 retrieving revision 1.33 diff -C2 -d -r1.32 -r1.33 *** JmsClientHelper.java 6 Jun 2008 18:47:14 -0000 1.32 --- JmsClientHelper.java 6 Mar 2009 23:10:22 -0000 1.33 *************** *** 51,54 **** --- 51,56 ---- import java.util.Enumeration; import java.util.LinkedHashMap; + import java.util.LinkedList; + import java.util.List; import java.util.Map; import java.util.Properties; *************** *** 72,75 **** --- 74,78 ---- import org.jaffa.exceptions.FrameworkException; import org.jaffa.modules.messaging.services.configdomain.JmsConfig; + import org.jaffa.modules.messaging.services.configdomain.MessageFilter; import org.jaffa.modules.messaging.services.configdomain.MessageInfo; import org.jaffa.modules.messaging.services.configdomain.Param; *************** *** 140,144 **** */ public static String send(Object payload, String userId, String scheduledTaskId) throws FrameworkException, ApplicationExceptions { ! return send(null, payload, userId, scheduledTaskId); } --- 143,147 ---- */ public static String send(Object payload, String userId, String scheduledTaskId) throws FrameworkException, ApplicationExceptions { ! return send(null, applyFilters(payload), userId, scheduledTaskId); } *************** *** 176,180 **** public void add(Object payload) throws FrameworkException, ApplicationExceptions { checkState(); ! send(this, payload, null, null); } --- 179,183 ---- public void add(Object payload) throws FrameworkException, ApplicationExceptions { checkState(); ! send(this, applyFilters(payload), null, null); } *************** *** 589,592 **** --- 592,653 ---- } + /** + * Runs the input payload through a series of MessageFilters, as defined in the configuration file. + * The filters may leave the input payload as-is, modify it, add new payload(s) or replace it. + * The filters may even choose to return an empty List, thereby stopping the submission of any message to the messaging system. + * @param payload Any serializable object. + * @return a List of payloads. An empty List may be returned to stop further processing. + * @throws FrameworkException in case any internal error occurs. + * @throws ApplicationExceptions Indicates application error(s). + */ + private static List<Object> applyFilters(Object payload) throws FrameworkException, ApplicationExceptions { + List<Object> payloads = new LinkedList<Object>(); + payloads.add(payload); + List<MessageFilter> messageFilters = ConfigurationService.getInstance().getMessageFilters(); + if (messageFilters != null) { + for (MessageFilter messageFilter : messageFilters) { + IMessageFilter filterImpl; + try { + if (log.isDebugEnabled()) + log.debug("Instantiating MessageFilter (name=" + messageFilter.getFilterName() + ", class=" + messageFilter.getFilterClass() + ')'); + filterImpl = (IMessageFilter) Class.forName(messageFilter.getFilterClass()).newInstance(); + } catch (Exception e) { + log.error("Error in instantiating MessageFilter (name=" + messageFilter.getFilterName() + ", class=" + messageFilter.getFilterClass() + ')', e); + throw new JaffaMessagingFrameworkException(JaffaMessagingFrameworkException.MESSAGE_FILTER_ERROR, new Object[]{messageFilter.getFilterName(), messageFilter.getFilterClass()}, e); + } + if (log.isDebugEnabled()) + log.debug("PayloadsList before applying filter: " + payloads); + filterImpl.doFilter(payloads); + if (log.isDebugEnabled()) + log.debug("PayloadsList after applying filter: " + payloads); + } + } + return payloads; + } + + /** + * For each input payload, writes a JMS Message to the destination, as defined in the configuration file. + * @param inst An instance of this class. If passed, then the newly created Message will simply be cached to be sent later. Else it will be sent right away. + * @param payloads A List of serializable objects. + * @param userId A header element in the JMS message will be set to this value. + * @param scheduledTaskId A header element in the JMS message will be set to this value. + * @return a comma-separated list of MessageIds, one for each payload. + * @throws FrameworkException Indicates some system error. + * @throws ApplicationExceptions Indicates application error(s). + */ + private static String send(JmsClientHelper inst, List<Object> payloads, String userId, String scheduledTaskId) throws FrameworkException, ApplicationExceptions { + StringBuilder output = null; + if (payloads != null) { + for (Object payload : payloads) { + if (output == null) + output = new StringBuilder(); + else + output.append(','); + output.append(send(inst, payload, userId, scheduledTaskId)); + } + } + return output != null ? output.toString() : null; + } + /** Writes a JMS Message to the destination, as defined in the configuration file. * @param inst An instance of this class. If passed, then the newly created Message will simply be cached to be sent later. Else it will be sent right away. *************** *** 685,696 **** // Sends the Message for a local Session only. The Message will be sent later when part of a transaction - String destinationName = messageInfo.getQueueName() != null ? messageInfo.getQueueName() : messageInfo. - getTopicName(); if (inst == null) { ! send(session, message, destinationName); } else { if (inst.m_messages == null) inst.m_messages = new LinkedHashMap<Message, String>(); ! inst.m_messages.put(message, destinationName); } --- 746,761 ---- // Sends the Message for a local Session only. The Message will be sent later when part of a transaction if (inst == null) { ! if (messageInfo.getQueueName() != null) ! send(session, message, messageInfo.getQueueName()); ! if (messageInfo.getTopicName() != null) ! send(session, message, messageInfo.getTopicName()); } else { if (inst.m_messages == null) inst.m_messages = new LinkedHashMap<Message, String>(); ! if (messageInfo.getQueueName() != null) ! inst.m_messages.put(message, messageInfo.getQueueName()); ! if (messageInfo.getTopicName() != null) ! inst.m_messages.put(message, messageInfo.getTopicName()); } |
From: <sea...@mi...> - 2009-03-06 17:12:00
|
Update of /cvsroot/jaffa/JaffaRIA/source/html/tests/extjs/multigroup In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv600 Modified Files: MultiGroup.html Log Message: Load in Ext.ux.utils.DeepClone.js Index: MultiGroup.html =================================================================== RCS file: /cvsroot/jaffa/JaffaRIA/source/html/tests/extjs/multigroup/MultiGroup.html,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** MultiGroup.html 7 Oct 2008 19:48:02 -0000 1.4 --- MultiGroup.html 6 Mar 2009 17:11:23 -0000 1.5 *************** *** 23,27 **** </script> ! <script type="text/javascript" src="../../../js/extjs/ux/grid/MultiGroupingStore.js"></script> <script type="text/javascript" src="../../../js/extjs/ux/grid/MultiGroupingView.js"></script> --- 23,27 ---- </script> ! <script type="text/javascript" src="../../../js/extjs/ux/utils/DeepClone.js"></script> <script type="text/javascript" src="../../../js/extjs/ux/grid/MultiGroupingStore.js"></script> <script type="text/javascript" src="../../../js/extjs/ux/grid/MultiGroupingView.js"></script> |
From: <sea...@mi...> - 2009-03-06 17:10:42
|
Update of /cvsroot/jaffa/JaffaRIA/source/html/js/extjs/ux/grid In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv30051 Modified Files: MultiGroupingPanel.js Log Message: remove the use of Labels class to dessociate from Jaffa package. Index: MultiGroupingPanel.js =================================================================== RCS file: /cvsroot/jaffa/JaffaRIA/source/html/js/extjs/ux/grid/MultiGroupingPanel.js,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** MultiGroupingPanel.js 9 Dec 2008 23:38:25 -0000 1.10 --- MultiGroupingPanel.js 6 Mar 2009 17:10:21 -0000 1.11 *************** *** 53,57 **** } },{ ! text: Labels.get('label.jaffa.jaffaRIA.jaffa.finder.grid.deactivateFilters') ,scope: this ,handler: function () { --- 53,57 ---- } },{ ! text: 'Clear Filters' // Labels.get('label.jaffa.jaffaRIA.jaffa.finder.grid.deactivateFilters') ,scope: this ,handler: function () { |
From: Gautam J. <ga...@us...> - 2009-03-04 22:28:10
|
Update of /cvsroot/jaffa/JaffaBuild/build In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv25358 Modified Files: shared.ant.properties Log Message: Commented the 'test.junit.aoppath' setting. Leave it to a module to enable that, if need be. Index: shared.ant.properties =================================================================== RCS file: /cvsroot/jaffa/JaffaBuild/build/shared.ant.properties,v retrieving revision 1.30 retrieving revision 1.31 diff -C2 -d -r1.30 -r1.31 *** shared.ant.properties 3 Mar 2009 00:37:36 -0000 1.30 --- shared.ant.properties 4 Mar 2009 22:28:02 -0000 1.31 *************** *** 197,201 **** # A comma-separated list of files/directories containing AOP files ! test.junit.aoppath=${dist.test.junit}/aop/0,${dist.test.junit}/aop/jaffa-rules-generated-aop.xml test.junit.config.includes=org/jaffa/config/framework.properties,resources/jdbc-engine.xml,resources/ApplicationRules.*,JUnit.properties,resources/log4j-config.xml --- 197,201 ---- # A comma-separated list of files/directories containing AOP files ! #test.junit.aoppath=${dist.test.junit}/aop/0,${dist.test.junit}/aop/jaffa-rules-generated-aop.xml test.junit.config.includes=org/jaffa/config/framework.properties,resources/jdbc-engine.xml,resources/ApplicationRules.*,JUnit.properties,resources/log4j-config.xml |
From: <sea...@mi...> - 2009-03-04 19:43:26
|
Update of /cvsroot/jaffa/JaffaRIA/source/html/js/extjs/ux/form In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv5161 Modified Files: DateTime.js Log Message: remove the measurement of server/client computer clock difference. Index: DateTime.js =================================================================== RCS file: /cvsroot/jaffa/JaffaRIA/source/html/js/extjs/ux/form/DateTime.js,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** DateTime.js 16 Jan 2009 21:55:11 -0000 1.7 --- DateTime.js 4 Mar 2009 19:43:21 -0000 1.8 *************** *** 573,576 **** --- 573,577 ---- }); // eo extend + // A way to measure the time differences between server computer and the client computer. Ext.ux.form.DateTime.ServerTimeBean = { numOfRequests : 0, *************** *** 623,628 **** } }; // register xtype Ext.reg('xdatetime', Ext.ux.form.DateTime); - Ext.ux.form.DateTime.setServerTimeDelta(); --- 624,630 ---- } }; + // Ext.ux.form.DateTime.setServerTimeDelta(); + // End of measureing the server/client computer time differences // register xtype Ext.reg('xdatetime', Ext.ux.form.DateTime); |
From: Gautam J. <ga...@us...> - 2009-03-04 19:13:21
|
Update of /cvsroot/jaffa/JaffaBuild/lib/runtime-junit In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv1151 Added Files: .cvsignore Log Message: Added to ensure that the oracle jars are not needed --- NEW FILE: .cvsignore --- oracle12.jar ojdbc14.jar classes12.zip |
From: Gautam J. <ga...@us...> - 2009-03-03 01:29:44
|
Update of /cvsroot/jaffa/JaffaTools/source/java/org/jaffa/test/junit In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv20714 Modified Files: AbstractDataWrapper.java ContextWrapper.java Log Message: Corrected the JUnit convenience classes in JaffaTools, viz. ContextWrapper and AbstractDataWrapper, to propagate the Exception from the setUp() and tearDown() methods Index: AbstractDataWrapper.java =================================================================== RCS file: /cvsroot/jaffa/JaffaTools/source/java/org/jaffa/test/junit/AbstractDataWrapper.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** AbstractDataWrapper.java 10 Dec 2007 18:13:16 -0000 1.3 --- AbstractDataWrapper.java 3 Mar 2009 01:29:38 -0000 1.4 *************** *** 212,216 **** /** This sets up the data before the test fixtures are invoked. */ ! protected void setUp() { super.setUp(); Connection connection = null; --- 212,217 ---- /** This sets up the data before the test fixtures are invoked. */ ! @Override ! protected void setUp() throws Exception { super.setUp(); Connection connection = null; *************** *** 227,233 **** connection.commit(); log.info("SETUP: Reference Data Created"); - } catch (Exception e) { - e.printStackTrace(); - fail("Failed to setup initial data: " + e.toString()); } finally { if (connection != null) { --- 228,231 ---- *************** *** 245,249 **** /** This cleans up the data after all the test fixtures are invoked. */ ! protected void tearDown() { Connection connection = null; try { --- 243,248 ---- /** This cleans up the data after all the test fixtures are invoked. */ ! @Override ! protected void tearDown() throws Exception { Connection connection = null; try { *************** *** 252,258 **** //dropTables(connection, (String) info.get(ENGINE)); tearDownData(connection); - } catch (Exception e) { - e.printStackTrace(); - fail("Failed to cleanup initial data: " + e.toString()); } finally { if (connection != null) { --- 251,254 ---- Index: ContextWrapper.java =================================================================== RCS file: /cvsroot/jaffa/JaffaTools/source/java/org/jaffa/test/junit/ContextWrapper.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** ContextWrapper.java 10 Apr 2007 00:10:21 -0000 1.1 --- ContextWrapper.java 3 Mar 2009 01:29:38 -0000 1.2 *************** *** 47,51 **** * ==================================================================== */ - package org.jaffa.test.junit; --- 47,50 ---- *************** *** 62,71 **** * If a test needs to use this wrapper, use the sample code below * <code> ! public class MyTest extends TestCase { ! public static Test suite() { ! return new ContextWrapper(new TestSuite(MyTest.class)); ! } ! ... ! } * </code> * --- 61,70 ---- * If a test needs to use this wrapper, use the sample code below * <code> ! public class MyTest extends TestCase { ! public static Test suite() { ! return new ContextWrapper(new TestSuite(MyTest.class)); ! } ! ... ! } * </code> * *************** *** 73,82 **** */ public class ContextWrapper extends TestSetup { static { InitLog4J.init(); } - private static final Logger log = Logger.getLogger(ContextWrapper.class); ! /** The constructor. * @param test The Test class, for which the Wrapper will be utilised. --- 72,81 ---- */ public class ContextWrapper extends TestSetup { + static { InitLog4J.init(); } private static final Logger log = Logger.getLogger(ContextWrapper.class); ! /** The constructor. * @param test The Test class, for which the Wrapper will be utilised. *************** *** 85,107 **** super(test); } ! /** This sets up the data before the test fixtures are invoked. */ ! protected void setUp() { ! try { ! // Initialize the context ! ContextManagerFactory.instance().setThreadContext(null); ! } catch (Exception e) { ! e.printStackTrace(); ! fail("Failed to setup contextl data: " + e.toString()); ! } } ! /** This cleans up the data after all the test fixtures are invoked. */ ! protected void tearDown() { // Unset the context ContextManagerFactory.instance().unsetThreadContext(); } - } --- 84,106 ---- super(test); } ! /** This sets up the data before the test fixtures are invoked. */ ! @Override ! protected void setUp() throws Exception { ! super.setUp(); ! ! // Initialize the context ! ContextManagerFactory.instance().setThreadContext(null); } ! /** This cleans up the data after all the test fixtures are invoked. */ ! @Override ! protected void tearDown() throws Exception { // Unset the context ContextManagerFactory.instance().unsetThreadContext(); + + super.tearDown(); } } |
From: Gautam J. <ga...@us...> - 2009-03-03 01:12:07
|
Update of /cvsroot/jaffa/JaffaBuild/build In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv3722 Modified Files: build-jboss.xml Log Message: Enhanced the 'sar-add-fragments' target to perform fragment-merging for the web.xml file of the WebService application Index: build-jboss.xml =================================================================== RCS file: /cvsroot/jaffa/JaffaBuild/build/build-jboss.xml,v retrieving revision 1.69 retrieving revision 1.70 diff -C2 -d -r1.69 -r1.70 *** build-jboss.xml 4 Dec 2008 22:59:52 -0000 1.69 --- build-jboss.xml 3 Mar 2009 01:12:01 -0000 1.70 *************** *** 317,320 **** --- 317,330 ---- </then> </if> + + <!-- if WebServices are being used, merge in fragments --> + <if> + <available file="${sar.war.ws}/WEB-INF/web.xml" type="file"/> + <then> + <configfileupdate file="${sar.war.ws}/WEB-INF/web.xml" + dir="${dist.staging}/fragments" + taskname="configfileupdate/${appname}"/> + </then> + </if> </target> |
From: Gautam J. <ga...@us...> - 2009-03-03 00:37:44
|
Update of /cvsroot/jaffa/JaffaBuild/build In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv32564 Modified Files: shared.ant.properties Log Message: Added settings for running UnitTests Index: shared.ant.properties =================================================================== RCS file: /cvsroot/jaffa/JaffaBuild/build/shared.ant.properties,v retrieving revision 1.29 retrieving revision 1.30 diff -C2 -d -r1.29 -r1.30 *** shared.ant.properties 23 Jun 2008 21:15:57 -0000 1.29 --- shared.ant.properties 3 Mar 2009 00:37:36 -0000 1.30 *************** *** 193,196 **** --- 193,202 ---- test.junit.excludes= + # A comma-separated list of methods to test + #test.junit.include.method.names=testSomeMethod1,testSomeMethod2 + + # A comma-separated list of files/directories containing AOP files + test.junit.aoppath=${dist.test.junit}/aop/0,${dist.test.junit}/aop/jaffa-rules-generated-aop.xml + test.junit.config.includes=org/jaffa/config/framework.properties,resources/jdbc-engine.xml,resources/ApplicationRules.*,JUnit.properties,resources/log4j-config.xml test.junit.config.excludes= |
From: Gautam J. <ga...@us...> - 2009-03-03 00:19:22
|
Update of /cvsroot/jaffa/JaffaBuild/build In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv2882 Modified Files: build-tests.xml Log Message: Enhanced the 'test-junit-module' macrodef in JaffaBuild's build-tests.xml to unzip each dependent module's *.aop file to the '${dist.test.junit}/aop' folder Index: build-tests.xml =================================================================== RCS file: /cvsroot/jaffa/JaffaBuild/build/build-tests.xml,v retrieving revision 1.23 retrieving revision 1.24 diff -C2 -d -r1.23 -r1.24 *** build-tests.xml 13 Jan 2009 23:00:42 -0000 1.23 --- build-tests.xml 3 Mar 2009 00:17:33 -0000 1.24 *************** *** 197,200 **** --- 197,212 ---- </and> <then> + <!-- Unzips *.aop files to the dist folder --> + <for list="${modules.cache}" param="module"> + <sequential> + <echo level="info">Extract *.aop files from Module @{module}</echo> + <unzip dest="${dist.test.junit}/aop" taskname="Extract from *.aop to ${dist.test.junit}/aop"> + <fileset dir="${lib.dependent}/@{module}"> + <include name="*.aop"/> + </fileset> + </unzip> + </sequential> + </for> + <!-- Load the JaffaRules Ant Tasks --> <path id='project.unittest.class.path'> |
From: BobbyC <b_c...@us...> - 2009-03-02 14:25:36
|
Update of /cvsroot/jaffa/JaffaRIA/source/html/js/extjs/jaffa/finder In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv9483/source/html/js/extjs/jaffa/finder Modified Files: Tag: JAFFA_5_1_0_RELEASE CriteriaPanel.js Log Message: Allow text fields to have custom criteria in the drop down if passed by the config. Index: CriteriaPanel.js =================================================================== RCS file: /cvsroot/jaffa/JaffaRIA/source/html/js/extjs/jaffa/finder/CriteriaPanel.js,v retrieving revision 1.8.2.1 retrieving revision 1.8.2.2 diff -C2 -d -r1.8.2.1 -r1.8.2.2 *** CriteriaPanel.js 26 Feb 2009 10:29:23 -0000 1.8.2.1 --- CriteriaPanel.js 2 Mar 2009 14:25:23 -0000 1.8.2.2 *************** *** 582,586 **** metaField: config.metaField || config.mapping, editable: false, ! operator: true }), { --- 582,587 ---- metaField: config.metaField || config.mapping, editable: false, ! operator: true, ! store: config.store?config.store:null }), { |
From: BobbyC <b_c...@us...> - 2009-02-26 13:17:18
|
Update of /cvsroot/jaffa/JaffaRIA/source/html/js/extjs In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv6603/source/html/js/extjs Modified Files: loadJaffaRIA.jsp Log Message: Add CurrencyField - this right aligns number values and pads zeros to the set decimal precision Index: loadJaffaRIA.jsp =================================================================== RCS file: /cvsroot/jaffa/JaffaRIA/source/html/js/extjs/loadJaffaRIA.jsp,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** loadJaffaRIA.jsp 8 Jan 2009 02:29:03 -0000 1.10 --- loadJaffaRIA.jsp 26 Feb 2009 12:37:56 -0000 1.11 *************** *** 75,78 **** --- 75,79 ---- <script type="text/javascript" src="js/extjs/jaffa/tree/DwrColumnTreeLoader.js"></script> <script type="text/javascript" src="js/extjs/jaffa/form/MoneyField.js"></script> + <script type="text/javascript" src="js/extjs/jaffa/form/CurrencyField.js"></script> <script type="text/javascript" src="js/extjs/jaffa/form/HourMinuteField.js"></script> <!-- State Management --> |
From: BobbyC <b_c...@us...> - 2009-02-26 13:17:12
|
Update of /cvsroot/jaffa/JaffaRIA/source/html/js/extjs/jaffa/form In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv6603/source/html/js/extjs/jaffa/form Added Files: CurrencyField.js Log Message: Add CurrencyField - this right aligns number values and pads zeros to the set decimal precision --- NEW FILE: CurrencyField.js --- /** * @author BobbyC */ Ext.namespace("Jaffa", "Jaffa.form"); Jaffa.form.CurrencyField = Ext.extend(Ext.form.NumberField, { style:'text-align:right;', setValue:function(v){ v = isNaN(v) ? '' : String(parseFloat(v).toFixed(this.decimalPrecision)).replace(".", this.decimalSeparator); Ext.form.TextField.superclass.setValue.call(this, v); } }); Ext.reg('currencyfield', Jaffa.form.CurrencyField); |
From: BobbyC <b_c...@us...> - 2009-02-26 10:29:36
|
Update of /cvsroot/jaffa/JaffaRIA/source/html/js/extjs/jaffa/finder In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv28016/source/html/js/extjs/jaffa/finder Modified Files: Tag: JAFFA_5_1_0_RELEASE CriteriaPanel.js Log Message: Apply correct metaclass to criteria panel textfields Index: CriteriaPanel.js =================================================================== RCS file: /cvsroot/jaffa/JaffaRIA/source/html/js/extjs/jaffa/finder/CriteriaPanel.js,v retrieving revision 1.8 retrieving revision 1.8.2.1 diff -C2 -d -r1.8 -r1.8.2.1 *** CriteriaPanel.js 10 Dec 2008 00:35:53 -0000 1.8 --- CriteriaPanel.js 26 Feb 2009 10:29:23 -0000 1.8.2.1 *************** *** 588,591 **** --- 588,592 ---- adjacentSeparator: '', noLabel: true, + metaClass: config.metaClass, metaField: config.metaField || config.mapping, validationEvent: false, |
From: Gautam J. <ga...@us...> - 2009-02-25 23:42:59
|
Update of /cvsroot/jaffa/JaffaComponentsUser In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv12269 Modified Files: NEXT_ RELEASE_NOTES.txt Log Message: Moved the domain mapping files from resources/jdbcengine to resources/jdbcengine/jaffa; consistent with the other Jaffa modules Index: NEXT_ RELEASE_NOTES.txt =================================================================== RCS file: /cvsroot/jaffa/JaffaComponentsUser/NEXT_ RELEASE_NOTES.txt,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** NEXT_ RELEASE_NOTES.txt 14 Aug 2008 18:35:47 -0000 1.5 --- NEXT_ RELEASE_NOTES.txt 25 Feb 2009 23:42:52 -0000 1.6 *************** *** 10,13 **** --- 10,14 ---- What's Changed / Improvements ===================================================== + - Moved the domain mapping files from resources/jdbcengine to resources/jdbcengine/jaffa; consistent with the other Jaffa modules What's Deleted/Deprecated |
From: Gautam J. <ga...@us...> - 2009-02-25 23:42:56
|
Update of /cvsroot/jaffa/JaffaComponentsUser/source/java/resources/jdbcengine/jaffa In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv12269/source/java/resources/jdbcengine/jaffa Added Files: User.xml UserRequest.xml UserRole.xml Log Message: Moved the domain mapping files from resources/jdbcengine to resources/jdbcengine/jaffa; consistent with the other Jaffa modules --- NEW FILE: User.xml --- <classmap> <class name="org.jaffa.applications.jaffa.modules.admin.domain.User"> <map-to table="USERS" /> <field name="UserName" use-member="m_userName" type="java.lang.String" primary-key="true"> <sql name="USER_NAME" type="STRING" dirty="ignore"/> </field> <field name="FirstName" use-member="m_firstName" type="java.lang.String"> <sql name="FIRST_NAME" type="STRING" dirty="ignore"/> </field> <field name="LastName" use-member="m_lastName" type="java.lang.String"> <sql name="LAST_NAME" type="STRING" dirty="ignore"/> </field> <field name="Password" use-member="m_password" type="java.lang.String"> <sql name="PASSWORD" type="STRING" dirty="ignore"/> </field> <field name="Status" use-member="m_status" type="java.lang.String"> <sql name="STATUS" type="STRING" dirty="ignore"/> </field> <field name="EMailAddress" use-member="m_eMailAddress" type="java.lang.String"> <sql name="E_MAIL_ADDRESS" type="STRING" dirty="ignore"/> </field> <field name="SecurityQuestion" use-member="m_securityQuestion" type="java.lang.Long"> <sql name="SECURITY_QUESTION" type="INTEGER" dirty="ignore"/> </field> <field name="SecurityAnswer" use-member="m_securityAnswer" type="java.lang.String"> <sql name="SECURITY_ANSWER" type="STRING" dirty="ignore"/> </field> <field name="CreatedOn" use-member="m_createdOn" type="org.jaffa.datatypes.DateTime"> <sql name="CREATED_DATETIME" type="DATE_TIME" dirty="ignore"/> </field> <field name="CreatedBy" use-member="m_createdBy" type="java.lang.String"> <sql name="CREATED_USER" type="STRING" dirty="ignore"/> </field> <field name="LastUpdatedOn" use-member="m_lastUpdatedOn" type="org.jaffa.datatypes.DateTime"> <sql name="LAST_UPDATE_DATETIME" type="DATE_TIME" dirty="ignore"/> </field> <field name="LastUpdatedBy" use-member="m_lastUpdatedBy" type="java.lang.String"> <sql name="LAST_UPDATE_USER" type="STRING" dirty="ignore"/> </field> </class> </classmap> --- NEW FILE: UserRole.xml --- <classmap> <class name="org.jaffa.applications.jaffa.modules.admin.domain.UserRole"> <map-to table="USER_ROLE" /> <field name="UserName" use-member="m_userName" type="java.lang.String" primary-key="true"> <sql name="USER_NAME" type="STRING" dirty="ignore"/> </field> <field name="RoleName" use-member="m_roleName" type="java.lang.String" primary-key="true"> <sql name="ROLE_NAME" type="STRING" dirty="ignore"/> </field> </class> </classmap> --- NEW FILE: UserRequest.xml --- <classmap> <class name="org.jaffa.applications.jaffa.modules.user.domain.UserRequest"> <map-to table="USER_REQUEST" /> <field name="RequestId" use-member="m_requestId" type="java.lang.Long" primary-key="true" autogen-key="true"> <sql name="REQUEST_ID" type="INTEGER" dirty="ignore"/> </field> <field name="UserName" use-member="m_userName" type="java.lang.String"> <sql name="USER_NAME" type="STRING" dirty="ignore"/> </field> <field name="FirstName" use-member="m_firstName" type="java.lang.String"> <sql name="FIRST_NAME" type="STRING" dirty="ignore"/> </field> <field name="LastName" use-member="m_lastName" type="java.lang.String"> <sql name="LAST_NAME" type="STRING" dirty="ignore"/> </field> <field name="Password" use-member="m_password" type="java.lang.String"> <sql name="PASSWORD" type="STRING" dirty="ignore"/> </field> <field name="EMailAddress" use-member="m_eMailAddress" type="java.lang.String"> <sql name="E_MAIL_ADDRESS" type="STRING" dirty="ignore"/> </field> <field name="SecurityQuestion" use-member="m_securityQuestion" type="java.lang.Long"> <sql name="SECURITY_QUESTION" type="INTEGER" dirty="ignore"/> </field> <field name="SecurityAnswer" use-member="m_securityAnswer" type="java.lang.String"> <sql name="SECURITY_ANSWER" type="STRING" dirty="ignore"/> </field> <field name="Remarks" use-member="m_remarks" type="java.lang.String"> <sql name="REMARKS" type="STRING" dirty="ignore"/> </field> <field name="CreatedOn" use-member="m_createdOn" type="org.jaffa.datatypes.DateTime"> <sql name="CREATED_DATETIME" type="DATE_TIME" dirty="ignore"/> </field> <field name="ProcessedDatetime" use-member="m_processedDatetime" type="org.jaffa.datatypes.DateTime"> <sql name="PROCESSED_DATETIME" type="DATE_TIME" dirty="ignore"/> </field> <field name="ProcessedUserId" use-member="m_processedUserId" type="java.lang.String"> <sql name="PROCESSED_USER" type="STRING" dirty="ignore"/> </field> <field name="Status" use-member="m_status" type="java.lang.String"> <sql name="STATUS" type="STRING" dirty="ignore"/> </field> </class> </classmap> |
From: Gautam J. <ga...@us...> - 2009-02-25 23:42:56
|
Update of /cvsroot/jaffa/JaffaComponentsUser/source/java/resources/jdbcengine In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv12269/source/java/resources/jdbcengine Removed Files: User.xml UserRequest.xml UserRole.xml Log Message: Moved the domain mapping files from resources/jdbcengine to resources/jdbcengine/jaffa; consistent with the other Jaffa modules --- User.xml DELETED --- --- UserRole.xml DELETED --- --- UserRequest.xml DELETED --- |
From: Gautam J. <ga...@us...> - 2009-02-25 23:41:25
|
Update of /cvsroot/jaffa/JaffaComponentsUser/source/java/resources/jdbcengine/jaffa In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv11989/jaffa Log Message: Directory /cvsroot/jaffa/JaffaComponentsUser/source/java/resources/jdbcengine/jaffa added to the repository |
From: Gautam J. <ga...@us...> - 2009-02-25 19:26:41
|
Update of /cvsroot/jaffa/JaffaSOA/source/java/org/jaffa/soa/dataaccess In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv13193/dataaccess Modified Files: GraphService.java Log Message: Enhanced the query method of the GraphService to return the total records. Index: GraphService.java =================================================================== RCS file: /cvsroot/jaffa/JaffaSOA/source/java/org/jaffa/soa/dataaccess/GraphService.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** GraphService.java 24 Feb 2009 22:59:05 -0000 1.2 --- GraphService.java 25 Feb 2009 19:26:19 -0000 1.3 *************** *** 53,57 **** --- 53,59 ---- import java.util.Arrays; import java.util.Collection; + import java.util.Iterator; import java.util.LinkedList; + import java.util.Map; import org.apache.log4j.Logger; import org.jaffa.exceptions.ApplicationExceptions; *************** *** 130,134 **** * some kind of internal system error (like a problem accessing the database), * or listing the business logic errors will be returned in the response. ! * @param criteria This specified the criteria for the records to be retrieved. * @return An array of Graphs, the content of this graph is based on the result filter 'rules', as provided in the criteria object. * while processing. When an error occurs, an array of ServiceError instances will be returned --- 132,136 ---- * some kind of internal system error (like a problem accessing the database), * or listing the business logic errors will be returned in the response. ! * @param graphCriteria the graph criteria. * @return An array of Graphs, the content of this graph is based on the result filter 'rules', as provided in the criteria object. * while processing. When an error occurs, an array of ServiceError instances will be returned *************** *** 137,151 **** //@WebMethod - to expose as web service //@DirectRemoteMethod - use dwr.xml to expose this to prevent a compile dependency on this annotation ! protected Q _query(C criteria) { UOW uow = null; try { // create the UOW uow = new UOW(); ! // call internal service ! G[] graphs = localQuery(criteria, uow); // create the response ! return createGraphQueryResponse(graphs, null); } catch (Exception e) { // add errors to the response --- 139,166 ---- //@WebMethod - to expose as web service //@DirectRemoteMethod - use dwr.xml to expose this to prevent a compile dependency on this annotation ! protected Q _query(C graphCriteria) { UOW uow = null; try { + if (log.isDebugEnabled()) + log.debug("Input to _query: " + graphCriteria); + // create the UOW uow = new UOW(); ! // Build the Criteria ! Criteria c = createCriteria(graphCriteria); ! ! // Execute the query and obtain the results ! G[] graphs = runQuery(graphCriteria, c, uow); // create the response ! Q response = createGraphQueryResponse(graphs, null); ! ! // Find the total number of records ! stampTotalRecords(graphCriteria, c, uow, response, graphs.length); ! ! if (log.isDebugEnabled()) ! log.debug("Output from _query: " + response); ! return response; } catch (Exception e) { // add errors to the response *************** *** 189,193 **** GraphMapping graphMapping = MappingFactory.getInstance(graphDataClass); for (int i = 0; i < graphs.length; i++) { ! String path = graphMapping.getDomainClassShortName() + "[" + i + "]"; int retries = 0; while (true) { --- 204,208 ---- GraphMapping graphMapping = MappingFactory.getInstance(graphDataClass); for (int i = 0; i < graphs.length; i++) { ! String path = graphMapping.getDomainClassShortName() + '[' + i + ']'; int retries = 0; while (true) { *************** *** 267,271 **** * methods execution within as existing transaction. For this reason it is not expected * that this service will be exposed as an external service. ! * @param criteria This specified the criteria for the records to be retrieved. * @param uow <b>MANDATORY</b> Unit of work that this process will use * @return An array of Graphs, the content of this graph is based on the result filter 'rules', as provided in the criteria object. --- 282,286 ---- * methods execution within as existing transaction. For this reason it is not expected * that this service will be exposed as an external service. ! * @param graphCriteria the graph criteria. * @param uow <b>MANDATORY</b> Unit of work that this process will use * @return An array of Graphs, the content of this graph is based on the result filter 'rules', as provided in the criteria object. *************** *** 275,311 **** * root cause of the problem is. */ ! public G[] localQuery(C criteria, UOW uow) throws FrameworkException, ApplicationExceptions { ! try { ! if (log.isDebugEnabled()) ! log.debug("Input to localQuery: " + criteria); ! // Build the Criteria Object, use a new one if one was not supplied ! if (criteria == null) ! criteria = graphCriteriaClass.newInstance(); ! Criteria c = criteria.returnQueryClause(null); ! // Execute The Query and Loop through the results ! Collection<G> graphs = new LinkedList<G>(); ! GraphMapping graphMapping = MappingFactory.getInstance(graphDataClass); ! MappingFilter mappingFilter = null; //create an instance only if a row is found ! ITransformationHandler handler = createHandler(uow); ! if (handler != null) ! handler.preQuery(null, c, criteria, graphMapping.getDomainClass()); ! for (Object domain : uow.query(c)) { ! if (mappingFilter == null) ! mappingFilter = new MappingFilter(graphMapping, criteria.getResultGraphRules()); ! G graph = graphDataClass.newInstance(); ! DataTransformer.buildGraphFromDomain(domain, graph, graphMapping, mappingFilter, null, false, criteria, handler); ! graphs.add(graph); ! } ! // Build the output ! G[] output = graphs.toArray((G[]) Array.newInstance(graphDataClass, graphs.size())); ! if (log.isDebugEnabled()) ! log.debug("Output from localQuery: " + Arrays.toString(output)); ! return output; ! } catch (Throwable e) { ! throw ExceptionHelper.throwAFR(e); ! } } --- 290,306 ---- * root cause of the problem is. */ ! public G[] localQuery(C graphCriteria, UOW uow) throws FrameworkException, ApplicationExceptions { ! if (log.isDebugEnabled()) ! log.debug("Input to localQuery: " + graphCriteria); ! // Build the Criteria ! Criteria c = createCriteria(graphCriteria); ! // Execute the query and obtain the results ! G[] output = runQuery(graphCriteria, c, uow); ! if (log.isDebugEnabled()) ! log.debug("Output from localQuery: " + Arrays.toString(output)); ! return output; } *************** *** 352,355 **** --- 347,352 ---- * the exceptions wrapped inside. * </ul> + * @param path This is the source path upto the input graphs, used when processing a more complex + * tree, where this is the path to get to the root object being processed. * @param graphs <b>(MANDATORY)</b> The object graphs being used to Create/Update the domain objects * @param uow <b>(MANDATORY)</b> Unit of work that this process will use *************** *** 360,370 **** * root cause of the problem is. */ ! public G[] localUpdate(G[] graphs, UOW uow) throws FrameworkException, ApplicationExceptions { // Loop through each graph Collection<G> outputCol = new LinkedList<G>(); GraphMapping graphMapping = MappingFactory.getInstance(graphDataClass); for (int i = 0; i < graphs.length; i++) { ! String path = graphMapping.getDomainClassShortName() + "[" + i + "]"; ! G output = localUpdate(path, graphs[i], uow); if (output != null) outputCol.add(output); --- 357,367 ---- * root cause of the problem is. */ ! public G[] localUpdate(String path, G[] graphs, UOW uow) throws FrameworkException, ApplicationExceptions { // Loop through each graph Collection<G> outputCol = new LinkedList<G>(); GraphMapping graphMapping = MappingFactory.getInstance(graphDataClass); for (int i = 0; i < graphs.length; i++) { ! String p = (path != null ? path + '.' : "") + graphMapping.getDomainClassShortName() + '[' + i + ']'; ! G output = localUpdate(p, graphs[i], uow); if (output != null) outputCol.add(output); *************** *** 377,380 **** --- 374,461 ---- /** + * Builds a Criteria object for use with the persistence engine, based on the input graph criteria. + * @param graphCriteria the input graph criteria. + * @return a Criteria object for use with the persistence engine, based on the input graph criteria. + */ + protected Criteria createCriteria(C graphCriteria) { + try { + // Build the Criteria Object, use a new one if one was not supplied + if (graphCriteria == null) + graphCriteria = graphCriteriaClass.newInstance(); + return graphCriteria.returnQueryClause(null); + } catch (Exception e) { + String s = "Error in creating instance of GraphCriteria"; + log.error(s, e); + throw new RuntimeException(s, e); + } + } + + /** + * Runs the query based on the inputs. + * @param graphCriteria the graph criteria. + * @param criteria the criteria to be used for generating the database query. + * @param uow <b>MANDATORY</b> Unit of work that this process will use + * @return An array of Graphs, the content of this graph is based on the result filter 'rules', as provided in the graph criteria. + * @throws FrameworkException Thrown if there is some kind of runtime or architecture problem + * @throws ApplicationExceptions Thrown if there are any application logic errors + * while processing. This exception contains a list of exceptions which detail what the + * root cause of the problem is. + */ + protected G[] runQuery(C graphCriteria, Criteria criteria, UOW uow) throws FrameworkException, ApplicationExceptions { + try { + Collection<G> graphs = new LinkedList<G>(); + GraphMapping graphMapping = MappingFactory.getInstance(graphDataClass); + MappingFilter mappingFilter = null; //create an instance only if a row is found + ITransformationHandler handler = createHandler(uow); + if (handler != null) + handler.preQuery(null, criteria, graphCriteria, graphMapping.getDomainClass()); + for (Object domain : uow.query(criteria)) { + if (mappingFilter == null) + mappingFilter = new MappingFilter(graphMapping, graphCriteria.getResultGraphRules()); + G graph = graphDataClass.newInstance(); + DataTransformer.buildGraphFromDomain(domain, graph, graphMapping, mappingFilter, null, false, graphCriteria, handler); + graphs.add(graph); + } + return graphs.toArray((G[]) Array.newInstance(graphDataClass, graphs.size())); + } catch (Exception e) { + throw ExceptionHelper.throwAFR(e); + } + + } + + /** + * Runs a query to find the total number of records returned by the input criteria in the absence of the output-limiting parameters. + * @param graphCriteria the graph criteria. + * @param criteria the criteria used for generating the database query. + * @param uow The UOW. + * @param response The response being generated by the query. + * @param rowsCount The number of rows retrieved by the query in the presence of output-limiting parameters. + * @throws FrameworkException if any system error occurs. + */ + protected void stampTotalRecords(C graphCriteria, Criteria criteria, UOW uow, Q response, int rowsCount) throws FrameworkException { + // do not find total records, only if not asked to + if (graphCriteria.getFindTotalRecords() == null || graphCriteria.getFindTotalRecords()) { + int objectStart = graphCriteria.getObjectStart() == null ? 0 : graphCriteria.getObjectStart(); + int objectLimit = graphCriteria.getObjectLimit() == null ? 0 : graphCriteria.getObjectLimit(); + if (objectStart > 0 || objectLimit > 0) { + if (objectStart <= 0 && rowsCount < objectLimit) { + response.setTotalRecords(rowsCount); + } else { + criteria.setFirstResult(null); + criteria.setMaxResults(null); + criteria.addFunction(Criteria.FUNCTION_COUNT, null, Criteria.ID_FUNCTION_COUNT); + Iterator itr = uow.query(criteria).iterator(); + if (itr.hasNext()) { + Number count = (Number) ((Map) itr.next()).get(Criteria.ID_FUNCTION_COUNT); + response.setTotalRecords(count != null ? count.intValue() : 0); + } + } + } else { + response.setTotalRecords(rowsCount); + } + } + } + + /** * Creates a GraphQueryResponse instance. * @param graphs the graphs to be added to the response. |
From: Gautam J. <ga...@us...> - 2009-02-25 19:26:32
|
Update of /cvsroot/jaffa/JaffaSOA/source/java/org/jaffa/soa/graph In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv13193/graph Modified Files: GraphCriteria.java GraphQueryResponse.java Log Message: Enhanced the query method of the GraphService to return the total records. Index: GraphCriteria.java =================================================================== RCS file: /cvsroot/jaffa/JaffaSOA/source/java/org/jaffa/soa/graph/GraphCriteria.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** GraphCriteria.java 23 Feb 2009 18:25:09 -0000 1.1 --- GraphCriteria.java 25 Feb 2009 19:26:19 -0000 1.2 *************** *** 47,57 **** * ==================================================================== */ - package org.jaffa.soa.graph; - import org.apache.log4j.Logger; import org.jaffa.persistence.Criteria; import org.jaffa.components.finder.OrderByField; - import java.util.*; /** The base class for all Graph Criteria Objects for the Root Query. --- 47,54 ---- *************** *** 70,165 **** public abstract class GraphCriteria { ! private static Logger log = Logger.getLogger(GraphCriteria.class); ! ! /** Holds an array of OrderBy Fields to be used in the query. */ ! private List orderByFields; ! ! /** Holds value of property objectLimit. */ ! private Integer objectLimit = new Integer(25); ! ! /** Holds value of property objectStart. */ ! private Integer objectStart = new Integer(0); ! ! /** Holds value of property resultGraphRules. */ private String[] resultGraphRules; ! ! /** ! * Creates a new instance of GraphCriteria ! */ ! public GraphCriteria() { ! orderByFields = new ArrayList(); ! } ! ! /** Add orderByFields. ! * @param orderByFields OrderByFields. ! */ ! public void addOrderByFields(OrderByField orderByFields) { ! this.orderByFields.add(orderByFields); ! } ! ! /** Add orderByFields at the specified position. ! * @param orderByFields OrderByFields. ! * @param index The position at which the orderByFields is to be added. ! */ ! public void setOrderByFields(OrderByField orderByFields, int index) { ! //-- check bounds for index ! if ((index < 0) || (index > this.orderByFields.size())) ! throw new IndexOutOfBoundsException(); ! ! this.orderByFields.set(index, orderByFields); ! } ! ! /** Add an array of orderByFields. This will overwrite existing orderByFields. ! * @param orderByFields An array of orderByFields. ! */ ! public void setOrderByFields(OrderByField[] orderByFields) { ! this.orderByFields = Arrays.asList(orderByFields); ! log.debug("Set Ordering "+this.orderByFields); ! } ! ! /** Clear existing orderByFields. ! */ ! public void clearOrderByFields() { ! orderByFields.clear(); ! } ! ! /** Remove orderByFields. ! * @param orderByFields OrderByFields. ! * @return A true indicates a orderByFields was removed. A false indicates, the orderByFields was not found. ! */ ! public boolean removeOrderByFields(OrderByField orderByFields) { ! return this.orderByFields.remove(orderByFields); ! } ! ! /** Returns a orderByFields from the specified position. ! * @param index The position index. ! * @return OrderByFields. ! */ ! public OrderByField getOrderByFields(int index) { ! //-- check bounds for index ! if ((index < 0) || (index > orderByFields.size())) ! throw new IndexOutOfBoundsException(); ! ! return (OrderByField) orderByFields.get(index); ! } ! ! /** Returns an array of orderByFields. ! * @return An array of orderByFields. */ public OrderByField[] getOrderByFields() { ! return (OrderByField[]) orderByFields.toArray(new OrderByField[0]); } ! /** Returns a count of orderByFields. ! * @return The count of orderByFields. */ ! public int getOrderByFieldsCount() { ! return orderByFields.size(); } /** Getter for property objectLimit. * @return Value of property objectLimit. - * */ public Integer getObjectLimit() { --- 67,92 ---- public abstract class GraphCriteria { ! private OrderByField[] orderByFields; ! private Integer objectLimit = 25; ! private Integer objectStart = 0; ! private Boolean findTotalRecords; private String[] resultGraphRules; ! /** Getter for property orderByFields. ! * @return Value of property orderByFields. */ public OrderByField[] getOrderByFields() { ! return orderByFields; } ! /** Setter for property orderByFields. ! * @param orderByFields New value of property orderByFields. */ ! public void setOrderByFields(OrderByField[] orderByFields) { ! this.orderByFields = orderByFields; } /** Getter for property objectLimit. * @return Value of property objectLimit. */ public Integer getObjectLimit() { *************** *** 175,179 **** * Defaults to 25 objects any number below 1 implies ALL objects. * @param objectLimit New value of property objectLimit. - * */ public void setObjectLimit(Integer objectLimit) { --- 102,105 ---- *************** *** 183,187 **** /** Getter for property objectStart. * @return Value of property objectStart. - * */ public Integer getObjectStart() { --- 109,112 ---- *************** *** 195,202 **** * invocations where the initial retrieve has been limited with ObjectLimit * <p> ! * Defaults to 1 which is the first occurence. If you got back the default 25 rows, ! * and wanted more it would make sence to set this to 26 on the next invocation. * @param objectStart New value of property objectStart. - * */ public void setObjectStart(Integer objectStart) { --- 120,126 ---- * invocations where the initial retrieve has been limited with ObjectLimit * <p> ! * Defaults to 0 which is the first occurence. If you got back the default 25 rows, ! * and wanted more it would make sence to set this to 25 on the next invocation. * @param objectStart New value of property objectStart. */ public void setObjectStart(Integer objectStart) { *************** *** 204,207 **** --- 128,168 ---- } + /** Getter for property findTotalRecords. + * @return Value of property findTotalRecords. + */ + public Boolean getFindTotalRecords() { + return findTotalRecords; + } + + /** Setter for property findTotalRecords. + * @param findTotalRecords New value of property findTotalRecords. + */ + public void setFindTotalRecords(Boolean findTotalRecords) { + this.findTotalRecords = findTotalRecords; + } + + /** Getter for property resultGraphRules. + * @return Value of property resultGraphRules. + */ + public String[] getResultGraphRules() { + return this.resultGraphRules; + } + + /** Setter for property resultGraphRules. + *<p> + * These rules control what fields and related objects should be included + * in the returned Domain Object Graph. By default only the top level object, + * and skeleton related foreign objects are included. + *<p> + * See <a href="./package-summary.html#howto">How to control what is returned in a + * domain object graph</a> for examples of how to use this to control what + * is returned in the output graph. + *<p> + * @param resultGraphRules New value of property resultGraphRules. + */ + public void setResultGraphRules(String[] resultGraphRules) { + this.resultGraphRules = resultGraphRules; + } + /** * Return the real retrieve clause that will be executed for this query. *************** *** 219,235 **** * @return return the generated clause */ ! public Criteria returnQueryClause(Criteria nestedClause){ Criteria c = new Criteria(); // append an orderBy clause to the criteria ! OrderByField[] orderByFields = getOrderByFields(); ! if (orderByFields != null) { ! for (int i = 0; i < orderByFields.length; i++) { ! OrderByField orderByField = orderByFields[i]; int sort = Criteria.ORDER_BY_ASC; ! if (orderByField.getSortAscending() != null && !orderByField.getSortAscending().booleanValue() ) sort = Criteria.ORDER_BY_DESC; - c.addOrderBy(orderByField.getFieldName(), sort); - log.debug("Order by : "+orderByField.getFieldName()+" , "+sort); } } --- 180,192 ---- * @return return the generated clause */ ! public Criteria returnQueryClause(Criteria nestedClause) { Criteria c = new Criteria(); // append an orderBy clause to the criteria ! if (getOrderByFields() != null) { ! for (OrderByField orderByField : getOrderByFields()) { int sort = Criteria.ORDER_BY_ASC; ! if (orderByField.getSortAscending() != null && !orderByField.getSortAscending().booleanValue()) sort = Criteria.ORDER_BY_DESC; c.addOrderBy(orderByField.getFieldName(), sort); } } *************** *** 239,270 **** } ! ! /** Getter for property resultGraphRules. ! * @return Value of property resultGraphRules. ! * ! */ ! public String[] getResultGraphRules() { ! return this.resultGraphRules; ! } ! ! ! /** Setter for property resultGraphRules. ! *<p> ! * These rules control what fields and related objects should be included ! * in the returned Domain Object Graph. By default only the top level object, ! * and skeleton related foreign objects are included. ! *<p> ! * See <a href="./package-summary.html#howto">How to control what is returned in a ! * domain object graph</a> for examples of how to use this to control what ! * is returned in the output graph. ! *<p> ! * @param resultGraphRules New value of property resultGraphRules. ! * */ ! public void setResultGraphRules(String[] resultGraphRules) { ! this.resultGraphRules = resultGraphRules; } - - - } --- 196,216 ---- } ! /** Returns diagnostic information. ! * @return diagnostic information. */ ! @Override ! public String toString() { ! StringBuilder buf = new StringBuilder(); ! if (getObjectLimit() != null) ! buf.append("<objectLimit>").append(getObjectLimit()).append("</objectLimit>"); ! if (getObjectStart() != null) ! buf.append("<objectStart>").append(getObjectStart()).append("</objectStart>"); ! if (getFindTotalRecords() != null) ! buf.append("<findTotalRecords>").append(getFindTotalRecords()).append("</findTotalRecords>"); ! if (getOrderByFields() != null) { ! for (Object o : getOrderByFields()) ! buf.append(o); ! } ! return buf.toString(); } } Index: GraphQueryResponse.java =================================================================== RCS file: /cvsroot/jaffa/JaffaSOA/source/java/org/jaffa/soa/graph/GraphQueryResponse.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** GraphQueryResponse.java 24 Feb 2009 22:59:06 -0000 1.1 --- GraphQueryResponse.java 25 Feb 2009 19:26:19 -0000 1.2 *************** *** 62,68 **** --- 62,85 ---- protected G[] graphs; + private Integer totalRecords; private ServiceError[] errors; /** + * Getter for property totalRecords. + * @return Value of property totalRecords. + */ + public Integer getTotalRecords() { + return totalRecords; + } + + /** + * Setter for property totalRecords. + * @param totalRecords New value of property totalRecords. + */ + public void setTotalRecords(Integer totalRecords) { + this.totalRecords = totalRecords; + } + + /** * Getter for property errors. * @return Value of property errors. *************** *** 79,81 **** --- 96,117 ---- this.errors = errors; } + + /** Returns diagnostic information. + * @return diagnostic information. + */ + @Override + public String toString() { + StringBuilder buf = new StringBuilder(); + if (graphs != null) { + for (Object o : graphs) + buf.append(o); + } + if (getTotalRecords() != null) + buf.append("<totalRecords>").append(getTotalRecords()).append("</totalRecords>"); + if (getErrors() != null) { + for (Object o : getErrors()) + buf.append(o); + } + return buf.toString(); + } } |