001: /*
002: * Copyright 2006-2007 Pentaho Corporation. All rights reserved.
003: * This software was developed by Pentaho Corporation and is provided under the terms
004: * of the Mozilla Public License, Version 1.1, or any later version. You may not use
005: * this file except in compliance with the license. If you need a copy of the license,
006: * please go to http://www.mozilla.org/MPL/MPL-1.1.txt.
007: *
008: * Software distributed under the Mozilla Public License is distributed on an "AS IS"
009: * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. Please refer to
010: * the license for the specific language governing your rights and limitations.
011: *
012: * Additional Contributor(s): Martin Schmid gridvision engineering GmbH
013: */
014: package org.pentaho.reportdesigner.crm.report.settings;
015:
016: import org.gjt.xpp.XmlPullNode;
017: import org.jetbrains.annotations.NotNull;
018: import org.pentaho.reportdesigner.lib.common.xml.XMLContext;
019: import org.pentaho.reportdesigner.lib.common.xml.XMLExternalizable;
020: import org.pentaho.reportdesigner.lib.common.xml.XMLWriter;
021:
022: import java.io.IOException;
023:
024: /**
025: * User: Martin
026: * Date: 28.05.2006
027: * Time: 09:58:37
028: */
029: public class ExternalToolSettings implements XMLExternalizable {
030: @NotNull
031: private static final String USE_DEFAULT_PDFVIEWER = "useDefaultPDFViewer";
032: @NotNull
033: private static final String CUSTOM_PDFVIEWER_EXECUTABLE = "customPDFViewerExecutable";
034: @NotNull
035: private static final String CUSTOM_PDFVIEWER_PARAMETERS = "customPDFViewerParameters";
036: @NotNull
037: private static final String USE_DEFAULT_RTFVIEWER = "useDefaultRTFViewer";
038: @NotNull
039: private static final String CUSTOM_RTFVIEWER_EXECUTABLE = "customRTFViewerExecutable";
040: @NotNull
041: private static final String CUSTOM_RTFVIEWER_PARAMETERS = "customRTFViewerParameters";
042: @NotNull
043: private static final String USE_DEFAULT_XLSVIEWER = "useDefaultXLSViewer";
044: @NotNull
045: private static final String CUSTOM_XLSVIEWER_EXECUTABLE = "customXLSViewerExecutable";
046: @NotNull
047: private static final String CUSTOM_XLSVIEWER_PARAMETERS = "customXLSViewerParameters";
048: @NotNull
049: private static final String USE_DEFAULT_CSVVIEWER = "useDefaultCSVViewer";
050: @NotNull
051: private static final String CUSTOM_CSVVIEWER_EXECUTABLE = "customCSVViewerExecutable";
052: @NotNull
053: private static final String CUSTOM_CSVVIEWER_PARAMETERS = "customCSVViewerParameters";
054: @NotNull
055: private static final String USE_DEFAULT_XMLVIEWER = "useDefaultXMLViewer";
056: @NotNull
057: private static final String CUSTOM_XMLVIEWER_EXECUTABLE = "customXMLViewerExecutable";
058: @NotNull
059: private static final String CUSTOM_XMLVIEWER_PARAMETERS = "customXMLViewerParameters";
060:
061: private boolean useDefaultPDFViewer;
062: @NotNull
063: private String customPDFViewerExecutable;
064: @NotNull
065: private String customPDFViewerParameters;
066:
067: private boolean useDefaultRTFViewer;
068: @NotNull
069: private String customRTFViewerExecutable;
070: @NotNull
071: private String customRTFViewerParameters;
072:
073: private boolean useDefaultXLSViewer;
074: @NotNull
075: private String customXLSViewerExecutable;
076: @NotNull
077: private String customXLSViewerParameters;
078:
079: private boolean useDefaultCSVViewer;
080: @NotNull
081: private String customCSVViewerExecutable;
082: @NotNull
083: private String customCSVViewerParameters;
084:
085: private boolean useDefaultXMLViewer;
086: @NotNull
087: private String customXMLViewerExecutable;
088: @NotNull
089: private String customXMLViewerParameters;
090:
091: public ExternalToolSettings() {
092: useDefaultPDFViewer = true;
093: customPDFViewerExecutable = "";
094: customPDFViewerParameters = "{0}";
095:
096: useDefaultRTFViewer = true;
097: customRTFViewerExecutable = "";
098: customRTFViewerParameters = "{0}";
099:
100: useDefaultXLSViewer = true;
101: customXLSViewerExecutable = "";
102: customXLSViewerParameters = "{0}";
103:
104: useDefaultCSVViewer = true;
105: customCSVViewerExecutable = "";
106: customCSVViewerParameters = "{0}";
107:
108: useDefaultXMLViewer = true;
109: customXMLViewerExecutable = "";
110: customXMLViewerParameters = "{0}";
111: }
112:
113: public boolean isUseDefaultPDFViewer() {
114: return useDefaultPDFViewer;
115: }
116:
117: public void setUseDefaultPDFViewer(boolean useDefaultPDFViewer) {
118: this .useDefaultPDFViewer = useDefaultPDFViewer;
119: }
120:
121: @NotNull
122: public String getCustomPDFViewerExecutable() {
123: return customPDFViewerExecutable;
124: }
125:
126: public void setCustomPDFViewerExecutable(@NotNull
127: String customPDFViewerExecutable) {
128: this .customPDFViewerExecutable = customPDFViewerExecutable;
129: }
130:
131: @NotNull
132: public String getCustomPDFViewerParameters() {
133: return customPDFViewerParameters;
134: }
135:
136: public void setCustomPDFViewerParameters(@NotNull
137: String customPDFViewerParameters) {
138: this .customPDFViewerParameters = customPDFViewerParameters;
139: }
140:
141: public boolean isUseDefaultRTFViewer() {
142: return useDefaultRTFViewer;
143: }
144:
145: public void setUseDefaultRTFViewer(boolean useDefaultRTFViewer) {
146: this .useDefaultRTFViewer = useDefaultRTFViewer;
147: }
148:
149: @NotNull
150: public String getCustomRTFViewerExecutable() {
151: return customRTFViewerExecutable;
152: }
153:
154: public void setCustomRTFViewerExecutable(@NotNull
155: String customRTFViewerExecutable) {
156: this .customRTFViewerExecutable = customRTFViewerExecutable;
157: }
158:
159: @NotNull
160: public String getCustomRTFViewerParameters() {
161: return customRTFViewerParameters;
162: }
163:
164: public void setCustomRTFViewerParameters(@NotNull
165: String customRTFViewerParameters) {
166: this .customRTFViewerParameters = customRTFViewerParameters;
167: }
168:
169: public boolean isUseDefaultXLSViewer() {
170: return useDefaultXLSViewer;
171: }
172:
173: public void setUseDefaultXLSViewer(boolean useDefaultXLSViewer) {
174: this .useDefaultXLSViewer = useDefaultXLSViewer;
175: }
176:
177: @NotNull
178: public String getCustomXLSViewerExecutable() {
179: return customXLSViewerExecutable;
180: }
181:
182: public void setCustomXLSViewerExecutable(@NotNull
183: String customXLSViewerExecutable) {
184: this .customXLSViewerExecutable = customXLSViewerExecutable;
185: }
186:
187: @NotNull
188: public String getCustomXLSViewerParameters() {
189: return customXLSViewerParameters;
190: }
191:
192: public void setCustomXLSViewerParameters(@NotNull
193: String customXLSViewerParameters) {
194: this .customXLSViewerParameters = customXLSViewerParameters;
195: }
196:
197: public boolean isUseDefaultCSVViewer() {
198: return useDefaultCSVViewer;
199: }
200:
201: public void setUseDefaultCSVViewer(boolean useDefaultCSVViewer) {
202: this .useDefaultCSVViewer = useDefaultCSVViewer;
203: }
204:
205: @NotNull
206: public String getCustomCSVViewerExecutable() {
207: return customCSVViewerExecutable;
208: }
209:
210: public void setCustomCSVViewerExecutable(@NotNull
211: String customCSVViewerExecutable) {
212: this .customCSVViewerExecutable = customCSVViewerExecutable;
213: }
214:
215: @NotNull
216: public String getCustomCSVViewerParameters() {
217: return customCSVViewerParameters;
218: }
219:
220: public void setCustomCSVViewerParameters(@NotNull
221: String customCSVViewerParameters) {
222: this .customCSVViewerParameters = customCSVViewerParameters;
223: }
224:
225: public boolean isUseDefaultXMLViewer() {
226: return useDefaultXMLViewer;
227: }
228:
229: public void setUseDefaultXMLViewer(boolean useDefaultXMLViewer) {
230: this .useDefaultXMLViewer = useDefaultXMLViewer;
231: }
232:
233: @NotNull
234: public String getCustomXMLViewerExecutable() {
235: return customXMLViewerExecutable;
236: }
237:
238: public void setCustomXMLViewerExecutable(@NotNull
239: String customXMLViewerExecutable) {
240: this .customXMLViewerExecutable = customXMLViewerExecutable;
241: }
242:
243: @NotNull
244: public String getCustomXMLViewerParameters() {
245: return customXMLViewerParameters;
246: }
247:
248: public void setCustomXMLViewerParameters(@NotNull
249: String customXMLViewerParameters) {
250: this .customXMLViewerParameters = customXMLViewerParameters;
251: }
252:
253: public void externalizeObject(@NotNull
254: XMLWriter xmlWriter, @NotNull
255: XMLContext xmlContext) throws IOException {
256: xmlWriter.writeAttribute("v", "1");
257:
258: xmlWriter.writeAttribute(USE_DEFAULT_PDFVIEWER,
259: String.valueOf(useDefaultPDFViewer)).writeAttribute(
260: CUSTOM_PDFVIEWER_EXECUTABLE, customPDFViewerExecutable)
261: .writeAttribute(CUSTOM_PDFVIEWER_PARAMETERS,
262: customPDFViewerParameters);
263: xmlWriter.writeAttribute(USE_DEFAULT_RTFVIEWER,
264: String.valueOf(useDefaultPDFViewer)).writeAttribute(
265: CUSTOM_RTFVIEWER_EXECUTABLE, customPDFViewerExecutable)
266: .writeAttribute(CUSTOM_RTFVIEWER_PARAMETERS,
267: customPDFViewerParameters);
268: xmlWriter.writeAttribute(USE_DEFAULT_XLSVIEWER,
269: String.valueOf(useDefaultXLSViewer)).writeAttribute(
270: CUSTOM_XLSVIEWER_EXECUTABLE, customXLSViewerExecutable)
271: .writeAttribute(CUSTOM_XLSVIEWER_PARAMETERS,
272: customXLSViewerParameters);
273: xmlWriter.writeAttribute(USE_DEFAULT_CSVVIEWER,
274: String.valueOf(useDefaultCSVViewer)).writeAttribute(
275: CUSTOM_CSVVIEWER_EXECUTABLE, customCSVViewerExecutable)
276: .writeAttribute(CUSTOM_CSVVIEWER_PARAMETERS,
277: customCSVViewerParameters);
278: xmlWriter.writeAttribute(USE_DEFAULT_XMLVIEWER,
279: String.valueOf(useDefaultXMLViewer)).writeAttribute(
280: CUSTOM_XMLVIEWER_EXECUTABLE, customXMLViewerExecutable)
281: .writeAttribute(CUSTOM_XMLVIEWER_PARAMETERS,
282: customXMLViewerParameters);
283: }
284:
285: public void readObject(@NotNull
286: XmlPullNode node, @NotNull
287: XMLContext xmlContext) {
288: //PDF
289: String useDefaultPDFViewerTemp = node
290: .getAttributeValueFromRawName(USE_DEFAULT_PDFVIEWER);
291: if (useDefaultPDFViewerTemp != null) {
292: useDefaultPDFViewer = Boolean
293: .parseBoolean(useDefaultPDFViewerTemp);
294: }
295:
296: String customPDFViewerExecutableTemp = node
297: .getAttributeValueFromRawName(CUSTOM_PDFVIEWER_EXECUTABLE);
298: if (customPDFViewerExecutableTemp != null) {
299: customPDFViewerExecutable = customPDFViewerExecutableTemp;
300: }
301:
302: String customPDFViewerParametersTemp = node
303: .getAttributeValueFromRawName(CUSTOM_PDFVIEWER_PARAMETERS);
304: if (customPDFViewerParametersTemp != null) {
305: customPDFViewerParameters = customPDFViewerParametersTemp;
306: }
307:
308: //RTF
309: String useDefaultRTFViewerTemp = node
310: .getAttributeValueFromRawName(USE_DEFAULT_RTFVIEWER);
311: if (useDefaultRTFViewerTemp != null) {
312: useDefaultRTFViewer = Boolean
313: .parseBoolean(useDefaultRTFViewerTemp);
314: }
315:
316: String customRTFViewerExecutableTemp = node
317: .getAttributeValueFromRawName(CUSTOM_RTFVIEWER_EXECUTABLE);
318: if (customRTFViewerExecutableTemp != null) {
319: customRTFViewerExecutable = customRTFViewerExecutableTemp;
320: }
321:
322: String customRTFViewerParametersTemp = node
323: .getAttributeValueFromRawName(CUSTOM_RTFVIEWER_PARAMETERS);
324: if (customRTFViewerParametersTemp != null) {
325: customRTFViewerParameters = customRTFViewerParametersTemp;
326: }
327:
328: //XLS
329: String useDefaultXLSViewerTemp = node
330: .getAttributeValueFromRawName(USE_DEFAULT_XLSVIEWER);
331: if (useDefaultXLSViewerTemp != null) {
332: useDefaultXLSViewer = Boolean
333: .parseBoolean(useDefaultXLSViewerTemp);
334: }
335:
336: String customXLSViewerExecutableTemp = node
337: .getAttributeValueFromRawName(CUSTOM_XLSVIEWER_EXECUTABLE);
338: if (customXLSViewerExecutableTemp != null) {
339: customXLSViewerExecutable = customXLSViewerExecutableTemp;
340: }
341:
342: String customXLSViewerParametersTemp = node
343: .getAttributeValueFromRawName(CUSTOM_XLSVIEWER_PARAMETERS);
344: if (customXLSViewerParametersTemp != null) {
345: customXLSViewerParameters = customXLSViewerParametersTemp;
346: }
347:
348: //CSV
349: String useDefaultCSVViewerTemp = node
350: .getAttributeValueFromRawName(USE_DEFAULT_CSVVIEWER);
351: if (useDefaultCSVViewerTemp != null) {
352: useDefaultCSVViewer = Boolean
353: .parseBoolean(useDefaultCSVViewerTemp);
354: }
355:
356: String customCSVViewerExecutableTemp = node
357: .getAttributeValueFromRawName(CUSTOM_CSVVIEWER_EXECUTABLE);
358: if (customCSVViewerExecutableTemp != null) {
359: customCSVViewerExecutable = customCSVViewerExecutableTemp;
360: }
361:
362: String customCSVViewerParametersTemp = node
363: .getAttributeValueFromRawName(CUSTOM_CSVVIEWER_PARAMETERS);
364: if (customCSVViewerParametersTemp != null) {
365: customCSVViewerParameters = customCSVViewerParametersTemp;
366: }
367:
368: //XML
369: String useDefaultXMLViewerTemp = node
370: .getAttributeValueFromRawName(USE_DEFAULT_XMLVIEWER);
371: if (useDefaultXMLViewerTemp != null) {
372: useDefaultXMLViewer = Boolean
373: .parseBoolean(useDefaultXMLViewerTemp);
374: }
375:
376: String customXMLViewerExecutableTemp = node
377: .getAttributeValueFromRawName(CUSTOM_XMLVIEWER_EXECUTABLE);
378: if (customXMLViewerExecutableTemp != null) {
379: customXMLViewerExecutable = customXMLViewerExecutableTemp;
380: }
381:
382: String customXMLViewerParametersTemp = node
383: .getAttributeValueFromRawName(CUSTOM_XMLVIEWER_PARAMETERS);
384: if (customXMLViewerParametersTemp != null) {
385: customXMLViewerParameters = customXMLViewerParametersTemp;
386: }
387: }
388: }
|