1*ef39d40dSAndrew Rist /************************************************************** 2cdf0e10cSrcweir * 3*ef39d40dSAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 4*ef39d40dSAndrew Rist * or more contributor license agreements. See the NOTICE file 5*ef39d40dSAndrew Rist * distributed with this work for additional information 6*ef39d40dSAndrew Rist * regarding copyright ownership. The ASF licenses this file 7*ef39d40dSAndrew Rist * to you under the Apache License, Version 2.0 (the 8*ef39d40dSAndrew Rist * "License"); you may not use this file except in compliance 9*ef39d40dSAndrew Rist * with the License. You may obtain a copy of the License at 10cdf0e10cSrcweir * 11*ef39d40dSAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12cdf0e10cSrcweir * 13*ef39d40dSAndrew Rist * Unless required by applicable law or agreed to in writing, 14*ef39d40dSAndrew Rist * software distributed under the License is distributed on an 15*ef39d40dSAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*ef39d40dSAndrew Rist * KIND, either express or implied. See the License for the 17*ef39d40dSAndrew Rist * specific language governing permissions and limitations 18*ef39d40dSAndrew Rist * under the License. 19cdf0e10cSrcweir * 20*ef39d40dSAndrew Rist *************************************************************/ 21*ef39d40dSAndrew Rist 22*ef39d40dSAndrew Rist 23cdf0e10cSrcweir 24cdf0e10cSrcweir package mod._dbaccess; 25cdf0e10cSrcweir 26cdf0e10cSrcweir import java.io.PrintWriter; 27cdf0e10cSrcweir 28cdf0e10cSrcweir import lib.Status; 29cdf0e10cSrcweir import lib.StatusException; 30cdf0e10cSrcweir import lib.TestCase; 31cdf0e10cSrcweir import lib.TestEnvironment; 32cdf0e10cSrcweir import lib.TestParameters; 33cdf0e10cSrcweir 34cdf0e10cSrcweir import com.sun.star.lang.XMultiServiceFactory; 35cdf0e10cSrcweir import com.sun.star.uno.UnoRuntime; 36cdf0e10cSrcweir import com.sun.star.uno.XInterface; 37cdf0e10cSrcweir 38cdf0e10cSrcweir /** 39cdf0e10cSrcweir * Test for object which is represented by service 40cdf0e10cSrcweir * <code>com.sun.star.sdb.ErrorMessageDialog</code>. <p> 41cdf0e10cSrcweir * Object implements the following interfaces : 42cdf0e10cSrcweir * <ul> 43cdf0e10cSrcweir * <li> <code>com::sun::star::lang::XInitialization</code></li> 44cdf0e10cSrcweir * <li> <code>com::sun::star::sdb::ErrorMessageDialog</code></li> 45cdf0e10cSrcweir * <li> <code>com::sun::star::ui::dialogs::XExecutableDialog</code></li> 46cdf0e10cSrcweir * <li> <code>com::sun::star::beans::XPropertySet</code></li> 47cdf0e10cSrcweir * </ul> <p> 48cdf0e10cSrcweir * This object test <b> is NOT </b> designed to be run in several 49cdf0e10cSrcweir * threads concurently. 50cdf0e10cSrcweir * 51cdf0e10cSrcweir * @see com.sun.star.lang.XInitialization 52cdf0e10cSrcweir * @see com.sun.star.sdb.ErrorMessageDialog 53cdf0e10cSrcweir * @see com.sun.star.ui.dialogs.XExecutableDialog 54cdf0e10cSrcweir * @see com.sun.star.beans.XPropertySet 55cdf0e10cSrcweir * @see ifc.lang._XInitialization 56cdf0e10cSrcweir * @see ifc.sdb._ErrorMessageDialog 57cdf0e10cSrcweir * @see ifc.ui.dialogs._XExecutableDialog 58cdf0e10cSrcweir * @see ifc.beans._XPropertySet 59cdf0e10cSrcweir */ 60cdf0e10cSrcweir public class OSQLMessageDialog extends TestCase { 61cdf0e10cSrcweir 62cdf0e10cSrcweir /** 63cdf0e10cSrcweir * Creating a Testenvironment for the interfaces to be tested. 64cdf0e10cSrcweir * 65cdf0e10cSrcweir * Creates an instance of the service 66cdf0e10cSrcweir * <code>com.sun.star.sdb.ErrorMessageDialog</code>. 67cdf0e10cSrcweir * Object relations created : 68cdf0e10cSrcweir * <ul> 69cdf0e10cSrcweir * <li> <code>'ERR1', 'ERR2'</code> for 70cdf0e10cSrcweir * {@link ifc.sdb._ErrorMessageDialog} </li> 71cdf0e10cSrcweir * </ul> 72cdf0e10cSrcweir */ createTestEnvironment( TestParameters Param, PrintWriter log )73cdf0e10cSrcweir public TestEnvironment createTestEnvironment( TestParameters Param, 74cdf0e10cSrcweir PrintWriter log ) throws StatusException { 75cdf0e10cSrcweir XInterface oObj = null; 76cdf0e10cSrcweir Object oInterface = null; 77cdf0e10cSrcweir 78cdf0e10cSrcweir Object err1 = null; 79cdf0e10cSrcweir Object err2 = null; 80cdf0e10cSrcweir 81cdf0e10cSrcweir try { 82cdf0e10cSrcweir oInterface = ((XMultiServiceFactory)Param.getMSF()).createInstance( 83cdf0e10cSrcweir "com.sun.star.sdb.ErrorMessageDialog" ); 84cdf0e10cSrcweir 85cdf0e10cSrcweir err1 = new com.sun.star.sdbc.SQLException("err1"); 86cdf0e10cSrcweir err2 = new com.sun.star.sdbc.SQLException("err2"); 87cdf0e10cSrcweir } 88cdf0e10cSrcweir catch( com.sun.star.uno.Exception e ) { 89cdf0e10cSrcweir log.println("Service not available" ); 90cdf0e10cSrcweir throw new StatusException("Service not available", e) ; 91cdf0e10cSrcweir } 92cdf0e10cSrcweir 93cdf0e10cSrcweir if (oInterface == null) { 94cdf0e10cSrcweir log.println("Service wasn't created") ; 95cdf0e10cSrcweir throw new StatusException(Status.failed("Service wasn't created")) ; 96cdf0e10cSrcweir } 97cdf0e10cSrcweir 98cdf0e10cSrcweir oObj = (XInterface) oInterface; 99cdf0e10cSrcweir 100cdf0e10cSrcweir // create XWindow for Object relations... 101cdf0e10cSrcweir com.sun.star.awt.XToolkit xToolkit = null; 102cdf0e10cSrcweir 103cdf0e10cSrcweir try{ 104cdf0e10cSrcweir xToolkit = (com.sun.star.awt.XToolkit)UnoRuntime.queryInterface( 105cdf0e10cSrcweir com.sun.star.awt.XToolkit.class, 106cdf0e10cSrcweir ((XMultiServiceFactory)Param.getMSF()).createInstance("com.sun.star.awt.Toolkit") ); 107cdf0e10cSrcweir } catch (com.sun.star.uno.Exception e){ 108cdf0e10cSrcweir log.println("could not create instacne of 'com.sun.star.awt.Toolkit'" ); 109cdf0e10cSrcweir throw new StatusException("could not create instacne of 'com.sun.star.awt.Toolkit'", e) ; 110cdf0e10cSrcweir } 111cdf0e10cSrcweir 112cdf0e10cSrcweir // Describe the properties of the container window. 113cdf0e10cSrcweir com.sun.star.awt.WindowDescriptor aDescriptor = 114cdf0e10cSrcweir new com.sun.star.awt.WindowDescriptor(); 115cdf0e10cSrcweir 116cdf0e10cSrcweir aDescriptor.Type = com.sun.star.awt.WindowClass.TOP ; 117cdf0e10cSrcweir aDescriptor.WindowServiceName = "window" ; 118cdf0e10cSrcweir aDescriptor.ParentIndex = -1; 119cdf0e10cSrcweir aDescriptor.Parent = null; 120cdf0e10cSrcweir aDescriptor.Bounds = new com.sun.star.awt.Rectangle(0,0,0,0); 121cdf0e10cSrcweir 122cdf0e10cSrcweir aDescriptor.WindowAttributes = 123cdf0e10cSrcweir com.sun.star.awt.WindowAttribute.BORDER | 124cdf0e10cSrcweir com.sun.star.awt.WindowAttribute.MOVEABLE | 125cdf0e10cSrcweir com.sun.star.awt.WindowAttribute.SIZEABLE | 126cdf0e10cSrcweir com.sun.star.awt.WindowAttribute.CLOSEABLE ; 127cdf0e10cSrcweir 128cdf0e10cSrcweir com.sun.star.awt.XWindowPeer xPeer = null; 129cdf0e10cSrcweir try{ 130cdf0e10cSrcweir 131cdf0e10cSrcweir xPeer = xToolkit.createWindow(aDescriptor) ; 132cdf0e10cSrcweir 133cdf0e10cSrcweir } catch (com.sun.star.lang.IllegalArgumentException e){ 134cdf0e10cSrcweir log.println("could not create window" ); 135cdf0e10cSrcweir throw new StatusException("could not create window", e) ; 136cdf0e10cSrcweir } 137cdf0e10cSrcweir 138cdf0e10cSrcweir com.sun.star.awt.XWindow xWindow = (com.sun.star.awt.XWindow)UnoRuntime.queryInterface ( 139cdf0e10cSrcweir com.sun.star.awt.XWindow .class, xPeer); 140cdf0e10cSrcweir 141cdf0e10cSrcweir log.println( " creating a new environment for object" ); 142cdf0e10cSrcweir TestEnvironment tEnv = new TestEnvironment( oObj ); 143cdf0e10cSrcweir 144cdf0e10cSrcweir log.println("add ObjectRelations err1 and err2 for 'ErrorMessageDialog'"); 145cdf0e10cSrcweir tEnv.addObjRelation("ERR1",err1); 146cdf0e10cSrcweir tEnv.addObjRelation("ERR2",err2); 147cdf0e10cSrcweir tEnv.addObjRelation("ERR_XWindow", xWindow); 148cdf0e10cSrcweir 149cdf0e10cSrcweir return tEnv; 150cdf0e10cSrcweir } // finish method getTestEnvironment 151cdf0e10cSrcweir 152cdf0e10cSrcweir } // finish class OSQLMessageDialog 153cdf0e10cSrcweir 154