Ratha, Please use the proper JIRA key. BAM-236 not BAM_236.
On Tue, Oct 12, 2010 at 11:34 AM, <[email protected]> wrote: > Author: rathav > Date: Mon Oct 11 23:04:25 2010 > New Revision: 75456 > URL: http://wso2.org/svn/browse/wso2?view=rev&revision=75456 > > Log: > Fixing BAM_236(introducing stroe mech for xpath details) > > Added: > > trunk/carbon/components/bam-data-publishers/org.wso2.carbon.bam.data.publisher.activity.service/src/main/java/org/wso2/carbon/bam/data/publisher/activity/service/XPathStore.java > Modified: > > trunk/carbon/components/bam-data-publishers/org.wso2.carbon.bam.data.publisher.activity.service/src/main/java/org/wso2/carbon/bam/data/publisher/activity/service/modules/ActivityInHandler.java > > trunk/carbon/components/bam-data-publishers/org.wso2.carbon.bam.data.publisher.activity.service/src/main/java/org/wso2/carbon/bam/data/publisher/activity/service/modules/XPathLookupHandler.java > > trunk/carbon/components/bam-data-publishers/org.wso2.carbon.bam.data.publisher.activity.service/src/main/resources/META-INF/module.xml > > Added: > trunk/carbon/components/bam-data-publishers/org.wso2.carbon.bam.data.publisher.activity.service/src/main/java/org/wso2/carbon/bam/data/publisher/activity/service/XPathStore.java > URL: > http://wso2.org/svn/browse/wso2/trunk/carbon/components/bam-data-publishers/org.wso2.carbon.bam.data.publisher.activity.service/src/main/java/org/wso2/carbon/bam/data/publisher/activity/service/XPathStore.java?pathrev=75456 > > ============================================================================== > --- (empty file) > +++ > trunk/carbon/components/bam-data-publishers/org.wso2.carbon.bam.data.publisher.activity.service/src/main/java/org/wso2/carbon/bam/data/publisher/activity/service/XPathStore.java > Mon Oct 11 23:04:25 2010 > @@ -0,0 +1,25 @@ > +package org.wso2.carbon.bam.data.publisher.activity.service; > + > +import java.util.HashMap; > +import java.util.Map; > + > +/** > + * Store XPath values > + * > + */ > +public class XPathStore { > + > + public static Map<String, Map<Integer, String>> xpMap = new > HashMap<String, Map<Integer, String>>(); > + > + public static void storeXPath(String messageId, Map<Integer, String> > map) { > + xpMap.put(messageId, map); > + } > + > + public static Map<Integer, String> getXPath(String messageId) { > + return xpMap.get(messageId); > + } > + > + public static void removeXPath(int key) { > + xpMap.remove(key); > + } > +} > > Modified: > trunk/carbon/components/bam-data-publishers/org.wso2.carbon.bam.data.publisher.activity.service/src/main/java/org/wso2/carbon/bam/data/publisher/activity/service/modules/ActivityInHandler.java > URL: > http://wso2.org/svn/browse/wso2/trunk/carbon/components/bam-data-publishers/org.wso2.carbon.bam.data.publisher.activity.service/src/main/java/org/wso2/carbon/bam/data/publisher/activity/service/modules/ActivityInHandler.java?rev=75456&r1=75455&r2=75456&view=diff > > ============================================================================== > --- > trunk/carbon/components/bam-data-publishers/org.wso2.carbon.bam.data.publisher.activity.service/src/main/java/org/wso2/carbon/bam/data/publisher/activity/service/modules/ActivityInHandler.java > (original) > +++ > trunk/carbon/components/bam-data-publishers/org.wso2.carbon.bam.data.publisher.activity.service/src/main/java/org/wso2/carbon/bam/data/publisher/activity/service/modules/ActivityInHandler.java > Mon Oct 11 23:04:25 2010 > @@ -188,8 +188,7 @@ > Parameter param_admin = service.getParameter("adminService"); > Parameter param_hidden = service.getParameter("hiddenService"); > if (param_admin == null && param_hidden == null) { > - storeMessageDetail(messageContext.getConfigurationContext(), > messageID, activityID, activityName, > - activityDescription, activityProperty); > + storeMessageDetail(messageID, activityID, activityName, > activityDescription, activityProperty); > ArrayList list = messageContext.getEnvelope().getHeader() > > .getHeaderBlocksWithNSURI(ActivityPublisherConstants.BAM_ACTIVITY_ID_HEADER_NAMESPACE_URI); > > @@ -249,8 +248,8 @@ > * at ConfigurationContext since we need to capture same messageID at > response also > */ > > - private synchronized void storeMessageDetail(ConfigurationContext > configContext, String messageId, > - String activityId, String actName, String activityDes, String > activityProp) { > + private synchronized void storeMessageDetail(String messageId, String > activityId, String actName, > + String activityDes, String activityProp) { > MessageStore.storeMessageAct(messageId, activityId, actName, > activityDes, activityProp); > > CarbonContextHolder.getCurrentCarbonContextHolder((ConfigurationContext) > null) > > .setProperty(ActivityPublisherConstants.WSO2_ACTIVITY_MESSAGE_ID, > messageId); > > Modified: > trunk/carbon/components/bam-data-publishers/org.wso2.carbon.bam.data.publisher.activity.service/src/main/java/org/wso2/carbon/bam/data/publisher/activity/service/modules/XPathLookupHandler.java > URL: > http://wso2.org/svn/browse/wso2/trunk/carbon/components/bam-data-publishers/org.wso2.carbon.bam.data.publisher.activity.service/src/main/java/org/wso2/carbon/bam/data/publisher/activity/service/modules/XPathLookupHandler.java?rev=75456&r1=75455&r2=75456&view=diff > > ============================================================================== > --- > trunk/carbon/components/bam-data-publishers/org.wso2.carbon.bam.data.publisher.activity.service/src/main/java/org/wso2/carbon/bam/data/publisher/activity/service/modules/XPathLookupHandler.java > (original) > +++ > trunk/carbon/components/bam-data-publishers/org.wso2.carbon.bam.data.publisher.activity.service/src/main/java/org/wso2/carbon/bam/data/publisher/activity/service/modules/XPathLookupHandler.java > Mon Oct 11 23:04:25 2010 > @@ -17,6 +17,8 @@ > > import java.io.ByteArrayInputStream; > import java.util.Calendar; > +import java.util.HashMap; > +import java.util.Iterator; > import java.util.List; > import java.util.Map; > > @@ -42,6 +44,7 @@ > import org.wso2.carbon.bam.data.publisher.activity.service.BAMCalendar; > import org.wso2.carbon.bam.data.publisher.activity.service.MessageStore; > import org.wso2.carbon.bam.data.publisher.activity.service.PublisherUtils; > +import org.wso2.carbon.bam.data.publisher.activity.service.XPathStore; > import > org.wso2.carbon.bam.data.publisher.activity.service.config.EventingConfigData; > import > org.wso2.carbon.bam.data.publisher.activity.service.events.ActivityEvent; > import > org.wso2.carbon.bam.data.publisher.activity.service.events.ActivityThresholdEvent; > @@ -55,13 +58,16 @@ > public class XPathLookupHandler extends AbstractHandler { > > private static Log log = LogFactory.getLog(XPathLookupHandler.class); > - > + private static Map<Integer, String> xpathValues = new HashMap<Integer, > String>(); > public InvocationResponse invoke(MessageContext messageContext) throws > AxisFault { > + > Map<String, String> activity; > + Map<Integer, String> xpathDet; > String activityID = ""; > String messageDirection = ""; > String xmlStream = > messageContext.getEnvelope().getBody().toString(); > List listOfNodes = null; > + String messageDetail = ""; > // xmlStream = > // "<Persons><Person><Name>Dihini > Himahansi</Name><Address><City>Rajagiriya</City><District>Colombo</District><Country>Sri > Lanka</Country></Address></Person><Person><Name>Thushari > Damayanthi</Name><Address><City>Ambalangoda</City><District>Galle</District><Country>Sri > Lanka</Country></Address></Person></Persons>"; > // xmlStream = > @@ -106,18 +112,30 @@ > listOfNodes = xpath.selectNodes(root); > > if (listOfNodes != null && > listOfNodes.size() > 0) { > - for (int i = 0; i < > listOfNodes.size(); i++) { > - OMElement omElement = (OMElement) > listOfNodes.get(i); > - String xpathValue = > omElement.toString(); > - AxisConfiguration axisConfig = > messageContext.getConfigurationContext() > - .getAxisConfiguration(); > - OMElement statMessage = > PublisherUtils > - > .getMessageLookupEventPayload(messageContext, axisConfig, messageContext > - > .getAxisService().getName(), messageContext.getAxisOperation() > - .getName().getLocalPart(), > activityID, messageID, xpathExp, xpathValue, > - > messageDirection, BAMCalendar > - > .getInstance(Calendar.getInstance()) > - > .getBAMTimestamp()); > + for (int i = 0; i < > listOfNodes.size(); i++) { > + OMElement omElement = > (OMElement) listOfNodes.get(i); > + String xpathValue = > omElement.toString(); > + storeXPath(i + 1, xpathValue); > + } > + storeXPathDetail(messageID, > xpathValues); > + } > + if (XPathStore.getXPath(messageID) != > null) { > + xpathDet = > XPathStore.getXPath(messageID); > + String retrivedData = null; > + for (int i = 0; i < > xpathDet.size(); i++) { > + retrivedData = xpathDet.get(i > + 1); > + } > + messageDetail = messageDetail + > retrivedData; > + } > + AxisConfiguration axisConfig = > messageContext.getConfigurationContext() > + .getAxisConfiguration(); > + OMElement statMessage = PublisherUtils > + > .getMessageLookupEventPayload(messageContext, axisConfig, messageContext > + .getAxisService().getName(), > messageContext.getAxisOperation().getName() > + .getLocalPart(), activityID, > messageID, xpathExp, messageDetail, > + > messageDirection, BAMCalendar > + > .getInstance(Calendar.getInstance()) > + > .getBAMTimestamp()); > > if (statMessage != null) { > MessageContext eventMsgCtx = > new MessageContext(); > @@ -140,8 +158,7 @@ > log.error("ActivityHandler > - Unable to publish event", e); > } > } > - } > - } > + > } > } > } catch (JaxenException e) { > @@ -157,5 +174,11 @@ > } > return InvocationResponse.CONTINUE; > } > + private synchronized void storeXPath(int key, String value) { > + xpathValues.put(key, value); > + } > > + private synchronized void storeXPathDetail(String messageID, > Map<Integer, String> map) { > + XPathStore.storeXPath(messageID, map); > + } > } > > Modified: > trunk/carbon/components/bam-data-publishers/org.wso2.carbon.bam.data.publisher.activity.service/src/main/resources/META-INF/module.xml > URL: > http://wso2.org/svn/browse/wso2/trunk/carbon/components/bam-data-publishers/org.wso2.carbon.bam.data.publisher.activity.service/src/main/resources/META-INF/module.xml?rev=75456&r1=75455&r2=75456&view=diff > > ============================================================================== > --- > trunk/carbon/components/bam-data-publishers/org.wso2.carbon.bam.data.publisher.activity.service/src/main/resources/META-INF/module.xml > (original) > +++ > trunk/carbon/components/bam-data-publishers/org.wso2.carbon.bam.data.publisher.activity.service/src/main/resources/META-INF/module.xml > Mon Oct 11 23:04:25 2010 > @@ -12,11 +12,11 @@ > <OutFlow> > <handler name="ActivityOutHandler" > > > class="org.wso2.carbon.bam.data.publisher.activity.service.modules.ActivityOutHandler"> > - <order phaseFirst="true" phase="OpPhase" /> > + <order phase="OpPhase" phaseLast="true"/> > </handler> > <handler name="XPathLookupHandler" > > > class="org.wso2.carbon.bam.data.publisher.activity.service.modules.XPathLookupHandler"> > - <order phase="OpPhase" phaseLast="true" /> > + <order phaseFirst="true" phase="OpPhase" /> > </handler> > </OutFlow> > <parameter name="adminModule" locked="true">true</parameter> > > _______________________________________________ > Carbon-commits mailing list > [email protected] > https://wso2.org/cgi-bin/mailman/listinfo/carbon-commits > -- *Afkham Azeez* Senior Software Architect & Senior Manager; WSO2, Inc.; http://wso2.com, * * *Member; Apache Software Foundation; **http://www.apache.org/*<http://www.apache.org/> * email: **[email protected]* <[email protected]>* cell: +94 77 3320919 blog: **http://blog.afkham.org* <http://blog.afkham.org>* twitter: **http://twitter.com/afkham_azeez*<http://twitter.com/afkham_azeez> * linked-in: **http://lk.linkedin.com/in/afkhamazeez* * * *Lean . Enterprise . Middleware*
_______________________________________________ Carbon-dev mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev
