1*ef39d40dSAndrew Rist /************************************************************** 2*ef39d40dSAndrew Rist * 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 22cdf0e10cSrcweir /* 23cdf0e10cSrcweir * _XSingleLayerStratum.java 24cdf0e10cSrcweir * 25cdf0e10cSrcweir * Created on 23. March 2004, 16:37 26cdf0e10cSrcweir */ 27cdf0e10cSrcweir package ifc.configuration.backend; 28cdf0e10cSrcweir import com.sun.star.configuration.backend.XLayer; 29cdf0e10cSrcweir import com.sun.star.configuration.backend.XSingleLayerStratum; 30cdf0e10cSrcweir import com.sun.star.configuration.backend.XUpdatableLayer; 31cdf0e10cSrcweir 32cdf0e10cSrcweir import lib.MultiMethodTest; 33cdf0e10cSrcweir 34cdf0e10cSrcweir import util.XLayerHandlerImpl; 35cdf0e10cSrcweir 36cdf0e10cSrcweir 37cdf0e10cSrcweir public class _XSingleLayerStratum extends MultiMethodTest { 38cdf0e10cSrcweir public XSingleLayerStratum oObj; 39cdf0e10cSrcweir _getLayer()40cdf0e10cSrcweir public void _getLayer() { 41cdf0e10cSrcweir String aLayerID = "org.openoffice.Office.Common"; 42cdf0e10cSrcweir boolean res = true; 43cdf0e10cSrcweir 44cdf0e10cSrcweir try { 45cdf0e10cSrcweir XLayer aLayer = oObj.getLayer("", ""); 46cdf0e10cSrcweir log.println("Exception expected -- FAILED"); 47cdf0e10cSrcweir res = false; 48cdf0e10cSrcweir } catch (com.sun.star.configuration.backend.BackendAccessException e) { 49cdf0e10cSrcweir log.println("unexpected Exception " + e + " -- FAILED"); 50cdf0e10cSrcweir res = false; 51cdf0e10cSrcweir } catch (com.sun.star.lang.IllegalArgumentException e) { 52cdf0e10cSrcweir log.println("expected Exception -- OK"); 53cdf0e10cSrcweir } 54cdf0e10cSrcweir 55cdf0e10cSrcweir try { 56cdf0e10cSrcweir XLayer aLayer = oObj.getLayer(aLayerID, ""); 57cdf0e10cSrcweir res &= (aLayer != null); 58cdf0e10cSrcweir 59cdf0e10cSrcweir if (aLayer == null) { 60cdf0e10cSrcweir log.println("\treturned Layer is NULL -- FAILED"); 61cdf0e10cSrcweir } 62cdf0e10cSrcweir 63cdf0e10cSrcweir res &= checkLayer(aLayer); 64cdf0e10cSrcweir } catch (com.sun.star.configuration.backend.BackendAccessException e) { 65cdf0e10cSrcweir log.println("unexpected Exception -- FAILED"); 66cdf0e10cSrcweir res = false; 67cdf0e10cSrcweir } catch (com.sun.star.lang.IllegalArgumentException e) { 68cdf0e10cSrcweir log.println("unexpected Exception -- FAILED"); 69cdf0e10cSrcweir res = false; 70cdf0e10cSrcweir } 71cdf0e10cSrcweir 72cdf0e10cSrcweir tRes.tested("getLayer()", res); 73cdf0e10cSrcweir } 74cdf0e10cSrcweir _getUpdatableLayer()75cdf0e10cSrcweir public void _getUpdatableLayer() { 76cdf0e10cSrcweir String aLayerID = "org.openoffice.Office.Common"; 77cdf0e10cSrcweir boolean res = true; 78cdf0e10cSrcweir 79cdf0e10cSrcweir try { 80cdf0e10cSrcweir XUpdatableLayer aLayer = oObj.getUpdatableLayer(""); 81cdf0e10cSrcweir log.println("Exception expected -- FAILED"); 82cdf0e10cSrcweir res = false; 83cdf0e10cSrcweir } catch (com.sun.star.configuration.backend.BackendAccessException e) { 84cdf0e10cSrcweir log.println("unexpected Exception " + e + " -- FAILED"); 85cdf0e10cSrcweir res = false; 86cdf0e10cSrcweir } catch (com.sun.star.lang.IllegalArgumentException e) { 87cdf0e10cSrcweir log.println("expected Exception -- OK"); 88cdf0e10cSrcweir } catch (com.sun.star.lang.NoSupportException e) { 89cdf0e10cSrcweir log.println("unexpected Exception -- FAILED"); 90cdf0e10cSrcweir res = false; 91cdf0e10cSrcweir } 92cdf0e10cSrcweir 93cdf0e10cSrcweir try { 94cdf0e10cSrcweir XUpdatableLayer aLayer = oObj.getUpdatableLayer(aLayerID); 95cdf0e10cSrcweir res &= (aLayer != null); 96cdf0e10cSrcweir 97cdf0e10cSrcweir if (aLayer == null) { 98cdf0e10cSrcweir log.println("\treturned Layer is NULL -- FAILED"); 99cdf0e10cSrcweir } 100cdf0e10cSrcweir 101cdf0e10cSrcweir res &= checkLayer(aLayer); 102cdf0e10cSrcweir } catch (com.sun.star.configuration.backend.BackendAccessException e) { 103cdf0e10cSrcweir log.println("unexpected Exception -- FAILED"); 104cdf0e10cSrcweir res = false; 105cdf0e10cSrcweir } catch (com.sun.star.lang.IllegalArgumentException e) { 106cdf0e10cSrcweir log.println("unexpected Exception -- FAILED"); 107cdf0e10cSrcweir res = false; 108cdf0e10cSrcweir } catch (com.sun.star.lang.NoSupportException e) { 109cdf0e10cSrcweir log.println("unexpected Exception -- FAILED"); 110cdf0e10cSrcweir res = false; 111cdf0e10cSrcweir } 112cdf0e10cSrcweir 113cdf0e10cSrcweir tRes.tested("getUpdatableLayer()", res); 114cdf0e10cSrcweir } 115cdf0e10cSrcweir checkLayer(XLayer aLayer)116cdf0e10cSrcweir protected boolean checkLayer(XLayer aLayer) { 117cdf0e10cSrcweir boolean res = false; 118cdf0e10cSrcweir 119cdf0e10cSrcweir log.println("Checking for Exception in case of null argument"); 120cdf0e10cSrcweir 121cdf0e10cSrcweir try { 122cdf0e10cSrcweir aLayer.readData(null); 123cdf0e10cSrcweir } catch (com.sun.star.lang.NullPointerException e) { 124cdf0e10cSrcweir log.println("Expected Exception -- OK"); 125cdf0e10cSrcweir res = true; 126cdf0e10cSrcweir } catch (com.sun.star.lang.WrappedTargetException e) { 127cdf0e10cSrcweir log.println("Unexpected Exception (" + e + ") -- FAILED"); 128cdf0e10cSrcweir } catch (com.sun.star.configuration.backend.MalformedDataException e) { 129cdf0e10cSrcweir log.println("Unexpected Exception (" + e + ") -- FAILED"); 130cdf0e10cSrcweir } 131cdf0e10cSrcweir 132cdf0e10cSrcweir log.println("checking read data with own XLayerHandler implementation"); 133cdf0e10cSrcweir 134cdf0e10cSrcweir try { 135cdf0e10cSrcweir XLayerHandlerImpl xLayerHandler = new XLayerHandlerImpl(); 136cdf0e10cSrcweir aLayer.readData(xLayerHandler); 137cdf0e10cSrcweir 138cdf0e10cSrcweir String implCalled = xLayerHandler.getCalls(); 139cdf0e10cSrcweir log.println(implCalled); 140cdf0e10cSrcweir 141cdf0e10cSrcweir int sl = implCalled.indexOf("startLayer"); 142cdf0e10cSrcweir 143cdf0e10cSrcweir if (sl < 0) { 144cdf0e10cSrcweir log.println("startLayer wasn't called -- FAILED"); 145cdf0e10cSrcweir res &= false; 146cdf0e10cSrcweir } else { 147cdf0e10cSrcweir log.println("startLayer was called -- OK"); 148cdf0e10cSrcweir res &= true; 149cdf0e10cSrcweir } 150cdf0e10cSrcweir 151cdf0e10cSrcweir int el = implCalled.indexOf("endLayer"); 152cdf0e10cSrcweir 153cdf0e10cSrcweir if (el < 0) { 154cdf0e10cSrcweir log.println("endLayer wasn't called -- FAILED"); 155cdf0e10cSrcweir res &= false; 156cdf0e10cSrcweir } else { 157cdf0e10cSrcweir log.println("endLayer was called -- OK"); 158cdf0e10cSrcweir res &= true; 159cdf0e10cSrcweir } 160cdf0e10cSrcweir } catch (com.sun.star.lang.NullPointerException e) { 161cdf0e10cSrcweir log.println("Unexpected Exception (" + e + ") -- FAILED"); 162cdf0e10cSrcweir res &= false; 163cdf0e10cSrcweir } catch (com.sun.star.lang.WrappedTargetException e) { 164cdf0e10cSrcweir log.println("Unexpected Exception (" + e + ") -- FAILED"); 165cdf0e10cSrcweir res &= false; 166cdf0e10cSrcweir } catch (com.sun.star.configuration.backend.MalformedDataException e) { 167cdf0e10cSrcweir log.println("Unexpected Exception (" + e + ") -- FAILED"); 168cdf0e10cSrcweir res &= false; 169cdf0e10cSrcweir } 170cdf0e10cSrcweir 171cdf0e10cSrcweir return res; 172cdf0e10cSrcweir } 173cdf0e10cSrcweir } 174