| /************************************************************** |
| * |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| * |
| *************************************************************/ |
| |
| |
| |
| package com.sun.star.lib.uno.helper; |
| import com.sun.star.lang.EventObject; |
| import com.sun.star.lang.DisposedException; |
| import com.sun.star.uno.Type; |
| import com.sun.star.uno.TypeClass; |
| import com.sun.star.uno.XInterface; |
| import com.sun.star.uno.UnoRuntime; |
| import com.sun.star.uno.Any; |
| import com.sun.star.uno.XWeak; |
| import com.sun.star.beans.XPropertySet; |
| import com.sun.star.beans.UnknownPropertyException; |
| import com.sun.star.beans.Property; |
| import com.sun.star.beans.PropertyAttribute; |
| import com.sun.star.beans.XPropertyChangeListener; |
| import com.sun.star.beans.PropertyVetoException; |
| import com.sun.star.beans.PropertyChangeEvent; |
| import com.sun.star.beans.XVetoableChangeListener; |
| import com.sun.star.beans.XPropertySetInfo; |
| import com.sun.star.beans.XPropertiesChangeListener; |
| |
| import java.util.Arrays; |
| |
| public class PropertySet_Test |
| { |
| |
| /** Creates a new instance of PropertySet_Test */ |
| public PropertySet_Test() |
| { |
| } |
| |
| public boolean convertPropertyValue() |
| { |
| System.out.println("PropertySet.convertPropertyValue"); |
| boolean[] r= new boolean[50]; |
| int i= 0; |
| |
| TestClass cl= new TestClass(); |
| try { |
| r[i++]= cl.test_convertPropertyValue(); |
| }catch(java.lang.Exception e){ |
| i++; |
| } |
| boolean bOk= true; |
| for (int c= 0; c < i; c++) |
| bOk= bOk && r[c]; |
| if (bOk == false) |
| System.out.println("Failed"); |
| else |
| System.out.println("Ok"); |
| return bOk; |
| } |
| |
| public boolean setPropertyValueNoBroadcast() |
| { |
| System.out.println("PropertySet.setValueNoBroadcast"); |
| boolean[] r= new boolean[50]; |
| int i= 0; |
| |
| TestClass cl= new TestClass(); |
| try { |
| r[i++]= cl.test_setPropertyValueNoBroadcast(); |
| }catch(java.lang.Exception e){ |
| i++; |
| } |
| boolean bOk= true; |
| for (int c= 0; c < i; c++) |
| bOk= bOk && r[c]; |
| if (bOk == false) |
| System.out.println("Failed"); |
| else |
| System.out.println("Ok"); |
| return bOk; |
| } |
| |
| public boolean setPropertyValue() |
| { |
| System.out.println("PropertySet.setPropertyValue"); |
| boolean[] r= new boolean[150]; |
| int i= 0; |
| |
| TestClass cl= new TestClass(); |
| try { |
| cl.resetPropertyMembers(); |
| Object value; |
| Object ret; |
| value= new Boolean(true); |
| cl.setPropertyValue("PropBoolA", value); |
| ret= cl.getPropertyValue("PropBoolA"); |
| r[i++]= ((Boolean) ret).equals( (Boolean) value); |
| value= new Character('A'); |
| cl.setPropertyValue("PropCharA",value); |
| ret= cl.getPropertyValue("PropCharA"); |
| r[i++]= ((Character) ret).equals((Character) value); |
| value= new Byte((byte) 111); |
| cl.setPropertyValue("PropByteA",value); |
| ret= cl.getPropertyValue("PropByteA"); |
| r[i++]= ((Byte) ret).equals((Byte) value); |
| value= new Short((short)112); |
| cl.setPropertyValue("PropShortA", value); |
| ret= cl.getPropertyValue("PropShortA"); |
| r[i++]= ((Short) ret).equals((Short) value); |
| value= new Integer(113); |
| cl.setPropertyValue("PropIntA", value); |
| ret= cl.getPropertyValue("PropIntA"); |
| r[i++]= ((Integer) ret).equals((Integer) value); |
| value= new Long(115); |
| cl.setPropertyValue("PropLongA", value); |
| ret= cl.getPropertyValue("PropLongA"); |
| r[i++]= ((Long) ret).equals((Long) value); |
| value= new Float(3.14); |
| cl.setPropertyValue("PropFloatA", value); |
| ret= cl.getPropertyValue("PropFloatA"); |
| r[i++]= ((Float) ret).equals((Float) value); |
| value= new Double(3.145); |
| cl.setPropertyValue("PropDoubleA",value); |
| ret= cl.getPropertyValue("PropDoubleA"); |
| r[i++]= ((Double) ret).equals((Double) value); |
| value= new String("string"); |
| cl.setPropertyValue("PropStringA",value); |
| ret= cl.getPropertyValue("PropStringA"); |
| r[i++]= ((String) ret).equals((String) value); |
| value= new ComponentBase(); |
| cl.setPropertyValue("PropXInterfaceA",value); |
| ret= cl.getPropertyValue("PropXInterfaceA"); |
| r[i++]= ((XInterface) ret).equals((XInterface) value); |
| value= new ComponentBase(); |
| cl.setPropertyValue("PropXWeakA",value); |
| ret= cl.getPropertyValue("PropXWeakA"); |
| r[i++]= ((XWeak) ret).equals((XWeak) value); |
| value = com.sun.star.beans.PropertyState.AMBIGUOUS_VALUE; |
| cl.setPropertyValue("PropEnum",value); |
| ret= cl.getPropertyValue("PropEnum"); |
| r[i++]= ret == value; |
| value= new byte[]{1,2,3}; |
| cl.setPropertyValue("PropArrayByteA", value); |
| ret= cl.getPropertyValue("PropArrayByteA"); |
| r[i++]= ((byte[]) ret).equals((byte[]) value); |
| value= new Type(String.class); |
| cl.setPropertyValue("PropTypeA", value); |
| ret= cl.getPropertyValue("PropTypeA"); |
| r[i++]= ((Type) ret).equals(value); |
| |
| // test protected,package,private members |
| value= new Boolean(true); |
| cl.setPropertyValue("PropBoolB", value); |
| ret= cl.getPropertyValue("PropBoolB"); |
| r[i++]= ((Boolean) ret).equals((Boolean) value); |
| cl.setPropertyValue("PropBoolC", value); |
| ret= cl.getPropertyValue("PropBoolC"); |
| r[i++]= ((Boolean) ret).equals((Boolean) value); |
| |
| try{ |
| cl.setPropertyValue("PropBoolD", value); |
| i++; |
| }catch (Exception e) |
| { |
| r[i++]= true; |
| } |
| cl.resetPropertyMembers(); |
| |
| value= new Boolean(true); |
| cl.setPropertyValue("PropObjectA", value); |
| ret= cl.getPropertyValue("PropObjectA"); |
| r[i++]= ((Boolean) ret).equals((Boolean) value); |
| value= new Character('A'); |
| cl.setPropertyValue("PropObjectA",value); |
| ret= cl.getPropertyValue("PropObjectA"); |
| r[i++]= ((Character) ret).equals((Character) value); |
| value= new Byte((byte) 111); |
| cl.setPropertyValue("PropObjectA",value); |
| ret= cl.getPropertyValue("PropObjectA"); |
| r[i++]= ((Byte) ret).equals((Byte) value); |
| value= new Short((short)112); |
| cl.setPropertyValue("PropObjectA", value); |
| ret= cl.getPropertyValue("PropObjectA"); |
| r[i++]= ((Short) ret).equals((Short) value); |
| value= new Integer(113); |
| cl.setPropertyValue("PropObjectA", value); |
| ret= cl.getPropertyValue("PropObjectA"); |
| r[i++]= ((Integer) ret).equals((Integer) value); |
| value= new Long(115); |
| cl.setPropertyValue("PropObjectA", value); |
| ret= cl.getPropertyValue("PropObjectA"); |
| r[i++]= ((Long) ret).equals((Long) value); |
| value= new Float(3.14); |
| cl.setPropertyValue("PropObjectA", value); |
| ret= cl.getPropertyValue("PropObjectA"); |
| r[i++]= ((Float) ret).equals((Float) value); |
| value= new Double(3.145); |
| cl.setPropertyValue("PropObjectA",value); |
| ret= cl.getPropertyValue("PropObjectA"); |
| r[i++]= ((Double) ret).equals((Double) value); |
| value= new String("string"); |
| cl.setPropertyValue("PropObjectA",value); |
| ret= cl.getPropertyValue("PropObjectA"); |
| r[i++]= ((String) ret).equals((String) value); |
| value= new ComponentBase(); |
| cl.setPropertyValue("PropObjectA",value); |
| ret= cl.getPropertyValue("PropObjectA"); |
| r[i++]= ((XInterface) ret).equals((XInterface) value); |
| value= new ComponentBase(); |
| cl.setPropertyValue("PropObjectA",value); |
| ret= cl.getPropertyValue("PropObjectA"); |
| r[i++]= ((XWeak) ret).equals((XWeak) value); |
| value= new byte[]{1,2,3}; |
| cl.setPropertyValue("PropObjectA", value); |
| ret= cl.getPropertyValue("PropObjectA"); |
| r[i++]= ((byte[]) ret).equals((byte[]) value); |
| value= new Type(String.class); |
| cl.setPropertyValue("PropObjectA", value); |
| ret= cl.getPropertyValue("PropObjectA"); |
| r[i++]= ((Type) ret).equals(value); |
| cl.setPropertyValue("PropObjectA", new Any( new Type(byte.class), new Byte((byte)1))); |
| ret= cl.getPropertyValue("PropObjectA"); |
| r[i++]= ((Byte) ret).byteValue() == 1; |
| |
| cl.resetPropertyMembers(); |
| value= new Boolean(true); |
| cl.setPropertyValue("PropAnyA", value); |
| ret= cl.getPropertyValue("PropAnyA"); |
| r[i++]= ret instanceof Any && util.anyEquals(value, ret); |
| value= new Character('A'); |
| cl.setPropertyValue("PropAnyA",value); |
| ret= cl.getPropertyValue("PropAnyA"); |
| r[i++]= ret instanceof Any && util.anyEquals(value, ret); |
| value= new Byte((byte) 111); |
| cl.setPropertyValue("PropAnyA",value); |
| ret= cl.getPropertyValue("PropAnyA"); |
| r[i++]= ret instanceof Any && util.anyEquals(value, ret); |
| value= new Short((short)112); |
| cl.setPropertyValue("PropAnyA", value); |
| ret= cl.getPropertyValue("PropAnyA"); |
| r[i++]= ret instanceof Any && util.anyEquals(value, ret); |
| value= new Integer(113); |
| cl.setPropertyValue("PropAnyA", value); |
| ret= cl.getPropertyValue("PropAnyA"); |
| r[i++]= ret instanceof Any && util.anyEquals(value, ret); |
| value= new Long(115); |
| cl.setPropertyValue("PropAnyA", value); |
| ret= cl.getPropertyValue("PropAnyA"); |
| r[i++]= ret instanceof Any && util.anyEquals(value, ret); |
| value= new Float(3.14); |
| cl.setPropertyValue("PropAnyA", value); |
| ret= cl.getPropertyValue("PropAnyA"); |
| r[i++]= ret instanceof Any && util.anyEquals(value, ret); |
| value= new Double(3.145); |
| cl.setPropertyValue("PropAnyA",value); |
| ret= cl.getPropertyValue("PropAnyA"); |
| r[i++]= ret instanceof Any && util.anyEquals(value, ret); |
| value= new String("string"); |
| cl.setPropertyValue("PropAnyA",value); |
| ret= cl.getPropertyValue("PropAnyA"); |
| r[i++]= ret instanceof Any && util.anyEquals(value, ret); |
| value= new ComponentBase(); |
| cl.setPropertyValue("PropAnyA",value); |
| ret= cl.getPropertyValue("PropAnyA"); |
| r[i++]= ret instanceof Any && util.anyEquals(value, ret); |
| value= new ComponentBase(); |
| cl.setPropertyValue("PropAnyA",value); |
| ret= cl.getPropertyValue("PropAnyA"); |
| r[i++]= ret instanceof Any && util.anyEquals(value, ret); |
| value= new byte[]{1,2,3}; |
| cl.setPropertyValue("PropAnyA", value); |
| ret= cl.getPropertyValue("PropAnyA"); |
| r[i++]= ret instanceof Any && util.anyEquals(value, ret); |
| value= new Type(String.class); |
| cl.setPropertyValue("PropAnyA", value); |
| ret= cl.getPropertyValue("PropAnyA"); |
| r[i++]= ret instanceof Any && util.anyEquals(value, ret); |
| |
| cl.resetPropertyMembers(); |
| value= new Any(new Type(boolean.class), new Boolean(true)); |
| cl.setPropertyValue("PropBoolA", value); |
| ret= cl.getPropertyValue("PropBoolA"); |
| r[i++]= ret instanceof Boolean && util.anyEquals(value, ret); |
| value= new Any (new Type(char.class), new Character('A')); |
| cl.setPropertyValue("PropCharA",value); |
| ret= cl.getPropertyValue("PropCharA"); |
| r[i++]= ret instanceof Character && util.anyEquals(value, ret); |
| value= new Any(new Type(byte.class), new Byte((byte) 111)); |
| cl.setPropertyValue("PropByteA",value); |
| ret= cl.getPropertyValue("PropByteA"); |
| r[i++]= ret instanceof Byte && util.anyEquals(value, ret); |
| value= new Any(new Type(short.class), new Short((short)112)); |
| cl.setPropertyValue("PropShortA", value); |
| ret= cl.getPropertyValue("PropShortA"); |
| r[i++]= ret instanceof Short && util.anyEquals(value, ret); |
| value= new Any(new Type(int.class), new Integer(113)); |
| cl.setPropertyValue("PropIntA", value); |
| ret= cl.getPropertyValue("PropIntA"); |
| r[i++]= ret instanceof Integer && util.anyEquals(value, ret); |
| value= new Any(new Type(long.class), new Long(115)); |
| cl.setPropertyValue("PropLongA", value); |
| ret= cl.getPropertyValue("PropLongA"); |
| r[i++]= ret instanceof Long && util.anyEquals(value, ret); |
| value= new Any(new Type(float.class), new Float(3.14)); |
| cl.setPropertyValue("PropFloatA", value); |
| ret= cl.getPropertyValue("PropFloatA"); |
| r[i++]= ret instanceof Float && util.anyEquals(value, ret); |
| value= new Any(new Type(double.class),new Double(3.145)); |
| cl.setPropertyValue("PropDoubleA",value); |
| ret= cl.getPropertyValue("PropDoubleA"); |
| r[i++]= ret instanceof Double && util.anyEquals(value, ret); |
| value= new Any(new Type(String.class), new String("string")); |
| cl.setPropertyValue("PropStringA",value); |
| ret= cl.getPropertyValue("PropStringA"); |
| r[i++]= ret instanceof String && util.anyEquals(value, ret); |
| value= new Any(new Type(ComponentBase.class), new ComponentBase()); |
| cl.setPropertyValue("PropXInterfaceA",value); |
| ret= cl.getPropertyValue("PropXInterfaceA"); |
| r[i++]= ret instanceof ComponentBase && util.anyEquals(value, ret); |
| value= new Any( new Type(ComponentBase.class), new ComponentBase()); |
| cl.setPropertyValue("PropXWeakA",value); |
| ret= cl.getPropertyValue("PropXWeakA"); |
| r[i++]= ret instanceof ComponentBase && util.anyEquals(value, ret); |
| value= new Any(new Type(byte[].class), new byte[]{1,2,3}); |
| cl.setPropertyValue("PropArrayByteA", value); |
| ret= cl.getPropertyValue("PropArrayByteA"); |
| r[i++]= ret instanceof byte[] && util.anyEquals(value, ret); |
| value= new Any(new Type(Type.class), new Type(String.class)); |
| cl.setPropertyValue("PropTypeA", value); |
| ret= cl.getPropertyValue("PropTypeA"); |
| r[i++]= ret instanceof Type && util.anyEquals(value, ret); |
| |
| |
| cl.resetPropertyMembers(); |
| value= new Any(new Type(boolean.class), new Boolean(true)); |
| cl.setPropertyValue("PropAnyA", value); |
| ret= cl.getPropertyValue("PropAnyA"); |
| r[i++]= ret instanceof Any && util.anyEquals(value, ret); |
| value= new Any (new Type(char.class), new Character('A')); |
| cl.setPropertyValue("PropAnyA",value); |
| ret= cl.getPropertyValue("PropAnyA"); |
| r[i++]= ret instanceof Any && util.anyEquals(value, ret); |
| value= new Any(new Type(byte.class), new Byte((byte) 111)); |
| cl.setPropertyValue("PropAnyA",value); |
| ret= cl.getPropertyValue("PropAnyA"); |
| r[i++]= ret instanceof Any && util.anyEquals(value, ret); |
| value= new Any(new Type(short.class), new Short((short)112)); |
| cl.setPropertyValue("PropAnyA", value); |
| ret= cl.getPropertyValue("PropAnyA"); |
| r[i++]= ret instanceof Any && util.anyEquals(value, ret); |
| value= new Any(new Type(int.class), new Integer(113)); |
| cl.setPropertyValue("PropAnyA", value); |
| ret= cl.getPropertyValue("PropAnyA"); |
| r[i++]= ret instanceof Any && util.anyEquals(value, ret); |
| value= new Any(new Type(long.class), new Long(115)); |
| cl.setPropertyValue("PropAnyA", value); |
| ret= cl.getPropertyValue("PropAnyA"); |
| r[i++]= ret instanceof Any && util.anyEquals(value, ret); |
| value= new Any(new Type(float.class), new Float(3.14)); |
| cl.setPropertyValue("PropAnyA", value); |
| ret= cl.getPropertyValue("PropAnyA"); |
| r[i++]= ret instanceof Any && util.anyEquals(value, ret); |
| value= new Any(new Type(double.class),new Double(3.145)); |
| cl.setPropertyValue("PropAnyA",value); |
| ret= cl.getPropertyValue("PropAnyA"); |
| r[i++]= ret instanceof Any && util.anyEquals(value, ret); |
| value= new Any(new Type(String.class), new String("string")); |
| cl.setPropertyValue("PropAnyA",value); |
| ret= cl.getPropertyValue("PropAnyA"); |
| r[i++]= ret instanceof Any && util.anyEquals(value, ret); |
| value= new Any(new Type(ComponentBase.class), new ComponentBase()); |
| cl.setPropertyValue("PropAnyA",value); |
| ret= cl.getPropertyValue("PropAnyA"); |
| r[i++]= ret instanceof Any && util.anyEquals(value, ret); |
| value= new Any( new Type(ComponentBase.class), new ComponentBase()); |
| cl.setPropertyValue("PropAnyA",value); |
| ret= cl.getPropertyValue("PropAnyA"); |
| r[i++]= ret instanceof Any && util.anyEquals(value, ret); |
| value= new Any(new Type(byte[].class), new byte[]{1,2,3}); |
| cl.setPropertyValue("PropAnyA", value); |
| ret= cl.getPropertyValue("PropAnyA"); |
| r[i++]= ret instanceof Any && util.anyEquals(value, ret); |
| value= new Any(new Type(Type.class), new Type(String.class)); |
| cl.setPropertyValue("PropAnyA", value); |
| ret= cl.getPropertyValue("PropAnyA"); |
| r[i++]= ret instanceof Any && util.anyEquals(value, ret); |
| |
| |
| // ------------------------------------------------------------------------------ |
| cl.resetPropertyMembers(); |
| value= new Boolean(true); |
| cl.setPropertyValue("PropBoolClass", value); |
| ret= cl.getPropertyValue("PropBoolClass"); |
| r[i++]= ((Boolean) ret).equals( (Boolean) value); |
| value= new Character('A'); |
| cl.setPropertyValue("PropCharClass",value); |
| ret= cl.getPropertyValue("PropCharClass"); |
| r[i++]= ((Character) ret).equals((Character) value); |
| value= new Byte((byte) 111); |
| cl.setPropertyValue("PropByteClass",value); |
| ret= cl.getPropertyValue("PropByteClass"); |
| r[i++]= ((Byte) ret).equals((Byte) value); |
| value= new Short((short)112); |
| cl.setPropertyValue("PropShortClass", value); |
| ret= cl.getPropertyValue("PropShortClass"); |
| r[i++]= ((Short) ret).equals((Short) value); |
| value= new Integer(113); |
| cl.setPropertyValue("PropIntClass", value); |
| ret= cl.getPropertyValue("PropIntClass"); |
| r[i++]= ((Integer) ret).equals((Integer) value); |
| value= new Long(115); |
| cl.setPropertyValue("PropLongClass", value); |
| ret= cl.getPropertyValue("PropLongClass"); |
| r[i++]= ((Long) ret).equals((Long) value); |
| value= new Float(3.14); |
| cl.setPropertyValue("PropFloatClass", value); |
| ret= cl.getPropertyValue("PropFloatClass"); |
| r[i++]= ((Float) ret).equals((Float) value); |
| value= new Double(3.145); |
| cl.setPropertyValue("PropDoubleClass",value); |
| ret= cl.getPropertyValue("PropDoubleClass"); |
| r[i++]= ((Double) ret).equals((Double) value); |
| |
| cl.resetPropertyMembers(); |
| |
| cl.resetPropertyMembers(); |
| value= new Any(new Type(boolean.class), new Boolean(true)); |
| cl.setPropertyValue("PropBoolClass", value); |
| ret= cl.getPropertyValue("PropBoolClass"); |
| r[i++]= ret instanceof Boolean && util.anyEquals(value, ret); |
| value= new Any (new Type(char.class), new Character('A')); |
| cl.setPropertyValue("PropCharClass",value); |
| ret= cl.getPropertyValue("PropCharClass"); |
| r[i++]= ret instanceof Character && util.anyEquals(value, ret); |
| value= new Any(new Type(byte.class), new Byte((byte) 111)); |
| cl.setPropertyValue("PropByteClass",value); |
| ret= cl.getPropertyValue("PropByteClass"); |
| r[i++]= ret instanceof Byte && util.anyEquals(value, ret); |
| value= new Any(new Type(short.class), new Short((short)112)); |
| cl.setPropertyValue("PropShortClass", value); |
| ret= cl.getPropertyValue("PropShortClass"); |
| r[i++]= ret instanceof Short && util.anyEquals(value, ret); |
| value= new Any(new Type(int.class), new Integer(113)); |
| cl.setPropertyValue("PropIntClass", value); |
| ret= cl.getPropertyValue("PropIntClass"); |
| r[i++]= ret instanceof Integer && util.anyEquals(value, ret); |
| value= new Any(new Type(long.class), new Long(115)); |
| cl.setPropertyValue("PropLongClass", value); |
| ret= cl.getPropertyValue("PropLongClass"); |
| r[i++]= ret instanceof Long && util.anyEquals(value, ret); |
| value= new Any(new Type(float.class), new Float(3.14)); |
| cl.setPropertyValue("PropFloatClass", value); |
| ret= cl.getPropertyValue("PropFloatClass"); |
| r[i++]= ret instanceof Float && util.anyEquals(value, ret); |
| value= new Any(new Type(double.class),new Double(3.145)); |
| cl.setPropertyValue("PropDoubleClass",value); |
| ret= cl.getPropertyValue("PropDoubleClass"); |
| r[i++]= ret instanceof Double && util.anyEquals(value, ret); |
| value= new Any(new Type(String.class), new String("string")); |
| |
| |
| |
| // PropertyAttribute.READONLY |
| cl.propBoolA.Attributes= PropertyAttribute.READONLY; |
| try{ |
| cl.setPropertyValue("PropBoolA", new Boolean(true)); |
| i++; |
| }catch (com.sun.star.beans.PropertyVetoException e) |
| { |
| r[i++]= true; |
| } |
| cl.propBoolA.Attributes= 0; |
| |
| // MAYBEVOID |
| cl.resetPropertyMembers(); |
| // first MAYBEVOID not set |
| |
| //primitive members: must not work |
| |
| cl.boolPropA= false; |
| try { |
| cl.setPropertyValue("PropBoolA", null); i++; |
| } catch (com.sun.star.lang.IllegalArgumentException e) { |
| r[i++]= true; |
| } |
| try { |
| cl.setPropertyValue("PropBoolA", new Any(new Type(boolean.class), null)); i++; |
| } catch (com.sun.star.lang.IllegalArgumentException e) { |
| r[i++]= true; |
| } |
| cl.propBoolA.Attributes= PropertyAttribute.MAYBEVOID; |
| try{ |
| cl.setPropertyValue("PropBoolA", null); i++; |
| } catch (com.sun.star.lang.IllegalArgumentException e) { |
| r[i++]= true; |
| } |
| cl.propBoolA.Attributes= 0; |
| |
| cl.propBoolClass.Attributes= PropertyAttribute.MAYBEVOID; |
| cl.boolClassProp= null; |
| cl.setPropertyValue("PropBoolClass", null); |
| r[i++]= cl.boolClassProp == null; |
| // the returned value must be a void any |
| Object objAny= cl.getPropertyValue("PropBoolClass"); |
| r[i++]= util.isVoidAny( objAny); |
| |
| cl.boolClassProp= new Boolean(true); |
| cl.setPropertyValue("PropBoolClass", null); |
| r[i++]= cl.boolClassProp == null; |
| cl.boolClassProp= new Boolean(false); |
| cl.setPropertyValue("PropBoolClass", new Any(new Type(boolean.class),null)); |
| r[i++]= cl.boolClassProp == null; |
| |
| cl.propXWeakA.Attributes= PropertyAttribute.MAYBEVOID; |
| cl.setPropertyValue("PropXWeakA", null); |
| r[i++]= util.isVoidAny(cl.getPropertyValue("PropXWeakA")); |
| cl.propXWeakA.Attributes= 0; |
| |
| cl.anyPropA= null; |
| try{ |
| cl.setPropertyValue("PropAnyA", null); i++; |
| }catch (com.sun.star.lang.IllegalArgumentException e) { |
| r[i++]= true; |
| } |
| cl.anyPropA= null; |
| cl.propAnyA.Attributes= PropertyAttribute.MAYBEVOID; |
| |
| Type _t= new Type(Object.class); |
| cl.setPropertyValue("PropAnyA", null); |
| r[i++]= cl.anyPropA.getType().equals(new Type(void.class)) && |
| cl.anyPropA.getObject() == null; |
| |
| cl.anyPropA= new Any(new Type(byte.class),new Byte((byte) 111)); |
| cl.setPropertyValue("PropAnyA", null); |
| r[i++]= cl.anyPropA.getType().equals(new Type(byte.class)) && |
| cl.anyPropA.getObject() == null; |
| |
| cl.anyPropA= null; |
| try{ |
| cl.setPropertyValue("PropAnyA", new Object()); i++; |
| }catch (com.sun.star.lang.IllegalArgumentException e) |
| { |
| r[i++]= true; |
| } |
| |
| cl.propObjectA.Attributes= 0; |
| try{ |
| cl.setPropertyValue("PropObjectA", null); i++; |
| }catch (com.sun.star.lang.IllegalArgumentException e) |
| { |
| r[i++]= true; |
| } |
| try{ |
| cl.setPropertyValue("PropObjectA", new Any( new Type(byte.class), null)); i++; |
| } catch (com.sun.star.lang.IllegalArgumentException e) |
| { |
| r[i++]= true; |
| } |
| |
| cl.propObjectA.Attributes= PropertyAttribute.MAYBEVOID; |
| cl.propObjectA= null; |
| cl.setPropertyValue("PropObjectA", null); |
| r[i++]= cl.propObjectA == null; |
| |
| cl.propObjectA= null; |
| cl.setPropertyValue("PropObjectA", new Any( new Type(byte.class), null)); |
| r[i++]= cl.propObjectA == null; |
| |
| |
| // |
| |
| }catch(java.lang.Exception e){ |
| i++; |
| } |
| boolean bOk= true; |
| for (int c= 0; c < i; c++) |
| bOk= bOk && r[c]; |
| if (bOk == false) |
| System.out.println("Failed"); |
| else |
| System.out.println("Ok"); |
| return bOk; |
| } |
| |
| public boolean addPropertyChangeListener() |
| { |
| System.out.println("PropertySet.addPropertyChangeListener,\n" + |
| "PropertySet.removePropertChangeListener," + |
| "PropertySet.addVetoableChangeListener, \n" + |
| "PropertySet.removeVetoableChangeListener" + |
| "Notification of listeners"); |
| boolean[] r= new boolean[50]; |
| int i= 0; |
| try { |
| TestClass cl= new TestClass(); |
| Listener li= new Listener(); |
| cl.addPropertyChangeListener("PropByteA", li); |
| Byte val1= new Byte((byte)115); |
| cl.setPropertyValue("PropByteA", val1); |
| r[i++]= li.nChangeCalled == 0 && li.nVetoCalled == 0; |
| cl.propByteA.Attributes = PropertyAttribute.BOUND; |
| cl.addPropertyChangeListener("PropByteA", li); |
| Byte val2= new Byte((byte)116); |
| cl.setPropertyValue("PropByteA", val2); |
| r[i++]= li.nChangeCalled == 1 && li.nVetoCalled == 0; |
| r[i++]= li.evt.OldValue.equals(val1) && li.evt.NewValue.equals(val2) && li.evt.Source == cl; |
| |
| li.reset(); |
| Listener li2= new Listener(); |
| cl.addPropertyChangeListener("PropByteA", li2); |
| Byte val3= new Byte((byte) 117); |
| cl.setPropertyValue("PropByteA", val3); |
| r[i++]= li.nChangeCalled == 1 && li.nVetoCalled == 0 |
| && li2.nChangeCalled == 1 && li2.nVetoCalled == 0; |
| r[i++]= li.evt.OldValue.equals(val2) && li.evt.NewValue.equals(val3) && li.evt.Source == cl |
| && li2.evt.OldValue.equals(val2) && li2.evt.NewValue.equals(val3) && li2.evt.Source == cl ; |
| |
| li.reset(); |
| li2.reset(); |
| Listener li3= new Listener(); |
| val1= new Byte((byte)118); |
| cl.addPropertyChangeListener("", li3); |
| cl.setPropertyValue("PropByteA", val1); |
| r[i++]= li.nChangeCalled == 1 && li.nVetoCalled == 0 |
| && li2.nChangeCalled == 1 && li2.nVetoCalled == 0 |
| && li3.nChangeCalled == 1 && li3.nVetoCalled == 0; |
| r[i++]= li.evt.OldValue.equals(val3) && li.evt.NewValue.equals(val1) && li.evt.Source == cl; |
| r[i++]= li2.evt.OldValue.equals(val3) && li2.evt.NewValue.equals(val1) && li2.evt.Source == cl; |
| r[i++]= li3.evt.OldValue.equals(val3) && li3.evt.NewValue.equals(val1) && li3.evt.Source == cl ; |
| |
| li.reset(); |
| li2.reset(); |
| li3.reset(); |
| cl.removePropertyChangeListener("PropByteA",li); |
| cl.setPropertyValue("PropByteA", val1); |
| r[i++]= li.nChangeCalled == 0 && li.nVetoCalled == 0 |
| && li2.nChangeCalled == 1 && li2.nVetoCalled == 0 |
| && li3.nChangeCalled == 1 && li3.nVetoCalled == 0; |
| cl.removePropertyChangeListener("PropByteA", li2); |
| li.reset(); |
| li2.reset(); |
| li3.reset(); |
| cl.setPropertyValue("PropByteA", val1); |
| r[i++]= li.nChangeCalled == 0 && li.nVetoCalled == 0 |
| && li2.nChangeCalled == 0 && li2.nVetoCalled == 0 |
| && li3.nChangeCalled == 1 && li3.nVetoCalled == 0; |
| |
| cl.removePropertyChangeListener("", li3); |
| li.reset(); |
| li2.reset(); |
| li3.reset(); |
| cl.setPropertyValue("PropByteA", val2); |
| r[i++]= li.nChangeCalled == 0 && li.nVetoCalled == 0 |
| && li2.nChangeCalled == 0 && li2.nVetoCalled == 0 |
| && li3.nChangeCalled == 0 && li3.nVetoCalled == 0; |
| |
| cl.addPropertyChangeListener("PropByteA", li); |
| cl.addPropertyChangeListener("PropByteA", li2); |
| cl.addPropertyChangeListener("", li3); |
| cl.dispose(); |
| li.reset(); |
| li2.reset(); |
| li3.reset(); |
| try { |
| cl.setPropertyValue("PropByteA", val2); i++; |
| }catch (DisposedException e) |
| { |
| r[i++]= true; |
| } |
| |
| //Vetoable tests |
| cl= new TestClass(); |
| li.reset(); |
| li2.reset(); |
| li3.reset(); |
| cl.addVetoableChangeListener("PropByteA", li); |
| val1= new Byte((byte)115); |
| cl.setPropertyValue("PropByteA", val1); |
| r[i++]= li.nChangeCalled == 0 && li.nVetoCalled == 0; |
| cl.propByteA.Attributes = PropertyAttribute.CONSTRAINED; |
| cl.addVetoableChangeListener("PropByteA", li); |
| val2= new Byte((byte)116); |
| li.reset(); |
| cl.setPropertyValue("PropByteA", val2); |
| r[i++]= li.nChangeCalled == 0 && li.nVetoCalled == 1; |
| r[i++]= li.evt.OldValue.equals(val1) && li.evt.NewValue.equals(val2) && li.evt.Source == cl; |
| |
| li.reset(); |
| li2.reset(); |
| li3.reset(); |
| cl.addVetoableChangeListener("PropByteA", li2); |
| val3= new Byte((byte) 117); |
| cl.setPropertyValue("PropByteA", val3); |
| r[i++]= li.nChangeCalled == 0 && li.nVetoCalled == 1 |
| && li2.nChangeCalled == 0 && li2.nVetoCalled == 1; |
| r[i++]= li.evt.OldValue.equals(val2) && li.evt.NewValue.equals(val3) && li.evt.Source == cl |
| && li2.evt.OldValue.equals(val2) && li2.evt.NewValue.equals(val3) && li2.evt.Source == cl ; |
| |
| li.reset(); |
| li2.reset(); |
| li3.reset(); |
| val1= new Byte((byte)118); |
| cl.addVetoableChangeListener("", li3); |
| cl.setPropertyValue("PropByteA", val1); |
| r[i++]= li.nChangeCalled == 0 && li.nVetoCalled == 1 |
| && li2.nChangeCalled == 0 && li2.nVetoCalled == 1 |
| && li3.nChangeCalled == 0 && li3.nVetoCalled == 1; |
| r[i++]= li.evt.OldValue.equals(val3) && li.evt.NewValue.equals(val1) && li.evt.Source == cl; |
| r[i++]= li2.evt.OldValue.equals(val3) && li2.evt.NewValue.equals(val1) && li2.evt.Source == cl; |
| r[i++]= li3.evt.OldValue.equals(val3) && li3.evt.NewValue.equals(val1) && li3.evt.Source == cl ; |
| |
| li.reset(); |
| li2.reset(); |
| li3.reset(); |
| // Test Veto Exception |
| cl.setPropertyValue("PropByteA", val1); |
| li.bVeto= true; |
| try { |
| cl.setPropertyValue("PropByteA", val2);i++; |
| } catch (PropertyVetoException e) |
| { |
| r[i++]= true; |
| } |
| r[i++]= cl.bytePropA == val1.byteValue(); |
| li.bVeto= false; |
| |
| li.reset(); |
| li2.reset(); |
| li3.reset(); |
| cl.removeVetoableChangeListener("PropByteA",li); |
| cl.setPropertyValue("PropByteA", val1); |
| r[i++]= li.nChangeCalled == 0 && li.nVetoCalled == 0 |
| && li2.nChangeCalled == 0 && li2.nVetoCalled == 1 |
| && li3.nChangeCalled == 0 && li3.nVetoCalled == 1; |
| cl.removeVetoableChangeListener("PropByteA", li2); |
| li.reset(); |
| li2.reset(); |
| li3.reset(); |
| cl.setPropertyValue("PropByteA", val1); |
| r[i++]= li.nChangeCalled == 0 && li.nVetoCalled == 0 |
| && li2.nChangeCalled == 0 && li2.nVetoCalled == 0 |
| && li3.nChangeCalled == 0 && li3.nVetoCalled == 1; |
| |
| cl.removeVetoableChangeListener("", li3); |
| li.reset(); |
| li2.reset(); |
| li3.reset(); |
| cl.setPropertyValue("PropByteA", val2); |
| r[i++]= li.nChangeCalled == 0 && li.nVetoCalled == 0 |
| && li2.nChangeCalled == 0 && li2.nVetoCalled == 0 |
| && li3.nChangeCalled == 0 && li3.nVetoCalled == 0; |
| |
| cl.addVetoableChangeListener("PropByteA", li); |
| cl.addVetoableChangeListener("PropByteA", li2); |
| cl.addVetoableChangeListener("", li3); |
| cl.dispose(); |
| li.reset(); |
| li2.reset(); |
| li3.reset(); |
| try { |
| cl.setPropertyValue("PropByteA", val2); |
| }catch (DisposedException e) |
| { |
| r[i++]= true; |
| } |
| }catch (Exception e) |
| { |
| i++; |
| } |
| boolean bOk= true; |
| for (int c= 0; c < i; c++) |
| bOk= bOk && r[c]; |
| if (bOk == false) |
| System.out.println("Failed"); |
| else |
| System.out.println("Ok"); |
| return bOk; |
| } |
| |
| public boolean getPropertySetInfo() |
| { |
| System.out.println("PropertySet.getPropertySetInfo"); |
| boolean[] r= new boolean[50]; |
| int i= 0; |
| |
| TestClass cl= new TestClass(); |
| try { |
| XPropertySetInfo info= cl.getPropertySetInfo(); |
| Property[] arProps= info.getProperties(); |
| Property[] arRegProps= cl.getRegisteredProperties(); |
| r[i++]= arProps.length == arRegProps.length; |
| for (int j= 0; j < arProps.length; j++) |
| { |
| boolean bFound= false; |
| for (int k= 0; k < arRegProps.length; k++) |
| { |
| if (arProps[j] == arRegProps[k]) |
| { |
| bFound= true; |
| break; |
| } |
| } |
| if ( !bFound) |
| r[i++]= false; |
| } |
| |
| for (int j= 0; j < arRegProps.length; j++) |
| { |
| Property prop= info.getPropertyByName(arRegProps[j].Name); |
| if (prop != arRegProps[j]) |
| r[i++]= false; |
| if (! info.hasPropertyByName(arRegProps[j].Name)) |
| r[i++]= false; |
| } |
| |
| |
| }catch(java.lang.Exception e){ |
| System.out.println(e.getMessage()); |
| i++; |
| } |
| |
| boolean bOk= true; |
| for (int c= 0; c < i; c++) |
| bOk= bOk && r[c]; |
| if (bOk == false) |
| System.out.println("Failed"); |
| else |
| System.out.println("Ok"); |
| return bOk; |
| } |
| |
| public boolean setFastPropertyValue() |
| { |
| System.out.println("PropertySet.setFastPropertyValue"); |
| boolean[] r= new boolean[50]; |
| int i= 0; |
| |
| TestClass cl= new TestClass(); |
| try { |
| cl.setFastPropertyValue(5, new Integer(111)); |
| r[i++]= cl.intPropA == 111; |
| try { |
| cl.setFastPropertyValue(-1, new Integer(1)); i++; |
| } catch(UnknownPropertyException e) |
| { |
| r[i++]= true; |
| } |
| }catch(java.lang.Exception e){ |
| System.out.println(e.getMessage()); |
| i++; |
| } |
| |
| boolean bOk= true; |
| for (int c= 0; c < i; c++) |
| bOk= bOk && r[c]; |
| if (bOk == false) |
| System.out.println("Failed"); |
| else |
| System.out.println("Ok"); |
| return bOk; |
| } |
| |
| public boolean getFastPropertyValue() |
| { |
| System.out.println("PropertySet.setFastPropertyValue"); |
| boolean[] r= new boolean[50]; |
| int i= 0; |
| |
| TestClass cl= new TestClass(); |
| try { |
| cl.setFastPropertyValue(5, new Integer(111)); |
| Integer aInt= (Integer) cl.getFastPropertyValue(5); |
| r[i++]= aInt.intValue() == 111; |
| }catch(java.lang.Exception e){ |
| System.out.println(e.getMessage()); |
| i++; |
| } |
| |
| boolean bOk= true; |
| for (int c= 0; c < i; c++) |
| bOk= bOk && r[c]; |
| if (bOk == false) |
| System.out.println("Failed"); |
| else |
| System.out.println("Ok"); |
| return bOk; |
| } |
| |
| public boolean setPropertyValues() |
| { |
| System.out.println("PropertySet.setPropertyValues"); |
| boolean[] r= new boolean[50]; |
| int i= 0; |
| |
| TestClass cl= new TestClass(); |
| try { |
| cl.setPropertyValues(new String[0], new Object[0]); |
| String[] arNames= new String[] {"PropCharA","PropIntClass","PropObjectA"}; |
| Character aChar= new Character('A'); |
| Integer aInt= new Integer(111); |
| Byte aByte= new Byte((byte)11); |
| Object[] values= new Object[]{aChar, aInt, aByte}; |
| cl.setPropertyValues(arNames, values); |
| r[i++]= cl.charPropA == 'A' && cl.intClassProp.intValue() == 111 && ((Byte)cl.objectPropA).byteValue() == 11; |
| |
| arNames= new String[] {"blabla","PropIntClass","PropObjectA"}; |
| cl.resetPropertyMembers(); |
| cl.setPropertyValues(arNames, values); |
| r[i++]= cl.intClassProp.intValue() == 111 && ((Byte)cl.objectPropA).byteValue() == 11; |
| }catch(java.lang.Exception e){ |
| System.out.println(e.getMessage()); |
| i++; |
| } |
| boolean bOk= true; |
| for (int c= 0; c < i; c++) |
| bOk= bOk && r[c]; |
| if (bOk == false) |
| System.out.println("Failed"); |
| else |
| System.out.println("Ok"); |
| return bOk; |
| } |
| |
| public boolean getPropertyValues() |
| { |
| System.out.println("PropertySet.getPropertyValues"); |
| boolean[] r= new boolean[50]; |
| int i= 0; |
| |
| TestClass cl= new TestClass(); |
| try { |
| cl.charPropA= 'A'; |
| cl.intClassProp= new Integer(111); |
| cl.objectPropA= new Byte((byte)11); |
| Object[] values= cl.getPropertyValues(new String[] {"PropCharA","PropIntClass","PropObjectA"}); |
| |
| r[i++]= ((Character) values[0]).charValue() == 'A' && ((Integer) values[1]).intValue() == 111 |
| && ((Byte) values[2]).byteValue() == 11; |
| }catch(java.lang.Exception e){ |
| System.out.println(e.getMessage()); |
| i++; |
| } |
| boolean bOk= true; |
| for (int c= 0; c < i; c++) |
| bOk= bOk && r[c]; |
| if (bOk == false) |
| System.out.println("Failed"); |
| else |
| System.out.println("Ok"); |
| return bOk; |
| } |
| |
| // Currently the listeners are always notified if one of properties has changed. |
| // The property names in the first argument are ignored. |
| public boolean addPropertiesChangeListener() |
| { |
| System.out.println("PropertySet.addPropertiesChangeListener\n" + |
| "PropertySet.removePropertiesChangeListener\n" + |
| "notification of such listeners"); |
| boolean[] r= new boolean[50]; |
| int i= 0; |
| |
| TestClass cl= new TestClass(); |
| try { |
| Listener li1= new Listener(); |
| Listener li2= new Listener(); |
| cl.addPropertiesChangeListener(new String[]{"PropCharA"}, li1); |
| cl.setPropertyValue("PropCharA", new Character('B')); |
| r[i++]= li1.nPropertiesChange == 0; |
| cl.propCharA.Attributes= PropertyAttribute.BOUND; |
| cl.setPropertyValue("PropCharA", new Character('C')); |
| r[i++]= li1.nPropertiesChange == 1; |
| |
| PropertyChangeEvent evt= li1.arEvt[0]; |
| r[i++]= evt.PropertyName.equals("PropCharA") && ((Character)evt.OldValue).charValue() == 'B' |
| && ((Character) evt.NewValue).charValue() == 'C'; |
| li1.reset(); |
| cl.removePropertiesChangeListener(li1); |
| cl.setPropertyValue("PropCharA", new Character('F')); |
| r[i++]= li1.nPropertiesChange == 0; |
| }catch(java.lang.Exception e){ |
| System.out.println(e.getMessage()); |
| i++; |
| } |
| boolean bOk= true; |
| for (int c= 0; c < i; c++) |
| bOk= bOk && r[c]; |
| if (bOk == false) |
| System.out.println("Failed"); |
| else |
| System.out.println("Ok"); |
| return bOk; |
| } |
| |
| public boolean firePropertiesChangeEvent() |
| { |
| System.out.println("PropertySet.firePropertiesChangeEvent"); |
| boolean[] r= new boolean[50]; |
| int i= 0; |
| |
| TestClass cl= new TestClass(); |
| try { |
| Listener li1= new Listener(); |
| cl.intClassProp= new Integer(111); |
| cl.charPropA= 'A'; |
| cl.firePropertiesChangeEvent(new String[]{"PropCharA","PropIntClass"}, li1); |
| r[i++]= li1.nPropertiesChange == 1; |
| PropertyChangeEvent[] arEvt= li1.arEvt; |
| r[i++]= arEvt[0].PropertyName.equals("PropCharA") |
| && ((Character) arEvt[0].OldValue).charValue() == 'A' |
| && ((Character) arEvt[0].NewValue).charValue() == 'A'; |
| r[i++]= arEvt[1].PropertyName.equals("PropIntClass") |
| && ((Integer) arEvt[1].OldValue).intValue() == 111 |
| && ((Integer) arEvt[1].NewValue).intValue() == 111; |
| }catch(java.lang.Exception e){ |
| System.out.println(e.getMessage()); |
| i++; |
| } |
| boolean bOk= true; |
| for (int c= 0; c < i; c++) |
| bOk= bOk && r[c]; |
| if (bOk == false) |
| System.out.println("Failed"); |
| else |
| System.out.println("Ok"); |
| return bOk; |
| } |
| |
| public boolean registerProperty1() |
| { |
| TestClass2 cl= new TestClass2(); |
| return cl.test_registerProperty1(); |
| } |
| |
| public boolean registerProperty2() |
| { |
| TestClass2 cl= new TestClass2(); |
| return cl.test_registerProperty2(); |
| } |
| |
| public static boolean test() |
| { |
| PropertySet_Test test= new PropertySet_Test(); |
| boolean r[]= new boolean[50]; |
| int i= 0; |
| r[i++]= test.convertPropertyValue(); |
| r[i++]= test.setPropertyValueNoBroadcast(); |
| r[i++]= test.setPropertyValue(); |
| r[i++]= test.addPropertyChangeListener(); |
| r[i++]= test.getPropertySetInfo(); |
| r[i++]= test.setFastPropertyValue(); |
| r[i++]= test.getFastPropertyValue(); |
| r[i++]= test.setPropertyValues(); |
| r[i++]= test.getPropertyValues(); |
| r[i++]= test.addPropertiesChangeListener(); |
| r[i++]= test.firePropertiesChangeEvent(); |
| r[i++]= test.registerProperty1(); |
| r[i++]= test.registerProperty2(); |
| boolean bOk= true; |
| for (int c= 0; c < i; c++) |
| bOk= bOk && r[c]; |
| if (bOk == false) |
| System.out.println("Errors occured!"); |
| else |
| System.out.println("No errors."); |
| return bOk; |
| } |
| public static void main(String[] args) |
| { |
| test(); |
| } |
| } |
| |
| class TestClass extends PropertySet |
| { |
| public Property propBoolA= new Property("PropBoolA", 1, new Type(Boolean.TYPE), (short)0); |
| public boolean boolPropA; |
| public Property propCharA= new Property("PropCharA", 2, new Type(Character.TYPE), (short) 0); |
| public char charPropA; |
| public Property propByteA= new Property("PropByteA", 3, new Type(Byte.TYPE), (short) 0); |
| public byte bytePropA; |
| public Property propShortA= new Property("PropShortA", 4, new Type(Short.TYPE), (short) 0); |
| public short shortPropA; |
| public Property propIntA= new Property("PropIntA", 5, new Type(Integer.TYPE), (short) 0); |
| public int intPropA; |
| public Property propLongA= new Property("PropLongA", 6, new Type(Long.TYPE), (short) 0); |
| public long longPropA; |
| public Property propFloatA= new Property("PropFloatA", 7, new Type(Float.TYPE), (short) 0); |
| public float floatPropA; |
| public Property propDoubleA= new Property("PropDoubleA", 8, new Type(Double.TYPE), (short) 0); |
| public double doublePropA; |
| public Property propStringA= new Property("PropStringA", 9, new Type(String.class), (short) 0); |
| public String stringPropA; |
| public Property propArrayByteA= new Property("PropArrayByteA", 10, new Type(byte[].class), (short) 0); |
| public byte[] arBytePropA; |
| public Property propTypeA= new Property("PropTypeA", 11, new Type(Type.class), (short) 0); |
| public Type typePropA; |
| public Property propObjectA= new Property("PropObjectA",12, new Type(Object.class), (short) 0); |
| public Object objectPropA; |
| public Property propAnyA= new Property("PropAnyA", 13, new Type(Any.class), (short) 0); |
| public Any anyPropA; |
| public Property propXInterfaceA= new Property("PropXInterfaceA", 13, new Type(Any.class), (short) 0); |
| public XInterface xInterfacePropA; |
| public Property propXWeakA= new Property("PropXWeakA", 13, new Type(Any.class), (short) 0); |
| public XWeak xWeakPropA; |
| public Property propEnum = |
| new Property("PropEnum", 14, new Type("com.sun.star.beans.PropertyState", TypeClass.ENUM), (short)0); |
| public com.sun.star.beans.PropertyState enumPropertyState = com.sun.star.beans.PropertyState.DEFAULT_VALUE; |
| // Test private, protected, package access, Anys as arguments and members, members whith a value |
| |
| public Property propBoolB= new Property("PropBoolB", 101, new Type(Boolean.TYPE), (short) 0); |
| protected boolean boolPropB; |
| |
| public Property propBoolC= new Property("PropBoolC", 201, new Type(Boolean.TYPE), (short) 0); |
| boolean boolPropC; |
| |
| public Property propBoolD= new Property("PropBoolD", 301, new Type(Boolean.TYPE), (short) 0); |
| private boolean boolPropD; |
| |
| public Property propBoolClass= new Property("PropBoolClass", 1001, new Type(Boolean.class), (short) 0); |
| public Boolean boolClassProp; |
| public Property propCharClass= new Property("PropCharClass", 1002, new Type(Character.class), (short) 0); |
| public Character charClassProp; |
| public Property propByteClass= new Property("PropByteClass", 1003, new Type(Byte.class), (short) 0); |
| public Byte byteClassProp; |
| public Property propShortClass= new Property("PropShortClass", 1004, new Type(Short.class), (short) 0); |
| public Short shortClassProp; |
| public Property propIntClass= new Property("PropIntClass", 1005, new Type(Integer.class), (short) 0); |
| public Integer intClassProp; |
| public Property propLongClass= new Property("PropLongClass", 1006, new Type(Long.class), (short) 0); |
| public Long longClassProp; |
| public Property propFloatClass= new Property("PropFloatClass", 1007, new Type(Float.class), (short) 0); |
| public Float floatClassProp; |
| public Property propDoubleClass= new Property("PropDoubleClass", 1008, new Type(Double.class), (short) 0); |
| public Double doubleClassProp; |
| |
| |
| public TestClass() |
| { |
| |
| super(); |
| // When adding properties then modify the getRegisteredProperties method |
| //registerProperty(String name, int handle, Type type, short attributes, String memberName) |
| registerProperty(propBoolA, "boolPropA"); |
| registerProperty(propCharA, "charPropA"); |
| registerProperty(propByteA, "bytePropA"); |
| registerProperty(propShortA, "shortPropA"); |
| registerProperty(propIntA, "intPropA"); |
| registerProperty(propLongA, "longPropA"); |
| registerProperty(propFloatA, "floatPropA"); |
| registerProperty(propDoubleA, "doublePropA"); |
| registerProperty(propStringA, "stringPropA"); |
| registerProperty(propArrayByteA, "arBytePropA"); |
| registerProperty(propTypeA, "typePropA"); |
| registerProperty(propObjectA, "objectPropA"); |
| registerProperty(propAnyA, "anyPropA"); |
| registerProperty(propXInterfaceA, "xInterfacePropA"); |
| registerProperty(propXWeakA, "xWeakPropA"); |
| registerProperty(propEnum,"enumPropertyState"); |
| registerProperty(propBoolB, "boolPropB"); |
| registerProperty(propBoolC, "boolPropC"); |
| registerProperty(propBoolD, "boolPropD"); |
| registerProperty(propBoolClass, "boolClassProp"); |
| registerProperty(propCharClass, "charClassProp"); |
| registerProperty(propByteClass, "byteClassProp"); |
| registerProperty(propShortClass, "shortClassProp"); |
| registerProperty(propIntClass, "intClassProp"); |
| registerProperty(propLongClass, "longClassProp"); |
| registerProperty(propFloatClass, "floatClassProp"); |
| registerProperty(propDoubleClass, "doubleClassProp"); |
| } |
| |
| /** When adding properties then modify the getRegisteredProperties method |
| */ |
| public Property[] getRegisteredProperties() |
| { |
| return new Property[] { |
| propBoolA, propCharA, propByteA, propShortA, |
| propIntA, propLongA, propFloatA, propDoubleA, |
| propStringA, propArrayByteA, propTypeA, propObjectA, |
| propAnyA, propXInterfaceA, propXWeakA, propEnum, propBoolB, |
| propBoolC, propBoolD, propBoolClass, propCharClass, |
| propByteClass, propShortClass, propIntClass, propLongClass, |
| propFloatClass, propDoubleClass |
| }; |
| |
| } |
| public boolean test_convertPropertyValue() |
| { |
| boolean[] r= new boolean[150]; |
| int i= 0; |
| |
| resetPropertyMembers(); |
| Object[] outOldVal= new Object[1]; |
| Object[] outNewVal= new Object[1]; |
| |
| Object value= new Boolean(true); |
| try |
| { |
| r[i++]= convertPropertyValue(propBoolA, outNewVal, outOldVal, value); |
| r[i++]= outNewVal[0] instanceof Boolean && outNewVal[0].equals(value) && outOldVal[0].equals(new Boolean(false)); |
| value= new Character('A'); |
| r[i++]= convertPropertyValue(propCharA, outNewVal, outOldVal, value); |
| r[i++]= outNewVal[0] instanceof Character && outNewVal[0].equals(value) && outOldVal[0].equals(new Character((char)0)); |
| charPropA= 'B'; |
| r[i++]= convertPropertyValue(propCharA, outNewVal, outOldVal, value); |
| r[i++]= outNewVal[0] instanceof Character && outNewVal[0].equals(value) && outOldVal[0].equals(new Character('B')); |
| value= new Byte((byte) 111); |
| r[i++]= convertPropertyValue(propByteA, outNewVal, outOldVal, value); |
| r[i++]= outNewVal[0] instanceof Byte && outNewVal[0].equals(value); |
| value= new Short((short) 112); |
| r[i++]= convertPropertyValue(propShortA, outNewVal, outOldVal, value); |
| r[i++]= outNewVal[0] instanceof Short && outNewVal[0].equals(value); |
| value= new Integer( 113); |
| r[i++]= convertPropertyValue(propIntA, outNewVal, outOldVal, value); |
| r[i++]= outNewVal[0] instanceof Integer && outNewVal[0].equals(value); |
| value= new Long(114); |
| r[i++]= convertPropertyValue(propLongA, outNewVal, outOldVal, value); |
| r[i++]= outNewVal[0] instanceof Long && outNewVal[0].equals(value); |
| value= new Float(3.14); |
| r[i++]= convertPropertyValue(propFloatA, outNewVal, outOldVal, value); |
| r[i++]= outNewVal[0] instanceof Float && outNewVal[0].equals(value); |
| value= new Double(3.145); |
| r[i++]= convertPropertyValue(propDoubleA, outNewVal, outOldVal, value); |
| r[i++]= outNewVal[0] instanceof Double && outNewVal[0].equals(value); |
| value= "string"; |
| r[i++]= convertPropertyValue(propStringA, outNewVal, outOldVal, value); |
| r[i++]= outNewVal[0] instanceof String && outNewVal[0].equals(value); |
| value= new byte[]{1,2,3}; |
| arBytePropA= null; |
| r[i++]= convertPropertyValue(propArrayByteA, outNewVal, outOldVal, value); |
| r[i++]= outNewVal[0] instanceof byte[] && outNewVal[0].equals(value) && outOldVal[0] == null; |
| r[i++]= convertPropertyValue(propArrayByteA, outNewVal, outOldVal, value); |
| r[i++]= outOldVal[0] == null; |
| value= new Type(XInterface.class); |
| r[i++]= convertPropertyValue(propTypeA, outNewVal, outOldVal, value); |
| r[i++]= outNewVal[0] instanceof Type && outNewVal[0].equals(value); |
| |
| value= new Object(); // TypeClass.VOID |
| r[i++]= convertPropertyValue(propObjectA, outNewVal, outOldVal, value); |
| r[i++]= outNewVal[0] instanceof Object && outNewVal[0].equals(value); |
| value= new Integer(111); |
| r[i++]= convertPropertyValue(propObjectA, outNewVal, outOldVal, value); |
| r[i++]= outNewVal[0] instanceof Integer && outNewVal[0].equals(value); |
| value= new ComponentBase(); |
| r[i++]= convertPropertyValue(propObjectA, outNewVal, outOldVal, value); |
| r[i++]= outNewVal[0] instanceof Object && outNewVal[0].equals(value); |
| value= new Integer(111); |
| r[i++]= convertPropertyValue(propAnyA, outNewVal, outOldVal, value); |
| r[i++]= outNewVal[0] instanceof Any && ((Any)outNewVal[0]).getType().equals(new Type(Integer.class)) |
| && ((Any)outNewVal[0]).getObject().equals(value); |
| XWeak oWeak= new ComponentBase(); |
| value= oWeak; |
| // The returned Any must contain an XInterface |
| r[i++]= convertPropertyValue(propAnyA, outNewVal, outOldVal, value); |
| r[i++]= ((Any) outNewVal[0]).getType().equals(new Type(XInterface.class)) |
| && ((Any) outNewVal[0]).getObject() == oWeak; |
| value= new ComponentBase(); |
| r[i++]= convertPropertyValue(propXInterfaceA, outNewVal, outOldVal, value); |
| r[i++]= outNewVal[0] instanceof XInterface && outNewVal[0].equals(value); |
| r[i++]= convertPropertyValue(propXWeakA, outNewVal, outOldVal, value); |
| r[i++]= outNewVal[0] instanceof XWeak && outNewVal[0].equals(value); |
| |
| value = com.sun.star.beans.PropertyState.DIRECT_VALUE; |
| r[i++]= convertPropertyValue(propEnum, outNewVal, outOldVal, value); |
| r[i++]= outNewVal[0] instanceof com.sun.star.uno.Enum && outNewVal[0].equals(value); |
| |
| // Any arguments ------------------------------------------------------------------ |
| value= new Any( new Type(Integer.class),new Integer(111)); |
| r[i++]= convertPropertyValue(propIntA, outNewVal, outOldVal, value); |
| r[i++]= outNewVal[0] instanceof Integer && ((Integer)outNewVal[0]).equals( ((Any)value).getObject()); |
| value= new Any(new Type(Boolean.class), new Boolean(true)); |
| r[i++]= convertPropertyValue(propBoolA, outNewVal, outOldVal, value); |
| r[i++]= outNewVal[0] instanceof Boolean && ((Boolean)outNewVal[0]).equals(((Any) value).getObject()); |
| //Character, Byte, Short, Long |
| // must fail |
| value= new Any(new Type(Object.class), new Object()); |
| r[i++]= convertPropertyValue(propObjectA, outNewVal, outOldVal, value); |
| r[i++]= convertPropertyValue(propAnyA, outNewVal, outOldVal, value); |
| value= new Any(new Type(Integer.class), new Integer(111)); |
| r[i++]= convertPropertyValue(propObjectA, outNewVal, outOldVal, value); |
| r[i++]= outNewVal[0] instanceof Integer && outNewVal[0].equals( ((Any)value).getObject()); |
| r[i++]= convertPropertyValue(propAnyA, outNewVal, outOldVal, value); |
| r[i++]= outNewVal[0] instanceof Any && ((Any) outNewVal[0]).getType().equals( ((Any) value).getType()) |
| && ((Any) outNewVal[0]).getObject().equals( ((Any) value).getObject()); |
| value= new Any(new Type(XInterface.class), new ComponentBase()); |
| r[i++]= convertPropertyValue(propObjectA, outNewVal, outOldVal, value); |
| r[i++]= outNewVal[0] instanceof XInterface && outNewVal[0] == ((Any) value).getObject(); |
| r[i++]= convertPropertyValue(propXInterfaceA, outNewVal, outOldVal, value); |
| r[i++]= outNewVal[0] == ((Any) value).getObject(); |
| value= new Any(new Type(byte[].class), new byte[]{1,2,3}); |
| r[i++]= convertPropertyValue(propArrayByteA, outNewVal, outOldVal, value); |
| r[i++]= outNewVal[0] instanceof byte[]; |
| |
| |
| |
| // test private, protected, package fields |
| value= new Boolean(true); |
| r[i++]= convertPropertyValue(propBoolB, outNewVal, outOldVal, value); |
| r[i++]= ((Boolean)value).booleanValue() == ((Boolean) outNewVal[0]).booleanValue(); |
| r[i++]= convertPropertyValue(propBoolC, outNewVal, outOldVal, value); |
| r[i++]= ((Boolean)value).booleanValue() == ((Boolean) outNewVal[0]).booleanValue(); |
| // must fail because the the member boolPropD is private |
| try{ |
| convertPropertyValue(propBoolD, outNewVal, outOldVal, value); |
| i++; |
| }catch (Exception e) |
| { |
| r[i++]= true; |
| } |
| |
| // Properties member of type Byte,Short etc. |
| value= new Boolean(true); |
| r[i++]= convertPropertyValue(propBoolClass, outNewVal, outOldVal, value); |
| r[i++]= outNewVal[0] instanceof Boolean && outNewVal[0].equals(value); |
| value= new Character('A'); |
| r[i++]= convertPropertyValue(propCharClass, outNewVal, outOldVal, value); |
| r[i++]= outNewVal[0] instanceof Character && outNewVal[0].equals(value); |
| value= new Byte((byte) 111); |
| r[i++]= convertPropertyValue(propByteClass, outNewVal, outOldVal, value); |
| r[i++]= outNewVal[0] instanceof Byte && outNewVal[0].equals(value); |
| value= new Short((short) 112); |
| r[i++]= convertPropertyValue(propShortClass, outNewVal, outOldVal, value); |
| r[i++]= outNewVal[0] instanceof Short && outNewVal[0].equals(value); |
| value= new Integer( 113); |
| r[i++]= convertPropertyValue(propIntClass, outNewVal, outOldVal, value); |
| r[i++]= outNewVal[0] instanceof Integer && outNewVal[0].equals(value); |
| value= new Long(114); |
| r[i++]= convertPropertyValue(propLongClass, outNewVal, outOldVal, value); |
| r[i++]= outNewVal[0] instanceof Long && outNewVal[0].equals(value); |
| value= new Float(3.14); |
| r[i++]= convertPropertyValue(propFloatClass, outNewVal, outOldVal, value); |
| r[i++]= outNewVal[0] instanceof Float && outNewVal[0].equals(value); |
| value= new Double(3.145); |
| r[i++]= convertPropertyValue(propDoubleA, outNewVal, outOldVal, value); |
| r[i++]= outNewVal[0] instanceof Double && outNewVal[0].equals(value); |
| }catch (com.sun.star.uno.Exception e) |
| { |
| i++; |
| } |
| boolean bOk= true; |
| for (int c= 0; c < i; c++) |
| bOk= bOk && r[c]; |
| |
| return bOk; |
| } |
| |
| public boolean test_setPropertyValueNoBroadcast() |
| { |
| boolean[] r= new boolean[150]; |
| int i= 0; |
| resetPropertyMembers(); |
| try { |
| Object value= new Boolean(true); |
| setPropertyValueNoBroadcast(propBoolA, value); |
| r[i++]= boolPropA == ((Boolean) value).booleanValue(); |
| value= new Character('A'); |
| setPropertyValueNoBroadcast(propCharA, value); |
| r[i++]= charPropA == ((Character) value).charValue(); |
| value= new Byte((byte) 111); |
| setPropertyValueNoBroadcast(propByteA, value); |
| r[i++]= bytePropA == ((Byte)value).byteValue(); |
| value= new Short((short) 112); |
| setPropertyValueNoBroadcast(propShortA, value); |
| r[i++]= shortPropA == ((Short) value).shortValue(); |
| value= new Integer( 113); |
| setPropertyValueNoBroadcast(propIntA, value); |
| r[i++]= intPropA == ((Integer) value).intValue(); |
| value= new Long(114); |
| setPropertyValueNoBroadcast(propLongA, value); |
| r[i++]= longPropA == ((Long) value).longValue(); |
| value= new Float(3.14); |
| setPropertyValueNoBroadcast(propFloatA, value); |
| r[i++]= floatPropA == ((Float) value).floatValue(); |
| value= new Double(3.145); |
| setPropertyValueNoBroadcast(propDoubleA, value); |
| r[i++]= doublePropA == ((Double) value).doubleValue(); |
| value= "string"; |
| setPropertyValueNoBroadcast(propStringA, value); |
| r[i++]= stringPropA.equals(value); |
| value= new byte[]{1,2,3}; |
| setPropertyValueNoBroadcast(propArrayByteA, value); |
| r[i++]= arBytePropA.equals(value); |
| value= new Type(XInterface.class); |
| setPropertyValueNoBroadcast(propTypeA, value); |
| r[i++]= typePropA.equals(value); |
| value= new Integer(111); |
| setPropertyValueNoBroadcast(propObjectA, value); |
| r[i++]= objectPropA.equals(value); |
| value= (XInterface) new ComponentBase(); |
| setPropertyValueNoBroadcast(propObjectA, value); |
| r[i++]= objectPropA.equals(value); |
| value= new Any( new Type(Integer.TYPE), new Integer(111)); |
| setPropertyValueNoBroadcast(propAnyA, value); |
| r[i++]= util.anyEquals(anyPropA, value); |
| value= new ComponentBase(); |
| setPropertyValueNoBroadcast(propXInterfaceA, value); |
| r[i++]= xInterfacePropA instanceof XInterface && xInterfacePropA.equals(value); |
| setPropertyValueNoBroadcast(propXWeakA, value); |
| r[i++]= xInterfacePropA instanceof XWeak && xInterfacePropA.equals(value); |
| value = com.sun.star.beans.PropertyState.AMBIGUOUS_VALUE; |
| setPropertyValueNoBroadcast(propEnum, value); |
| r[i++]= enumPropertyState == value; |
| value= new Boolean(true); |
| setPropertyValueNoBroadcast(propBoolB, value); |
| r[i++]= boolPropB == ((Boolean) value).booleanValue(); |
| setPropertyValueNoBroadcast(propBoolC, value); |
| r[i++]= boolPropC == ((Boolean) value).booleanValue(); |
| // must fail because the the member boolPropD is private |
| try{ |
| setPropertyValueNoBroadcast(propBoolD, value); |
| }catch(com.sun.star.lang.WrappedTargetException e) |
| { |
| r[i++]= true; |
| } |
| }catch (java.lang.Exception e) |
| { |
| i++; |
| } |
| boolean bOk= true; |
| for (int c= 0; c < i; c++) |
| bOk= bOk && r[c]; |
| return bOk; |
| } |
| |
| void resetPropertyMembers() |
| { |
| boolPropA= false; |
| charPropA= (char) 0; |
| bytePropA= 0; |
| shortPropA= 0; |
| intPropA= 0; |
| longPropA= 0; |
| floatPropA= 0; |
| doublePropA= 0.; |
| stringPropA= null; |
| arBytePropA= null; |
| typePropA= null; |
| objectPropA= null; |
| anyPropA= null; |
| xInterfacePropA= null; |
| xWeakPropA= null; |
| enumPropertyState = com.sun.star.beans.PropertyState.DEFAULT_VALUE; |
| boolPropB= false; |
| boolPropC= false; |
| boolPropD= false; |
| boolClassProp= null; |
| charClassProp= null; |
| byteClassProp= null; |
| shortClassProp= null; |
| intClassProp= null; |
| longClassProp= null; |
| floatClassProp= null; |
| doubleClassProp= null; |
| } |
| } |
| |
| class TestClass2 extends PropertySet |
| { |
| |
| public char charA; |
| protected char charB; |
| char charC; |
| |
| int intMemberA; |
| |
| public Character charClassA; |
| protected Character charClassB; |
| Character charClassC; |
| |
| boolean test_registerProperty1() |
| { |
| System.out.println("registerProperty Test 1"); |
| boolean r[]= new boolean[50]; |
| int i= 0; |
| |
| registerProperty("PropChar", new Type(char.class), (short) 0, "PropChar"); |
| registerProperty("PropInt", new Type(int.class), (short) 0, "PropInt"); |
| registerProperty("PropString", new Type(String.class), (short) 0, "PropString"); |
| |
| XPropertySetInfo info= getPropertySetInfo(); |
| Property[] props= info.getProperties(); |
| for (int j= 0; j < props.length; j++) |
| { |
| Property aProp= props[j]; |
| if (aProp.Name.equals("PropChar") && aProp.Type.equals(new Type(char.class)) && |
| aProp.Attributes == 0) |
| r[i++]= true; |
| else if (aProp.Name.equals("PropInt") && aProp.Type.equals(new Type(int.class)) && |
| aProp.Attributes == 0) |
| r[i++]= true; |
| else if (aProp.Name.equals("PropString") && aProp.Type.equals(new Type(String.class)) && |
| aProp.Attributes == 0) |
| r[i++]= true; |
| else |
| r[i++]= false; |
| } |
| |
| boolean bOk= true; |
| for (int c= 0; c < i; c++) |
| bOk= bOk && r[c]; |
| if (bOk == false) |
| System.out.println("Failed"); |
| else |
| System.out.println("Ok"); |
| return bOk; |
| } |
| |
| boolean test_registerProperty2() |
| { |
| System.out.println("registerProperty Test 2"); |
| boolean r[]= new boolean[50]; |
| int i= 0; |
| |
| registerProperty("charA", "charA", (short) 0); |
| registerProperty("charB", "charB", (short) 0); |
| registerProperty("charC", "charC", (short) 0); |
| registerProperty("charClassB", "charClassB", PropertyAttribute.MAYBEVOID); |
| registerProperty("IntProp", "intMemberA", (short) 0); |
| |
| XPropertySetInfo info= getPropertySetInfo(); |
| Property[] props= info.getProperties(); |
| for (int j= 0; j < props.length; j++) |
| { |
| Property aProp= props[j]; |
| if (aProp.Name.equals("charA") && aProp.Type.equals(new Type(char.class)) && |
| aProp.Attributes == 0) |
| r[i++]= true; |
| else if (aProp.Name.equals("charB") && aProp.Type.equals(new Type(char.class)) && |
| aProp.Attributes == 0) |
| r[i++]= true; |
| else if (aProp.Name.equals("charC") && aProp.Type.equals(new Type(char.class)) && |
| aProp.Attributes == 0) |
| r[i++]= true; |
| else if (aProp.Name.equals("charClassB") && aProp.Type.equals(new Type(char.class)) && |
| aProp.Attributes == PropertyAttribute.MAYBEVOID) |
| r[i++]= true; |
| else if (aProp.Name.equals("IntProp") && aProp.Type.equals(new Type(int.class)) && |
| aProp.Attributes == 0) |
| r[i++]= true; |
| else |
| r[i++]= false; |
| } |
| Object ret; |
| Object val= new Character('A'); |
| try{ |
| setPropertyValue("charA", val); |
| ret= getPropertyValue("charA"); |
| r[i++]= val.equals(ret); |
| setPropertyValue("charClassB",val); |
| ret= getPropertyValue("charClassB"); |
| r[i++]= val.equals(ret); |
| val= new Integer(111); |
| setPropertyValue("IntProp",val); |
| ret= getPropertyValue("IntProp"); |
| r[i++]= val.equals(ret); |
| } |
| catch(Exception e) |
| { |
| r[i++]=false; |
| } |
| boolean bOk= true; |
| for (int c= 0; c < i; c++) |
| bOk= bOk && r[c]; |
| if (bOk == false) |
| System.out.println("Failed"); |
| else |
| System.out.println("Ok"); |
| return bOk; |
| } |
| |
| } |
| |
| class util |
| { |
| // An Object is considered an Any with TypeClass.VOID and no value. |
| static boolean anyEquals(Object val1, Object val2) |
| { |
| Object obj1= null; |
| Object obj2= null; |
| Type t1= null; |
| Type t2= null; |
| if (val1 instanceof Any) |
| { |
| obj1= ((Any) val1).getObject(); |
| t1= ((Any) val1).getType(); |
| } |
| else |
| obj1= val1; |
| |
| if (val2 instanceof Any) |
| { |
| obj2= ((Any) val2).getObject(); |
| t2= ((Any) val2).getType(); |
| } |
| else |
| obj2= val2; |
| |
| if (obj1 != null && obj1.equals(obj2)) |
| return true; |
| else if ((obj1 == null && obj2 == null) && t1 != null && t1.equals(t2)) |
| return true; |
| return false; |
| } |
| |
| // returns true if obj is an any that contains a void or interface type and the |
| // object is null |
| static boolean isVoidAny(Object obj) |
| { |
| boolean ret= false; |
| if( obj != null && obj instanceof Any) |
| { |
| Any a= (Any) obj; |
| if( a.getType().getTypeClass().equals( TypeClass.INTERFACE) |
| && a.getObject() == null) { |
| ret= true; |
| } |
| else if( a.getType().equals( new Type(void.class)) && a.getObject() == null) { |
| ret= true; |
| } |
| } |
| return ret; |
| } |
| } |
| |
| class Listener implements XPropertyChangeListener, XVetoableChangeListener, |
| XPropertiesChangeListener |
| { |
| int nChangeCalled; |
| int nPropertiesChange; |
| int nVetoCalled; |
| int nDisposingCalled; |
| boolean bVeto= false; |
| PropertyChangeEvent evt; |
| PropertyChangeEvent[] arEvt; |
| // XPropertyChangeListener |
| public void propertyChange(PropertyChangeEvent evt ) |
| { |
| nChangeCalled++; |
| this.evt= evt; |
| } |
| |
| //VetoableChangeListener |
| public void vetoableChange(PropertyChangeEvent evt ) throws PropertyVetoException |
| { |
| nVetoCalled++; |
| this.evt= evt; |
| if (bVeto) |
| throw new PropertyVetoException(); |
| } |
| |
| public void disposing( /*IN*/EventObject Source ) |
| { |
| nDisposingCalled++; |
| } |
| |
| public void reset() |
| { |
| nChangeCalled= 0; |
| nPropertiesChange= 0; |
| nVetoCalled= 0; |
| nDisposingCalled= 0; |
| evt= null; |
| arEvt= null; |
| bVeto= false; |
| } |
| // XPropertiesChangeListener |
| public void propertiesChange(PropertyChangeEvent[] propertyChangeEvent) |
| { |
| nPropertiesChange++; |
| arEvt= propertyChangeEvent; |
| } |
| |
| } |