Author: alessio.soldano(a)jboss.com
Date: 2007-12-11 09:56:12 -0500 (Tue, 11 Dec 2007)
New Revision: 5258
Modified:
framework/branches/asoldano/trunk/src/main/java/org/jboss/wsf/framework/invocation/RecordingServerHandler.java
framework/branches/asoldano/trunk/src/main/java/org/jboss/wsf/framework/management/recording/AbstractRecordProcessor.java
framework/branches/asoldano/trunk/src/main/java/org/jboss/wsf/framework/management/recording/RecordDumpProcessor.java
framework/branches/asoldano/trunk/src/main/java/org/jboss/wsf/framework/management/recording/RecordWriterProcessor.java
Log:
Use of process configuration
Modified:
framework/branches/asoldano/trunk/src/main/java/org/jboss/wsf/framework/invocation/RecordingServerHandler.java
===================================================================
---
framework/branches/asoldano/trunk/src/main/java/org/jboss/wsf/framework/invocation/RecordingServerHandler.java 2007-12-11
14:44:09 UTC (rev 5257)
+++
framework/branches/asoldano/trunk/src/main/java/org/jboss/wsf/framework/invocation/RecordingServerHandler.java 2007-12-11
14:56:12 UTC (rev 5258)
@@ -24,6 +24,7 @@
import java.net.URL;
import java.util.Date;
+import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -31,6 +32,7 @@
import javax.xml.namespace.QName;
import javax.xml.soap.SOAPEnvelope;
import javax.xml.soap.SOAPException;
+import javax.xml.soap.SOAPMessage;
import javax.xml.ws.handler.MessageContext;
import javax.xml.ws.handler.soap.SOAPMessageContext;
@@ -41,6 +43,7 @@
import org.jboss.wsf.spi.invocation.EndpointAssociation;
import org.jboss.wsf.spi.management.recording.Record;
import org.jboss.wsf.spi.management.recording.RecordGroupAssociation;
+import org.jboss.wsf.spi.management.recording.RecordProcessor;
import org.jboss.wsf.spi.management.recording.Record.MessageType;
import org.jboss.wsf.test.GenericSOAPHandler;
@@ -63,7 +66,7 @@
{
log.info("*** INBOUND ***");
Endpoint endpoint = EndpointAssociation.getEndpoint();
- if (endpoint.isRecording())
+ if (endpoint.isRecording() && endpoint.getRecordProcessors() != null
&& !endpoint.getRecordProcessors().isEmpty())
{
Long groupID = RecordFactory.newGroupID();
RecordGroupAssociation.pushGroupID(groupID);//check, perhaps we should try
peeking before pushing...
@@ -86,19 +89,27 @@
record.setHeaders((Map<String,List<String>>)(ctx.get(MessageContext.HTTP_REQUEST_HEADERS)));
record.setMessageType(MessageType.INBOUND);
record.setOperation((QName)ctx.get(MessageContext.WSDL_OPERATION));
- SOAPMessageContext soapCtx = (SOAPMessageContext)ctx;
- try
+ boolean processMessage = false;
+ for (Iterator<RecordProcessor> it =
endpoint.getRecordProcessors().iterator(); it.hasNext() && !processMessage; )
{
- SOAPEnvelope soapEnv = soapCtx.getMessage().getSOAPPart().getEnvelope();
- if (soapEnv != null)
+ processMessage = it.next().isProcessMessage();
+ }
+ if (processMessage) //skip message processing if not required since it's
very time-consuming
+ {
+ SOAPMessageContext soapCtx = (SOAPMessageContext)ctx;
+ try
{
- record.setEnvelope(DOMWriter.printNode(soapEnv, true));
+ SOAPEnvelope soapEnv = soapCtx.getMessage().getSOAPPart().getEnvelope();
+ if (soapEnv != null)
+ {
+ record.setEnvelope(DOMWriter.printNode(soapEnv, true));
+ }
}
+ catch (SOAPException ex)
+ {
+ log.error("Cannot trace SOAPMessage", ex);
+ }
}
- catch (SOAPException ex)
- {
- log.error("Cannot trace SOAPMessage", ex);
- }
endpoint.processRecord(record);
}
return true;
@@ -109,7 +120,7 @@
{
Endpoint endpoint = EndpointAssociation.getEndpoint();
log.info("*** OUTBOUND ***");
- if (endpoint.isRecording())
+ if (endpoint.isRecording() && endpoint.getRecordProcessors() != null
&& !endpoint.getRecordProcessors().isEmpty())
{
Long groupID = RecordGroupAssociation.popGroupID();//check, perhaps we should
try peeking before popping...
Record record = RecordFactory.newRecord(groupID);
@@ -117,19 +128,27 @@
record.setHeaders((Map<String,List<String>>)(ctx.get(MessageContext.HTTP_RESPONSE_HEADERS)));
record.setMessageType(MessageType.OUTBOUND);
record.setOperation((QName)ctx.get(MessageContext.WSDL_OPERATION));
- SOAPMessageContext soapCtx = (SOAPMessageContext)ctx;
- try
+ boolean processMessage = false;
+ for (Iterator<RecordProcessor> it =
endpoint.getRecordProcessors().iterator(); it.hasNext() && !processMessage; )
{
- SOAPEnvelope soapEnv = soapCtx.getMessage().getSOAPPart().getEnvelope();
- if (soapEnv != null)
+ processMessage = it.next().isProcessMessage();
+ }
+ if (processMessage) //skip message processing if not required since it's
very time-consuming
+ {
+ SOAPMessageContext soapCtx = (SOAPMessageContext)ctx;
+ try
{
- record.setEnvelope(DOMWriter.printNode(soapEnv, true));
+ SOAPEnvelope soapEnv = soapCtx.getMessage().getSOAPPart().getEnvelope();
+ if (soapEnv != null)
+ {
+ record.setEnvelope(DOMWriter.printNode(soapEnv, true));
+ }
}
+ catch (SOAPException ex)
+ {
+ log.error("Cannot trace SOAPMessage", ex);
+ }
}
- catch (SOAPException ex)
- {
- log.error("Cannot trace SOAPMessage", ex);
- }
endpoint.processRecord(record);
}
return true;
Modified:
framework/branches/asoldano/trunk/src/main/java/org/jboss/wsf/framework/management/recording/AbstractRecordProcessor.java
===================================================================
---
framework/branches/asoldano/trunk/src/main/java/org/jboss/wsf/framework/management/recording/AbstractRecordProcessor.java 2007-12-11
14:44:09 UTC (rev 5257)
+++
framework/branches/asoldano/trunk/src/main/java/org/jboss/wsf/framework/management/recording/AbstractRecordProcessor.java 2007-12-11
14:56:12 UTC (rev 5258)
@@ -39,12 +39,13 @@
{
protected List<RecordFilter> filters = new Vector<RecordFilter>();
- protected boolean processDestinationHost;
- protected boolean processSourceHost;
- protected boolean processHeaders;
- protected boolean processMessage;
- protected boolean processMessageType;
- protected boolean processOperation;
+ protected boolean processDestinationHost = true;
+ protected boolean processSourceHost = true;
+ protected boolean processHeaders = true;
+ protected boolean processMessage = true;
+ protected boolean processMessageType = true;
+ protected boolean processOperation = true;
+ protected boolean processDate = true;
public abstract void processRecord(Record record);
@@ -122,5 +123,36 @@
{
this.processOperation = processOperation;
}
+
+ public boolean isProcessDate()
+ {
+ return processDate;
+ }
+
+ public void setProcessDate(boolean processDate)
+ {
+ this.processDate = processDate;
+ }
+ public String toString()
+ {
+ StringBuffer sb = new StringBuffer();
+ sb.append(super.toString());
+ sb.append(" (processDestinationHost = ");
+ sb.append(processDestinationHost);
+ sb.append(", processSourceHost = ");
+ sb.append(processSourceHost);
+ sb.append(", processHeaders = ");
+ sb.append(processHeaders);
+ sb.append(", processMessage = ");
+ sb.append(processMessage);
+ sb.append(", processMessageType = ");
+ sb.append(processMessageType);
+ sb.append(", processOperation = ");
+ sb.append(processOperation);
+ sb.append(", processDate = ");
+ sb.append(processDate);
+ sb.append(")");
+ return sb.toString();
+ }
}
Modified:
framework/branches/asoldano/trunk/src/main/java/org/jboss/wsf/framework/management/recording/RecordDumpProcessor.java
===================================================================
---
framework/branches/asoldano/trunk/src/main/java/org/jboss/wsf/framework/management/recording/RecordDumpProcessor.java 2007-12-11
14:44:09 UTC (rev 5257)
+++
framework/branches/asoldano/trunk/src/main/java/org/jboss/wsf/framework/management/recording/RecordDumpProcessor.java 2007-12-11
14:56:12 UTC (rev 5258)
@@ -45,29 +45,57 @@
public void processRecord(Record record)
{
StringBuffer sb = new StringBuffer();
- if (record.getMessageType() == MessageType.INBOUND)
+ if (this.isProcessMessageType())
{
- sb.append("INBOUND MESSAGE from ");
- sb.append(record.getSourceHost());
+ if (record.getMessageType() == MessageType.INBOUND)
+ {
+ sb.append("INBOUND MESSAGE ");
+ if (this.isProcessSourceHost())
+ {
+ sb.append("from ");
+ sb.append(record.getSourceHost());
+ }
+ }
+ else if (record.getMessageType() == MessageType.OUTBOUND)
+ {
+ sb.append("OUTBOUND MESSAGE ");
+ if (this.isProcessDestinationHost())
+ {
+ sb.append("to ");
+ sb.append(record.getDestinationHost());
+ }
+ }
+ else
+ {
+ log.warn("Unknown message type: " + record.getMessageType());
+ if (this.isProcessSourceHost())
+ {
+ sb.append("from ");
+ sb.append(record.getSourceHost());
+ }
+ if (this.isProcessDestinationHost())
+ {
+ sb.append("to ");
+ sb.append(record.getDestinationHost());
+ }
+ }
}
- else if (record.getMessageType() == MessageType.OUTBOUND)
+ sb.append(":");
+ if (this.isProcessDate())
{
- sb.append("OUTBOUND MESSAGE to ");
- sb.append(record.getDestinationHost());
+ sb.append("\nDate: ");
+ sb.append(record.getDate());
}
- else
+ sb.append("\nGroupID: ");
+ sb.append(record.getGroupID());
+ if (this.isProcessOperation())
{
- log.warn("Unknown message type: " + record.getMessageType());
+ sb.append("\nOperation: ");
+ sb.append(record.getOperation());
}
- sb.append(": \nDate: ");
- sb.append(record.getDate());
- sb.append("\nGroupID: ");
- sb.append(record.getGroupID());
- sb.append("\nOperation: ");
- sb.append(record.getOperation());
- sb.append("\n\n");
+ sb.append("\n");
Map<String, List<String>> headers = record.getHeaders();
- if (headers != null)
+ if (this.isProcessHeaders() && headers != null)
{
for (String key : headers.keySet())
{
@@ -80,24 +108,28 @@
}
sb.append("\n");
}
+ sb.append("\n");
}
sb.append("\n");
- if (record.getPayload() != null)
+ if (this.isProcessMessage())
{
- try
+ if (record.getPayload() != null)
{
- ByteArrayOutputStream out = new ByteArrayOutputStream(1024);
- out.write(record.getPayload());
- out.close();
- sb.append(out.toString()); //improve this...
- sb.append("\n");
+ try
+ {
+ ByteArrayOutputStream out = new ByteArrayOutputStream(1024);
+ out.write(record.getPayload());
+ out.close();
+ sb.append(out.toString()); //improve this...
+ sb.append("\n");
+ }
+ catch (IOException e)
+ {
+ log.warn("Error while writing the payload!");
+ }
}
- catch (IOException e)
- {
- log.warn("Error while writing the payload!");
- }
+ sb.append(record.getEnvelope());
}
- sb.append(record.getEnvelope());
log.debug(sb.toString());
}
}
Modified:
framework/branches/asoldano/trunk/src/main/java/org/jboss/wsf/framework/management/recording/RecordWriterProcessor.java
===================================================================
---
framework/branches/asoldano/trunk/src/main/java/org/jboss/wsf/framework/management/recording/RecordWriterProcessor.java 2007-12-11
14:44:09 UTC (rev 5257)
+++
framework/branches/asoldano/trunk/src/main/java/org/jboss/wsf/framework/management/recording/RecordWriterProcessor.java 2007-12-11
14:56:12 UTC (rev 5258)
@@ -38,7 +38,8 @@
@Override
public void processRecord(Record arg0)
{
- log.info("processerei il messaggio...");
+ log.info("TODO");
+ log.info(this);
}
}
Show replies by date