xref: /AOO42X/main/qadevOOo/runner/convwatch/GraphicalTestArguments.java (revision 888f552b4a6ca8324a48ef4c05980d0811ff5beb)
1ef39d40dSAndrew Rist /**************************************************************
2cdf0e10cSrcweir  *
3ef39d40dSAndrew Rist  * Licensed to the Apache Software Foundation (ASF) under one
4ef39d40dSAndrew Rist  * or more contributor license agreements.  See the NOTICE file
5ef39d40dSAndrew Rist  * distributed with this work for additional information
6ef39d40dSAndrew Rist  * regarding copyright ownership.  The ASF licenses this file
7ef39d40dSAndrew Rist  * to you under the Apache License, Version 2.0 (the
8ef39d40dSAndrew Rist  * "License"); you may not use this file except in compliance
9ef39d40dSAndrew Rist  * with the License.  You may obtain a copy of the License at
10cdf0e10cSrcweir  *
11ef39d40dSAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
12cdf0e10cSrcweir  *
13ef39d40dSAndrew Rist  * Unless required by applicable law or agreed to in writing,
14ef39d40dSAndrew Rist  * software distributed under the License is distributed on an
15ef39d40dSAndrew Rist  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16ef39d40dSAndrew Rist  * KIND, either express or implied.  See the License for the
17ef39d40dSAndrew Rist  * specific language governing permissions and limitations
18ef39d40dSAndrew Rist  * under the License.
19cdf0e10cSrcweir  *
20ef39d40dSAndrew Rist  *************************************************************/
21ef39d40dSAndrew Rist 
22cdf0e10cSrcweir package convwatch;
23cdf0e10cSrcweir 
24cdf0e10cSrcweir import com.sun.star.lang.XMultiServiceFactory;
25cdf0e10cSrcweir import lib.TestParameters;
26cdf0e10cSrcweir import java.io.File;
27cdf0e10cSrcweir 
28cdf0e10cSrcweir import com.sun.star.container.XNameAccess;
29cdf0e10cSrcweir import com.sun.star.uno.UnoRuntime;
30cdf0e10cSrcweir 
31cdf0e10cSrcweir /**
32cdf0e10cSrcweir  * This class object is more a Helper or Controller.
33cdf0e10cSrcweir  * It stores information like:
3421c145e3Smseidel  * - How to create a document (with a OpenOffice method, or with MS Word, or with OpenOffice as pdf)
3521c145e3Smseidel  * - some more info for OpenOffice method
36cdf0e10cSrcweir  *   - a service factory pointer
37cdf0e10cSrcweir  *   - if hidden mode should use
38cdf0e10cSrcweir  *   - target name
39cdf0e10cSrcweir  *
40cdf0e10cSrcweir  * - printer name
41cdf0e10cSrcweir  *
42cdf0e10cSrcweir  * - how to handle .xml files, which in Microsoft could be Excel or Word documents
43cdf0e10cSrcweir  *
44cdf0e10cSrcweir  * HOWTO USE:
4521c145e3Smseidel  * For AOO,
46cdf0e10cSrcweir  *   create an GraphicalTestArguments with a set of TestParameters
47cdf0e10cSrcweir  *    GraphicalTestArguments a = new GraphicalTestArguments(params);
48cdf0e10cSrcweir  *
49cdf0e10cSrcweir  *  If you wish to use pdf export instead of normal printer output, set also the reference type to 'pdf'
50cdf0e10cSrcweir  *    a.setReferenceType("pdf");
51cdf0e10cSrcweir  *
52cdf0e10cSrcweir  *
53cdf0e10cSrcweir  * For MS Office:
54cdf0e10cSrcweir  *   create an GraphicalTestArguments and set the reference type to 'msoffice'
55cdf0e10cSrcweir  *    GraphicalTestArguments a = new GraphicalTestArguments(params);
56cdf0e10cSrcweir  *    a.setReferenceType("msoffice");
57cdf0e10cSrcweir  *
58cdf0e10cSrcweir  * within windows it's better to set also a printer name so it's simply possible to use for normal work the default printer
59cdf0e10cSrcweir  * and for such tests with ConvWatch a extra printer.
60cdf0e10cSrcweir  *    a.setPrinterName("CrossOffice Printer");
61cdf0e10cSrcweir  *
62cdf0e10cSrcweir  */
63cdf0e10cSrcweir 
64cdf0e10cSrcweir public class GraphicalTestArguments
65cdf0e10cSrcweir {
66cdf0e10cSrcweir     /**
67*888f552bSmseidel     TODO:
68cdf0e10cSrcweir     Possible reference types are currently
69cdf0e10cSrcweir     // ooo
70cdf0e10cSrcweir     // pdf
71cdf0e10cSrcweir     // msoffice
72cdf0e10cSrcweir     */
73cdf0e10cSrcweir     String m_sReferenceType = "OOo";
74cdf0e10cSrcweir 
75cdf0e10cSrcweir     String m_sTargetFrameName = "_blank";
76cdf0e10cSrcweir 
77cdf0e10cSrcweir     String m_sPrinterName = null;
78cdf0e10cSrcweir 
7921c145e3Smseidel     // Hidden = true hides a used OpenOffice, all code is executed in the background
80cdf0e10cSrcweir     // This parameter is not used for RefType: msoffice
81cdf0e10cSrcweir     boolean m_bHidden = true;
82cdf0e10cSrcweir 
83cdf0e10cSrcweir     String m_sDefaultXMLFormatApplication = null;
84cdf0e10cSrcweir 
85cdf0e10cSrcweir     boolean m_bIncludeSubdirectories;
86cdf0e10cSrcweir 
87cdf0e10cSrcweir     TestParameters m_aCurrentParams;
88cdf0e10cSrcweir 
89cdf0e10cSrcweir     int m_nMaxPages = 0;                           // default is 0 (print all pages)
90cdf0e10cSrcweir     String m_sOnlyPage = "";                       // default is "", there is no page which we want to print only.
91cdf0e10cSrcweir 
92cdf0e10cSrcweir     int m_nResolutionInDPI = 0;
93cdf0e10cSrcweir 
94cdf0e10cSrcweir     boolean m_bStoreFile = true;
95cdf0e10cSrcweir     boolean m_bResuseOffice = false;
96cdf0e10cSrcweir 
97cdf0e10cSrcweir     boolean m_bDebugMode = false;
98cdf0e10cSrcweir 
99cdf0e10cSrcweir     String m_sLeaveOutNames = null;
100cdf0e10cSrcweir 
101cdf0e10cSrcweir     String m_sDistinct = null;
102cdf0e10cSrcweir 
103cdf0e10cSrcweir     boolean m_bCreateDefaultReference = false;
104cdf0e10cSrcweir 
105cdf0e10cSrcweir     // CONSTRUCTOR
GraphicalTestArguments()106cdf0e10cSrcweir     private GraphicalTestArguments(){}
107cdf0e10cSrcweir 
GraphicalTestArguments(TestParameters param)108cdf0e10cSrcweir     public GraphicalTestArguments(TestParameters param)
109cdf0e10cSrcweir         {
110cdf0e10cSrcweir             m_aCurrentParams = param;
111cdf0e10cSrcweir             // collect interesting information from the ComplexTestCase
112cdf0e10cSrcweir             // ....
113cdf0e10cSrcweir 
114cdf0e10cSrcweir             // REFERENCE_TYPE ----------
115cdf0e10cSrcweir             String sReferenceType = (String)param.get( PropertyName.DOC_COMPARATOR_REFERENCE_TYPE );
116cdf0e10cSrcweir             if (sReferenceType == null || sReferenceType.length() == 0)
117cdf0e10cSrcweir             {
118cdf0e10cSrcweir             }
119cdf0e10cSrcweir             else
120cdf0e10cSrcweir             {
121cdf0e10cSrcweir                 // log.println("found REFERENCE_TYPE " + sReferenceType );
122cdf0e10cSrcweir                 setReferenceType(sReferenceType);
123cdf0e10cSrcweir             }
124cdf0e10cSrcweir 
125cdf0e10cSrcweir             // PRINTER_NAME ----------
126cdf0e10cSrcweir             String sPrinterName = (String)param.get( PropertyName.DOC_COMPARATOR_PRINTER_NAME );
127cdf0e10cSrcweir             if (sPrinterName == null || sPrinterName.length() == 0)
128cdf0e10cSrcweir             {
129cdf0e10cSrcweir             }
130cdf0e10cSrcweir             else
131cdf0e10cSrcweir             {
132cdf0e10cSrcweir                 // log.println("found PRINTER_NAME " + sPrinterName );
133cdf0e10cSrcweir                 setPrinterName(sPrinterName);
134cdf0e10cSrcweir             }
135cdf0e10cSrcweir             // DEFAULT_XML_FORMAT_APP ------
136cdf0e10cSrcweir             String sDefaultXMLFormatApp = (String)param.get( PropertyName.DOC_COMPARATOR_DEFAULT_XML_FORMAT_APP );
137cdf0e10cSrcweir             if (sDefaultXMLFormatApp == null || sDefaultXMLFormatApp.length() == 0)
138cdf0e10cSrcweir             {
139cdf0e10cSrcweir             }
140cdf0e10cSrcweir             else
141cdf0e10cSrcweir             {
142cdf0e10cSrcweir                 setDefaultXMLFormatApp(sDefaultXMLFormatApp);
143cdf0e10cSrcweir             }
144cdf0e10cSrcweir 
145cdf0e10cSrcweir             m_bIncludeSubdirectories = true;
146cdf0e10cSrcweir             String sRECURSIVE = (String)param.get( PropertyName.DOC_COMPARATOR_INCLUDE_SUBDIRS );
147cdf0e10cSrcweir // TODO: I need to get the boolean value with get("name") because, if it is not given getBool() returns
148cdf0e10cSrcweir //       with a default of 'false' which is not very helpful if the default should be 'true'
14921c145e3Smseidel //       maybe a getBoolean("name", true) could be a better choice.
150cdf0e10cSrcweir             if (sRECURSIVE == null)
151cdf0e10cSrcweir             {
152cdf0e10cSrcweir                 sRECURSIVE = "true";
153cdf0e10cSrcweir             }
154cdf0e10cSrcweir             if (sRECURSIVE.toLowerCase().equals("no") ||
155cdf0e10cSrcweir                 sRECURSIVE.toLowerCase().equals("false"))
156cdf0e10cSrcweir             {
157cdf0e10cSrcweir                 m_bIncludeSubdirectories = false;
158cdf0e10cSrcweir             }
159cdf0e10cSrcweir 
160cdf0e10cSrcweir             // ----------------------------------------
161cdf0e10cSrcweir             m_nMaxPages = param.getInt( PropertyName.DOC_COMPARATOR_PRINT_MAX_PAGE );
162cdf0e10cSrcweir             m_sOnlyPage = (String)param.get(PropertyName.DOC_COMPARATOR_PRINT_ONLY_PAGE);
163cdf0e10cSrcweir 
164cdf0e10cSrcweir             m_nResolutionInDPI = param.getInt( PropertyName.DOC_COMPARATOR_GFX_OUTPUT_DPI_RESOLUTION );
165cdf0e10cSrcweir             if (m_nResolutionInDPI == 0)
166cdf0e10cSrcweir             {
167cdf0e10cSrcweir                 // 212 DPI is 1754 x 2474 pixel for DIN A4
168cdf0e10cSrcweir                 m_nResolutionInDPI = 212;
169cdf0e10cSrcweir             }
170cdf0e10cSrcweir 
171cdf0e10cSrcweir             // ----------------------------------------
172cdf0e10cSrcweir             String sImportFilterName = (String)param.get(PropertyName.DOC_CONVERTER_IMPORT_FILTER_NAME);
173cdf0e10cSrcweir             if (sImportFilterName != null && sImportFilterName.length() > 0)
174cdf0e10cSrcweir             {
175cdf0e10cSrcweir                 // System.out.println("found " + PropertyName.DOC_CONVERTER_IMPORT_FILTER_NAME + " " + sImportFilterName );
176cdf0e10cSrcweir                 m_sImportFilterName = sImportFilterName;
177cdf0e10cSrcweir 
178cdf0e10cSrcweir                 if (sImportFilterName.toLowerCase().equals("help"))
179cdf0e10cSrcweir                 {
180cdf0e10cSrcweir                     showInternalFilterName(sImportFilterName, getMultiServiceFactory() );
181cdf0e10cSrcweir                     GlobalLogWriter.get().println("Must quit.");
182cdf0e10cSrcweir                 }
183cdf0e10cSrcweir             }
184cdf0e10cSrcweir             // ----------------------------------------
185cdf0e10cSrcweir             String sExportFilterName = (String)param.get(PropertyName.DOC_CONVERTER_EXPORT_FILTER_NAME);
186cdf0e10cSrcweir             if (sExportFilterName != null && sExportFilterName.length() > 0)
187cdf0e10cSrcweir             {
188cdf0e10cSrcweir                 // System.out.println("found " + PropertyName.DOC_CONVERTER_EXPORT_FILTER_NAME + " " + sExportFilterName );
189cdf0e10cSrcweir                 m_sExportFilterName = sExportFilterName;
190cdf0e10cSrcweir                 if (sExportFilterName.toLowerCase().equals("help"))
191cdf0e10cSrcweir                 {
192cdf0e10cSrcweir                     showInternalFilterName(sExportFilterName, getMultiServiceFactory() );
193cdf0e10cSrcweir                     GlobalLogWriter.get().println("Must quit.");
194cdf0e10cSrcweir                 }
195cdf0e10cSrcweir             }
196cdf0e10cSrcweir 
197cdf0e10cSrcweir             // ----------------------------------------
198cdf0e10cSrcweir             String sOfficeProgram = (String)param.get(PropertyName.DOC_CONVERTER_OFFICE_PROGRAM);
199cdf0e10cSrcweir             if (sOfficeProgram != null && sOfficeProgram.length() > 0)
200cdf0e10cSrcweir             {
201cdf0e10cSrcweir                 m_sOfficeProgram = sOfficeProgram;
202cdf0e10cSrcweir             }
203cdf0e10cSrcweir             // ----------------------------------------
204cdf0e10cSrcweir             String sREUSE_OFFICE = (String)param.get( PropertyName.DOC_CONVERTER_REUSE_OFFICE);
205cdf0e10cSrcweir             if (sREUSE_OFFICE == null)
206cdf0e10cSrcweir             {
207cdf0e10cSrcweir                 sREUSE_OFFICE = "false";
208cdf0e10cSrcweir             }
209cdf0e10cSrcweir             if (sREUSE_OFFICE.toLowerCase().equals("yes") ||
210cdf0e10cSrcweir                 sREUSE_OFFICE.toLowerCase().equals("true"))
211cdf0e10cSrcweir             {
212cdf0e10cSrcweir                 m_bResuseOffice = true;
213cdf0e10cSrcweir             }
214cdf0e10cSrcweir             else
215cdf0e10cSrcweir             {
216cdf0e10cSrcweir                 m_bResuseOffice = false;
217cdf0e10cSrcweir             }
218cdf0e10cSrcweir 
219cdf0e10cSrcweir 
220cdf0e10cSrcweir             String sHTMLOutputPrefix = (String)param.get( PropertyName.DOC_COMPARATOR_HTML_OUTPUT_PREFIX);
221cdf0e10cSrcweir             if (sHTMLOutputPrefix == null)
222cdf0e10cSrcweir             {
223cdf0e10cSrcweir                 m_sHTMLOutputPrefix = "";
224cdf0e10cSrcweir             }
225cdf0e10cSrcweir             else
226cdf0e10cSrcweir             {
227cdf0e10cSrcweir                 m_sHTMLOutputPrefix = sHTMLOutputPrefix;
228cdf0e10cSrcweir             }
229cdf0e10cSrcweir 
230cdf0e10cSrcweir             String sWithBorderMove = (String)param.get( PropertyName.DOC_COMPARATOR_GFXCMP_WITH_BORDERMOVE);
231cdf0e10cSrcweir             if (sWithBorderMove == null)
232cdf0e10cSrcweir             {
233cdf0e10cSrcweir                 sWithBorderMove = "";
234cdf0e10cSrcweir                 // m_tWithBorderMove = TriState.UNSET;
235cdf0e10cSrcweir                 m_tWithBorderMove = TriState.FALSE;
236cdf0e10cSrcweir             }
237cdf0e10cSrcweir             if (sWithBorderMove.toLowerCase().equals("yes") ||
238cdf0e10cSrcweir                 sWithBorderMove.toLowerCase().equals("true"))
239cdf0e10cSrcweir             {
240cdf0e10cSrcweir                 m_tWithBorderMove = TriState.TRUE;
241cdf0e10cSrcweir             }
242cdf0e10cSrcweir             else if (sWithBorderMove.toLowerCase().equals("no") ||
243cdf0e10cSrcweir                      sWithBorderMove.toLowerCase().equals("false"))
244cdf0e10cSrcweir             {
245cdf0e10cSrcweir                 m_tWithBorderMove = TriState.FALSE;
246cdf0e10cSrcweir             }
247cdf0e10cSrcweir             else
248cdf0e10cSrcweir             {
249cdf0e10cSrcweir                 m_tWithBorderMove = TriState.FALSE;
250cdf0e10cSrcweir                 // m_tWithBorderMove = TriState.UNSET;
251cdf0e10cSrcweir             }
252cdf0e10cSrcweir 
253cdf0e10cSrcweir             String sLeaveOutNames = (String)param.get(PropertyName.DOC_COMPARATOR_LEAVE_OUT_FILES);
254cdf0e10cSrcweir             if (sLeaveOutNames != null)
255cdf0e10cSrcweir             {
256cdf0e10cSrcweir                 m_sLeaveOutNames = sLeaveOutNames;
257cdf0e10cSrcweir             }
258cdf0e10cSrcweir 
259cdf0e10cSrcweir             String sDBInfoString = (String)param.get(PropertyName.DOC_COMPARATOR_DB_INFO_STRING);
260cdf0e10cSrcweir             if (sDBInfoString != null)
261cdf0e10cSrcweir             {
262cdf0e10cSrcweir                 m_sDBInfoString = sDBInfoString;
263cdf0e10cSrcweir             }
264cdf0e10cSrcweir 
265cdf0e10cSrcweir             // DISTINCT ----------
266cdf0e10cSrcweir             String sDistinct = (String)param.get( "DISTINCT" );
267cdf0e10cSrcweir             if (sDistinct == null || sDistinct.length() == 0)
268cdf0e10cSrcweir             {
269cdf0e10cSrcweir                 sDistinct = "";
270cdf0e10cSrcweir             }
271cdf0e10cSrcweir             else
272cdf0e10cSrcweir             {
273cdf0e10cSrcweir                 m_sDistinct = sDistinct;
274cdf0e10cSrcweir             }
275cdf0e10cSrcweir             // HIDDEN
276cdf0e10cSrcweir             String sOfficeViewable = (String)param.get(PropertyName.OFFICE_VIEWABLE);
277cdf0e10cSrcweir             if (sOfficeViewable != null)
278cdf0e10cSrcweir             {
279cdf0e10cSrcweir                 if (sOfficeViewable.toLowerCase().equals("yes") ||
280cdf0e10cSrcweir                     sOfficeViewable.toLowerCase().equals("true"))
281cdf0e10cSrcweir                 {
282cdf0e10cSrcweir                     setViewable();
283cdf0e10cSrcweir                 }
284cdf0e10cSrcweir                 else
285cdf0e10cSrcweir                 {
286cdf0e10cSrcweir                     setHidden();
287cdf0e10cSrcweir                 }
288cdf0e10cSrcweir             }
289cdf0e10cSrcweir             // CREATE_DEFAULT
290cdf0e10cSrcweir             String sCreateDefault = (String)param.get(PropertyName.CREATE_DEFAULT);
291cdf0e10cSrcweir             if (sCreateDefault != null)
292cdf0e10cSrcweir             {
293cdf0e10cSrcweir                 if (sCreateDefault.toLowerCase().equals("yes") ||
294cdf0e10cSrcweir                     sCreateDefault.toLowerCase().equals("true"))
295cdf0e10cSrcweir                 {
296cdf0e10cSrcweir                     m_bCreateDefaultReference = true;
297cdf0e10cSrcweir                 }
298cdf0e10cSrcweir                 else
299cdf0e10cSrcweir                 {
300cdf0e10cSrcweir                     m_bCreateDefaultReference = false;
301cdf0e10cSrcweir                 }
302cdf0e10cSrcweir             }
303cdf0e10cSrcweir 
304cdf0e10cSrcweir         }
305cdf0e10cSrcweir 
checkIfUsableDocumentType(String _sName)306cdf0e10cSrcweir     public boolean checkIfUsableDocumentType(String _sName)
307cdf0e10cSrcweir         {
308cdf0e10cSrcweir             // @todo
309cdf0e10cSrcweir             // check if the name is in the leave out list and then return 'false'
310cdf0e10cSrcweir             if (_sName.toLowerCase().endsWith(".jpg") ||
311cdf0e10cSrcweir                 _sName.toLowerCase().endsWith(".png") ||
312cdf0e10cSrcweir                 _sName.toLowerCase().endsWith(".gif") ||
313cdf0e10cSrcweir                 _sName.toLowerCase().endsWith(".bmp") ||
314cdf0e10cSrcweir                 _sName.toLowerCase().endsWith(".prn") ||
315cdf0e10cSrcweir                 _sName.toLowerCase().endsWith(".ps"))
316cdf0e10cSrcweir             {
317cdf0e10cSrcweir                 return false;
318cdf0e10cSrcweir             }
319cdf0e10cSrcweir 
320cdf0e10cSrcweir             return true;
321cdf0e10cSrcweir         }
322cdf0e10cSrcweir 
showInternalFilterName(String _sFilterName, XMultiServiceFactory _xMSF)323cdf0e10cSrcweir     static void showInternalFilterName(String _sFilterName, XMultiServiceFactory _xMSF)
324cdf0e10cSrcweir         {
325cdf0e10cSrcweir             if (_sFilterName.length() == 0)
326cdf0e10cSrcweir             {
327cdf0e10cSrcweir                 // System.out.println("No FilterName set.");
328cdf0e10cSrcweir                 return;
329cdf0e10cSrcweir             }
330cdf0e10cSrcweir 
331cdf0e10cSrcweir             if (_xMSF == null)
332cdf0e10cSrcweir             {
333cdf0e10cSrcweir                 GlobalLogWriter.get().println("MultiServiceFactory not set.");
334cdf0e10cSrcweir                 return;
335cdf0e10cSrcweir             }
336cdf0e10cSrcweir             // XFilterFactory aFilterFactory = null;
337cdf0e10cSrcweir             Object aObj = null;
338cdf0e10cSrcweir             try
339cdf0e10cSrcweir             {
340cdf0e10cSrcweir                 aObj = _xMSF.createInstance("com.sun.star.document.FilterFactory");
341cdf0e10cSrcweir             }
342cdf0e10cSrcweir             catch(com.sun.star.uno.Exception e)
343cdf0e10cSrcweir             {
344cdf0e10cSrcweir                 GlobalLogWriter.get().println("Can't get com.sun.star.document.FilterFactory.");
345cdf0e10cSrcweir                 return;
346cdf0e10cSrcweir             }
347cdf0e10cSrcweir             if (aObj != null)
348cdf0e10cSrcweir             {
349cdf0e10cSrcweir                 XNameAccess aNameAccess = (XNameAccess)UnoRuntime.queryInterface(XNameAccess.class, aObj);
350cdf0e10cSrcweir                 if (aNameAccess != null)
351cdf0e10cSrcweir                 {
352cdf0e10cSrcweir 
353cdf0e10cSrcweir                     if (_sFilterName.toLowerCase().equals("help"))
354cdf0e10cSrcweir                     {
355cdf0e10cSrcweir                         GlobalLogWriter.get().println("Show all possible ElementNames from current version." );
356cdf0e10cSrcweir                         String[] aElementNames = aNameAccess.getElementNames();
357cdf0e10cSrcweir                         for (int i = 0; i<aElementNames.length; i++)
358cdf0e10cSrcweir                         {
359cdf0e10cSrcweir                             GlobalLogWriter.get().println(aElementNames[i]);
360cdf0e10cSrcweir                         }
361cdf0e10cSrcweir                     }
362cdf0e10cSrcweir                 }
363cdf0e10cSrcweir             }
364cdf0e10cSrcweir         }
365cdf0e10cSrcweir 
366cdf0e10cSrcweir     /*
367cdf0e10cSrcweir     public GraphicalTestArguments(TestParameters param, Log xxx)
368cdf0e10cSrcweir     {
369cdf0e10cSrcweir         // collect interesting information from the ComplexTestCase
370cdf0e10cSrcweir         // ....
371cdf0e10cSrcweir     }
372cdf0e10cSrcweir     */
373cdf0e10cSrcweir 
374cdf0e10cSrcweir     // set methods
setReferenceType(String _sType)375cdf0e10cSrcweir     public void setReferenceType(String _sType)
376cdf0e10cSrcweir         {
377cdf0e10cSrcweir             // special casse, null is not allowed, set to default.
378cdf0e10cSrcweir             if (_sType == null)
379cdf0e10cSrcweir             {
380cdf0e10cSrcweir                 m_sReferenceType = "OOo";
381cdf0e10cSrcweir             }
382cdf0e10cSrcweir             else
383cdf0e10cSrcweir             {
384cdf0e10cSrcweir                 m_sReferenceType = _sType;
385cdf0e10cSrcweir             }
386cdf0e10cSrcweir         }
setTargetFrameName(String _sTargetFrameName)387cdf0e10cSrcweir     public void setTargetFrameName(String _sTargetFrameName) {m_sTargetFrameName = _sTargetFrameName;}
setPrinterName(String _sName)388cdf0e10cSrcweir     public void setPrinterName(String _sName) {m_sPrinterName = _sName;}
setHidden()389cdf0e10cSrcweir     public void setHidden() { m_bHidden = true;}
setViewable()390cdf0e10cSrcweir     public void setViewable() {m_bHidden = false;}
setDefaultXMLFormatApp(String _sNameOfApp)391cdf0e10cSrcweir     public void setDefaultXMLFormatApp(String _sNameOfApp) {m_sDefaultXMLFormatApplication = _sNameOfApp;}
392cdf0e10cSrcweir 
393cdf0e10cSrcweir     // get methods
getMultiServiceFactory()394cdf0e10cSrcweir     public XMultiServiceFactory getMultiServiceFactory()
395cdf0e10cSrcweir         {
396cdf0e10cSrcweir             XMultiServiceFactory xMSF = (XMultiServiceFactory)m_aCurrentParams.getMSF();
397cdf0e10cSrcweir 
398cdf0e10cSrcweir             // check if MultiServiceFactory is given
399cdf0e10cSrcweir             if (getReferenceType().toLowerCase().equals("pdf") ||
400cdf0e10cSrcweir                 getReferenceType().toLowerCase().equals("ooo"))
401cdf0e10cSrcweir             {
402cdf0e10cSrcweir                 if (xMSF == null)
403cdf0e10cSrcweir                 {
404cdf0e10cSrcweir                     GlobalLogWriter.get().println("ERROR! MultiServiceFactory not given.");
405cdf0e10cSrcweir                 }
406cdf0e10cSrcweir             }
407cdf0e10cSrcweir             return xMSF;
408cdf0e10cSrcweir         }
409cdf0e10cSrcweir 
getReferenceType()410cdf0e10cSrcweir     public String getReferenceType() {return m_sReferenceType;}
getTargetFrameName()411cdf0e10cSrcweir     public String getTargetFrameName() {return m_sTargetFrameName;}
getPrinterName()412cdf0e10cSrcweir     public String getPrinterName() {return m_sPrinterName;}
isHidden()413cdf0e10cSrcweir     public boolean isHidden() {return m_bHidden;}
getDefaultXMLFormatApp()414cdf0e10cSrcweir     public String getDefaultXMLFormatApp() {return m_sDefaultXMLFormatApplication;}
415cdf0e10cSrcweir 
416cdf0e10cSrcweir 
417cdf0e10cSrcweir     /**
418cdf0e10cSrcweir      * @return true, if subdirectories should run through
419cdf0e10cSrcweir      */
includeSubDirectories()420cdf0e10cSrcweir     public boolean includeSubDirectories() {return m_bIncludeSubdirectories;}
421cdf0e10cSrcweir 
422cdf0e10cSrcweir     /**
423cdf0e10cSrcweir      * @return the number of pages to be print
424cdf0e10cSrcweir      */
getMaxPages()425cdf0e10cSrcweir     public int getMaxPages() {return m_nMaxPages;}
426cdf0e10cSrcweir 
427cdf0e10cSrcweir     /**
428cdf0e10cSrcweir      * @return as string, which pages should be print, e.g. '1-4;6' here, page 1 to 4 and page 6.
429cdf0e10cSrcweir      */
getOnlyPages()430cdf0e10cSrcweir     public String getOnlyPages()
431cdf0e10cSrcweir     {
432cdf0e10cSrcweir         if (m_sOnlyPage == null)
433cdf0e10cSrcweir         {
434cdf0e10cSrcweir             return "";
435cdf0e10cSrcweir         }
436cdf0e10cSrcweir         return m_sOnlyPage;
437cdf0e10cSrcweir     }
438cdf0e10cSrcweir 
439cdf0e10cSrcweir     /**
440cdf0e10cSrcweir      * @return true, if there should not print all pages at all, use getMaxPages() and or getOnlyPages() to get which pages to print
441cdf0e10cSrcweir      */
printAllPages()442cdf0e10cSrcweir     public boolean printAllPages()
443cdf0e10cSrcweir         {
444cdf0e10cSrcweir             if ( (getMaxPages() > 0) ||
445cdf0e10cSrcweir                  (getOnlyPages().length() != 0))
446cdf0e10cSrcweir             {
447cdf0e10cSrcweir                 return false;
448cdf0e10cSrcweir             }
449cdf0e10cSrcweir             return true;
450cdf0e10cSrcweir         }
451cdf0e10cSrcweir 
452cdf0e10cSrcweir     /**
453cdf0e10cSrcweir      * @return integer value, which contain resolution in DPI.
454cdf0e10cSrcweir      */
getResolutionInDPI()455cdf0e10cSrcweir     public int getResolutionInDPI() {return m_nResolutionInDPI;}
456cdf0e10cSrcweir 
checkIfMSWindowsConformPath(String _sPath)457cdf0e10cSrcweir     public static void checkIfMSWindowsConformPath(String _sPath)
458cdf0e10cSrcweir         {
459cdf0e10cSrcweir             if (_sPath != null  && _sPath.length() > 1)
460cdf0e10cSrcweir             {
461cdf0e10cSrcweir                 if (_sPath.charAt(1) == ':')
462cdf0e10cSrcweir                 {
463cdf0e10cSrcweir                     if (_sPath.charAt(2) != '\\')
464cdf0e10cSrcweir                     {
465cdf0e10cSrcweir                         GlobalLogWriter.get().println("This is not a Microsoft Windows conform path: '" + _sPath + "' please fix.");
466cdf0e10cSrcweir                         System.exit(1);
467cdf0e10cSrcweir                     }
468cdf0e10cSrcweir                 }
469cdf0e10cSrcweir             }
470cdf0e10cSrcweir         }
471cdf0e10cSrcweir 
472cdf0e10cSrcweir 
473cdf0e10cSrcweir     /**
474cdf0e10cSrcweir      * @return the INPUT_PATH out of the TestParameters
475cdf0e10cSrcweir      */
getInputPath()476cdf0e10cSrcweir     public String getInputPath()
477cdf0e10cSrcweir         {
478cdf0e10cSrcweir             String sInputPath;
479cdf0e10cSrcweir             sInputPath = (String)m_aCurrentParams.get(PropertyName.DOC_COMPARATOR_INPUT_PATH);
480cdf0e10cSrcweir             checkIfMSWindowsConformPath(sInputPath);
481cdf0e10cSrcweir             return sInputPath;
482cdf0e10cSrcweir         }
483cdf0e10cSrcweir     /**
484cdf0e10cSrcweir      * @return the OUTPUT_PATH out of the TestParameters
485cdf0e10cSrcweir      */
getOutputPath()486cdf0e10cSrcweir     public String getOutputPath()
487cdf0e10cSrcweir         {
488cdf0e10cSrcweir             String sOutputPath;
489cdf0e10cSrcweir             sOutputPath = (String)m_aCurrentParams.get(PropertyName.DOC_COMPARATOR_OUTPUT_PATH);
490cdf0e10cSrcweir             checkIfMSWindowsConformPath(sOutputPath);
491cdf0e10cSrcweir             return sOutputPath;
492cdf0e10cSrcweir         }
493cdf0e10cSrcweir     /**
494cdf0e10cSrcweir      * @return the REFERENCE_PATH out of the TestParameters
495cdf0e10cSrcweir      */
getReferencePath()496cdf0e10cSrcweir     public String getReferencePath()
497cdf0e10cSrcweir         {
498cdf0e10cSrcweir             String sReferencePath;
499cdf0e10cSrcweir             sReferencePath = (String)m_aCurrentParams.get(PropertyName.DOC_COMPARATOR_REFERENCE_PATH);
500cdf0e10cSrcweir             checkIfMSWindowsConformPath(sReferencePath);
501cdf0e10cSrcweir             return sReferencePath;
502cdf0e10cSrcweir         }
503cdf0e10cSrcweir     /**
504cdf0e10cSrcweir      * @return the DIFF_PATH out of the TestParameters
505cdf0e10cSrcweir      */
getDiffPath()506cdf0e10cSrcweir     public String getDiffPath()
507cdf0e10cSrcweir         {
508cdf0e10cSrcweir             String sDiffPath;
509cdf0e10cSrcweir             sDiffPath = (String)m_aCurrentParams.get(PropertyName.DOC_COMPARATOR_DIFF_PATH);
510cdf0e10cSrcweir             checkIfMSWindowsConformPath(sDiffPath);
511cdf0e10cSrcweir             return sDiffPath;
512cdf0e10cSrcweir         }
513cdf0e10cSrcweir 
getOverwrite()514cdf0e10cSrcweir     public boolean getOverwrite()
515cdf0e10cSrcweir         {
516cdf0e10cSrcweir             boolean bOverwrite = m_aCurrentParams.getBool( PropertyName.DOC_COMPARATOR_OVERWRITE_REFERENCE);
517cdf0e10cSrcweir             return bOverwrite;
518cdf0e10cSrcweir         }
getReferenceInputPath()519cdf0e10cSrcweir     public String getReferenceInputPath()
520cdf0e10cSrcweir         {
521cdf0e10cSrcweir             String sReferenceInputPath;
522cdf0e10cSrcweir             sReferenceInputPath = (String)m_aCurrentParams.get(PropertyName.DOC_COMPARATOR_REFERENCE_INPUT_PATH);
523cdf0e10cSrcweir             return sReferenceInputPath;
524cdf0e10cSrcweir         }
525cdf0e10cSrcweir 
526cdf0e10cSrcweir     /**
52721c145e3Smseidel      * Helper function to get the buildid of the current used OpenOffice
528cdf0e10cSrcweir      * out of the AppExecutionCommand the build ID
529cdf0e10cSrcweir      */
getBuildID()530cdf0e10cSrcweir     public String getBuildID()
531cdf0e10cSrcweir         {
532cdf0e10cSrcweir             String sAPP = (String)m_aCurrentParams.get(util.PropertyName.APP_EXECUTION_COMMAND);
533cdf0e10cSrcweir             // return getBuildID(sAPP);
534cdf0e10cSrcweir //  TODO: here we need the getBuildID(string) method
535cdf0e10cSrcweir             String sBuildID = convwatch.BuildID.getBuildID(sAPP);
536cdf0e10cSrcweir             return sBuildID;
537cdf0e10cSrcweir         }
538cdf0e10cSrcweir 
shouldOfficeStart()539cdf0e10cSrcweir     public boolean shouldOfficeStart()
540cdf0e10cSrcweir         {
541cdf0e10cSrcweir             String sNoOffice = (String)m_aCurrentParams.get( "NoOffice" );
542cdf0e10cSrcweir             if (sNoOffice != null)
543cdf0e10cSrcweir             {
544cdf0e10cSrcweir                 if (sNoOffice.toLowerCase().startsWith("t") || sNoOffice.toLowerCase().startsWith("y"))
545cdf0e10cSrcweir                 {
546cdf0e10cSrcweir                     return false;
547cdf0e10cSrcweir                 }
548cdf0e10cSrcweir             }
549cdf0e10cSrcweir             return true;
550cdf0e10cSrcweir         }
551cdf0e10cSrcweir 
552cdf0e10cSrcweir         // Handle for Reference Build ID, is set in ConvWatch.createPostscriptStartCheck()
553cdf0e10cSrcweir     private String m_sRefBuildID;
554cdf0e10cSrcweir 
setRefBuildID(String _sRef)555cdf0e10cSrcweir     public void setRefBuildID(String _sRef)
556cdf0e10cSrcweir         {
557cdf0e10cSrcweir             m_sRefBuildID = _sRef;
558cdf0e10cSrcweir         }
getRefBuildID()559cdf0e10cSrcweir     public String getRefBuildID()
560cdf0e10cSrcweir         {
561cdf0e10cSrcweir             return m_sRefBuildID;
562cdf0e10cSrcweir         }
563cdf0e10cSrcweir 
disallowStore()564cdf0e10cSrcweir     public void disallowStore()
565cdf0e10cSrcweir         {
566cdf0e10cSrcweir             m_bStoreFile = false;
567cdf0e10cSrcweir         }
allowStore()568cdf0e10cSrcweir     public void allowStore()
569cdf0e10cSrcweir         {
570cdf0e10cSrcweir             m_bStoreFile = true;
571cdf0e10cSrcweir         }
isStoreAllowed()572cdf0e10cSrcweir     public boolean isStoreAllowed()
573cdf0e10cSrcweir         {
574cdf0e10cSrcweir             return m_bStoreFile;
575cdf0e10cSrcweir         }
createDefaultReference()576cdf0e10cSrcweir     public boolean createDefaultReference()
577cdf0e10cSrcweir         {
578cdf0e10cSrcweir             return m_bCreateDefaultReference;
579cdf0e10cSrcweir         }
580cdf0e10cSrcweir 
581cdf0e10cSrcweir 
582cdf0e10cSrcweir     // get/set for FilterName
583cdf0e10cSrcweir     // get the right Filtername (internal Name) from
584cdf0e10cSrcweir     // http://framework.openoffice.org/files/documents/25/897/filter_description.html
585cdf0e10cSrcweir 
586cdf0e10cSrcweir     String m_sImportFilterName = "";
587cdf0e10cSrcweir     String m_sExportFilterName = "";
setImportFilterName(String _sImportFilterName)588cdf0e10cSrcweir     public void setImportFilterName(String _sImportFilterName)
589cdf0e10cSrcweir         {
590cdf0e10cSrcweir             m_sImportFilterName = _sImportFilterName;
591cdf0e10cSrcweir         }
getImportFilterName()592cdf0e10cSrcweir     public String getImportFilterName()
593cdf0e10cSrcweir         {
594cdf0e10cSrcweir             return m_sImportFilterName;
595cdf0e10cSrcweir         }
setExportFilterName(String _sExportFilterName)596cdf0e10cSrcweir     public void setExportFilterName(String _sExportFilterName)
597cdf0e10cSrcweir         {
598cdf0e10cSrcweir             m_sExportFilterName = _sExportFilterName;
599cdf0e10cSrcweir         }
getExportFilterName()600cdf0e10cSrcweir     public String getExportFilterName()
601cdf0e10cSrcweir         {
602cdf0e10cSrcweir             return m_sExportFilterName;
603cdf0e10cSrcweir         }
604cdf0e10cSrcweir 
605cdf0e10cSrcweir     String m_sOfficeProgram = "";
setOfficeProgram(String _sName)606cdf0e10cSrcweir     public void setOfficeProgram(String _sName)
607cdf0e10cSrcweir         {
608cdf0e10cSrcweir             m_sOfficeProgram = _sName;
609cdf0e10cSrcweir         }
getOfficeProgram()610cdf0e10cSrcweir     public String getOfficeProgram()
611cdf0e10cSrcweir         {
612cdf0e10cSrcweir             return m_sOfficeProgram;
613cdf0e10cSrcweir         }
614cdf0e10cSrcweir 
restartOffice()615cdf0e10cSrcweir     public boolean restartOffice()
616cdf0e10cSrcweir         {
617cdf0e10cSrcweir             if (m_bResuseOffice == false)
618cdf0e10cSrcweir             {
619cdf0e10cSrcweir                 return true;
620cdf0e10cSrcweir             }
621cdf0e10cSrcweir             return false;
622cdf0e10cSrcweir         }
623cdf0e10cSrcweir 
624cdf0e10cSrcweir     String m_sHTMLOutputPrefix = "";
getHTMLOutputPrefix()625cdf0e10cSrcweir     public String getHTMLOutputPrefix()
626cdf0e10cSrcweir         {
627cdf0e10cSrcweir             return m_sHTMLOutputPrefix;
628cdf0e10cSrcweir         }
629cdf0e10cSrcweir 
630cdf0e10cSrcweir     TriState m_tWithBorderMove = TriState.UNSET;
631cdf0e10cSrcweir     // public TriState isBorderMove()
632cdf0e10cSrcweir     //     {
633cdf0e10cSrcweir     //         return m_tWithBorderMove;
634cdf0e10cSrcweir     //     }
getBorderMove()635cdf0e10cSrcweir     public TriState getBorderMove()
636cdf0e10cSrcweir         {
637cdf0e10cSrcweir             return m_tWithBorderMove;
638cdf0e10cSrcweir         }
setBorderMove(TriState _tBorderMove)639cdf0e10cSrcweir     public void setBorderMove(TriState _tBorderMove)
640cdf0e10cSrcweir         {
641cdf0e10cSrcweir             m_tWithBorderMove = _tBorderMove;
642cdf0e10cSrcweir         }
643cdf0e10cSrcweir 
644cdf0e10cSrcweir     String m_sDocumentType = "";
setDocumentType(String _sName)645cdf0e10cSrcweir     public void setDocumentType(String _sName)
646cdf0e10cSrcweir         {
647cdf0e10cSrcweir             m_sDocumentType = _sName;
648cdf0e10cSrcweir         }
getDocumentType()649cdf0e10cSrcweir     public String getDocumentType()
650cdf0e10cSrcweir         {
651cdf0e10cSrcweir             return m_sDocumentType;
652cdf0e10cSrcweir         }
653cdf0e10cSrcweir 
654cdf0e10cSrcweir     /*
65521c145e3Smseidel       helper class for performance analyzer features
656cdf0e10cSrcweir      */
657cdf0e10cSrcweir     PerformanceContainer m_aPerformanceContainer = null;
getPerformance()658cdf0e10cSrcweir     public PerformanceContainer getPerformance()
659cdf0e10cSrcweir         {
660cdf0e10cSrcweir             if (m_aPerformanceContainer == null)
661cdf0e10cSrcweir             {
662cdf0e10cSrcweir                 m_aPerformanceContainer = new PerformanceContainer();
663cdf0e10cSrcweir             }
664cdf0e10cSrcweir             return m_aPerformanceContainer;
665cdf0e10cSrcweir         }
666cdf0e10cSrcweir 
667cdf0e10cSrcweir     private String m_aInputFile;
setInputFile(String _sInputFile)668cdf0e10cSrcweir     public void setInputFile(String _sInputFile)
669cdf0e10cSrcweir         {
670cdf0e10cSrcweir             m_aInputFile = _sInputFile;
671cdf0e10cSrcweir         }
getInputFile()672cdf0e10cSrcweir     public String getInputFile()
673cdf0e10cSrcweir         {
674cdf0e10cSrcweir             return m_aInputFile;
675cdf0e10cSrcweir         }
676cdf0e10cSrcweir 
677cdf0e10cSrcweir     private String m_sDBInfoString;
getDBInfoString()678cdf0e10cSrcweir     public String getDBInfoString()
679cdf0e10cSrcweir         {
680cdf0e10cSrcweir             if (m_sDBInfoString != null)
681cdf0e10cSrcweir             {
682cdf0e10cSrcweir                 if (m_sDBInfoString.length() == 0)
683cdf0e10cSrcweir                 {
684cdf0e10cSrcweir                     return null;
685cdf0e10cSrcweir                 }
686cdf0e10cSrcweir             }
687cdf0e10cSrcweir 
688cdf0e10cSrcweir             return m_sDBInfoString;
689cdf0e10cSrcweir         }
690cdf0e10cSrcweir 
cancelRequest()691cdf0e10cSrcweir     public boolean cancelRequest()
692cdf0e10cSrcweir         {
693cdf0e10cSrcweir             File aCancelFile = null;
694cdf0e10cSrcweir             String fs;
695cdf0e10cSrcweir             fs = System.getProperty("file.separator");
696cdf0e10cSrcweir             String sTempPath = (String)m_aCurrentParams.get( PropertyName.TEMPPATH );
697cdf0e10cSrcweir             if (sTempPath != null)
698cdf0e10cSrcweir             {
699cdf0e10cSrcweir                 String sGDC_Dir = sTempPath;
700cdf0e10cSrcweir 
701cdf0e10cSrcweir                 if (m_sDistinct.length() > 0)
702cdf0e10cSrcweir                 {
703cdf0e10cSrcweir                     sGDC_Dir = sGDC_Dir + fs + m_sDistinct;
704cdf0e10cSrcweir                 }
705cdf0e10cSrcweir 
706cdf0e10cSrcweir                 String sCancelFile = sGDC_Dir + fs + "cancel_compare.txt";
707cdf0e10cSrcweir                 aCancelFile = new File(sCancelFile);
708cdf0e10cSrcweir 
709cdf0e10cSrcweir                 if (aCancelFile.exists())
710cdf0e10cSrcweir                 {
711cdf0e10cSrcweir                     GlobalLogWriter.get().println("ATTENTION: Found file: '" + sCancelFile + "'.");
712cdf0e10cSrcweir                     GlobalLogWriter.get().println("User has canceled the program flow.");
713cdf0e10cSrcweir                     return true;
714cdf0e10cSrcweir                 }
715cdf0e10cSrcweir             }
716cdf0e10cSrcweir             return false;
717cdf0e10cSrcweir         }
718cdf0e10cSrcweir 
719cdf0e10cSrcweir }
720cdf0e10cSrcweir 
721cdf0e10cSrcweir 
722cdf0e10cSrcweir /*
723cdf0e10cSrcweir public class MSGraphicalTestArguments extends GraphicalTestArguments
724cdf0e10cSrcweir {
725cdf0e10cSrcweir     MSGraphicalTestArguments()
726cdf0e10cSrcweir         {
727cdf0e10cSrcweir             setReferenceType("msoffice");
728cdf0e10cSrcweir         }
729cdf0e10cSrcweir }
730cdf0e10cSrcweir 
731cdf0e10cSrcweir public class OOoGraphicalTestArguments extends GraphicalTestArguments
732cdf0e10cSrcweir {
733cdf0e10cSrcweir     OOoGraphicalTestArguments(XMultiServiceFactory _aFactory)
734cdf0e10cSrcweir         {
735cdf0e10cSrcweir             setMultiServiceFactory(_aFactory);
736cdf0e10cSrcweir         }
737cdf0e10cSrcweir }
738cdf0e10cSrcweir */
739