Modified: 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/filters/OutMediator.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/filters/OutMediator.java?rev=698157&r1=698156&r2=698157&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/filters/OutMediator.java
 (original)
+++ 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/filters/OutMediator.java
 Tue Sep 23 05:28:19 2008
@@ -19,9 +19,6 @@
 
 package org.apache.synapse.mediators.filters;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.synapse.SynapseConstants;
 import org.apache.synapse.MessageContext;
 import org.apache.synapse.mediators.AbstractListMediator;
 

Added: 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/statistics/AuditConfigurable.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/statistics/AuditConfigurable.java?rev=698157&view=auto
==============================================================================
--- 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/statistics/AuditConfigurable.java
 (added)
+++ 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/statistics/AuditConfigurable.java
 Tue Sep 23 05:28:19 2008
@@ -0,0 +1,30 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+package org.apache.synapse.statistics;
+
+/**
+ * 
+ */
+public interface AuditConfigurable {
+    
+    public String getAuditId();   
+    public boolean isStatisticsEnable();
+    public void disableStatistics();
+    public void enableStatistics();
+}

Modified: 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/statistics/Statistics.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/statistics/Statistics.java?rev=698157&r1=698156&r2=698157&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/statistics/Statistics.java
 (original)
+++ 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/statistics/Statistics.java
 Tue Sep 23 05:28:19 2008
@@ -40,13 +40,13 @@
     /**
      * Update the statistics
      *
-     * @param inTime  - The processing start time
-     * @param outTime - The processing end time
-     * @param isFault - A boolean value that indicate whether falut has 
occured or not
+     *
+     * @param currentProcessingTime - The processing end time
+     * @param isFault - A boolean value that indicate whether fault has 
occurred or not
      */
