1 23 package com.sun.enterprise.admin.wsmgmt.filter.impl; 24 25 import com.sun.enterprise.admin.wsmgmt.config.spi.Constants; 26 import com.sun.enterprise.admin.wsmgmt.filter.spi.Filter; 27 import com.sun.enterprise.admin.wsmgmt.filter.spi.FilterContext; 28 import com.sun.enterprise.admin.wsmgmt.stats.spi.StatsProviderManager; 29 import com.sun.enterprise.admin.wsmgmt.stats.impl.WebServiceEndpointStatsProviderImpl; 30 31 import javax.xml.soap.SOAPMessage ; 32 import javax.xml.soap.SOAPBody ; 33 import javax.xml.soap.SOAPFault ; 34 import com.sun.enterprise.admin.wsmgmt.SOAPMessageContext; 35 36 37 40 public class AggregateStatsFilter implements Filter { 41 42 47 public AggregateStatsFilter() { 48 } 49 50 53 public String getName() { 54 return Constants.AGGREGATE_STATS_FILTER; 55 } 56 57 60 public void process(String stage, String endpoint, FilterContext context) { 61 62 WebServiceEndpointStatsProviderImpl impl = ( 63 WebServiceEndpointStatsProviderImpl) StatsProviderManager. 64 getInstance().getEndpointStatsProvider(endpoint); 65 66 if ( stage.equals(Filter.PRE_PROCESS_REQUEST) ) { 67 impl.setRequestTimeStamp( System.currentTimeMillis(),null, null, 0); 68 } else { 69 if ( stage.equals(Filter.POST_PROCESS_RESPONSE) ) { 70 71 SOAPMessageContext smc = context.getMessageContext(); 72 SOAPMessage sm = null; 73 SOAPFault fault = null; 74 try { 75 if (smc != null) 76 sm = smc.getMessage(); 77 if (sm != null) { 78 SOAPBody sb = sm.getSOAPBody(); 79 if (sb != null) { 80 fault = sb.getFault(); 81 } 82 } 83 } catch ( Exception e) { 84 impl.setFault(0, 87 System.currentTimeMillis(), context.getExecutionTime(), null,null, null); 88 return; 89 } 90 91 if ( fault == null) { 92 impl.setSuccess(0, System.currentTimeMillis(), 93 context.getExecutionTime()); 94 } else { 95 impl.setFault(0, 96 System.currentTimeMillis(),context.getExecutionTime(), 97 fault.getFaultCode(), fault.getFaultString(), 98 fault.getFaultString() ); 99 } 100 } else { 101 throw new RuntimeException (" Should not be called for this stage of execution of web service end point " + endpoint); 102 } 103 } 104 105 } 106 107 } 108 | Popular Tags |