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

Reply via email to