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