-    public void update(long inTime, long outTime, boolean isFault) {
+    public void update(long currentProcessingTime, boolean isFault) {
 
-        if (outTime < 0 || inTime < 0) {
+        if (currentProcessingTime < 0) {
             return;
         }
 
@@ -55,17 +55,16 @@
             faultCount++;
         }
 
-        long responseTime = outTime - inTime;
-        if (maxProcessingTime < responseTime) {
-            maxProcessingTime = responseTime;
+        if (maxProcessingTime < currentProcessingTime) {
+            maxProcessingTime = currentProcessingTime;
         }
-        if (minProcessingTime > responseTime) {
-            minProcessingTime = responseTime;
+        if (minProcessingTime > currentProcessingTime) {
+            minProcessingTime = currentProcessingTime;
         }
         if (minProcessingTime == -1) {
-            minProcessingTime = responseTime;
+            minProcessingTime = currentProcessingTime;
         }
-        totalProcessingTime = totalProcessingTime + responseTime;
+        totalProcessingTime = totalProcessingTime + currentProcessingTime;
         avgProcessingTime = totalProcessingTime / count;
     }
 
@@ -77,7 +76,7 @@
     }
 
     /**
-     * @return Returns the Avarage processing time
+     * @return Returns the Average processing time
      */
     public double getAvgProcessingTime() {
         return avgProcessingTime;
@@ -103,4 +102,18 @@
     public int getCount() {
         return count;
     }
+
+    public String toString() {
+        return new StringBuffer().append(" Avg Processing Time : ").
+                append(avgProcessingTime)
+                .append(" Max Processing Time : ").
+                append(maxProcessingTime)
+                .append(" Min Processing Time : ").
+                append(minProcessingTime)
+                .append(" Total Request Count : ").
+                append(count)
+                .append(" Total Fault Response Count : ").
+                append(faultCount).
+                toString();
+    }
 }

Modified: 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/statistics/StatisticsCollector.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/statistics/StatisticsCollector.java?rev=698157&r1=698156&r2=698157&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/statistics/StatisticsCollector.java
 (original)
+++ 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/statistics/StatisticsCollector.java
 Tue Sep 23 05:28:19 2008
@@ -18,9 +18,8 @@
  */
 package org.apache.synapse.statistics;
 
-import org.apache.synapse.SynapseConstants;
-
-import java.util.*;
+import java.util.ArrayList;
+import java.util.List;
 
 /**
  * To collect statistics
@@ -28,127 +27,26 @@
 
 public class StatisticsCollector {
 
-    /**  A synchronized map for holding sequence statistics  */
-    private Map sequenceStatistics = Collections.synchronizedMap(new 
HashMap());
-
-    /**  A synchronized map for holding end point statistics */
-    private Map endpointStatistics = Collections.synchronizedMap(new 
HashMap());
-
-    /**  A synchronized map for holding proxy services statistics */
-    private Map proxyServicesStatistics = Collections.synchronizedMap(new 
HashMap());
-
-    /**
-     * To report the statistics related to a  EndPonit
-     *
-     * @param keyOfStatistic - key for hold Statistic
-     * @param isResponse     - A boolean value that indicate whether message 
flow is in or out
-     * @param inTime         - The processing start time
-     * @param outTime        - The processing end time
-     * @param isFault        - A boolean value that indicate whether falut has 
occured or not
-     */
-    public void reportForEndPoint(String keyOfStatistic, boolean isResponse, 
long inTime,
-                                  long outTime, boolean isFault) {
-        StatisticsHolder statisticsHolder =
-                (StatisticsHolder) endpointStatistics.get(keyOfStatistic);
-        if (statisticsHolder == null) {
-            statisticsHolder = new StatisticsHolder();
-            statisticsHolder.setKey(keyOfStatistic);
-            
statisticsHolder.setStatisticsCategory(SynapseConstants.ENDPOINT_STATISTICS);
-            endpointStatistics.put(keyOfStatistic, statisticsHolder);
-        }
-        statisticsHolder.update(isResponse, inTime, outTime, isFault);
+    private final List<StatisticsRecord> statisticsCollection = new 
ArrayList<StatisticsRecord>();
 
+    public void collect(StatisticsRecord statisticsRegistry) {
+        this.statisticsCollection.add(statisticsRegistry);
     }
 
-    /**
-     * To report the statistics related to a  ProxyService
-     *
-     * @param keyOfStatistic - key for hold Statistic
-     * @param isResponse     - A boolean value that indicate whether message 
flow is in or out
-     * @param inTime         - The processing start time
-     * @param outTime        - The processing end time
-     * @param isFault        - A boolean value that indicate whether falut has 
occured or not
-     */
-    public void reportForProxyService(String keyOfStatistic, boolean 
isResponse, long inTime,
-                                      long outTime, boolean isFault) {
-        StatisticsHolder statisticsHolder =
-                (StatisticsHolder) proxyServicesStatistics.get(keyOfStatistic);
-        if (statisticsHolder == null) {
-            statisticsHolder = new StatisticsHolder();
-            statisticsHolder.setKey(keyOfStatistic);
-            
statisticsHolder.setStatisticsCategory(SynapseConstants.PROXYSERVICE_STATISTICS);
-            proxyServicesStatistics.put(keyOfStatistic, statisticsHolder);
+    public Statistics getEndpointStatistics(String id) {
+        Statistics statistics = new Statistics();
+        for (StatisticsRecord statisticsRegistry : statisticsCollection) {
+            if (statisticsRegistry != null) {
+                StatisticsLog log = 
statisticsRegistry.getEndpointStatisticsRecord(id);
+                if (log != null) {
+                    statistics.update(log.getProcessingTime(), 
statisticsRegistry.isFaultResponse());
+                }
+            }
         }
-        statisticsHolder.update(isResponse, inTime, outTime, isFault);
-    }
-
-    /**
-     * To report the statistics related to a  Sequence
-     *
-     * @param keyOfStatistic - key for hold Statistic
-     * @param isResponse     - A boolean value that indicate whether message 
flow is in or out
-     * @param inTime         - The processing start time
-     * @param outTime        - The processing end time
-     * @param isFault        - A boolean value that indicate whether falut has 
occured or not
-     */
-    public void reportForSequence(String keyOfStatistic, boolean isResponse, 
long inTime,
-                                  long outTime, boolean isFault) {
-        StatisticsHolder statisticsHolder =
-                (StatisticsHolder) sequenceStatistics.get(keyOfStatistic);
-        if (statisticsHolder == null) {
-            statisticsHolder = new StatisticsHolder();
-            statisticsHolder.setKey(keyOfStatistic);
-            
statisticsHolder.setStatisticsCategory(SynapseConstants.SEQUENCE_STATISTICS);
-            sequenceStatistics.put(keyOfStatistic, statisticsHolder);
-        }
-        statisticsHolder.update(isResponse, inTime, outTime, isFault);
-    }
-
-    /**
-     * To access all sequence statistics
-     *
-     * @return all sequence statistics
-     */
-    public Map getSequenceStatistics() {
-        return sequenceStatistics;
-    }
-
-    /**
-     * To access all proxy services statistics
-     *
-     * @return all proxy services statistics
-     */
-    public Map getProxyServiceStatistics() {
-        return proxyServicesStatistics;
-    }
-
-    /**
-     * To access all endpoint statistics
-     *
-     * @return all endpoint statistics
-     */
-    public Map getEndPointStatistics() {
-        return endpointStatistics;
-    }
-
-    /**
-     * To reset the sequence statistics
-     */
-    public void resetSequenceStatistics() {
-        this.sequenceStatistics.clear();
-    }
-
-    /**
-     * To reset the proxy service statistics
-     */
-    public void resetProxyServiceStatistics() {
-        this.proxyServicesStatistics.clear();
+        return statistics;
     }
 
-    /**
-     * To reset the endpoint statistics
-     */
-    public void resetEndPointStatistics() {
-        this.endpointStatistics.clear();
+    public boolean contains(StatisticsRecord statisticsRecord) {
+        return statisticsCollection.contains(statisticsRecord);
     }
 }

Added: 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/statistics/StatisticsLog.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/statistics/StatisticsLog.java?rev=698157&view=auto
==============================================================================
--- 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/statistics/StatisticsLog.java
 (added)
+++ 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/statistics/StatisticsLog.java
 Tue Sep 23 05:28:19 2008
@@ -0,0 +1,66 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+package org.apache.synapse.statistics;
+
+/**
+ * 
+ */
+public class StatisticsLog {
+    
+    private String id ;
+    private long startTime =-1;
+    private long endTime = -1;
+
+    public StatisticsLog(String id) {
+        this(id, System.currentTimeMillis());
+    }
+
+    public StatisticsLog(String id, long startTime) {
+        this.id = id;
+        this.startTime = startTime;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public long getStartTime() {
+        return startTime;
+    }
+
+    public void setStartTime(long startTime) {
+        this.startTime = startTime;
+    }
+
+    public long getEndTime() {
+        return endTime;
+    }
+
+    public void setEndTime(long endTime) {
+        this.endTime = endTime;
+    }
+    
+    public long getProcessingTime(){
+        return this.endTime - this.startTime;
+    }
+}

Added: 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/statistics/StatisticsRecord.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/statistics/StatisticsRecord.java?rev=698157&view=auto
==============================================================================
--- 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/statistics/StatisticsRecord.java
 (added)
+++ 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/statistics/StatisticsRecord.java
 Tue Sep 23 05:28:19 2008
@@ -0,0 +1,126 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+package org.apache.synapse.statistics;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.synapse.endpoints.Endpoint;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * 
+ */
+public class StatisticsRecord {
+
+    private static final Log log = LogFactory.getLog(StatisticsRecord.class);
+    private String id;
+
+    private final Map<String, StatisticsLog> endPointsStatisticsRecordMap =
+            new HashMap<String, StatisticsLog>();
+    private final Map<String, StatisticsLog> mediatorsStatisticsRecordMap =
+            new HashMap<String, StatisticsLog>();
+    private final Map<String, StatisticsLog> sequencesStatisticsRecordMap =
+            new HashMap<String, StatisticsLog>();
+    private final Map<String, StatisticsLog> proxyServicesStatisticsRecordMap =
+            new HashMap<String, StatisticsLog>();
+
+    private boolean isFaultResponse;
+    private String clientIP;
+    private String clientHost;
+
+    public StatisticsRecord(String id, String clientIP, String clientHost) {
+        this.id = id;
+        this.clientIP = clientIP;
+        this.clientHost = clientHost;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public boolean isFaultResponse() {
+        return isFaultResponse;
+    }
+
+    public String getClientIP() {
+        return clientIP;
+    }
+
+    public String getClientHost() {
+        return clientHost;
+    }
+
+    public void setFaultResponse(boolean faultResponse) {
+        isFaultResponse = faultResponse;
+    }
+
+    public void collect(AuditConfigurable auditConfigurable) {
+     
+        if (isValid(auditConfigurable)) {
+
+            String auditID = auditConfigurable.getAuditId();             
+            if (auditConfigurable instanceof Endpoint) {
+                endPointsStatisticsRecordMap.put(auditID, new 
StatisticsLog(auditID));
+            }
+
+        }
+    }
+
+    public void commit(AuditConfigurable auditConfigurable) {
+
+        if (isValid(auditConfigurable)) {
+
+            String auditID = auditConfigurable.getAuditId();
+            if (auditConfigurable instanceof Endpoint) {
+                StatisticsLog log = endPointsStatisticsRecordMap.get(auditID);
+                if (log != null) {
+                    log.setEndTime(System.currentTimeMillis());
+                }
+            }
+        }
+    }
+
+    private boolean isValid(AuditConfigurable auditConfigurable) {
+
+        if (auditConfigurable == null) {
+            if(log.isDebugEnabled()){
+                    log.debug("TODO");
+                }
+            return false;
+        }
+
+        if (auditConfigurable.isStatisticsEnable()) {
+            String auditID = auditConfigurable.getAuditId();
+            if (auditID == null || "".equals(auditID)) {
+                if(log.isDebugEnabled()){
+                    log.debug("TODO");
+                }
+                return false;
+            }
+            return true;
+        }
+        return false;
+    }
+    
+    public StatisticsLog getEndpointStatisticsRecord(String name){
+        return endPointsStatisticsRecordMap.get(name);
+    }
+}

Added: 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/statistics/StatisticsRecordFactory.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/statistics/StatisticsRecordFactory.java?rev=698157&view=auto
==============================================================================
--- 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/statistics/StatisticsRecordFactory.java
 (added)
+++ 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/statistics/StatisticsRecordFactory.java
 Tue Sep 23 05:28:19 2008
@@ -0,0 +1,40 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+package org.apache.synapse.statistics;
+
+import org.apache.synapse.MessageContext;
+import org.apache.synapse.core.axis2.Axis2MessageContext;
+import org.apache.synapse.transport.nhttp.NhttpConstants;
+
+/**
+ * 
+ */
+public class StatisticsRecordFactory {
+    
+    public static StatisticsRecord getStatisticsRecord(MessageContext synCtx) {
+        
+        String messageId = synCtx.getMessageID();
+        org.apache.axis2.context.MessageContext axisMC = 
((Axis2MessageContext) synCtx).getAxis2MessageContext();
+        String remoteIP = (String) axisMC.getPropertyNonReplicable(
+                org.apache.axis2.context.MessageContext.REMOTE_ADDR);
+        String domainName = (String) 
axisMC.getPropertyNonReplicable(NhttpConstants.REMOTE_HOST);
+        return new StatisticsRecord(messageId, remoteIP, domainName);
+
+    }
+}

Copied: 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/statistics/StatisticsReporter.java
 (from r697661, 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/statistics/StatisticsUtils.java)
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/statistics/StatisticsReporter.java?p2=synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/statistics/StatisticsReporter.java&p1=synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/statistics/StatisticsUtils.java&r1=697661&r2=698157&rev=698157&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/statistics/StatisticsUtils.java
 (original)
+++ 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/statistics/StatisticsReporter.java
 Tue Sep 23 05:28:19 2008
@@ -18,114 +18,50 @@
  */
 package org.apache.synapse.statistics;
 
-import org.apache.synapse.SynapseConstants;
 import org.apache.synapse.MessageContext;
-import org.apache.synapse.endpoints.Endpoint;
-import org.apache.synapse.core.SynapseEnvironment;
-import org.apache.synapse.statistics.impl.SequenceStatisticsStack;
-import org.apache.synapse.statistics.impl.EndPointStatisticsStack;
-import org.apache.synapse.statistics.impl.ProxyServiceStatisticsStack;
+import org.apache.synapse.SynapseConstants;
 
 /**
- * A utils to process statistics
- *
+ * A utility to process statistics
  */
 
-public class StatisticsUtils {
+public class StatisticsReporter {
 
-    /**
-     * To process statistics related to the proxy services
-     *
-     * @param synCtx
-     */
-    public static void processProxyServiceStatistics(MessageContext synCtx) {
-
-        StatisticsCollector statisticsCollector = 
getStatisticsCollector(synCtx);
-        boolean isFault = synCtx.getEnvelope().getBody().hasFault();
-        ProxyServiceStatisticsStack proxyServiceStatisticsStack = 
(ProxyServiceStatisticsStack)
-                synCtx.getProperty(SynapseConstants.PROXY_STATS);
-        if (proxyServiceStatisticsStack != null) {
-            
proxyServiceStatisticsStack.reportToStatisticsCollector(statisticsCollector,isFault);
-        }
-        ProxyServiceStatisticsStack synapseServiceStatisticsStack = 
(ProxyServiceStatisticsStack)
-                synCtx.getProperty(SynapseConstants.SERVICE_STATS);
-        if (synapseServiceStatisticsStack != null) {
-            
synapseServiceStatisticsStack.reportToStatisticsCollector(statisticsCollector,isFault);
-        }
+    private static StatisticsRecord getStatisticsRecord(MessageContext synCtx) 
{
+        return (StatisticsRecord) 
synCtx.getProperty(SynapseConstants.STATISTICS_STACK);
     }
 
-    /**
-     * To process statistics related to the End Points
-     *
-     * @param synCtx
-     */
-    public static void processEndPointStatistics(MessageContext synCtx) {
-        StatisticsCollector statisticsCollector = 
getStatisticsCollector(synCtx);
-        boolean isFault = synCtx.getEnvelope().getBody().hasFault();
-        EndPointStatisticsStack endPointStatisticsStack = 
(EndPointStatisticsStack)
-                synCtx.getProperty(SynapseConstants.ENDPOINT_STATS);
-        if (endPointStatisticsStack != null) {
-            Object endpointObj = 
synCtx.getProperty(SynapseConstants.PROCESSED_ENDPOINT);
-            if (endpointObj instanceof Endpoint) {
-                Endpoint endpoint = (Endpoint) endpointObj;
-                String name = endpoint.getName();
-                if (name == null) {
-                    endPointStatisticsStack.reportToStatisticsCollector(
-                            statisticsCollector, isFault);
-                } else {
-                    endPointStatisticsStack.reportToStatisticsCollector(
-                            statisticsCollector, isFault, name);
-                }
-                
endPointStatisticsStack.reportAllToStatisticsCollector(statisticsCollector, 
true);
-            }
-        }
-    }
+    public static void collect(MessageContext synCtx, AuditConfigurable 
auditConfigurable) {
 
-    /**
-     * To process statistics related to the sequence
-     *
-     * @param synCtx
-     */
-    public static void processSequenceStatistics(MessageContext synCtx) {
-        StatisticsCollector statisticsCollector = 
getStatisticsCollector(synCtx);
-        boolean isFault = synCtx.getEnvelope().getBody().hasFault();
-        SequenceStatisticsStack sequenceStatisticsStack = 
(SequenceStatisticsStack)
-                synCtx.getProperty(SynapseConstants.SEQUENCE_STATS);
-        if (sequenceStatisticsStack != null) {
-            
sequenceStatisticsStack.reportToStatisticsCollector(statisticsCollector,isFault);
+        StatisticsRecord statisticsRecord = 
StatisticsReporter.getStatisticsRecord(synCtx);
+        if (statisticsRecord == null) {
+            statisticsRecord = 
StatisticsRecordFactory.getStatisticsRecord(synCtx);
+            synCtx.setProperty(SynapseConstants.STATISTICS_STACK, 
statisticsRecord);
+        }
+        statisticsRecord.collect(auditConfigurable);
+
+        StatisticsCollector collector = 
synCtx.getEnvironment().getStatisticsCollector();
+        if (collector == null) {
+            collector = new StatisticsCollector();
+            synCtx.getEnvironment().setStatisticsCollector(collector);
+        }
+        if (!collector.contains(statisticsRecord)) {
+            collector.collect(statisticsRecord);
         }
     }
 
-     /**
-     * To process all statistics related to the sequence
-     *
-     * @param synCtx
-     */
-    public static void processAllSequenceStatistics(MessageContext synCtx) {
-        StatisticsCollector statisticsCollector = 
getStatisticsCollector(synCtx);
-        boolean isFault = synCtx.getEnvelope().getBody().hasFault();
-        SequenceStatisticsStack sequenceStatisticsStack = 
(SequenceStatisticsStack)
-                synCtx.getProperty(SynapseConstants.SEQUENCE_STATS);
-        if (sequenceStatisticsStack != null) {
-            
sequenceStatisticsStack.reportAllToStatisticsCollector(statisticsCollector,isFault);
+    public static void report(MessageContext synCtx, AuditConfigurable 
auditConfigurable) {
+
+        StatisticsRecord statisticsRecord = 
StatisticsReporter.getStatisticsRecord(synCtx);
+        if (statisticsRecord != null) {
+            statisticsRecord.commit(auditConfigurable);
         }
     }
-    /**
-     * A helper method to get StatisticsCollector from the Synapse Message 
Context
-     *
-     * @param synCtx
-     * @return StatisticsCollector
-     */
-    private static StatisticsCollector getStatisticsCollector(MessageContext 
synCtx) {
-        SynapseEnvironment synEnv = synCtx.getEnvironment();
-        StatisticsCollector statisticsCollector = null;
-        if (synEnv != null) {
-            statisticsCollector = synEnv.getStatisticsCollector();
-            if (statisticsCollector == null) {
-                statisticsCollector = new StatisticsCollector();
-                synEnv.setStatisticsCollector(statisticsCollector);
-            }
+
+    public static void reportFault(MessageContext synCtx) {
+        StatisticsRecord statisticsRecord = 
StatisticsReporter.getStatisticsRecord(synCtx);
+        if (statisticsRecord != null) {
+            statisticsRecord.setFaultResponse(true);
         }
-        return statisticsCollector;
     }
 }

Propchange: 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/statistics/StatisticsReporter.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/util/TextFileDataSource.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/util/TextFileDataSource.java?rev=698157&r1=698156&r2=698157&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/util/TextFileDataSource.java
 (original)
+++ 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/util/TextFileDataSource.java
 Tue Sep 23 05:28:19 2008
@@ -29,7 +29,7 @@
 import org.apache.axiom.om.impl.llom.OMSourcedElementImpl;
 import org.apache.axiom.om.impl.serialize.StreamingOMSerializer;
 import org.apache.axiom.om.util.StAXUtils;
-import org.apache.synapse.transport.base.BaseConstants;
+import org.apache.axis2.transport.base.BaseConstants;
 
 import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.XMLStreamReader;

Modified: 
synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/transform/XSLTMediatorTest.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/transform/XSLTMediatorTest.java?rev=698157&r1=698156&r2=698157&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/transform/XSLTMediatorTest.java
 (original)
+++ 
synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/mediators/transform/XSLTMediatorTest.java
 Tue Sep 23 05:28:19 2008
@@ -38,7 +38,6 @@
 import org.apache.synapse.MessageContext;
 import org.apache.synapse.SynapseException;
 import org.apache.synapse.TestMessageContextBuilder;
-import org.apache.synapse.transport.base.BaseConstants;
 import org.apache.synapse.util.jaxp.AXIOMResultBuilderFactory;
 import org.apache.synapse.util.jaxp.AXIOMSourceBuilderFactory;
 import org.apache.synapse.util.jaxp.DOOMResultBuilderFactory;
@@ -47,6 +46,7 @@
 import org.apache.synapse.util.jaxp.StreamResultBuilderFactory;
 import org.apache.synapse.util.jaxp.StreamSourceBuilderFactory;
 import org.apache.synapse.util.xpath.SynapseXPath;
+import org.apache.axis2.transport.base.BaseConstants;
 
 public class XSLTMediatorTest extends TestCase {
     private static final Class[] sourceBuilderFactories = {

Modified: 
synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/bsf/ScriptMediatorFactory.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/bsf/ScriptMediatorFactory.java?rev=698157&r1=698156&r2=698157&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/bsf/ScriptMediatorFactory.java
 (original)
+++ 
synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/bsf/ScriptMediatorFactory.java
 Tue Sep 23 05:28:19 2008
@@ -86,7 +86,7 @@
             mediator = new ScriptMediator(langAtt.getAttributeValue(), 
elem.getText());
         }
 
-        processTraceState(mediator, elem);
+        processAuditStatus(mediator, elem);
         return mediator;
     }
 

Modified: 
synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/spring/SpringMediatorFactory.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/spring/SpringMediatorFactory.java?rev=698157&r1=698156&r2=698157&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/spring/SpringMediatorFactory.java
 (original)
+++ 
synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/spring/SpringMediatorFactory.java
 Tue Sep 23 05:28:19 2008
@@ -63,7 +63,7 @@
 
              // after successfully creating the mediator
              // set its common attributes such as tracing etc
-            processTraceState(sm,elem);
+            processAuditStatus(sm,elem);
             sm.setBeanName(bean.getAttributeValue());
             sm.setConfigKey(key.getAttributeValue());
             return sm;

Modified: 
synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/throttle/ThrottleMediatorFactory.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/throttle/ThrottleMediatorFactory.java?rev=698157&r1=698156&r2=698157&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/throttle/ThrottleMediatorFactory.java
 (original)
+++ 
synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/throttle/ThrottleMediatorFactory.java
 Tue Sep 23 05:28:19 2008
@@ -75,7 +75,7 @@
         }
         // after successfully creating the mediator
         // set its common attributes such as tracing etc
-        processTraceState(throttleMediator,elem);
+        processAuditStatus(throttleMediator,elem);
 
         String id = elem.getAttributeValue(new 
QName(XMLConfigConstants.NULL_NAMESPACE, "id"));
         if (id != null && !"".equals(id)) {

Modified: 
synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/xquery/XQueryMediatorFactory.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/xquery/XQueryMediatorFactory.java?rev=698157&r1=698156&r2=698157&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/xquery/XQueryMediatorFactory.java
 (original)
+++ 
synapse/trunk/java/modules/extensions/src/main/java/org/apache/synapse/mediators/xquery/XQueryMediatorFactory.java
 Tue Sep 23 05:28:19 2008
@@ -84,7 +84,7 @@
         }
         // after successfully creating the mediator
         // set its common attributes such as tracing etc
-        processTraceState(xQueryMediator, elem);
+        processAuditStatus(xQueryMediator, elem);
         OMElement dataSource = elem.getFirstChildWithName(
             new QName(XMLConfigConstants.SYNAPSE_NAMESPACE, "dataSource"));
         if (dataSource != null) {

Modified: 
synapse/trunk/java/modules/samples/src/main/java/samples/userguide/GenericJMSClient.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/samples/src/main/java/samples/userguide/GenericJMSClient.java?rev=698157&r1=698156&r2=698157&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/samples/src/main/java/samples/userguide/GenericJMSClient.java
 (original)
+++ 
synapse/trunk/java/modules/samples/src/main/java/samples/userguide/GenericJMSClient.java
 Tue Sep 23 05:28:19 2008
@@ -19,8 +19,9 @@
 
 package samples.userguide;
 
-import org.apache.synapse.transport.jms.JMSConstants;
-import org.apache.synapse.transport.jms.JMSUtils;
+
+import org.apache.axis2.transport.jms.JMSUtils;
+import org.apache.axis2.transport.jms.JMSConstants;
 
 import javax.jms.*;
 import javax.naming.InitialContext;

Modified: synapse/trunk/java/repository/conf/axis2.xml
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/repository/conf/axis2.xml?rev=698157&r1=698156&r2=698157&view=diff
==============================================================================
--- synapse/trunk/java/repository/conf/axis2.xml (original)
+++ synapse/trunk/java/repository/conf/axis2.xml Tue Sep 23 05:28:19 2008
@@ -206,7 +206,7 @@
 
     <transportReceiver name="vfs" 
class="org.apache.synapse.transport.vfs.VFSTransportListener"/>
 
-    <transportReceiver name="mailto" 
class="org.apache.synapse.transport.mail.MailTransportListener">
+    <transportReceiver name="mailto" 
class="org.apache.axis2.transport.mail.MailTransportListener">
         <!-- configure any optional POP3/IMAP properties
         check com.sun.mail.pop3 and com.sun.mail.imap package documentation 
for more details-->
     </transportReceiver>
@@ -244,7 +244,7 @@
             supports Strict|AllowAll|DefaultAndLocalhost or the default if 
none specified -->
     </transportSender>
     
-    <transportSender name="jms" 
class="org.apache.synapse.transport.jms.JMSSender">
+    <transportSender name="jms" 
class="org.apache.axis2.transport.jms.JMSSender">
         <!-- uncomment this and configure to use connection pools for sending 
messages
         <parameter name="myTopicConnectionFactory">
             <parameter 
name="java.naming.factory.initial">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>

Modified: 
synapse/trunk/java/repository/conf/sample/resources/misc/client/axis2.xml
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/repository/conf/sample/resources/misc/client/axis2.xml?rev=698157&r1=698156&r2=698157&view=diff
==============================================================================
--- synapse/trunk/java/repository/conf/sample/resources/misc/client/axis2.xml 
(original)
+++ synapse/trunk/java/repository/conf/sample/resources/misc/client/axis2.xml 
Tue Sep 23 05:28:19 2008
@@ -189,7 +189,7 @@
         </parameter>
     </transportReceiver>-->
 
-    <transportReceiver name="mailto" 
class="org.apache.synapse.transport.mail.MailTransportListener">
+    <transportReceiver name="mailto" 
class="org.apache.axis2.transport.mail.MailTransportListener">
         <!-- configure any optional POP3/IMAP properties
         check com.sun.mail.pop3 and com.sun.mail.imap package documentation 
for more details-->
     </transportReceiver>
@@ -226,7 +226,7 @@
         <parameter name="Transfer-Encoding">chunked</parameter>
     </transportSender>
     <transportSender name="jms"
-                     class="org.apache.synapse.transport.jms.JMSSender"/>
+                     class="org.apache.axis2.transport.jms.JMSSender"/>
 
     <!-- configure the SMTP server information
     check com.sun.mail.smtp package documentation for descriptions of 
properties-->

Modified: 
synapse/trunk/java/repository/conf/sample/resources/misc/server/axis2.xml
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/repository/conf/sample/resources/misc/server/axis2.xml?rev=698157&r1=698156&r2=698157&view=diff
==============================================================================
--- synapse/trunk/java/repository/conf/sample/resources/misc/server/axis2.xml 
(original)
+++ synapse/trunk/java/repository/conf/sample/resources/misc/server/axis2.xml 
Tue Sep 23 05:28:19 2008
@@ -191,7 +191,7 @@
         </parameter>
     </transportReceiver>-->
 
-    <transportReceiver name="mailto" 
class="org.apache.synapse.transport.mail.MailTransportListener">
+    <transportReceiver name="mailto" 
class="org.apache.axis2.transport.mail.MailTransportListener">
         <!-- configure any optional POP3/IMAP properties
         check com.sun.mail.pop3 and com.sun.mail.imap package documentation 
for more details-->
     </transportReceiver>
@@ -228,7 +228,7 @@
     </transportSender>
 
     <transportSender name="jms"
-                     class="org.apache.synapse.transport.jms.JMSSender"/>
+                     class="org.apache.axis2.transport.jms.JMSSender"/>
 
     <!-- Uncomment and configure the SMTP server information
     check com.sun.mail.smtp package documentation for descriptions of 
properties


Reply via email to