1 22 package org.jboss.test.aop.annotateddeclare; 23 24 import java.io.OutputStream ; 25 import java.io.PrintStream ; 26 import java.security.AccessController ; 27 import java.security.PrivilegedAction ; 28 import java.util.ArrayList ; 29 30 37 public class SystemOutDecorator extends PrintStream 38 { 39 static PrintStream sysout = null; 40 ArrayList warnings = new ArrayList (); 41 public SystemOutDecorator(OutputStream out) 42 { 43 super(out); 44 sysout = System.out; 45 } 46 47 public ArrayList getWarnings() 48 { 49 return warnings; 50 } 51 52 public void println(String msg) 53 { 54 super.println(msg); 55 if (msg.startsWith("WARNING:")) 56 { 57 System.out.println(">>>>>"); 58 super.println(msg); 59 System.out.println("<<<<<"); 60 warnings.add(msg); 61 } 62 } 63 64 public static SystemOutDecorator initialise() 65 { 66 final SystemOutDecorator sys = new SystemOutDecorator(System.out); 67 AccessController.doPrivileged(new PrivilegedAction () { 68 public Object run() 69 { 70 try 71 { 72 System.setOut(sys); 73 } 74 catch (Exception e) 75 { 76 e.printStackTrace(); 77 } 78 return null; 79 } 80 }); 81 return sys; 82 } 83 84 public void kill() 85 { 86 System.setOut(sysout); 87 } 88 89 String getRidOfAllWhiteSpace(String msg) 90 { 91 StringBuffer sb = new StringBuffer (); 92 93 for (int i = 0 ; i < msg.length() ; i++) 94 { 95 char ch = msg.charAt(i); 96 if (ch != '\n' && ch != '\t' && ch != ' ' && ch != '\r') 97 { 98 sb.append(ch); 99 } 100 } 101 102 return sb.toString(); 103 } 104 } 105 | Popular Tags |