1
2
3
4
5
6
7
8
9
10
11
12
13 package com.eviware.soapui.model.util;
14
15 import java.util.HashMap;
16 import java.util.Map;
17
18 import javax.swing.ImageIcon;
19
20 import com.eviware.soapui.model.ModelItem;
21 import com.eviware.soapui.model.mock.MockOperation;
22 import com.eviware.soapui.model.mock.MockResponse;
23 import com.eviware.soapui.model.mock.MockService;
24 import com.eviware.soapui.model.project.Project;
25 import com.eviware.soapui.model.testsuite.LoadTest;
26 import com.eviware.soapui.model.testsuite.TestAssertion;
27 import com.eviware.soapui.model.testsuite.TestCase;
28 import com.eviware.soapui.model.testsuite.TestStep;
29 import com.eviware.soapui.model.testsuite.TestSuite;
30 import com.eviware.soapui.support.UISupport;
31
32 public class ModelItemIconFactory
33 {
34 private static Map<Class<? extends ModelItem>, String > modelItemIcons = new HashMap<Class<? extends ModelItem>, String>();
35
36 static
37 {
38 modelItemIcons.put( Project.class, "/project.gif" );
39 modelItemIcons.put( TestSuite.class, "/testSuite.gif" );
40 modelItemIcons.put( TestCase.class, "/testCase.gif" );
41 modelItemIcons.put( TestStep.class, "/teststeps.gif" );
42 modelItemIcons.put( TestAssertion.class, "/assertion.gif" );
43 modelItemIcons.put( LoadTest.class, "/loadTest.gif" );
44 modelItemIcons.put( MockService.class, "/mockService.gif" );
45 modelItemIcons.put( MockResponse.class, "/mockResponse.gif" );
46 modelItemIcons.put( MockOperation.class, "/mockOperation.gif" );
47 }
48
49 public static ImageIcon getIcon( Class<? extends ModelItem> clazz )
50 {
51 if( modelItemIcons.containsKey( clazz ))
52 return UISupport.createImageIcon( modelItemIcons.get( clazz ) );
53
54 for( Class<?> iface : clazz.getInterfaces() )
55 {
56 if( modelItemIcons.containsKey( iface ))
57 return UISupport.createImageIcon( modelItemIcons.get( iface ) );
58 }
59
60 return null;
61 }
62
63 public static <T extends ModelItem> ImageIcon getIcon( T modelItem )
64 {
65 return getIcon( modelItem.getClass() );
66 }
67 }