/************************************************************** * * 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 ifc.sheet; import lib.MultiMethodTest; import util.ValueChanger; import com.sun.star.beans.XPropertySet; import com.sun.star.lang.XMultiServiceFactory; import com.sun.star.lang.XServiceInfo; import com.sun.star.sheet.FunctionArgument; import com.sun.star.uno.AnyConverter; import com.sun.star.uno.UnoRuntime; import com.sun.star.uno.XInterface; /** * Testing com.sun.star.sheet.FunctionDescription * service properties: *

* @see com.sun.star.sheet.FunctionDescription */ public class _FunctionDescription extends MultiMethodTest { public XPropertySet oObj = null; // oObj filled by MultiMethodTest public _FunctionDescription() { } public void _Arguments() { // check if Service is available XServiceInfo xInfo = (XServiceInfo) UnoRuntime.queryInterface(XServiceInfo.class, oObj ); if ( ! xInfo.supportsService ( "com.sun.star.sheet.FunctionDescription" ) ) { log.println( "Service not available !" ); tRes.tested( "Supported", false ); } try { XMultiServiceFactory oDocMSF = (XMultiServiceFactory)tParam.getMSF(); XInterface FA = (XInterface)oDocMSF. createInstance("com.sun.star.sheet.FunctionArgument"); FunctionArgument arg = (FunctionArgument)AnyConverter.toObject (FunctionArgument.class, FA); arg.Description = "FunctionDescription argument description" ; arg.Name = "FunctionDescriptiuon argument name" ; arg.IsOptional = true ; Object sValue = oObj.getPropertyValue("Arguments") ; oObj.setPropertyValue("Arguments", new FunctionArgument[] {arg}) ; Object nValue = oObj.getPropertyValue("Arguments") ; if (sValue.equals(nValue)) { log.println("Property 'Arguments' didn't change: OK") ; tRes.tested("Arguments", true) ; } else { log.println("Readonly property 'Arguments' changed: Failed") ; tRes.tested("Arguments", false) ; } } catch (Exception e) { log.println( "Exception occured while testing property 'Arguments'" ); e.printStackTrace( log ); tRes.tested( "Arguments", false ); } } public void _Category() { tryChangeProp("Category") ; } public void _Description() { tryChangeProp( "Category" ); } public void _Id() { tryChangeProp( "Id" ); } public void _Name() { tryChangeProp( "Name" ); } public void tryChangeProp( String name ) { Object gValue = null; Object sValue = null; Object ValueToSet = null; try { //waitForAllThreads(); gValue = oObj.getPropertyValue( name ); //waitForAllThreads(); ValueToSet = ValueChanger.changePValue( gValue ); //waitForAllThreads(); oObj.setPropertyValue( name, ValueToSet ); sValue = oObj.getPropertyValue( name ); //check get-set methods if( gValue.equals( sValue ) ) { log.println( "Value for '"+name+"' hasn't changed. OK." ); tRes.tested( name, true ); } else { log.println( "Property '" + name + "' changes it's value : Failed !" ); tRes.tested( name, false ); } } catch ( Exception e ) { log.println( "Exception occured while testing property '" + name + "'" ); e.printStackTrace( log ); tRes.tested( name, false ); } } // end of changeProp } //finish class _TextContent