2 * This file is part of the LibreOffice project.
4 * This Source Code Form is subject to the terms of the Mozilla Public
5 * License, v. 2.0. If a copy of the MPL was not distributed with this
6 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 * This file incorporates work covered by the following license notice:
10 * Licensed to the Apache Software Foundation (ASF) under one or more
11 * contributor license agreements. See the NOTICE file distributed
12 * with this work for additional information regarding copyright
13 * ownership. The ASF licenses this file to you under the Apache
14 * License, Version 2.0 (the "License"); you may not use this file
15 * except in compliance with the License. You may obtain a copy of
16 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18 package ifc
.configuration
.backend
;
20 import com
.sun
.star
.configuration
.backend
.XLayer
;
21 import com
.sun
.star
.configuration
.backend
.XLayerHandler
;
22 import com
.sun
.star
.io
.XActiveDataSink
;
23 import com
.sun
.star
.io
.XInputStream
;
24 import com
.sun
.star
.lang
.XMultiServiceFactory
;
25 import com
.sun
.star
.ucb
.XSimpleFileAccess
;
26 import com
.sun
.star
.uno
.Type
;
27 import com
.sun
.star
.uno
.UnoRuntime
;
29 import lib
.MultiMethodTest
;
31 import util
.XLayerHandlerImpl
;
34 public class _XLayerHandler
extends MultiMethodTest
{
35 public XLayerHandler oObj
= null;
37 /** this method contains the logic for all test methods
38 * the others will be passed OK if this one is
40 public void _endLayer() {
45 oObj
.overrideNode("org.openoffice.Setup", (short) 0, false);
46 oObj
.overrideNode("Office", (short) 0, false);
47 oObj
.overrideProperty("ooSetupInstCompleted", (short) 0,
48 new Type(java
.lang
.String
.class), false);
49 oObj
.setPropertyValue(new Boolean(false));
51 oObj
.overrideNode("Factories", (short) 0, false);
52 oObj
.addOrReplaceNode("com.sun.star.chart.ChartDocument",
54 oObj
.overrideProperty("ooSetupFactoryEmptyDocumentURL", (short) 0,
55 new Type(java
.lang
.String
.class), false);
56 oObj
.setPropertyValue("private:factory/schart");
58 oObj
.overrideProperty("ooSetupFactoryIcon", (short) 0,
59 new Type(java
.lang
.Long
.class), false);
60 oObj
.setPropertyValue(new Integer(13));
62 oObj
.overrideProperty("ooSetupFactoryShortName", (short) 0,
63 new Type(java
.lang
.String
.class), false);
64 oObj
.setPropertyValue("schart");
65 oObj
.setPropertyValueForLocale("TemplateFile", "en-US");
67 oObj
.overrideProperty("ooSetupFactoryTemplateFile", (short) 0,
68 new Type(java
.lang
.String
.class), false);
69 oObj
.setPropertyValue("empty");
71 oObj
.addProperty("ooSetupFactoryTemplateFile", (short) 0,
72 new Type(java
.lang
.String
.class));
73 oObj
.addPropertyWithValue("ooSetupFactoryTemplateFile", (short) 0,
77 oObj
.addOrReplaceNode("dropme", (short) 0);
78 oObj
.overrideProperty("anyway", (short) 0,
79 new Type(java
.lang
.String
.class), false);
80 oObj
.setPropertyValue("nice");
82 oObj
.dropNode("dropme");
85 oObj
.addOrReplaceNodeFromTemplate("FromTemplate",
86 new com
.sun
.star
.configuration
.backend
.TemplateIdentifier(
87 "org.openoffice.Setup",
96 Object LayerParser
= ((XMultiServiceFactory
) tParam
.getMSF()).createInstance(
97 "com.sun.star.comp.configuration.backend.xml.LayerParser");
99 XActiveDataSink xSink
= UnoRuntime
.queryInterface(
100 XActiveDataSink
.class, LayerParser
);
101 Object fileacc
= ((XMultiServiceFactory
) tParam
.getMSF()).createInstance(
102 "com.sun.star.comp.ucb.SimpleFileAccess");
103 XSimpleFileAccess simpleAccess
= UnoRuntime
.queryInterface(
104 XSimpleFileAccess
.class,
107 String filename
= util
.utils
.getOfficeTemp(
108 (XMultiServiceFactory
) tParam
.getMSF()) +
110 log
.println("Going to parse: " + filename
);
112 XInputStream xStream
= simpleAccess
.openFileRead(filename
);
114 xSink
.setInputStream(xStream
);
116 XLayer xLayer
= UnoRuntime
.queryInterface(XLayer
.class,
119 XLayerHandlerImpl xLayerHandler
= new XLayerHandlerImpl();
121 xLayer
.readData(xLayerHandler
);
123 res
= xLayerHandler
.getCalls().equals(getExpected());
126 log
.println("#### Getting: ");
127 log
.println(xLayerHandler
.getCalls());
128 log
.println("#### Expected: ");
129 log
.println(getExpected());
131 } catch (com
.sun
.star
.configuration
.backend
.MalformedDataException e
) {
132 log
.println("Unexpected Exception " + e
);
133 } catch (com
.sun
.star
.lang
.WrappedTargetException e
) {
134 log
.println("Unexpected Exception " + e
);
135 } catch (com
.sun
.star
.uno
.Exception e
) {
136 log
.println("Unexpected Exception " + e
);
139 tRes
.tested("endLayer()", res
);
142 public void _addOrReplaceNode() {
143 requiredMethod("endLayer()");
144 tRes
.tested("addOrReplaceNode()", true);
147 public void _addOrReplaceNodeFromTemplate() {
148 requiredMethod("endLayer()");
149 tRes
.tested("addOrReplaceNodeFromTemplate()", true);
152 public void _addProperty() {
153 requiredMethod("endLayer()");
154 tRes
.tested("addProperty()", true);
157 public void _addPropertyWithValue() {
158 requiredMethod("endLayer()");
159 tRes
.tested("addPropertyWithValue()", true);
162 public void _dropNode() {
163 requiredMethod("endLayer()");
164 tRes
.tested("dropNode()", true);
167 public void _endNode() {
168 requiredMethod("endLayer()");
169 tRes
.tested("endNode()", true);
172 public void _endProperty() {
173 requiredMethod("endLayer()");
174 tRes
.tested("endProperty()", true);
177 public void _overrideNode() {
178 requiredMethod("endLayer()");
179 tRes
.tested("overrideNode()", true);
182 public void _overrideProperty() {
183 requiredMethod("endLayer()");
184 tRes
.tested("overrideProperty()", true);
187 public void _setPropertyValue() {
188 requiredMethod("endLayer()");
189 tRes
.tested("setPropertyValue()", true);
192 public void _setPropertyValueForLocale() {
193 requiredMethod("endLayer()");
194 tRes
.tested("setPropertyValueForLocale()", true);
197 public void _startLayer() {
198 requiredMethod("endLayer()");
199 tRes
.tested("startLayer()", true);
202 protected String
getExpected() {
203 String ls
= System
.getProperty("line.separator");
204 String expected
= "startLayer();" + ls
;
205 expected
+= ("overrideNode(org.openoffice.Setup,0,false);" + ls
);
206 expected
+= ("overrideNode(Office,0,false);" + ls
);
207 expected
+= ("overrideProperty(ooSetupInstCompleted,0,Type[string],false);" + ls
);
208 expected
+= ("setPropertyValue(false);" + ls
);
209 expected
+= ("endProperty();" + ls
);
210 expected
+= ("overrideNode(Factories,0,false);" + ls
);
211 expected
+= ("addOrReplace(com.sun.star.chart.ChartDocument,0);" + ls
);
212 expected
+= ("overrideProperty(ooSetupFactoryEmptyDocumentURL,0,Type[string],false);" + ls
);
213 expected
+= ("setPropertyValue(private:factory/schart);" + ls
);
214 expected
+= ("endProperty();" + ls
);
215 expected
+= ("overrideProperty(ooSetupFactoryIcon,0,Type[hyper],false);" + ls
);
216 expected
+= ("setPropertyValue(13);" + ls
);
217 expected
+= ("endProperty();" + ls
);
218 expected
+= ("overrideProperty(ooSetupFactoryShortName,0,Type[string],false);" + ls
);
219 expected
+= ("setPropertyValue(schart);" + ls
);
220 expected
+= ("setPropertyValueForLocale(TemplateFile,en-US);" + ls
);
221 expected
+= ("endProperty();" + ls
);
222 expected
+= ("overrideProperty(ooSetupFactoryTemplateFile,0,Type[string],false);" + ls
);
223 expected
+= ("setPropertyValue(empty);" + ls
);
224 expected
+= ("endProperty();" + ls
);
225 expected
+= ("addProperty(ooSetupFactoryTemplateFile,0,Type[string]);" + ls
);
226 expected
+= ("addPropertyWithValue(ooSetupFactoryTemplateFile,0,TemplateFile);" + ls
);
227 expected
+= ("endNode();" + ls
);
228 expected
+= ("addOrReplace(dropme,0);" + ls
);
229 expected
+= ("overrideProperty(anyway,0,Type[string],false);" + ls
);
230 expected
+= ("setPropertyValue(nice);" + ls
);
231 expected
+= ("endProperty();" + ls
);
232 expected
+= ("dropNode(dropme);" + ls
);
233 expected
+= ("endNode();" + ls
);
234 expected
+= ("addOrReplace(FromTemplate,0);" + ls
);
235 expected
+= ("endNode();" + ls
);
236 expected
+= ("endNode();" + ls
);
237 expected
+= ("endNode();" + ls
);
238 expected
+= ("endNode();" + ls
);
239 expected
+= ("endLayer();" + ls
);