1*b1cdbd2cSJim Jagielski /************************************************************** 2*b1cdbd2cSJim Jagielski * 3*b1cdbd2cSJim Jagielski * Licensed to the Apache Software Foundation (ASF) under one 4*b1cdbd2cSJim Jagielski * or more contributor license agreements. See the NOTICE file 5*b1cdbd2cSJim Jagielski * distributed with this work for additional information 6*b1cdbd2cSJim Jagielski * regarding copyright ownership. The ASF licenses this file 7*b1cdbd2cSJim Jagielski * to you under the Apache License, Version 2.0 (the 8*b1cdbd2cSJim Jagielski * "License"); you may not use this file except in compliance 9*b1cdbd2cSJim Jagielski * with the License. You may obtain a copy of the License at 10*b1cdbd2cSJim Jagielski * 11*b1cdbd2cSJim Jagielski * http://www.apache.org/licenses/LICENSE-2.0 12*b1cdbd2cSJim Jagielski * 13*b1cdbd2cSJim Jagielski * Unless required by applicable law or agreed to in writing, 14*b1cdbd2cSJim Jagielski * software distributed under the License is distributed on an 15*b1cdbd2cSJim Jagielski * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*b1cdbd2cSJim Jagielski * KIND, either express or implied. See the License for the 17*b1cdbd2cSJim Jagielski * specific language governing permissions and limitations 18*b1cdbd2cSJim Jagielski * under the License. 19*b1cdbd2cSJim Jagielski * 20*b1cdbd2cSJim Jagielski *************************************************************/ 21*b1cdbd2cSJim Jagielski 22*b1cdbd2cSJim Jagielski 23*b1cdbd2cSJim Jagielski 24*b1cdbd2cSJim Jagielski package ifc.sheet; 25*b1cdbd2cSJim Jagielski 26*b1cdbd2cSJim Jagielski import com.sun.star.sheet.DataPilotFieldAutoShowInfo; 27*b1cdbd2cSJim Jagielski import com.sun.star.sheet.DataPilotFieldLayoutInfo; 28*b1cdbd2cSJim Jagielski import com.sun.star.sheet.DataPilotFieldReference; 29*b1cdbd2cSJim Jagielski import com.sun.star.sheet.DataPilotFieldSortInfo; 30*b1cdbd2cSJim Jagielski import lib.MultiPropertyTest; 31*b1cdbd2cSJim Jagielski 32*b1cdbd2cSJim Jagielski /** 33*b1cdbd2cSJim Jagielski * Testing <code>com.sun.star.sheet.DataPilotField</code> 34*b1cdbd2cSJim Jagielski * service properties : 35*b1cdbd2cSJim Jagielski * <ul> 36*b1cdbd2cSJim Jagielski * <li><code> Orientation</code></li> 37*b1cdbd2cSJim Jagielski * <li><code> Function</code></li> 38*b1cdbd2cSJim Jagielski * </ul> <p> 39*b1cdbd2cSJim Jagielski * Properties testing is automated by <code>lib.MultiPropertyTest</code>. 40*b1cdbd2cSJim Jagielski * @see com.sun.star.sheet.DataPilotField 41*b1cdbd2cSJim Jagielski */ 42*b1cdbd2cSJim Jagielski public class _DataPilotField extends MultiPropertyTest { 43*b1cdbd2cSJim Jagielski 44*b1cdbd2cSJim Jagielski /** 45*b1cdbd2cSJim Jagielski *This class is destined to custom test of property <code>SortInfo</code>. 46*b1cdbd2cSJim Jagielski */ 47*b1cdbd2cSJim Jagielski protected PropertyTester SortInfoTester = new PropertyTester() { 48*b1cdbd2cSJim Jagielski protected Object getNewValue(String propName, Object oldValue) { 49*b1cdbd2cSJim Jagielski DataPilotFieldSortInfo sortInfo = new DataPilotFieldSortInfo(); 50*b1cdbd2cSJim Jagielski sortInfo.Mode = com.sun.star.sheet.DataPilotFieldSortMode.MANUAL; 51*b1cdbd2cSJim Jagielski sortInfo.IsAscending = false; 52*b1cdbd2cSJim Jagielski sortInfo.Field = "COL1"; 53*b1cdbd2cSJim Jagielski log.println("Having Value and returning a new one"); 54*b1cdbd2cSJim Jagielski return sortInfo.equals(oldValue) ? null : sortInfo; 55*b1cdbd2cSJim Jagielski } 56*b1cdbd2cSJim Jagielski }; 57*b1cdbd2cSJim Jagielski 58*b1cdbd2cSJim Jagielski /** 59*b1cdbd2cSJim Jagielski * Test property <code>SortInfo</code> using custom <code>PropertyTest</code>. 60*b1cdbd2cSJim Jagielski */ _SortInfo()61*b1cdbd2cSJim Jagielski public void _SortInfo() { 62*b1cdbd2cSJim Jagielski testProperty("SortInfo", SortInfoTester); 63*b1cdbd2cSJim Jagielski } 64*b1cdbd2cSJim Jagielski _HasSortInfo()65*b1cdbd2cSJim Jagielski public void _HasSortInfo() { 66*b1cdbd2cSJim Jagielski requiredMethod("SortInfo"); 67*b1cdbd2cSJim Jagielski testProperty("HasSortInfo"); 68*b1cdbd2cSJim Jagielski } 69*b1cdbd2cSJim Jagielski 70*b1cdbd2cSJim Jagielski /** 71*b1cdbd2cSJim Jagielski *This class is destined to custom test of property <code>LayoutInfo</code>. 72*b1cdbd2cSJim Jagielski */ 73*b1cdbd2cSJim Jagielski protected PropertyTester LayoutInfoTester = new PropertyTester() { 74*b1cdbd2cSJim Jagielski protected Object getNewValue(String propName, Object oldValue) { 75*b1cdbd2cSJim Jagielski DataPilotFieldLayoutInfo layoutInfo = new DataPilotFieldLayoutInfo(); 76*b1cdbd2cSJim Jagielski layoutInfo.LayoutMode = com.sun.star.sheet.DataPilotFieldLayoutMode.OUTLINE_SUBTOTALS_BOTTOM; 77*b1cdbd2cSJim Jagielski layoutInfo.AddEmptyLines = true; 78*b1cdbd2cSJim Jagielski log.println("Having Value and returning a new one"); 79*b1cdbd2cSJim Jagielski return layoutInfo.equals(oldValue) ? null : layoutInfo; 80*b1cdbd2cSJim Jagielski } 81*b1cdbd2cSJim Jagielski }; 82*b1cdbd2cSJim Jagielski 83*b1cdbd2cSJim Jagielski /** 84*b1cdbd2cSJim Jagielski * Test property <code>LayoutInfo</code> using custom <code>PropertyTest</code>. 85*b1cdbd2cSJim Jagielski */ _LayoutInfo()86*b1cdbd2cSJim Jagielski public void _LayoutInfo() { 87*b1cdbd2cSJim Jagielski testProperty("LayoutInfo", LayoutInfoTester); 88*b1cdbd2cSJim Jagielski } 89*b1cdbd2cSJim Jagielski _HasLayoutInfo()90*b1cdbd2cSJim Jagielski public void _HasLayoutInfo() { 91*b1cdbd2cSJim Jagielski requiredMethod("LayoutInfo"); 92*b1cdbd2cSJim Jagielski testProperty("HasLayoutInfo"); 93*b1cdbd2cSJim Jagielski } 94*b1cdbd2cSJim Jagielski 95*b1cdbd2cSJim Jagielski /** 96*b1cdbd2cSJim Jagielski *This class is destined to custom test of property <code>AutoShowInfo</code>. 97*b1cdbd2cSJim Jagielski */ 98*b1cdbd2cSJim Jagielski protected PropertyTester AutoShowInfoTester = new PropertyTester() { 99*b1cdbd2cSJim Jagielski protected Object getNewValue(String propName, Object oldValue) { 100*b1cdbd2cSJim Jagielski DataPilotFieldAutoShowInfo AutoShowInfo = new DataPilotFieldAutoShowInfo(); 101*b1cdbd2cSJim Jagielski AutoShowInfo.DataField = "Col1"; 102*b1cdbd2cSJim Jagielski AutoShowInfo.IsEnabled = true; 103*b1cdbd2cSJim Jagielski log.println("Having Value and returning a new one"); 104*b1cdbd2cSJim Jagielski return AutoShowInfo.equals(oldValue) ? null : AutoShowInfo; 105*b1cdbd2cSJim Jagielski } 106*b1cdbd2cSJim Jagielski }; 107*b1cdbd2cSJim Jagielski 108*b1cdbd2cSJim Jagielski /** 109*b1cdbd2cSJim Jagielski * Test property <code>AutoShowInfo</code> using custom <code>PropertyTest</code>. 110*b1cdbd2cSJim Jagielski */ _AutoShowInfo()111*b1cdbd2cSJim Jagielski public void _AutoShowInfo() { 112*b1cdbd2cSJim Jagielski testProperty("AutoShowInfo", AutoShowInfoTester); 113*b1cdbd2cSJim Jagielski } 114*b1cdbd2cSJim Jagielski _HasAutoShowInfo()115*b1cdbd2cSJim Jagielski public void _HasAutoShowInfo() { 116*b1cdbd2cSJim Jagielski requiredMethod("AutoShowInfo"); 117*b1cdbd2cSJim Jagielski testProperty("HasAutoShowInfo"); 118*b1cdbd2cSJim Jagielski } 119*b1cdbd2cSJim Jagielski 120*b1cdbd2cSJim Jagielski /** 121*b1cdbd2cSJim Jagielski *This class is destined to custom test of property <code>Reference</code>. 122*b1cdbd2cSJim Jagielski */ 123*b1cdbd2cSJim Jagielski protected PropertyTester ReferenceTester = new PropertyTester() { 124*b1cdbd2cSJim Jagielski protected Object getNewValue(String propName, Object oldValue) { 125*b1cdbd2cSJim Jagielski DataPilotFieldReference Reference = new DataPilotFieldReference(); 126*b1cdbd2cSJim Jagielski Reference.ReferenceField="Col1"; 127*b1cdbd2cSJim Jagielski Reference.ReferenceItemType = com.sun.star.sheet.DataPilotFieldReferenceItemType.NAMED; 128*b1cdbd2cSJim Jagielski log.println("Having Value and returning a new one"); 129*b1cdbd2cSJim Jagielski return Reference.equals(oldValue) ? null : Reference; 130*b1cdbd2cSJim Jagielski } 131*b1cdbd2cSJim Jagielski }; 132*b1cdbd2cSJim Jagielski 133*b1cdbd2cSJim Jagielski /** 134*b1cdbd2cSJim Jagielski * Test property <code>Reference</code> using custom <code>PropertyTest</code>. 135*b1cdbd2cSJim Jagielski */ _Reference()136*b1cdbd2cSJim Jagielski public void _Reference() { 137*b1cdbd2cSJim Jagielski testProperty("Reference", ReferenceTester); 138*b1cdbd2cSJim Jagielski } 139*b1cdbd2cSJim Jagielski _HasReference()140*b1cdbd2cSJim Jagielski public void _HasReference() { 141*b1cdbd2cSJim Jagielski requiredMethod("Reference"); 142*b1cdbd2cSJim Jagielski testProperty("HasReference"); 143*b1cdbd2cSJim Jagielski } 144*b1cdbd2cSJim Jagielski 145*b1cdbd2cSJim Jagielski /* 146*b1cdbd2cSJim Jagielski * this property can only set a true value to false, fo ungrouping purposes 147*b1cdbd2cSJim Jagielski */ _IsGroupField()148*b1cdbd2cSJim Jagielski public void _IsGroupField() { 149*b1cdbd2cSJim Jagielski boolean result = true; 150*b1cdbd2cSJim Jagielski try { 151*b1cdbd2cSJim Jagielski Boolean propValue = (Boolean) oObj.getPropertyValue ("IsGroupField"); 152*b1cdbd2cSJim Jagielski if (propValue.booleanValue ()) { 153*b1cdbd2cSJim Jagielski oObj.setPropertyValue ("IsGroupField", Boolean.FALSE); 154*b1cdbd2cSJim Jagielski Boolean propV = (Boolean) oObj.getPropertyValue ("IsGroupField"); 155*b1cdbd2cSJim Jagielski result = !propV.booleanValue (); 156*b1cdbd2cSJim Jagielski } 157*b1cdbd2cSJim Jagielski } catch (Exception e) { 158*b1cdbd2cSJim Jagielski log.println ("Exception while getting Property 'IsGroupField'"+e); 159*b1cdbd2cSJim Jagielski result = false; 160*b1cdbd2cSJim Jagielski } 161*b1cdbd2cSJim Jagielski tRes.tested ("IsGroupField",result); 162*b1cdbd2cSJim Jagielski } 163*b1cdbd2cSJim Jagielski } 164*b1cdbd2cSJim Jagielski 165*b1cdbd2cSJim Jagielski 166