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.TestStep;
22  import com.eviware.soapui.model.testsuite.TestStepResult;
23  import com.eviware.soapui.support.action.ActionList;
24  
25  /***
26   * An error entry in the LoadTest Log
27   * 
28   * @author Ole.Matzura
29   */
30  
31  public class LoadTestLogErrorEntry implements LoadTestLogEntry
32  {
33  	private final String error;
34  	private TestStepResult result;
35  	private String type;
36  	private ImageIcon icon;
37  	private long timestamp;
38  
39  	public LoadTestLogErrorEntry( String type, String error, TestStepResult result, ImageIcon icon)
40  	{
41  		this.icon = icon;
42  		this.type = type;
43  		this.error = error;
44  		this.result = result;
45  		
46  		timestamp = result == null ? System.currentTimeMillis() : result.getTimeStamp();
47  	}
48  
49  	public LoadTestLogErrorEntry(String type, String message, ImageIcon icon)
50  	{
51  	   this.type = type;
52  		this.error = message;
53  		this.icon = icon;
54  		
55  		timestamp = System.currentTimeMillis();
56  	}
57  
58  	public String getMessage()
59  	{
60  		return error;
61  	}
62  
63  	public TestStepResult getTestStepResult()
64  	{
65  		return result;
66  	}
67  	
68  	public long getTimeStamp()
69  	{
70  		return timestamp;
71  	}
72  
73  	public TestStep getTargetStep()
74  	{
75  		return result == null ? null : result.getTestStep();
76  	}
77  
78  	public ImageIcon getIcon()
79  	{
80  		return icon;
81  	}
82  
83  	public String getType()
84  	{
85  		return type;
86  	}
87  
88  	public boolean isError()
89  	{
90  		return true;
91  	}
92  
93  	public ActionList getActions()
94  	{
95  		return result == null ? null : result.getActions();
96  	}
97  	
98  	public void exportToFile(String fileName) throws IOException
99  	{
100 		PrintWriter writer = new PrintWriter(fileName );
101 
102 		writer.write( new Date( timestamp ).toString() );
103 		writer.write( ":" );
104 		writer.write( error );
105 		writer.println();
106 		if( result != null )
107 		{
108 			writer.println( "----------------------------------------------------" );
109 			result.writeTo( writer );
110 		}
111 		
112 		writer.close();
113 	}
114 }