1ef39d40dSAndrew Rist /************************************************************** 2cdf0e10cSrcweir * 3ef39d40dSAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 4ef39d40dSAndrew Rist * or more contributor license agreements. See the NOTICE file 5ef39d40dSAndrew Rist * distributed with this work for additional information 6ef39d40dSAndrew Rist * regarding copyright ownership. The ASF licenses this file 7ef39d40dSAndrew Rist * to you under the Apache License, Version 2.0 (the 8ef39d40dSAndrew Rist * "License"); you may not use this file except in compliance 9ef39d40dSAndrew Rist * with the License. You may obtain a copy of the License at 10cdf0e10cSrcweir * 11ef39d40dSAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12cdf0e10cSrcweir * 13ef39d40dSAndrew Rist * Unless required by applicable law or agreed to in writing, 14ef39d40dSAndrew Rist * software distributed under the License is distributed on an 15ef39d40dSAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16ef39d40dSAndrew Rist * KIND, either express or implied. See the License for the 17ef39d40dSAndrew Rist * specific language governing permissions and limitations 18ef39d40dSAndrew Rist * under the License. 19cdf0e10cSrcweir * 20ef39d40dSAndrew Rist *************************************************************/ 21ef39d40dSAndrew Rist 22ef39d40dSAndrew Rist 23*084e0718Smseidel 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 import util.AccessibilityTools; 34cdf0e10cSrcweir 35cdf0e10cSrcweir import com.sun.star.accessibility.AccessibleRole; 36cdf0e10cSrcweir import com.sun.star.accessibility.XAccessible; 37cdf0e10cSrcweir import com.sun.star.awt.PosSize; 38cdf0e10cSrcweir import com.sun.star.awt.Rectangle; 39cdf0e10cSrcweir import com.sun.star.awt.XWindow; 40cdf0e10cSrcweir import com.sun.star.beans.PropertyValue; 41cdf0e10cSrcweir import com.sun.star.beans.XPropertySet; 42cdf0e10cSrcweir import com.sun.star.container.XNameAccess; 43cdf0e10cSrcweir import com.sun.star.container.XNameContainer; 44cdf0e10cSrcweir import com.sun.star.frame.XModel; 45cdf0e10cSrcweir import com.sun.star.frame.XStorable; 46cdf0e10cSrcweir import com.sun.star.lang.XComponent; 47cdf0e10cSrcweir import com.sun.star.lang.XMultiServiceFactory; 48cdf0e10cSrcweir import com.sun.star.sdb.XDocumentDataSource; 49cdf0e10cSrcweir import com.sun.star.sdb.XQueryDefinitionsSupplier; 50cdf0e10cSrcweir import com.sun.star.sdbc.XConnection; 51cdf0e10cSrcweir import com.sun.star.sdbc.XIsolatedConnection; 52cdf0e10cSrcweir import com.sun.star.sdbc.XStatement; 53cdf0e10cSrcweir import com.sun.star.ucb.XSimpleFileAccess; 54cdf0e10cSrcweir import com.sun.star.uno.UnoRuntime; 55cdf0e10cSrcweir import com.sun.star.uno.XInterface; 56cdf0e10cSrcweir import util.DesktopTools; 57cdf0e10cSrcweir import util.utils; 58cdf0e10cSrcweir 59cdf0e10cSrcweir 60cdf0e10cSrcweir /** 61cdf0e10cSrcweir * Object implements the following interfaces : 62cdf0e10cSrcweir * <ul> 63cdf0e10cSrcweir * <li><code>::com::sun::star::accessibility::XAccessible</code></li> 64cdf0e10cSrcweir * <li><code>::com::sun::star::accessibility::XAccessibleContext 65cdf0e10cSrcweir * </code></li> 66cdf0e10cSrcweir * <li><code>::com::sun::star::accessibility::XAccessibleEventBroadcaster 67cdf0e10cSrcweir * </code></li> 68cdf0e10cSrcweir * </ul><p> 69cdf0e10cSrcweir * @see com.sun.star.accessibility.XAccessible 70cdf0e10cSrcweir * @see com.sun.star.accessibility.XAccessibleContext 71cdf0e10cSrcweir * @see com.sun.star.accessibility.XAccessibleEventBroadcaster 72cdf0e10cSrcweir * @see ifc.accessibility._XAccessible 73cdf0e10cSrcweir * @see ifc.accessibility._XAccessibleContext 74cdf0e10cSrcweir * @see ifc.accessibility._XAccessibleEventBroadcaster 75cdf0e10cSrcweir */ 76cdf0e10cSrcweir public class JoinViewAccessibility extends TestCase { 77cdf0e10cSrcweir XWindow xWindow = null; 78cdf0e10cSrcweir Object oDBSource = null; 79cdf0e10cSrcweir String aFile = ""; 80cdf0e10cSrcweir XConnection connection = null; 81cdf0e10cSrcweir XIsolatedConnection isolConnection = null; 82cdf0e10cSrcweir XComponent QueryComponent = null; 83cdf0e10cSrcweir String user = ""; 84cdf0e10cSrcweir String password=""; 85cdf0e10cSrcweir 86cdf0e10cSrcweir /** 87cdf0e10cSrcweir * Creates a new DataSource and stores it. 88cdf0e10cSrcweir * Creates a connection and using it 89cdf0e10cSrcweir * creates two tables in database. 90cdf0e10cSrcweir * Creates a new query and adds it to DefinitionContainer. 91cdf0e10cSrcweir * Opens the QueryComponent.with loadComponentFromURL 92*084e0718Smseidel * and gets the object with the role UNKNOWN and the Implementation 93cdf0e10cSrcweir * name that contains ConnectionLine 94cdf0e10cSrcweir * @param Param test parameters 95cdf0e10cSrcweir * @param log writer to log information while testing 96cdf0e10cSrcweir * @return 97cdf0e10cSrcweir * @throws StatusException 98cdf0e10cSrcweir * @see TestEnvironment 99cdf0e10cSrcweir */ createTestEnvironment(TestParameters Param, PrintWriter log)100cdf0e10cSrcweir protected TestEnvironment createTestEnvironment (TestParameters Param, 101cdf0e10cSrcweir PrintWriter log) 102cdf0e10cSrcweir { 103cdf0e10cSrcweir XInterface oObj = null; 104cdf0e10cSrcweir 105cdf0e10cSrcweir Object oDBContext = null; 106cdf0e10cSrcweir Object oDBSource = null; 107cdf0e10cSrcweir Object newQuery = null; 108cdf0e10cSrcweir Object toolkit = null; 109cdf0e10cSrcweir XStorable store = null; 110cdf0e10cSrcweir 111cdf0e10cSrcweir try 112cdf0e10cSrcweir { 113cdf0e10cSrcweir oDBContext = ((XMultiServiceFactory) Param.getMSF ()) 114cdf0e10cSrcweir .createInstance ("com.sun.star.sdb.DatabaseContext"); 115cdf0e10cSrcweir oDBSource = ((XMultiServiceFactory) Param.getMSF ()) 116cdf0e10cSrcweir .createInstance ("com.sun.star.sdb.DataSource"); 117cdf0e10cSrcweir newQuery = ((XMultiServiceFactory) Param.getMSF ()) 118cdf0e10cSrcweir .createInstance ("com.sun.star.sdb.QueryDefinition"); 119cdf0e10cSrcweir toolkit = ((XMultiServiceFactory) Param.getMSF ()) 120cdf0e10cSrcweir .createInstance ("com.sun.star.awt.Toolkit"); 121cdf0e10cSrcweir } catch (com.sun.star.uno.Exception e) 122cdf0e10cSrcweir { 123cdf0e10cSrcweir e.printStackTrace (log); 124cdf0e10cSrcweir throw new StatusException (Status.failed ("Couldn't create instance")); 125cdf0e10cSrcweir } 126cdf0e10cSrcweir 127cdf0e10cSrcweir String mysqlURL = (String) Param.get ("mysql.url"); 128cdf0e10cSrcweir 129cdf0e10cSrcweir if (mysqlURL == null) 130cdf0e10cSrcweir { 131cdf0e10cSrcweir throw new StatusException (Status.failed ( 132cdf0e10cSrcweir "Couldn't get 'mysql.url' from ini-file")); 133cdf0e10cSrcweir } 134cdf0e10cSrcweir 135cdf0e10cSrcweir user = (String) Param.get ("jdbc.user"); 136cdf0e10cSrcweir password = (String) Param.get ("jdbc.password"); 137cdf0e10cSrcweir 138cdf0e10cSrcweir if ((user == null) || (password == null)) 139cdf0e10cSrcweir { 140cdf0e10cSrcweir throw new StatusException (Status.failed ( 141cdf0e10cSrcweir "Couldn't get 'jdbc.user' or 'jdbc.password' from ini-file")); 142cdf0e10cSrcweir } 143cdf0e10cSrcweir 144cdf0e10cSrcweir PropertyValue[] info = new PropertyValue[2]; 145cdf0e10cSrcweir info[0] = new PropertyValue (); 146cdf0e10cSrcweir info[0].Name = "user"; 147cdf0e10cSrcweir info[0].Value = user; 148cdf0e10cSrcweir info[1] = new PropertyValue (); 149cdf0e10cSrcweir info[1].Name = "password"; 150cdf0e10cSrcweir info[1].Value = password; 151cdf0e10cSrcweir 152cdf0e10cSrcweir XPropertySet propSetDBSource = (XPropertySet) UnoRuntime.queryInterface ( 153cdf0e10cSrcweir XPropertySet.class, oDBSource); 154cdf0e10cSrcweir 155cdf0e10cSrcweir try 156cdf0e10cSrcweir { 157cdf0e10cSrcweir propSetDBSource.setPropertyValue ("URL", mysqlURL); 158cdf0e10cSrcweir propSetDBSource.setPropertyValue ("Info", info); 159cdf0e10cSrcweir } catch (com.sun.star.lang.WrappedTargetException e) 160cdf0e10cSrcweir { 161cdf0e10cSrcweir e.printStackTrace (log); 162cdf0e10cSrcweir throw new StatusException (Status.failed ( 163cdf0e10cSrcweir "Couldn't set property value")); 164cdf0e10cSrcweir } catch (com.sun.star.lang.IllegalArgumentException e) 165cdf0e10cSrcweir { 166cdf0e10cSrcweir e.printStackTrace (log); 167cdf0e10cSrcweir throw new StatusException (Status.failed ( 168cdf0e10cSrcweir "Couldn't set property value")); 169cdf0e10cSrcweir } catch (com.sun.star.beans.PropertyVetoException e) 170cdf0e10cSrcweir { 171cdf0e10cSrcweir e.printStackTrace (log); 172cdf0e10cSrcweir throw new StatusException (Status.failed ( 173cdf0e10cSrcweir "Couldn't set property value")); 174cdf0e10cSrcweir } catch (com.sun.star.beans.UnknownPropertyException e) 175cdf0e10cSrcweir { 176cdf0e10cSrcweir e.printStackTrace (log); 177cdf0e10cSrcweir throw new StatusException (Status.failed ( 178cdf0e10cSrcweir "Couldn't set property value")); 179cdf0e10cSrcweir } 180cdf0e10cSrcweir 181cdf0e10cSrcweir try 182cdf0e10cSrcweir { 183cdf0e10cSrcweir log.println ("writing database file ..."); 184cdf0e10cSrcweir XDocumentDataSource xDDS = (XDocumentDataSource) 185cdf0e10cSrcweir UnoRuntime.queryInterface(XDocumentDataSource.class, oDBSource); 186cdf0e10cSrcweir store = (XStorable) UnoRuntime.queryInterface(XStorable.class, 187cdf0e10cSrcweir xDDS.getDatabaseDocument()); 188cdf0e10cSrcweir aFile = utils.getOfficeTemp ((XMultiServiceFactory) Param.getMSF ())+"JoinView.odb"; 189cdf0e10cSrcweir log.println ("... filename will be "+aFile); 190cdf0e10cSrcweir store.storeAsURL (aFile,new PropertyValue[] 191cdf0e10cSrcweir {}); 192cdf0e10cSrcweir log.println ("... done"); 193cdf0e10cSrcweir } catch (com.sun.star.uno.Exception e) 194cdf0e10cSrcweir { 195cdf0e10cSrcweir e.printStackTrace (log); 196cdf0e10cSrcweir throw new StatusException (Status.failed ("Couldn't register object")); 197cdf0e10cSrcweir } 198cdf0e10cSrcweir 199cdf0e10cSrcweir isolConnection = (XIsolatedConnection) UnoRuntime.queryInterface ( 200cdf0e10cSrcweir XIsolatedConnection.class, 201cdf0e10cSrcweir oDBSource); 202cdf0e10cSrcweir 203cdf0e10cSrcweir XConnection connection = null; 204cdf0e10cSrcweir XStatement statement = null; 205cdf0e10cSrcweir 206cdf0e10cSrcweir final String tbl_name1 = "tst_table1"; 207cdf0e10cSrcweir final String tbl_name2 = "tst_table2"; 208cdf0e10cSrcweir final String col_name1 = "id1"; 209cdf0e10cSrcweir final String col_name2 = "id2"; 210cdf0e10cSrcweir 211cdf0e10cSrcweir try 212cdf0e10cSrcweir { 213cdf0e10cSrcweir connection = isolConnection.getIsolatedConnection (user, password); 214cdf0e10cSrcweir statement = connection.createStatement (); 215cdf0e10cSrcweir statement.executeUpdate ("drop table if exists " + tbl_name1); 216cdf0e10cSrcweir statement.executeUpdate ("drop table if exists " + tbl_name2); 217cdf0e10cSrcweir statement.executeUpdate ("create table " + tbl_name1 + " (" + 218cdf0e10cSrcweir col_name1 + " int)"); 219cdf0e10cSrcweir statement.executeUpdate ("create table " + tbl_name2 + " (" + 220cdf0e10cSrcweir col_name2 + " int)"); 221cdf0e10cSrcweir } catch (com.sun.star.sdbc.SQLException e) 222cdf0e10cSrcweir { 223cdf0e10cSrcweir try 224cdf0e10cSrcweir { 225cdf0e10cSrcweir shortWait (); 226cdf0e10cSrcweir connection = isolConnection.getIsolatedConnection (user, 227cdf0e10cSrcweir password); 228cdf0e10cSrcweir statement = connection.createStatement (); 229cdf0e10cSrcweir statement.executeUpdate ("drop table if exists " + tbl_name1); 230cdf0e10cSrcweir statement.executeUpdate ("drop table if exists " + tbl_name2); 231cdf0e10cSrcweir statement.executeUpdate ("create table " + tbl_name1 + " (" + 232cdf0e10cSrcweir col_name1 + " int)"); 233cdf0e10cSrcweir statement.executeUpdate ("create table " + tbl_name2 + " (" + 234cdf0e10cSrcweir col_name2 + " int)"); 235cdf0e10cSrcweir } catch (com.sun.star.sdbc.SQLException e2) 236cdf0e10cSrcweir { 237cdf0e10cSrcweir e2.printStackTrace (log); 238cdf0e10cSrcweir throw new StatusException (Status.failed ("SQLException")); 239cdf0e10cSrcweir } 240cdf0e10cSrcweir } 241cdf0e10cSrcweir 242cdf0e10cSrcweir XQueryDefinitionsSupplier querySuppl = (XQueryDefinitionsSupplier) UnoRuntime.queryInterface ( 243cdf0e10cSrcweir XQueryDefinitionsSupplier.class, 244cdf0e10cSrcweir oDBSource); 245cdf0e10cSrcweir 246cdf0e10cSrcweir XNameAccess defContainer = querySuppl.getQueryDefinitions (); 247cdf0e10cSrcweir 248cdf0e10cSrcweir XPropertySet queryProp = (XPropertySet) UnoRuntime.queryInterface ( 249cdf0e10cSrcweir XPropertySet.class, newQuery); 250cdf0e10cSrcweir 251cdf0e10cSrcweir try 252cdf0e10cSrcweir { 253cdf0e10cSrcweir final String query = "select * from " + tbl_name1 + ", " + 254cdf0e10cSrcweir tbl_name2 + " where " + tbl_name1 + "." + 255cdf0e10cSrcweir col_name1 + "=" + tbl_name2 + "." + 256cdf0e10cSrcweir col_name2; 257cdf0e10cSrcweir queryProp.setPropertyValue ("Command", query); 258cdf0e10cSrcweir } catch (com.sun.star.lang.WrappedTargetException e) 259cdf0e10cSrcweir { 260cdf0e10cSrcweir e.printStackTrace (log); 261cdf0e10cSrcweir throw new StatusException (Status.failed ( 262cdf0e10cSrcweir "Couldn't set property value")); 263cdf0e10cSrcweir } catch (com.sun.star.lang.IllegalArgumentException e) 264cdf0e10cSrcweir { 265cdf0e10cSrcweir e.printStackTrace (log); 266cdf0e10cSrcweir throw new StatusException (Status.failed ( 267cdf0e10cSrcweir "Couldn't set property value")); 268cdf0e10cSrcweir } catch (com.sun.star.beans.PropertyVetoException e) 269cdf0e10cSrcweir { 270cdf0e10cSrcweir e.printStackTrace (log); 271cdf0e10cSrcweir throw new StatusException (Status.failed ( 272cdf0e10cSrcweir "Couldn't set property value")); 273cdf0e10cSrcweir } catch (com.sun.star.beans.UnknownPropertyException e) 274cdf0e10cSrcweir { 275cdf0e10cSrcweir e.printStackTrace (log); 276cdf0e10cSrcweir throw new StatusException (Status.failed ( 277cdf0e10cSrcweir "Couldn't set property value")); 278cdf0e10cSrcweir } 279cdf0e10cSrcweir 280cdf0e10cSrcweir XNameContainer queryContainer = (XNameContainer) UnoRuntime.queryInterface ( 281cdf0e10cSrcweir XNameContainer.class, 282cdf0e10cSrcweir defContainer); 283cdf0e10cSrcweir 284cdf0e10cSrcweir try 285cdf0e10cSrcweir { 286cdf0e10cSrcweir queryContainer.insertByName ("Query1", newQuery); 287cdf0e10cSrcweir store.store (); 288cdf0e10cSrcweir connection.close (); 289cdf0e10cSrcweir } catch (com.sun.star.lang.WrappedTargetException e) 290cdf0e10cSrcweir { 291cdf0e10cSrcweir e.printStackTrace (log); 292cdf0e10cSrcweir throw new StatusException (Status.failed ("Couldn't insert query")); 293cdf0e10cSrcweir } catch (com.sun.star.container.ElementExistException e) 294cdf0e10cSrcweir { 295cdf0e10cSrcweir e.printStackTrace (log); 296cdf0e10cSrcweir throw new StatusException (Status.failed ("Couldn't insert query")); 297cdf0e10cSrcweir } catch (com.sun.star.lang.IllegalArgumentException e) 298cdf0e10cSrcweir { 299cdf0e10cSrcweir e.printStackTrace (log); 300cdf0e10cSrcweir throw new StatusException (Status.failed ("Couldn't insert query")); 301cdf0e10cSrcweir } catch (com.sun.star.io.IOException e) 302cdf0e10cSrcweir { 303cdf0e10cSrcweir e.printStackTrace (log); 304cdf0e10cSrcweir throw new StatusException (Status.failed ("Couldn't insert query")); 305cdf0e10cSrcweir } catch (com.sun.star.sdbc.SQLException e) 306cdf0e10cSrcweir { 307cdf0e10cSrcweir e.printStackTrace (log); 308cdf0e10cSrcweir throw new StatusException (Status.failed ("Couldn't insert query")); 309cdf0e10cSrcweir } 310cdf0e10cSrcweir 311cdf0e10cSrcweir PropertyValue[] loadProps = new PropertyValue[3]; 312cdf0e10cSrcweir loadProps[0] = new PropertyValue (); 313cdf0e10cSrcweir loadProps[0].Name = "QueryDesignView"; 314cdf0e10cSrcweir loadProps[0].Value = Boolean.TRUE; 315cdf0e10cSrcweir 316cdf0e10cSrcweir loadProps[1] = new PropertyValue (); 317cdf0e10cSrcweir loadProps[1].Name = "CurrentQuery"; 318cdf0e10cSrcweir loadProps[1].Value = "Query1"; 319cdf0e10cSrcweir 320cdf0e10cSrcweir loadProps[2] = new PropertyValue (); 321cdf0e10cSrcweir loadProps[2].Name = "DataSource"; 322cdf0e10cSrcweir loadProps[2].Value = oDBSource; 323cdf0e10cSrcweir 324cdf0e10cSrcweir QueryComponent = DesktopTools.loadDoc ((XMultiServiceFactory) Param.getMSF (),".component:DB/QueryDesign",loadProps); 325cdf0e10cSrcweir 326cdf0e10cSrcweir xWindow = UnoRuntime.queryInterface(XModel.class, QueryComponent). 327cdf0e10cSrcweir getCurrentController().getFrame().getContainerWindow(); 328cdf0e10cSrcweir 329cdf0e10cSrcweir XAccessible xRoot = AccessibilityTools.getAccessibleObject (xWindow); 330cdf0e10cSrcweir 331cdf0e10cSrcweir AccessibilityTools.printAccessibleTree (log,xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE)); 332cdf0e10cSrcweir 333cdf0e10cSrcweir oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.VIEW_PORT); 334cdf0e10cSrcweir 335cdf0e10cSrcweir log.println("ImplementationName " + util.utils.getImplName(oObj)); 336cdf0e10cSrcweir 337cdf0e10cSrcweir log.println("creating TestEnvironment"); 338cdf0e10cSrcweir 339cdf0e10cSrcweir TestEnvironment tEnv = new TestEnvironment(oObj); 340cdf0e10cSrcweir 341cdf0e10cSrcweir shortWait(); 342cdf0e10cSrcweir 343cdf0e10cSrcweir final XWindow queryWin = xWindow; 344cdf0e10cSrcweir 345cdf0e10cSrcweir tEnv.addObjRelation("EventProducer", 346cdf0e10cSrcweir new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() { 347cdf0e10cSrcweir public void fireEvent() { 348cdf0e10cSrcweir Rectangle rect = queryWin.getPosSize(); 349cdf0e10cSrcweir queryWin.setPosSize(rect.X, rect.Y, rect.Height-5, rect.Width-5, PosSize.POSSIZE); 350cdf0e10cSrcweir } 351cdf0e10cSrcweir }); 352cdf0e10cSrcweir 353cdf0e10cSrcweir return tEnv; 354cdf0e10cSrcweir } // finish method getTestEnvironment 355cdf0e10cSrcweir 356cdf0e10cSrcweir /** 357cdf0e10cSrcweir * Closes the DatasourceAdministration dialog and Query Dialog. 358cdf0e10cSrcweir */ cleanup(TestParameters Param, PrintWriter log)359cdf0e10cSrcweir protected void cleanup(TestParameters Param, PrintWriter log) { 360cdf0e10cSrcweir try 361cdf0e10cSrcweir { 362cdf0e10cSrcweir 363cdf0e10cSrcweir log.println ("closing QueryComponent ..."); 364cdf0e10cSrcweir DesktopTools.closeDoc (QueryComponent); 365cdf0e10cSrcweir log.println ("... done"); 366cdf0e10cSrcweir XMultiServiceFactory xMSF = (XMultiServiceFactory)Param.getMSF (); 367cdf0e10cSrcweir Object sfa = xMSF.createInstance ("com.sun.star.comp.ucb.SimpleFileAccess"); 368cdf0e10cSrcweir XSimpleFileAccess xSFA = (XSimpleFileAccess) UnoRuntime.queryInterface (XSimpleFileAccess.class, sfa); 369cdf0e10cSrcweir log.println ("deleting database file"); 370cdf0e10cSrcweir xSFA.kill (aFile); 371cdf0e10cSrcweir log.println ("Could delete file "+aFile+": "+!xSFA.exists (aFile)); 372cdf0e10cSrcweir } catch (Exception e) 373cdf0e10cSrcweir { 374cdf0e10cSrcweir e.printStackTrace (); 375cdf0e10cSrcweir } 376cdf0e10cSrcweir } 377cdf0e10cSrcweir 378cdf0e10cSrcweir /** 379*084e0718Smseidel * Sleeps for 1.5 sec. to allow OpenOffice to react on <code> 380cdf0e10cSrcweir * reset</code> call. 381cdf0e10cSrcweir */ shortWait()382cdf0e10cSrcweir private void shortWait() { 383cdf0e10cSrcweir try { 384cdf0e10cSrcweir Thread.sleep(1500); 385cdf0e10cSrcweir } catch (InterruptedException e) { 386cdf0e10cSrcweir log.println("While waiting :" + e); 387cdf0e10cSrcweir } 388cdf0e10cSrcweir } 389cdf0e10cSrcweir } 390