1 26 27 package org.objectweb.openccm.Containers.Plugins; 28 29 36 37 public class TraceController 38 extends org.omg.CORBA.LocalObject  39 implements org.objectweb.openccm.Containers.CallController 40 { 41 47 50 private java.io.PrintStream trace_; 51 52 58 62 public 63 TraceController() 64 { 65 } 66 67 73 76 protected static java.lang.String  77 monthToString(int month) 78 { 79 switch(month) 80 { 81 case java.util.Calendar.JANUARY : 82 return "January"; 83 case java.util.Calendar.FEBRUARY : 84 return "February"; 85 case java.util.Calendar.MARCH : 86 return "March"; 87 case java.util.Calendar.APRIL : 88 return "April"; 89 case java.util.Calendar.MAY : 90 return "May"; 91 case java.util.Calendar.JUNE : 92 return "June"; 93 case java.util.Calendar.JULY : 94 return "July"; 95 case java.util.Calendar.AUGUST : 96 return "August"; 97 case java.util.Calendar.SEPTEMBER : 98 return "September"; 99 case java.util.Calendar.OCTOBER : 100 return "October"; 101 case java.util.Calendar.NOVEMBER : 102 return "November"; 103 case java.util.Calendar.DECEMBER : 104 return "December"; 105 default : 106 return ""; 107 } 108 } 109 110 113 protected java.lang.String  114 getTime() 115 { 116 java.util.GregorianCalendar cal = new java.util.GregorianCalendar (); 117 java.lang.String res = ""; 118 res = res + java.lang.Integer.toString(cal.get(java.util.GregorianCalendar.HOUR_OF_DAY)) + ":"; 119 res = res + java.lang.Integer.toString(cal.get(java.util.GregorianCalendar.MINUTE)) + " on "; 120 int month = cal.get(java.util.GregorianCalendar.MONTH); 121 res = res + monthToString(month) + " "; 122 res = res + java.lang.Integer.toString(cal.get(java.util.GregorianCalendar.DAY_OF_MONTH)) + ", "; 123 res = res + java.lang.Integer.toString(cal.get(java.util.GregorianCalendar.YEAR)); 124 return res; 125 } 126 127 133 139 145 public void 146 preinvoke(org.objectweb.openccm.Containers.CallContext ctx) 147 { 148 java.lang.String msg = 149 "### preinvoke was called at "+getTime()+"\n"+ 150 " on interface : \""+ctx.uid()+"\"\n"+ 151 " on operation : \""+ctx.operation_name()+"\"\n"; 152 153 trace_.print(msg); 154 } 155 156 162 public void 163 postinvoke(org.objectweb.openccm.Containers.CallContext ctx) 164 { 165 java.lang.String msg = 166 "### postinvoke was called at "+getTime()+"\n"+ 167 " on interface : \""+ctx.uid()+"\"\n"+ 168 " on operation : \""+ctx.operation_name()+"\"\n"; 169 170 trace_.print(msg); 171 } 172 173 179 185 191 public void 192 configure(org.objectweb.openccm.Containers.PropertySet config) 193 throws org.objectweb.openccm.Containers.ConfigurationFailed 194 { 195 try 196 { 197 java.lang.String filename = config.get_as_string("filename").value(); 198 trace_ = new java.io.PrintStream (new java.io.FileOutputStream (filename)); 199 } 200 catch(org.objectweb.openccm.Containers.UnknownProperty ex) 201 { 202 java.lang.String msg = 203 "exception in class org.objectweb.openccm.Containers.Plugins.TraceController\n"+ 204 " operation : configure\n"+ 205 " message : "+ex.getMessage(); 206 throw new org.objectweb.openccm.Containers.ConfigurationFailed(msg); 207 } 208 catch(org.objectweb.openccm.Containers.BadPropertyKind ex) 209 { 210 java.lang.String msg = 211 "exception in class org.objectweb.openccm.Containers.Plugins.TraceController\n"+ 212 " operation : configure\n"+ 213 " message : "+ex.getMessage(); 214 throw new org.objectweb.openccm.Containers.ConfigurationFailed(msg); 215 } 216 catch(java.io.FileNotFoundException ex) 217 { 218 java.lang.String msg = 219 "exception in class org.objectweb.openccm.Containers.Plugins.TraceController\n"+ 220 " operation : configure\n"+ 221 " message : "+ex.getMessage(); 222 throw new org.objectweb.openccm.Containers.ConfigurationFailed(msg); 223 } 224 } 225 } 226 | Popular Tags |