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