1 package complex.imageManager; 2 3 import com.sun.star.lang.XComponent; 4 import com.sun.star.lang.XInitialization; 5 import com.sun.star.lang.XMultiServiceFactory; 6 import com.sun.star.lang.XTypeProvider; 7 import com.sun.star.uno.UnoRuntime; 8 import com.sun.star.uno.XInterface; 9 import com.sun.star.ui.XImageManager; 10 import com.sun.star.ui.XModuleUIConfigurationManagerSupplier; 11 import com.sun.star.ui.XUIConfiguration; 12 import com.sun.star.ui.XUIConfigurationManager; 13 import com.sun.star.ui.XUIConfigurationPersistence; 14 15 16 // ---------- junit imports ----------------- 17 import lib.TestParameters; 18 import org.junit.After; 19 import org.junit.AfterClass; 20 import org.junit.Before; 21 import org.junit.BeforeClass; 22 import org.junit.Test; 23 import org.openoffice.test.OfficeConnection; 24 import static org.junit.Assert.*; 25 // ------------------------------------------ 26 27 /** 28 * 29 */ 30 public class CheckImageManager { 31 boolean checkUIConfigManager = false; 32 XMultiServiceFactory xMSF = null; 33 /** 34 * The test parameters 35 */ 36 private static TestParameters param = null; 37 38 @Before public void before() 39 { 40 xMSF = getMSF(); 41 param = new TestParameters(); 42 param.put("ServiceFactory", xMSF); // some qadevOOo functions need the ServiceFactory 43 } 44 45 // public String[] getTestMethodNames() { 46 // return new String[]{"checkImageManagerFromModule"};//, "checkImageManager"}; 47 // } 48 49 @Test public void checkImageManagerFromModule() 50 { 51 System.out.println(" **** ImageManager from ModuleUIConfigurationManager *** "); 52 XUIConfigurationManager xManager = null; 53 try { 54 Object o = (XInterface)xMSF.createInstance( 55 "com.sun.star.ui.ModuleUIConfigurationManagerSupplier"); 56 XModuleUIConfigurationManagerSupplier xMUICMS = 57 UnoRuntime.queryInterface(XModuleUIConfigurationManagerSupplier.class, o); 58 xManager = xMUICMS.getUIConfigurationManager( 59 "com.sun.star.text.TextDocument"); 60 } 61 catch(com.sun.star.uno.Exception e) { 62 fail("Exception. " + e.getMessage()); 63 } 64 XImageManager xImageManager = UnoRuntime.queryInterface(XImageManager.class, xManager.getImageManager()); 65 performChecks(xImageManager, "ModuleUIConfig", xManager); 66 } 67 68 public void checkImageManager() { 69 System.out.println(" **** ImageManager from UIConfigurationManager *** "); 70 XUIConfigurationManager xManager = null; 71 try { 72 xManager = UnoRuntime.queryInterface(XUIConfigurationManager.class, xMSF.createInstance("com.sun.star.comp.framework.UIConfigurationManager")); 73 } 74 catch(com.sun.star.uno.Exception e) { 75 fail("Exception. " + e.getMessage()); 76 } 77 78 XImageManager xImageManager = UnoRuntime.queryInterface(XImageManager.class, xManager.getImageManager()); 79 performChecks(xImageManager, "UIConfig", xManager); 80 } 81 82 private void performChecks(XImageManager xImageManager, String testObjectName, XUIConfigurationManager xManager) { 83 util.dbg.printInterfaces(xImageManager); 84 85 OXUIConfigurationListenerImpl configListener = new OXUIConfigurationListenerImpl(xManager, xMSF); 86 param.put("XUIConfiguration.XUIConfigurationListenerImpl", configListener); 87 88 XInitialization xInit = UnoRuntime.queryInterface(XInitialization.class, xImageManager); 89 _XInitialization _xInit = new _XInitialization(param, xInit); 90 assertTrue(testObjectName + "::XInitialization.initialize", _xInit._initialize()); 91 92 // xImageManager is already there, just write a test ;-) 93 _XImageManager _xImage = new _XImageManager(param, xImageManager); 94 assertTrue(testObjectName + "::XImageManager.getAllImageNames", _xImage._getAllImageNames()); 95 assertTrue(testObjectName + "::XImageManager.getImages", _xImage._getImages()); 96 assertTrue(testObjectName + "::XImageManager.hasImage", _xImage._hasImage()); 97 assertTrue(testObjectName + "::XImageManager.insertImages", _xImage._insertImages()); 98 assertTrue(testObjectName + "::XImageManager.removeImages", _xImage._removeImages()); 99 assertTrue(testObjectName + "::XImageManager.replaceImages", _xImage._replaceImages()); 100 assertTrue(testObjectName + "::XImageManager.reset", _xImage._reset()); 101 102 XTypeProvider xType = UnoRuntime.queryInterface(XTypeProvider.class, xImageManager); 103 _XTypeProvider _xType = new _XTypeProvider(param, xType); 104 assertTrue(testObjectName + "::XTypeProvider.getImplementationId", _xType._getImplementationId()); 105 assertTrue(testObjectName + "::XTypeProvider.getTypes", _xType._getTypes()); 106 107 XUIConfiguration xUIConfig = UnoRuntime.queryInterface(XUIConfiguration.class, xImageManager); 108 _XUIConfiguration _xUIConfig = new _XUIConfiguration(param, xUIConfig); 109 _xUIConfig.before(); 110 assertTrue(testObjectName + "::XUIConfig.addConfigurationListener", _xUIConfig._addConfigurationListener()); 111 assertTrue(testObjectName + "::XUIConfig.removeConfigurationListener", _xUIConfig._removeConfigurationListener()); 112 113 XUIConfigurationPersistence xUIConfigPersistence = (XUIConfigurationPersistence)UnoRuntime.queryInterface(XUIConfiguration.class, xImageManager); 114 _XUIConfigurationPersistence _xUIConfigPersistence = new _XUIConfigurationPersistence(param, xUIConfigPersistence); 115 _xUIConfigPersistence.before(); 116 assertTrue(testObjectName + "::XUIConfigPersistence.isModified", _xUIConfigPersistence._isModified()); 117 // System.out.println(testObjectName + "::XUIConfigPersistence.isReadOnly "+ _xUIConfigPersistence._isReadOnly()); 118 assertTrue(testObjectName + "::XUIConfigPersistence.isReadOnly", _xUIConfigPersistence._isReadOnly()); 119 assertTrue(testObjectName + "::XUIConfigPersistence.reload", _xUIConfigPersistence._reload()); 120 assertTrue(testObjectName + "::XUIConfigPersistence.store", _xUIConfigPersistence._store()); 121 assertTrue(testObjectName + "::XUIConfigPersistence.storeToStorage", _xUIConfigPersistence._storeToStorage()); 122 123 XComponent xComp = UnoRuntime.queryInterface(XComponent.class, xImageManager); 124 _XComponent _xComp = new _XComponent(param, xComp); 125 _xComp.before(); 126 assertTrue(testObjectName + "::XComponent.addEventListener", _xComp._addEventListener()); 127 assertTrue(testObjectName + "::XComponent.removeEventListener", _xComp._removeEventListener()); 128 assertTrue(testObjectName + "::XComponent.dispose", _xComp._dispose()); 129 } 130 131 132 class OXUIConfigurationListenerImpl implements _XUIConfiguration.XUIConfigurationListenerImpl { 133 private boolean triggered = false; 134 private XUIConfigurationManager xUIManager = null; 135 private XMultiServiceFactory xMSF = null; 136 137 public OXUIConfigurationListenerImpl(XUIConfigurationManager xUIManager, XMultiServiceFactory xMSF) { 138 139 this.xUIManager = xUIManager; 140 this.xMSF = xMSF; 141 } 142 143 public boolean actionWasTriggered() { 144 return triggered; 145 } 146 147 public void disposing(com.sun.star.lang.EventObject eventObject) { 148 triggered = true; 149 } 150 151 public void elementInserted(com.sun.star.ui.ConfigurationEvent configurationEvent) { 152 triggered = true; 153 } 154 155 public void elementRemoved(com.sun.star.ui.ConfigurationEvent configurationEvent) { 156 triggered = true; 157 } 158 159 public void elementReplaced(com.sun.star.ui.ConfigurationEvent configurationEvent) { 160 triggered = true; 161 } 162 163 public void fireEvent() { 164 // remove for real action: 165 triggered = !triggered; 166 /* try { 167 XIndexAccess xMenuBarSettings = xUIManager.getSettings( 168 "private:resource/menubar/menubar", true); 169 170 } 171 catch(com.sun.star.container.NoSuchElementException e) { 172 System.out.println("_XUIConfiguration.XUIConfigurationListenerImpl: Exception."); 173 e.printStackTrace((java.io.PrintWriter)log); 174 } 175 catch(com.sun.star.lang.IllegalArgumentException e) { 176 System.out.println("_XUIConfiguration.XUIConfigurationListenerImpl: Exception."); 177 e.printStackTrace((java.io.PrintWriter)log); 178 } 179 catch(com.sun.star.lang.IllegalAccessException e) { 180 System.out.println("_XUIConfiguration.XUIConfigurationListenerImpl: Exception."); 181 e.printStackTrace((java.io.PrintWriter)log); 182 } 183 catch(com.sun.star.lang.IndexOutOfBoundsException e) { 184 System.out.println("_XUIConfiguration.XUIConfigurationListenerImpl: Exception."); 185 e.printStackTrace((java.io.PrintWriter)log); 186 } 187 catch(com.sun.star.lang.WrappedTargetException e) { 188 System.out.println("_XUIConfiguration.XUIConfigurationListenerImpl: Exception."); 189 e.printStackTrace((java.io.PrintWriter)log); 190 } */ 191 } 192 193 public void reset() { 194 // remove comment for real function 195 //triggered = false; 196 } 197 198 } 199 200 private XMultiServiceFactory getMSF() 201 { 202 final XMultiServiceFactory xMSF1 = UnoRuntime.queryInterface(XMultiServiceFactory.class, connection.getComponentContext().getServiceManager()); 203 return xMSF1; 204 } 205 206 // setup and close connections 207 @BeforeClass 208 public static void setUpConnection() throws Exception 209 { 210 System.out.println("setUpConnection()"); 211 connection.setUp(); 212 } 213 214 @AfterClass 215 public static void tearDownConnection() 216 throws InterruptedException, com.sun.star.uno.Exception 217 { 218 System.out.println("tearDownConnection()"); 219 connection.tearDown(); 220 } 221 private static final OfficeConnection connection = new OfficeConnection(); 222 223 } 224