View Javadoc

1    /*
2    *  soapUI, copyright (C) 2004-2007 eviware.com 
3    *
4    *  soapUI is free software; you can redistribute it and/or modify it under the 
5    *  terms of version 2.1 of the GNU Lesser General Public License as published by 
6    *  the Free Software Foundation.
7    *
8    *  soapUI is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without 
9    *  even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 
10   *  See the GNU Lesser General Public License for more details at gnu.org.
11   */
12  
13  package com.eviware.soapui.impl.wsdl.loadtest.log;
14  
15  import java.io.IOException;
16  import java.io.PrintWriter;
17  import java.util.Date;
18  
19  import javax.swing.ImageIcon;
20  
21  import com.eviware.soapui.model.testsuite.TestStepResult;
22  import com.eviware.soapui.support.action.swing.ActionList;
23  
24  /***
25   * An error entry in the LoadTest Log
26   * 
27   * @author Ole.Matzura
28   */
29  
30  public class LoadTestLogErrorEntry implements LoadTestLogEntry
31  {
32  	private final String error;
33  	private TestStepResult result;
34  	private String type;
35  	private ImageIcon icon;
36  	private long timestamp;
37  	private boolean discarded;
38  	private String targetStepName;
39  
40  	public LoadTestLogErrorEntry( String type, String error, TestStepResult result, ImageIcon icon)
41  	{
42  		this.icon = icon;
43  		this.type = type;
44  		this.error = error;
45  		this.result = result;
46  		this.targetStepName = result.getTestStep().getName();
47  		
48  		timestamp = result == null ? System.currentTimeMillis() : result.getTimeStamp();
49  	}
50  
51  	public LoadTestLogErrorEntry(String type, String message, ImageIcon icon)
52  	{
53  	   this.type = type;
54  		this.error = message;
55  		this.icon = icon;
56  		
57  		targetStepName = "- Total -";
58  		
59  		timestamp = System.currentTimeMillis();
60  	}
61  
62  	public String getMessage()
63  	{
64  		if( discarded )
65  			return error + " [discarded]";
66  		else
67  			return error;
68  	}
69  
70  	public TestStepResult getTestStepResult()
71  	{
72  		return result;
73  	}
74  	
75  	public long getTimeStamp()
76  	{
77  		return timestamp;
78  	}
79  
80  	public String getTargetStepName()
81  	{
82  		return targetStepName;
83  	}
84  
85  	public ImageIcon getIcon()
86  	{
87  		return icon;
88  	}
89  
90  	public String getType()
91  	{
92  		return type;
93  	}
94  
95  	public boolean isError()
96  	{
97  		return true;
98  	}
99  
100 	public ActionList getActions()
101 	{
102 		return result == null ? null : result.getActions();
103 	}
104 	
105 	public void exportToFile(String fileName) throws IOException
106 	{
107 		PrintWriter writer = new PrintWriter(fileName );
108 
109 		writer.write( new Date( timestamp ).toString() );
110 		writer.write( ":" );
111 		writer.write( targetStepName );
112 		writer.write( ":" );
113 		writer.write( error );
114 		writer.println();
115 		if( result != null )
116 		{
117 			writer.println( "----------------------------------------------------" );
118 			result.writeTo( writer );
119 		}
120 		else if( discarded )
121 		{
122 			writer.println( "-> Discarded" );
123 		}
124 		
125 		writer.close();
126 	}
127 	
128 	public void discard()
129 	{
130 		result = null;
131 		discarded = true;
132 	}
133 	
134 	public boolean isDiscarded()
135 	{
136 		return discarded;
137 	}
138 }