FileDocCategorySizeDatePackage
TraceRecordFormatter.javaAPI DocGlassfish v2 API6152Fri May 04 22:36:44 BST 2007com.sun.jts.trace

TraceRecordFormatter

public class TraceRecordFormatter extends Object
This class is used to format the trace record.
author
Kannan Srinivasan
version
1.0

Fields Summary
Constructors Summary
Methods Summary
public static java.lang.StringconvertPropsToString(java.util.Properties prop)
Helper method to convert properties to string.

param
prop a Properties value
return
a String value

        if(prop==null){
	    return "{null}";
        }
        StringBuffer strBuf =  new StringBuffer("{ ");
        for(Enumeration e = prop.propertyNames(); e.hasMoreElements(); )
        {
            Object obj = e.nextElement();
            strBuf.append("[ ").append(obj).append("->");
            Object val=prop.getProperty((String)obj);
            if(val==null)
	        strBuf.append("null");
            else
                strBuf.append((String)val);        
            strBuf.append(" ] ");
        }        
        strBuf.append("}");
        return strBuf.toString();
    
public static java.lang.StringconvertToString(byte[] byteArray)
Helper method to convert a byte arror to string. This is typically used for printing Xids.

param
byteArray a byte[] value
return
a String value

        int i;
        StringBuffer strBuf=new StringBuffer();
        for(i = 0; i < byteArray.length; i++)
         {
            strBuf.append(byteArray[i]);    
        }    
        return strBuf.toString();
    
public static java.lang.StringconvertXidArrayToString(javax.transaction.xa.Xid[] xidArray)
Converts an array of xids to string that can be printed. Its a helper method.

param
xidArray a Xid[] value
return
a String value

	if(xidArray.length != 0)
	{
        	int i;
        	StringBuffer strBuf = new StringBuffer("[ ");
        	for(i = 0; i < xidArray.length - 1; i++)
        	{
            		strBuf.append(xidArray[i].getGlobalTransactionId()).append(", ");
        	}
        	strBuf.append(xidArray[xidArray.length - 1]).append(" ]");
        	return strBuf.toString();
	}
	else
		return " null ";
    
public static java.lang.StringcreateTraceRecord(java.lang.Object tid, java.lang.Object origin, java.lang.String message)
Returns the formatted record, by accepting the simple string message, tid and originator, which can be written to OutputStream

param
tid an Object value
param
origin an Object value
param
message a String value
return
a String value

        StringBuffer strBuf = new StringBuffer(TraceUtil.getTraceRecordTag());
        strBuf.append(TraceUtil.getCurrentTraceLevel())
              .append(TraceUtil.getFieldDelimiter());
        if(tid == null)
        {
            strBuf.append("<unknown-tid>");
        }
        else
        {
			if(tid instanceof String)
			{
				strBuf.append(tid);
			}
			else if(tid instanceof otid_t)
			{	
   		         	strBuf.append(convertToString(((otid_t)tid).tid));
			}
        }
        strBuf.append(TraceUtil.getFieldDelimiter())
              .append(System.currentTimeMillis())
              .append(TraceUtil.getFieldDelimiter());
        if(origin == null)
        {
            strBuf.append("<unknown-origin>");
        }
        else
        {
            strBuf.append(origin);
        }
        strBuf.append(TraceUtil.getFieldDelimiter()).append(message).append("\n");
        return strBuf.toString();
    
public static java.lang.StringgetTraceRecordScheme()
Returns the scheme used to format the record. This prints the different components (fields) of the trace and record and their order of occurrence.

return
a String value

        String traceRecordScheme = "<trace-record-tag><level><separator><omg-tid><separator><current-time-in-milliseconds><separator><originator><separator><message>";
        return traceRecordScheme;