1*ef39d40dSAndrew Rist /************************************************************** 2cdf0e10cSrcweir * 3*ef39d40dSAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 4*ef39d40dSAndrew Rist * or more contributor license agreements. See the NOTICE file 5*ef39d40dSAndrew Rist * distributed with this work for additional information 6*ef39d40dSAndrew Rist * regarding copyright ownership. The ASF licenses this file 7*ef39d40dSAndrew Rist * to you under the Apache License, Version 2.0 (the 8*ef39d40dSAndrew Rist * "License"); you may not use this file except in compliance 9*ef39d40dSAndrew Rist * with the License. You may obtain a copy of the License at 10*ef39d40dSAndrew Rist * 11*ef39d40dSAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12*ef39d40dSAndrew Rist * 13*ef39d40dSAndrew Rist * Unless required by applicable law or agreed to in writing, 14*ef39d40dSAndrew Rist * software distributed under the License is distributed on an 15*ef39d40dSAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*ef39d40dSAndrew Rist * KIND, either express or implied. See the License for the 17*ef39d40dSAndrew Rist * specific language governing permissions and limitations 18*ef39d40dSAndrew Rist * under the License. 19*ef39d40dSAndrew Rist * 20*ef39d40dSAndrew Rist *************************************************************/ 21*ef39d40dSAndrew Rist 22*ef39d40dSAndrew Rist 23cdf0e10cSrcweir package ifc.util; 24cdf0e10cSrcweir 25cdf0e10cSrcweir import com.sun.star.util.XProtectable; 26cdf0e10cSrcweir import lib.MultiMethodTest; 27cdf0e10cSrcweir 28cdf0e10cSrcweir /** 29cdf0e10cSrcweir * Check the XProtectable interface. 30cdf0e10cSrcweir */ 31cdf0e10cSrcweir public class _XProtectable extends MultiMethodTest { 32cdf0e10cSrcweir public XProtectable oObj = null; 33cdf0e10cSrcweir String sPassWord = "TopSecret"; 34cdf0e10cSrcweir 35cdf0e10cSrcweir /** 36cdf0e10cSrcweir * Check, if the sheet is protected. 37cdf0e10cSrcweir * Has OK status, if this is the case. 38cdf0e10cSrcweir */ _isProtected()39cdf0e10cSrcweir public void _isProtected() { 40cdf0e10cSrcweir requiredMethod("protect()"); 41cdf0e10cSrcweir boolean result = oObj.isProtected(); 42cdf0e10cSrcweir tRes.tested("isProtected()", result); 43cdf0e10cSrcweir } 44cdf0e10cSrcweir 45cdf0e10cSrcweir /** 46cdf0e10cSrcweir * Protect the sheet 47cdf0e10cSrcweir */ _protect()48cdf0e10cSrcweir public void _protect() { 49cdf0e10cSrcweir oObj.protect(sPassWord); 50cdf0e10cSrcweir tRes.tested("protect()", true); 51cdf0e10cSrcweir } 52cdf0e10cSrcweir 53cdf0e10cSrcweir /** 54cdf0e10cSrcweir * Unprotect with wrong password, see if it's still protected. 55cdf0e10cSrcweir * Unprotect with correct password, see if it's unprotected. 56cdf0e10cSrcweir */ _unprotect()57cdf0e10cSrcweir public void _unprotect() { 58cdf0e10cSrcweir requiredMethod("isProtected()"); 59cdf0e10cSrcweir boolean result = true; 60cdf0e10cSrcweir try { 61cdf0e10cSrcweir oObj.unprotect("WrongPassword"); 62cdf0e10cSrcweir // result = false; 63cdf0e10cSrcweir } 64cdf0e10cSrcweir catch(com.sun.star.lang.IllegalArgumentException e) { 65cdf0e10cSrcweir log.println("Correct Exception thrown."); 66cdf0e10cSrcweir } 67cdf0e10cSrcweir // just check if it's still protected 68cdf0e10cSrcweir result &= oObj.isProtected(); 69cdf0e10cSrcweir try { 70cdf0e10cSrcweir oObj.unprotect(sPassWord); 71cdf0e10cSrcweir } 72cdf0e10cSrcweir catch(com.sun.star.lang.IllegalArgumentException e) { 73cdf0e10cSrcweir log.println("Wrong Exception thrown: password is correct."); 74cdf0e10cSrcweir result = false; 75cdf0e10cSrcweir } 76cdf0e10cSrcweir result &= !oObj.isProtected(); 77cdf0e10cSrcweir tRes.tested("unprotect()", result); 78cdf0e10cSrcweir } 79cdf0e10cSrcweir 80cdf0e10cSrcweir } 81