Clover Coverage Report - KS Common 1.1-SNAPSHOT (Aggregated)
Coverage timestamp: Thu Mar 3 2011 04:37:11 EST
../../../../../../img/srcFileCovDistChart0.png 54% of files have more coverage
18   91   10   2.25
2   55   0.56   8
8     1.25  
1    
 
  DebugHandler       Line # 28 18 0% 10 28 0% 0.0
 
No Tests
 
1    /**
2    * Copyright 2010 The Kuali Foundation Licensed under the
3    * Educational Community License, Version 2.0 (the "License"); you may
4    * not use this file except in compliance with the License. You may
5    * obtain a copy of the License at
6    *
7    * http://www.osedu.org/licenses/ECL-2.0
8    *
9    * Unless required by applicable law or agreed to in writing,
10    * software distributed under the License is distributed on an "AS IS"
11    * BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
12    * or implied. See the License for the specific language governing
13    * permissions and limitations under the License.
14    */
15   
16    package org.kuali.student.common.ws.handler;
17   
18    import java.io.PrintStream;
19    import java.util.Set;
20   
21    import javax.xml.namespace.QName;
22    import javax.xml.ws.handler.MessageContext;
23    import javax.xml.ws.handler.soap.SOAPHandler;
24    import javax.xml.ws.handler.soap.SOAPMessageContext;
25   
26    import org.apache.log4j.Logger;
27   
 
28    public class DebugHandler implements SOAPHandler<SOAPMessageContext> {
29   
30    final Logger logger = Logger.getLogger(DebugHandler.class);
31   
32    private PrintStream err;
33    private PrintStream out;
34   
 
35  0 toggle public DebugHandler() {
36  0 this(System.out, System.err);
37    }
38   
 
39  0 toggle public DebugHandler(PrintStream ps) {
40  0 this(ps, ps);
41    }
42   
 
43  0 toggle public DebugHandler(PrintStream out, PrintStream err) {
44  0 this.out = out;
45  0 this.err = err;
46    }
47   
 
48  0 toggle @Override
49    public Set<QName> getHeaders() {
50    // does not handle any headers
51  0 return null;
52    }
53   
 
54  0 toggle @Override
55    public void close(MessageContext context) {
56    // no cleanup needed
57    }
58   
 
59  0 toggle @Override
60    public boolean handleFault(SOAPMessageContext context) {
61  0 return this.printMessage(context, this.err);
62    }
63   
 
64  0 toggle @Override
65    public boolean handleMessage(SOAPMessageContext context) {
66  0 return this.printMessage(context, this.out);
67    }
68   
 
69  0 toggle private boolean printMessage(SOAPMessageContext context, PrintStream ps) {
70  0 String message = "DebugHandler ";
71   
72  0 Boolean out = (Boolean)context.get(SOAPMessageContext.MESSAGE_OUTBOUND_PROPERTY);
73  0 if(out.booleanValue())
74  0 message += "Out: ";
75    else
76  0 message += "In: ";
77   
78  0 ps.print(message);
79   
80  0 try {
81  0 context.getMessage().writeTo(ps);
82  0 ps.println();
83    }
84    catch(Exception ex) {
85  0 logger.error(this.err, ex);
86    }
87   
88  0 return true;
89    }
90   
91    }