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 10ef39d40dSAndrew Rist * 11ef39d40dSAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12ef39d40dSAndrew Rist * 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. 19ef39d40dSAndrew Rist * 20ef39d40dSAndrew Rist *************************************************************/ 21ef39d40dSAndrew Rist 22ef39d40dSAndrew Rist 23cdf0e10cSrcweir package mod._forms; 24cdf0e10cSrcweir 25cdf0e10cSrcweir import java.io.PrintWriter; 26cdf0e10cSrcweir import java.util.Comparator; 27cdf0e10cSrcweir 28cdf0e10cSrcweir import lib.StatusException; 29cdf0e10cSrcweir import lib.TestCase; 30cdf0e10cSrcweir import lib.TestEnvironment; 31cdf0e10cSrcweir import lib.TestParameters; 32cdf0e10cSrcweir import util.FormTools; 33cdf0e10cSrcweir import util.SOfficeFactory; 34cdf0e10cSrcweir 35cdf0e10cSrcweir import com.sun.star.beans.XPropertySet; 36cdf0e10cSrcweir import com.sun.star.container.XNameContainer; 37cdf0e10cSrcweir import com.sun.star.container.XNamed; 38cdf0e10cSrcweir import com.sun.star.drawing.XControlShape; 39cdf0e10cSrcweir import com.sun.star.form.XGridColumnFactory; 40cdf0e10cSrcweir import com.sun.star.lang.XComponent; 41cdf0e10cSrcweir import com.sun.star.lang.XMultiServiceFactory; 42cdf0e10cSrcweir import com.sun.star.uno.UnoRuntime; 43cdf0e10cSrcweir import com.sun.star.uno.XInterface; 44cdf0e10cSrcweir import com.sun.star.util.XCloseable; 45cdf0e10cSrcweir 46cdf0e10cSrcweir 47cdf0e10cSrcweir /** 48cdf0e10cSrcweir * Test for object which is represented by service 49cdf0e10cSrcweir * <code>com.sun.star.form.component.GridControl</code>. <p> 50cdf0e10cSrcweir * Object implements the following interfaces : 51cdf0e10cSrcweir * <ul> 52cdf0e10cSrcweir * <li> <code>com::sun::star::io::XPersistObject</code></li> 53cdf0e10cSrcweir * <li> <code>com::sun::star::container::XNameReplace</code></li> 54cdf0e10cSrcweir * <li> <code>com::sun::star::form::XReset</code></li> 55cdf0e10cSrcweir * <li> <code>com::sun::star::script::XEventAttacherManager</code></li> 56cdf0e10cSrcweir * <li> <code>com::sun::star::form::FormComponent</code></li> 57cdf0e10cSrcweir * <li> <code>com::sun::star::beans::XFastPropertySet</code></li> 58cdf0e10cSrcweir * <li> <code>com::sun::star::beans::XMultiPropertySet</code></li> 59cdf0e10cSrcweir * <li> <code>com::sun::star::container::XElementAccess</code></li> 60cdf0e10cSrcweir * <li> <code>com::sun::star::form::component::GridControl</code></li> 61cdf0e10cSrcweir * <li> <code>com::sun::star::view::XSelectionSupplier</code></li> 62cdf0e10cSrcweir * <li> <code>com::sun::star::container::XEnumerationAccess</code></li> 63cdf0e10cSrcweir * <li> <code>com::sun::star::beans::XPropertyState</code></li> 64cdf0e10cSrcweir * <li> <code>com::sun::star::form::FormControlModel</code></li> 65cdf0e10cSrcweir * <li> <code>com::sun::star::container::XIndexReplace</code></li> 66cdf0e10cSrcweir * <li> <code>com::sun::star::container::XNamed</code></li> 67cdf0e10cSrcweir * <li> <code>com::sun::star::container::XIndexAccess</code></li> 68cdf0e10cSrcweir * <li> <code>com::sun::star::container::XNameContainer</code></li> 69cdf0e10cSrcweir * <li> <code>com::sun::star::form::XGridColumnFactory</code></li> 70cdf0e10cSrcweir * <li> <code>com::sun::star::lang::XComponent</code></li> 71cdf0e10cSrcweir * <li> <code>com::sun::star::container::XNameAccess</code></li> 72cdf0e10cSrcweir * <li> <code>com::sun::star::beans::XPropertyAccess</code></li> 73cdf0e10cSrcweir * <li> <code>com::sun::star::beans::XPropertyContainer</code></li> 74cdf0e10cSrcweir * <li> <code>com::sun::star::beans::XPropertySet</code></li> 75cdf0e10cSrcweir * <li> <code>com::sun::star::container::XIndexContainer</code></li> 76cdf0e10cSrcweir * <li> <code>com::sun::star::container::XChild</code></li> 77cdf0e10cSrcweir * <li> <code>com::sun::star::container::XContainer</code></li> 78cdf0e10cSrcweir * </ul> <p> 79cdf0e10cSrcweir * This object test <b> is NOT </b> designed to be run in several 80cdf0e10cSrcweir * threads concurently. 81cdf0e10cSrcweir * 82cdf0e10cSrcweir * @see com.sun.star.io.XPersistObject 83cdf0e10cSrcweir * @see com.sun.star.container.XNameReplace 84cdf0e10cSrcweir * @see com.sun.star.form.XReset 85cdf0e10cSrcweir * @see com.sun.star.script.XEventAttacherManager 86cdf0e10cSrcweir * @see com.sun.star.form.FormComponent 87cdf0e10cSrcweir * @see com.sun.star.beans.XFastPropertySet 88cdf0e10cSrcweir * @see com.sun.star.beans.XMultiPropertySet 89cdf0e10cSrcweir * @see com.sun.star.container.XElementAccess 90cdf0e10cSrcweir * @see com.sun.star.form.component.GridControl 91cdf0e10cSrcweir * @see com.sun.star.view.XSelectionSupplier 92cdf0e10cSrcweir * @see com.sun.star.container.XEnumerationAccess 93cdf0e10cSrcweir * @see com.sun.star.beans.XPropertyState 945496b966SPedro Giffuni * @see com.sun.star.form 95cdf0e10cSrcweir * @see com.sun.star.container.XIndexReplace 96cdf0e10cSrcweir * @see com.sun.star.container.XNamed 97cdf0e10cSrcweir * @see com.sun.star.container.XIndexAccess 98cdf0e10cSrcweir * @see com.sun.star.container.XNameContainer 99cdf0e10cSrcweir * @see com.sun.star.form.XGridColumnFactory 100cdf0e10cSrcweir * @see com.sun.star.lang.XComponent 101cdf0e10cSrcweir * @see com.sun.star.container.XNameAccess 102cdf0e10cSrcweir * @see com.sun.star.beans.XPropertyAccess 103cdf0e10cSrcweir * @see com.sun.star.beans.XPropertyContainer 104cdf0e10cSrcweir * @see com.sun.star.beans.XPropertySet 105cdf0e10cSrcweir * @see com.sun.star.container.XIndexContainer 106cdf0e10cSrcweir * @see com.sun.star.container.XChild 107cdf0e10cSrcweir * @see com.sun.star.container.XContainer 108cdf0e10cSrcweir * @see ifc.io._XPersistObject 109cdf0e10cSrcweir * @see ifc.container._XNameReplace 110cdf0e10cSrcweir * @see ifc.form._XReset 111cdf0e10cSrcweir * @see ifc.script._XEventAttacherManager 112cdf0e10cSrcweir * @see ifc.form._FormComponent 113cdf0e10cSrcweir * @see ifc.beans._XFastPropertySet 114cdf0e10cSrcweir * @see ifc.beans._XMultiPropertySet 115cdf0e10cSrcweir * @see ifc.container._XElementAccess 116cdf0e10cSrcweir * @see ifc.form.component._GridControl 117cdf0e10cSrcweir * @see ifc.view._XSelectionSupplier 118cdf0e10cSrcweir * @see ifc.container._XEnumerationAccess 119cdf0e10cSrcweir * @see ifc.beans._XPropertyState 120cdf0e10cSrcweir * @see ifc.form._FormControlModel 121cdf0e10cSrcweir * @see ifc.container._XIndexReplace 122cdf0e10cSrcweir * @see ifc.container._XNamed 123cdf0e10cSrcweir * @see ifc.container._XIndexAccess 124cdf0e10cSrcweir * @see ifc.container._XNameContainer 125cdf0e10cSrcweir * @see ifc.form._XGridColumnFactory 126cdf0e10cSrcweir * @see ifc.lang._XComponent 127cdf0e10cSrcweir * @see ifc.container._XNameAccess 128cdf0e10cSrcweir * @see ifc.beans._XPropertySet 129cdf0e10cSrcweir * @see ifc.container._XIndexContainer 130cdf0e10cSrcweir * @see ifc.container._XChild 131cdf0e10cSrcweir * @see ifc.container._XContainer 132cdf0e10cSrcweir */ 133cdf0e10cSrcweir 134cdf0e10cSrcweir public class OGridControlModel extends GenericModelTest { 135cdf0e10cSrcweir 136cdf0e10cSrcweir /** 137cdf0e10cSrcweir * Set some member variable of the super class <CODE>GenericModelTest</CODE>: 138cdf0e10cSrcweir * <pre> 139cdf0e10cSrcweir * super.m_kindOfControl="CommandButton"; 140cdf0e10cSrcweir * super.m_ObjectName = "com.sun.star.form.component.CommandButton"; 141cdf0e10cSrcweir * super.m_LCShape_Type = "CommandButton"; 142cdf0e10cSrcweir * </pre> 143cdf0e10cSrcweir * Then <CODE>super.initialize()</CODE> was called. 144cdf0e10cSrcweir * @param tParam the test parameter 145cdf0e10cSrcweir * @param log the log writer 146cdf0e10cSrcweir */ 147cdf0e10cSrcweir initialize(TestParameters tParam, PrintWriter log)148cdf0e10cSrcweir protected void initialize(TestParameters tParam, PrintWriter log) { 149cdf0e10cSrcweir 150cdf0e10cSrcweir super.initialize(tParam, log); 151cdf0e10cSrcweir 152cdf0e10cSrcweir super.m_kindOfControl="GridControl"; 153cdf0e10cSrcweir 154cdf0e10cSrcweir super.m_ObjectName = "stardiv.one.form.component.Grid"; 155cdf0e10cSrcweir 156cdf0e10cSrcweir super.m_LCShape_Type = "GridControl"; 157cdf0e10cSrcweir 158cdf0e10cSrcweir } 159cdf0e10cSrcweir /** 160cdf0e10cSrcweir * calls <CODE>cleanup()</CODE> from it's super class 161cdf0e10cSrcweir * @param tParam the test parameter 162cdf0e10cSrcweir * @param log the log writer 163cdf0e10cSrcweir */ cleanup(TestParameters tParam, PrintWriter log)164cdf0e10cSrcweir protected void cleanup(TestParameters tParam, PrintWriter log) { 165cdf0e10cSrcweir super.cleanup(tParam, log); 166cdf0e10cSrcweir } 167cdf0e10cSrcweir 168cdf0e10cSrcweir 169cdf0e10cSrcweir /** 170cdf0e10cSrcweir * calls <CODE>createTestEnvironment()</CODE> from it's super class 171cdf0e10cSrcweir * @param Param the test parameter 172cdf0e10cSrcweir * @param log the log writer 173cdf0e10cSrcweir * @return lib.TestEnvironment 174cdf0e10cSrcweir */ createTestEnvironment(TestParameters Param, PrintWriter log)175cdf0e10cSrcweir protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, 176cdf0e10cSrcweir PrintWriter log) { 177cdf0e10cSrcweir TestEnvironment tEnv = super.createTestEnvironment(Param, log); 178cdf0e10cSrcweir 179cdf0e10cSrcweir XInterface oObj = tEnv.getTestObject(); 180cdf0e10cSrcweir 181cdf0e10cSrcweir XPropertySet aControl = null; 182cdf0e10cSrcweir XPropertySet aControl2 = null; 183cdf0e10cSrcweir XPropertySet aControl3 = null; 184cdf0e10cSrcweir XPropertySet aControl4 = null; 185cdf0e10cSrcweir XPropertySet aControl5 = null; 186cdf0e10cSrcweir 187cdf0e10cSrcweir try { 188cdf0e10cSrcweir XGridColumnFactory columns = (XGridColumnFactory) UnoRuntime.queryInterface( 189cdf0e10cSrcweir XGridColumnFactory.class, oObj); 190cdf0e10cSrcweir aControl = columns.createColumn("TextField"); 191cdf0e10cSrcweir aControl2 = columns.createColumn("DateField"); 192cdf0e10cSrcweir aControl3 = columns.createColumn("TextField"); 193cdf0e10cSrcweir aControl4 = columns.createColumn("TextField"); 194cdf0e10cSrcweir aControl5 = columns.createColumn("TextField"); 195cdf0e10cSrcweir } catch (com.sun.star.lang.IllegalArgumentException e) { 196*30acf5e8Spfg // Some exception occured.FAILED 197cdf0e10cSrcweir log.println("!!! Couldn't create instance : " + e); 198cdf0e10cSrcweir throw new StatusException("Can't create column instances.", e); 199cdf0e10cSrcweir } 200cdf0e10cSrcweir 201cdf0e10cSrcweir XNameContainer aContainer = (XNameContainer) UnoRuntime.queryInterface( 202cdf0e10cSrcweir XNameContainer.class, oObj); 203cdf0e10cSrcweir 204cdf0e10cSrcweir try { 205cdf0e10cSrcweir aContainer.insertByName("First", aControl); 206cdf0e10cSrcweir aContainer.insertByName("Second", aControl2); 207cdf0e10cSrcweir } catch (com.sun.star.lang.WrappedTargetException e) { 208cdf0e10cSrcweir log.println("!!! Could't insert column Instance"); 209cdf0e10cSrcweir e.printStackTrace(log); 210cdf0e10cSrcweir throw new StatusException("Can't insert columns", e); 211cdf0e10cSrcweir } catch (com.sun.star.lang.IllegalArgumentException e) { 212cdf0e10cSrcweir log.println("!!! Could't insert column Instance"); 213cdf0e10cSrcweir e.printStackTrace(log); 214cdf0e10cSrcweir throw new StatusException("Can't insert columns", e); 215cdf0e10cSrcweir } catch (com.sun.star.container.ElementExistException e) { 216cdf0e10cSrcweir log.println("!!! Could't insert column Instance"); 217cdf0e10cSrcweir e.printStackTrace(log); 218cdf0e10cSrcweir throw new StatusException("Can't insert columns", e); 219cdf0e10cSrcweir } 220cdf0e10cSrcweir 221cdf0e10cSrcweir //Relations for XSelectionSupplier 222cdf0e10cSrcweir tEnv.addObjRelation("Selections", new Object[] { aControl, aControl2 }); 223cdf0e10cSrcweir 224cdf0e10cSrcweir // adding relation for XNameContainer 225cdf0e10cSrcweir tEnv.addObjRelation("XNameContainer.AllowDuplicateNames", new Object()); 226cdf0e10cSrcweir 227cdf0e10cSrcweir 228cdf0e10cSrcweir // adding relation for XContainer 229cdf0e10cSrcweir tEnv.addObjRelation("INSTANCE", aControl3); 230cdf0e10cSrcweir tEnv.addObjRelation("INSTANCE1", aControl4); 231cdf0e10cSrcweir tEnv.addObjRelation("INSTANCE2", aControl5); 232cdf0e10cSrcweir 233cdf0e10cSrcweir 234cdf0e10cSrcweir tEnv.addObjRelation("Comparer", 235cdf0e10cSrcweir new Comparator() { 236cdf0e10cSrcweir public int compare(Object o1, Object o2) { 237cdf0e10cSrcweir XNamed named1 = (XNamed) UnoRuntime.queryInterface( 238cdf0e10cSrcweir XNamed.class, o1); 239cdf0e10cSrcweir XNamed named2 = (XNamed) UnoRuntime.queryInterface( 240cdf0e10cSrcweir XNamed.class, o2); 241cdf0e10cSrcweir 242cdf0e10cSrcweir if (named1.getName().equals(named2.getName())) { 243cdf0e10cSrcweir return 0; 244cdf0e10cSrcweir } 245cdf0e10cSrcweir 246cdf0e10cSrcweir return -1; 247cdf0e10cSrcweir } 248cdf0e10cSrcweir 249cdf0e10cSrcweir public boolean equals(Object obj) { 250cdf0e10cSrcweir return compare(this, obj) == 0; 251cdf0e10cSrcweir } 252cdf0e10cSrcweir }); 253cdf0e10cSrcweir 254cdf0e10cSrcweir 255cdf0e10cSrcweir // HashSet exclude = new HashSet(); 256cdf0e10cSrcweir // 257cdf0e10cSrcweir // exclude.add("FormatKey"); 258cdf0e10cSrcweir // 259cdf0e10cSrcweir // tEnv.addObjRelation("XUpdateBroadcaster.Checker", 260cdf0e10cSrcweir // new Checker(m_XFormLoader, m_XPS, m_XCtrl, m_ChangePropertyName, m_ChangePropertyValue)); 261cdf0e10cSrcweir return tEnv; 262cdf0e10cSrcweir } 263cdf0e10cSrcweir 264cdf0e10cSrcweir } // finish class OButtonModelold 265cdf0e10cSrcweir 266cdf0e10cSrcweir 267cdf0e10cSrcweir class OGridControlModelold extends TestCase { 268cdf0e10cSrcweir XComponent xDrawDoc = null; 269cdf0e10cSrcweir 270cdf0e10cSrcweir /** 271cdf0e10cSrcweir * Creates Drawing document. 272cdf0e10cSrcweir */ initialize(TestParameters tParam, PrintWriter log)273cdf0e10cSrcweir protected void initialize(TestParameters tParam, PrintWriter log) { 274cdf0e10cSrcweir SOfficeFactory SOF = SOfficeFactory.getFactory(((XMultiServiceFactory) tParam.getMSF())); 275cdf0e10cSrcweir 276cdf0e10cSrcweir log.println("creating a draw document"); 277cdf0e10cSrcweir 278cdf0e10cSrcweir try { 279cdf0e10cSrcweir xDrawDoc = SOF.createDrawDoc(null); 280cdf0e10cSrcweir } catch (com.sun.star.uno.Exception e) { 281cdf0e10cSrcweir throw new StatusException("Can't create Draw document", e); 282cdf0e10cSrcweir } 283cdf0e10cSrcweir } 284cdf0e10cSrcweir 285cdf0e10cSrcweir /** 286cdf0e10cSrcweir * Disposes drawing document. 287cdf0e10cSrcweir */ cleanup(TestParameters tParam, PrintWriter log)288cdf0e10cSrcweir protected void cleanup(TestParameters tParam, PrintWriter log) { 289cdf0e10cSrcweir log.println(" disposing xDrawDoc "); 290cdf0e10cSrcweir 291cdf0e10cSrcweir try { 292cdf0e10cSrcweir XCloseable closer = (XCloseable) UnoRuntime.queryInterface( 293cdf0e10cSrcweir XCloseable.class, xDrawDoc); 294cdf0e10cSrcweir closer.close(true); 295cdf0e10cSrcweir } catch (com.sun.star.util.CloseVetoException e) { 296cdf0e10cSrcweir log.println("couldn't close document"); 297cdf0e10cSrcweir } catch (com.sun.star.lang.DisposedException e) { 298cdf0e10cSrcweir log.println("couldn't close document"); 299cdf0e10cSrcweir } 300cdf0e10cSrcweir } 301cdf0e10cSrcweir 302cdf0e10cSrcweir /** 303cdf0e10cSrcweir * <code>GridControl</code> component created and added to the draw 304cdf0e10cSrcweir * page. Then two columns are created and added to the grid. 305cdf0e10cSrcweir * Object relations created : 306cdf0e10cSrcweir * <ul> 307cdf0e10cSrcweir * <li> <code>'INSTANCE1' ... 'INSTANCEN'</code> for 308cdf0e10cSrcweir * <code>XNameReplace, XNameContainer, XIndexReplace, 309cdf0e10cSrcweir * XIndexContainer </code> : objects to be inserted 310cdf0e10cSrcweir * or replaced with in interface tests. Number of relations 311cdf0e10cSrcweir * depends on number of interface test threads. For each 312cdf0e10cSrcweir * thread there must be an individual element. </li> 313cdf0e10cSrcweir * <li> <code>'XNameContainer.AllowDuplicateNames'</code> : 314cdf0e10cSrcweir * if this relation exists then container elements can have duplicate 315cdf0e10cSrcweir * names. <code>GridControl</code> can have.</li> 316cdf0e10cSrcweir * <li> <code>'OBJNAME'</code> for 317cdf0e10cSrcweir * {@link ifc.io._XPersistObject} : name of service which is 318cdf0e10cSrcweir * represented by this object. </li> 319cdf0e10cSrcweir * <li> <code>'INSTANCE'</code> for 320cdf0e10cSrcweir * {@link ifc.container._XContainer} : a column instance. </li> 321cdf0e10cSrcweir * </ul> 322cdf0e10cSrcweir */ createTestEnvironment(TestParameters Param, PrintWriter log)323cdf0e10cSrcweir protected synchronized TestEnvironment createTestEnvironment(TestParameters Param, 324cdf0e10cSrcweir PrintWriter log) { 325cdf0e10cSrcweir XInterface oObj = null; 326cdf0e10cSrcweir XInterface oInstance = null; 327cdf0e10cSrcweir XPropertySet aControl = null; 328cdf0e10cSrcweir XPropertySet aControl2 = null; 329cdf0e10cSrcweir XPropertySet aControl3 = null; 330cdf0e10cSrcweir XPropertySet aControl4 = null; 331cdf0e10cSrcweir XPropertySet aControl5 = null; 332cdf0e10cSrcweir XGridColumnFactory columns = null; 333cdf0e10cSrcweir 334cdf0e10cSrcweir 335cdf0e10cSrcweir // creation of testobject here 336cdf0e10cSrcweir // first we write what we are intend to do to log file 337cdf0e10cSrcweir log.println("creating a test environment"); 338cdf0e10cSrcweir 339cdf0e10cSrcweir //get GridControlModel 340cdf0e10cSrcweir String objName = "Grid"; 341cdf0e10cSrcweir XControlShape shape = FormTools.insertControlShape(xDrawDoc, 5000, 342cdf0e10cSrcweir 7000, 2000, 2000, 343cdf0e10cSrcweir "GridControl"); 344cdf0e10cSrcweir oObj = shape.getControl(); 345cdf0e10cSrcweir 346cdf0e10cSrcweir log.println("creating a new environment for drawpage object"); 347cdf0e10cSrcweir 348cdf0e10cSrcweir TestEnvironment tEnv = new TestEnvironment(oObj); 349cdf0e10cSrcweir 350cdf0e10cSrcweir try { 351cdf0e10cSrcweir columns = (XGridColumnFactory) UnoRuntime.queryInterface( 352cdf0e10cSrcweir XGridColumnFactory.class, oObj); 353cdf0e10cSrcweir aControl = columns.createColumn("TextField"); 354cdf0e10cSrcweir aControl2 = columns.createColumn("DateField"); 355cdf0e10cSrcweir aControl3 = columns.createColumn("TextField"); 356cdf0e10cSrcweir aControl4 = columns.createColumn("TextField"); 357cdf0e10cSrcweir aControl5 = columns.createColumn("TextField"); 358cdf0e10cSrcweir } catch (com.sun.star.lang.IllegalArgumentException e) { 359*30acf5e8Spfg // Some exception occured.FAILED 360cdf0e10cSrcweir log.println("!!! Couldn't create instance : " + e); 361cdf0e10cSrcweir throw new StatusException("Can't create column instances.", e); 362cdf0e10cSrcweir } 363cdf0e10cSrcweir 364cdf0e10cSrcweir XNameContainer aContainer = (XNameContainer) UnoRuntime.queryInterface( 365cdf0e10cSrcweir XNameContainer.class, oObj); 366cdf0e10cSrcweir 367cdf0e10cSrcweir try { 368cdf0e10cSrcweir aContainer.insertByName("First", aControl); 369cdf0e10cSrcweir aContainer.insertByName("Second", aControl2); 370cdf0e10cSrcweir } catch (com.sun.star.lang.WrappedTargetException e) { 371cdf0e10cSrcweir log.println("!!! Could't insert column Instance"); 372cdf0e10cSrcweir e.printStackTrace(log); 373cdf0e10cSrcweir throw new StatusException("Can't insert columns", e); 374cdf0e10cSrcweir } catch (com.sun.star.lang.IllegalArgumentException e) { 375cdf0e10cSrcweir log.println("!!! Could't insert column Instance"); 376cdf0e10cSrcweir e.printStackTrace(log); 377cdf0e10cSrcweir throw new StatusException("Can't insert columns", e); 378cdf0e10cSrcweir } catch (com.sun.star.container.ElementExistException e) { 379cdf0e10cSrcweir log.println("!!! Could't insert column Instance"); 380cdf0e10cSrcweir e.printStackTrace(log); 381cdf0e10cSrcweir throw new StatusException("Can't insert columns", e); 382cdf0e10cSrcweir } 383cdf0e10cSrcweir 384cdf0e10cSrcweir //Relations for XSelectionSupplier 385cdf0e10cSrcweir tEnv.addObjRelation("Selections", new Object[] { aControl, aControl2 }); 386cdf0e10cSrcweir 387cdf0e10cSrcweir // COMPARER 388cdf0e10cSrcweir 389cdf0e10cSrcweir int THRCNT = 1; 390cdf0e10cSrcweir String count = (String)Param.get("THRCNT"); 391cdf0e10cSrcweir if (count != null) 392cdf0e10cSrcweir THRCNT = Integer.parseInt(count); 393cdf0e10cSrcweir 394cdf0e10cSrcweir 395cdf0e10cSrcweir // INSTANCEn : _XNameContainer; _XNameReplace 396cdf0e10cSrcweir log.println("adding INSTANCEn as obj relation to environment"); 397cdf0e10cSrcweir 398cdf0e10cSrcweir try { 399cdf0e10cSrcweir for (int n = 1; n < (3 * THRCNT + 1); n++) { 400cdf0e10cSrcweir log.println("adding INSTANCE" + n + 401cdf0e10cSrcweir " as obj relation to environment"); 402cdf0e10cSrcweir oInstance = columns.createColumn("TextField"); 403cdf0e10cSrcweir tEnv.addObjRelation("INSTANCE" + n, oInstance); 404cdf0e10cSrcweir } 405cdf0e10cSrcweir } catch (com.sun.star.lang.IllegalArgumentException e) { 406cdf0e10cSrcweir e.printStackTrace(log); 407cdf0e10cSrcweir throw new StatusException("Can't create 'INSTANCEn' relations", e); 408cdf0e10cSrcweir } 409cdf0e10cSrcweir 410cdf0e10cSrcweir 411cdf0e10cSrcweir // adding relation for XNameContainer 412cdf0e10cSrcweir tEnv.addObjRelation("XNameContainer.AllowDuplicateNames", new Object()); 413cdf0e10cSrcweir 414cdf0e10cSrcweir // OK tEnv.addObjRelation("OBJNAME", "stardiv.one.form.component." + objName); 415cdf0e10cSrcweir 416cdf0e10cSrcweir 417cdf0e10cSrcweir // adding relation for XContainer 418cdf0e10cSrcweir tEnv.addObjRelation("INSTANCE", aControl3); 419cdf0e10cSrcweir tEnv.addObjRelation("INSTANCE2", aControl4); 420cdf0e10cSrcweir 421cdf0e10cSrcweir 422cdf0e10cSrcweir //adding ObjRelation for XPersistObject 423cdf0e10cSrcweir // OK tEnv.addObjRelation("PSEUDOPERSISTENT", new Boolean(true)); // OK 424cdf0e10cSrcweir 425cdf0e10cSrcweir return tEnv; 426cdf0e10cSrcweir } // finish method getTestEnvironment 427cdf0e10cSrcweir } // finish class OGridControlModel 428