/************************************************************** * * 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.drawing; import lib.MultiMethodTest; import util.ValueChanger; import com.sun.star.beans.XPropertySet; import com.sun.star.style.XStyle; import com.sun.star.uno.UnoRuntime; public class _ShapeDescriptor extends MultiMethodTest { public XPropertySet oObj = null; // oObj filled by MultiMethodTest public boolean ro = false; public void _LayerID() { com.sun.star.lang.XServiceInfo xInfo = (com.sun.star.lang.XServiceInfo) UnoRuntime.queryInterface (com.sun.star.lang.XServiceInfo.class, oObj); if ( ! xInfo.supportsService("com.sun.star.drawing.ShapeDescriptor")) { log.println("Service not available !!!!!!!!!!!!!"); tRes.tested("Supported", false); } ro = true; changeProp("LayerID"); ro = false; } public void _LayerName() { ro = true; changeProp("LayerName"); ro = false; } public void _MoveProtect() { changeProp("MoveProtect"); } public void _Name() { changeProp("Name"); } public void _Printable() { changeProp("Printable"); } public void _SizeProtect() { changeProp("SizeProtect"); } public void _Style() { changeProp("Style"); } public void _Transformation() { changeProp("Transformation"); } public void changeProp(String name) { Object gValue = null; Object sValue = null; Object ValueToSet = null; try { //waitForAllThreads(); gValue = oObj.getPropertyValue(name); //waitForAllThreads(); if (!ro) { ValueToSet = ValueChanger.changePValue(gValue); if ( name.equals("Style") ) { ValueToSet = newStyle(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"); tRes.tested(name, false); } else { log.println("Property '"+name+"' OK"); tRes.tested(name, true); } } catch (com.sun.star.beans.UnknownPropertyException ex) { if (isOptional(name)) { log.println("Property '"+name+ "' is optional and not supported"); tRes.tested(name,true); } else { log.println("Exception occurred while testing property '" + name + "'"); ex.printStackTrace(log); tRes.tested(name, false); } } catch (Exception e) { log.println("Exception occurred while testing property '" + name + "'"); e.printStackTrace(log); tRes.tested(name, false); } }// end of changeProp public XStyle newStyle(Object oldStyle) { XStyle Style1 = (XStyle) tEnv.getObjRelation("Style1"); XStyle Style2 = (XStyle) tEnv.getObjRelation("Style2"); XStyle back = null; if ( (Style1!=null) && (Style2!=null) ) { if ( ((XStyle) oldStyle).equals(Style1) ) { back = Style2; } else { back = Style1; } } return back; } }