xref: /AOO41X/main/framework/qa/complex/imageManager/CheckImageManager.java (revision 1ecadb572e7010ff3b3382ad9bf179dbc6efadbb)
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