diff options
author | Noel Grandin <noel@peralex.com> | 2014-12-11 16:25:29 +0200 |
---|---|---|
committer | Noel Grandin <noelgrandin@gmail.com> | 2014-12-12 08:16:17 +0000 |
commit | 117a82cd090ddd8efbc500350dc6082730f04720 (patch) | |
tree | 50c07684d43c06fd54d17532caca6a3afafd6967 /qadevOOo/runner/graphical/OpenOfficePostscriptCreator.java | |
parent | 04b183a9bc792a53a9f081353a79486faa4f3872 (diff) |
java: remove dead code in qadevOOo
found by running UCDetector over the code many times, like peeling
an onion
Change-Id: I54d5147eb1b5c921ad236331bc4c1f765b13ca83
Reviewed-on: https://gerrit.libreoffice.org/13445
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
Tested-by: Noel Grandin <noelgrandin@gmail.com>
Diffstat (limited to 'qadevOOo/runner/graphical/OpenOfficePostscriptCreator.java')
-rw-r--r-- | qadevOOo/runner/graphical/OpenOfficePostscriptCreator.java | 631 |
1 files changed, 0 insertions, 631 deletions
diff --git a/qadevOOo/runner/graphical/OpenOfficePostscriptCreator.java b/qadevOOo/runner/graphical/OpenOfficePostscriptCreator.java deleted file mode 100644 index efba9a86cfe8..000000000000 --- a/qadevOOo/runner/graphical/OpenOfficePostscriptCreator.java +++ /dev/null @@ -1,631 +0,0 @@ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed - * with this work for additional information regarding copyright - * ownership. The ASF licenses this file to you under the Apache - * License, Version 2.0 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.apache.org/licenses/LICENSE-2.0 . - */ - -package graphical; - -import com.sun.star.frame.FrameSearchFlag; -import com.sun.star.util.XCloseable; -import helper.OfficeProvider; -import helper.OfficeWatcher; -import java.util.ArrayList; - -import com.sun.star.uno.UnoRuntime; -import com.sun.star.lang.XMultiServiceFactory; -import com.sun.star.frame.XDesktop; -import com.sun.star.beans.XPropertySet; -import com.sun.star.beans.PropertyValue; -import com.sun.star.frame.XComponentLoader; -import com.sun.star.lang.XComponent; -import com.sun.star.frame.XStorable; -import com.sun.star.view.XPrintable; -import com.sun.star.lang.XServiceInfo; -import com.sun.star.frame.XModel; -import com.sun.star.uno.AnyConverter; - -import helper.URLHelper; -import helper.PropertyHelper; -import helper.OSHelper; - -import java.io.File; - -/** - * This Object is to print a given document with OpenOffice.org / StarOffice - * over the normal printer driver - * or over it's pdf exporter - */ -public class OpenOfficePostscriptCreator implements IOffice -{ - private final ParameterHelper m_aParameterHelper; - private final String m_sOutputURL; - private String m_sBasename; - private String m_sDocumentName; - private XComponent m_aDocument; - - public OpenOfficePostscriptCreator(ParameterHelper _aParam, String _sResult) - { - m_aParameterHelper = _aParam; - String sOutputURL = _sResult; - if (! sOutputURL.startsWith("file:")) - { - sOutputURL = URLHelper.getFileURLFromSystemPath(_sResult); - } - m_sOutputURL = sOutputURL; - m_aDocument = null; - } - - - public void load(String _sDocumentName) throws OfficeException - { - m_sDocumentName = _sDocumentName; - - String sInputFileURL = URLHelper.getFileURLFromSystemPath(m_sDocumentName); - m_aDocument = loadFromURL(m_aParameterHelper, sInputFileURL); - if (m_aDocument == null) - { - GlobalLogWriter.println("loadDocumentFromURL() failed with document: " + sInputFileURL); - throw new OfficeException("load(): failed with document" + sInputFileURL); - } - - m_sBasename = FileHelper.getBasename(m_sDocumentName); - } - - public void storeAsPostscript() throws OfficeException - { - if (m_aDocument != null) - { - String sDocumentName = FileHelper.appendPath(m_sOutputURL, m_sBasename); - if (m_aParameterHelper.getReferenceType().equalsIgnoreCase("ooo") || - m_aParameterHelper.getReferenceType().equalsIgnoreCase("o3") || - m_aParameterHelper.getReferenceType().equalsIgnoreCase("ps") ) - { - String sPrintURL = sDocumentName + ".ps"; - - impl_printToFileWithOOo(m_aParameterHelper, m_aDocument, sDocumentName, sPrintURL /*_sPrintFileURL*/); - String sBasename = FileHelper.getBasename(sPrintURL); - FileHelper.addBasenameToIndex(m_sOutputURL, sBasename, "OOo", "postscript", m_sDocumentName); - } - else if (m_aParameterHelper.getReferenceType().equalsIgnoreCase("pdf")) - { - String sPDFURL = sDocumentName + ".pdf"; - storeAsPDF(m_aParameterHelper, m_aDocument, sPDFURL); - - String sBasename = FileHelper.getBasename(sPDFURL); - FileHelper.addBasenameToIndex(m_sOutputURL, sBasename, "pdf", "pdf-export", m_sDocumentName); - } - else - { - throw new OfficeException("unknown reference type"); - } - GlobalLogWriter.println("Close document."); - m_aDocument.dispose(); - } - } - - public void start() throws OfficeException - { - startOffice(); - } - - public void close() throws OfficeException - { - stopOffice(); - } - - - - - - private void showProperty(PropertyValue _aValue) - { - String sName = _aValue.Name; - String sValue; - try - { - sValue = AnyConverter.toString(_aValue.Value); - GlobalLogWriter.println("Property " + sName + ":=" + sValue); - } - catch (com.sun.star.lang.IllegalArgumentException e) - { - GlobalLogWriter.println("showProperty: can't convert a object to string. " + e.getMessage()); - } - } - - /** - * shows the FilterName and MediaType from the given XComponent - */ - private String getDocumentType( XComponent _aDoc ) - { - XModel xModel = UnoRuntime.queryInterface( XModel.class, _aDoc); - PropertyValue[] aArgs = xModel.getArgs(); - for (int i=0;i<aArgs.length;i++) - { - PropertyValue aValue = aArgs[i]; - if (aValue.Name.equals("FilterName") || - aValue.Name.equals("MediaType")) - { - String sNameValue = "'" + aValue.Name + "' := '" + aValue.Value + "'"; - return sNameValue; - } - } - return ""; - } - - private void showDocumentType( XComponent _aDoc ) - { - String sNameValue = getDocumentType(_aDoc); - GlobalLogWriter.println(" Property: '" + sNameValue); - } - /** - * load a OpenOffice.org document from a given URL (_sInputURL) - * the ParameterHelper must contain a living MultiServiceFactory object - * or we crash here. - * Be aware, the ownership of the document gets to you, you have to close it. - */ - private XComponent loadFromURL(ParameterHelper _aGTA, - String _sInputURL) - { - XComponent aDoc = null; - try - { - if (_aGTA.getMultiServiceFactory() == null) - { - GlobalLogWriter.println("MultiServiceFactory in GraphicalTestArgument not set."); - return null; - } - Object oDsk = _aGTA.getMultiServiceFactory().createInstance("com.sun.star.frame.Desktop"); - XDesktop aDesktop = UnoRuntime.queryInterface(XDesktop.class, oDsk); - - if (aDesktop != null) - { - GlobalLogWriter.println("com.sun.star.frame.Desktop created."); - // set here the loadComponentFromURL() properties - // at the moment only 'Hidden' is set, so no window is opened at work - - ArrayList<PropertyValue> aPropertyList = new ArrayList<PropertyValue>(); - - // set all property values - if (_aGTA.isHidden()) - { - PropertyValue Arg = new PropertyValue(); - Arg.Name = "Hidden"; - Arg.Value = Boolean.TRUE; - aPropertyList.add(Arg); - showProperty(Arg); - } - if (_aGTA.getImportFilterName() != null && _aGTA.getImportFilterName().length() > 0) - { - PropertyValue Arg = new PropertyValue(); - Arg.Name = "FilterName"; - Arg.Value = _aGTA.getImportFilterName(); - aPropertyList.add(Arg); - showProperty(Arg); - } - PropertyValue ReadOnly = new PropertyValue(); - ReadOnly.Name = "ReadOnly"; - ReadOnly.Value = Boolean.TRUE; - aPropertyList.add(ReadOnly); - showProperty(ReadOnly); - - GlobalLogWriter.println(DateHelper.getDateTimeForHumanreadableLog() + " Load document"); - - XComponentLoader aCompLoader = UnoRuntime.queryInterface( XComponentLoader.class, aDesktop); - - // XComponent aDoc = null; - - _aGTA.getPerformance().startTime(PerformanceContainer.Load); - aDoc = aCompLoader.loadComponentFromURL(_sInputURL, "_blank", FrameSearchFlag.ALL, PropertyHelper.createPropertyValueArrayFormArrayList(aPropertyList) ); - _aGTA.getPerformance().stopTime(PerformanceContainer.Load); - if (aDoc != null) - { - GlobalLogWriter.println(DateHelper.getDateTimeForHumanreadableLog() + " Load document done."); - showDocumentType(aDoc); - _aGTA.setDocumentType(getDocumentType(aDoc)); -// TODO: TimeHelper.waitInSeconds(20, "Wait after load document. Maybe helps due to layouting problems."); - } - else - { - GlobalLogWriter.println(" Load document failed."); - if (_aGTA.getImportFilterName() != null && _aGTA.getImportFilterName().length() > 0) - { - GlobalLogWriter.println(" Please check FilterName := '" + _aGTA.getImportFilterName() + "'"); - } - GlobalLogWriter.println(""); - } - } - else - { - GlobalLogWriter.println("com.sun.star.frame.Desktop failed."); - } - } - catch ( com.sun.star.uno.Exception e ) - { - // Some exception occurs.FAILED - GlobalLogWriter.println("UNO Exception caught."); - GlobalLogWriter.println("Message: " + e.getMessage()); - e.printStackTrace(); - } - return aDoc; - } - - private boolean exportToPDF(XComponent _xComponent, String _sDestinationName) - { - XServiceInfo xServiceInfo = - UnoRuntime.queryInterface( - XServiceInfo.class, _xComponent - ); - - ArrayList<PropertyValue> aPropertyList = new ArrayList<PropertyValue>(); - PropertyValue aFiltername = new PropertyValue(); - aFiltername.Name = "FilterName"; - aFiltername.Value = getFilterName_forPDF(xServiceInfo); - aPropertyList.add(aFiltername); - showProperty(aFiltername); - boolean bWorked = true; - -// TODO: TimeHelper.waitInSeconds(20, "Wait before storeToURL. Maybe helps due to layouting problems."); - try - { - XStorable store = - UnoRuntime.queryInterface( - XStorable.class, _xComponent - ); - store.storeToURL(_sDestinationName, PropertyHelper.createPropertyValueArrayFormArrayList(aPropertyList)); - } - catch (com.sun.star.io.IOException e) - { - GlobalLogWriter.println("IO Exception caught."); - GlobalLogWriter.println("Message: " + e.getMessage()); - bWorked = false; - } - - return bWorked; - } - - - private String getFilterName_forPDF(XServiceInfo xServiceInfo) - { - String filterName = ""; - - if (xServiceInfo.supportsService("com.sun.star.text.TextDocument")) - { - //writer - filterName = "writer_pdf_Export"; - } - else if ( xServiceInfo.supportsService( "com.sun.star.sheet.SpreadsheetDocument" ) ) - { - //calc - filterName = "calc_pdf_Export"; - } - else if ( xServiceInfo.supportsService( "com.sun.star.drawing.DrawingDocument" ) ) - { - //draw - filterName = "draw_pdf_Export"; - } - else if ( xServiceInfo.supportsService( "com.sun.star.presentation.PresentationDocument" ) ) - { - //impress - filterName = "impress_pdf_Export"; - } - else if (xServiceInfo.supportsService("com.sun.star.text.WebDocument")) - { - //html document - filterName = "writer_web_pdf_Export"; - } - else if ( xServiceInfo.supportsService("com.sun.star.text.GlobalDocument") ) - { - //master document - filterName = "writer_globaldocument_pdf_Export"; - } - else if ( xServiceInfo.supportsService( "com.sun.star.formulaFormulaProperties" ) ) - { - //math document - filterName = "math_pdf_Export"; - } - - return filterName; - } - - - - private boolean storeAsPDF(ParameterHelper _aGTA, - XComponent _aDoc, - String _sOutputURL) throws OfficeException - { - boolean bBack = true; - _aGTA.getPerformance().startTime(PerformanceContainer.StoreAsPDF); - bBack = exportToPDF(_aDoc, _sOutputURL); - _aGTA.getPerformance().stopTime(PerformanceContainer.StoreAsPDF); - - if (!bBack) - { - GlobalLogWriter.println("Can't store document as PDF."); - throw new OfficeException("Can't store document as PDF"); - } - else - { - FileHelper.createInfoFile(_sOutputURL, _aGTA, "as pdf"); - } - return bBack; - } - - - private boolean impl_printToFileWithOOo(ParameterHelper _aGTA, - XComponent _aDoc, - String _sOutputURL, - String _sPrintFileURL) - { - boolean bBack = false; - boolean bFailed = true; // always be a pessimist, - if (_aDoc == null) - { - GlobalLogWriter.println("No document is given."); - return bBack; - } - - try - { - if (_sOutputURL != null) - { - if (isStoreAllowed()) - { - // store the document in an other directory - XStorable aStorable = UnoRuntime.queryInterface( XStorable.class, _aDoc); - if (aStorable != null) - { - PropertyValue [] szEmptyArgs = new PropertyValue [0]; - - GlobalLogWriter.println(DateHelper.getDateTimeForHumanreadableLog() + " Store document."); - _aGTA.getPerformance().startTime(PerformanceContainer.Store); - aStorable.storeAsURL(_sOutputURL, szEmptyArgs); - _aGTA.getPerformance().stopTime(PerformanceContainer.Store); - - GlobalLogWriter.println(DateHelper.getDateTimeForHumanreadableLog() + " Store document done."); - GlobalLogWriter.println("Reload stored file test."); - XComponent aDoc = loadFromURL(_aGTA, _sOutputURL); - if (aDoc == null) - { - GlobalLogWriter.println("Reload stored file test failed, can't reload file: " + _sOutputURL); - } - else - { - XCloseable xClose = UnoRuntime.queryInterface(XCloseable.class, aDoc); - if (xClose != null) - { - xClose.close(true); - } - else - { - aDoc.dispose(); - } - } - } - } - else - { - // make sure to create the directory in - String sOutputFilename = FileHelper.getSystemPathFromFileURL(_sOutputURL); - String sOutputPath = FileHelper.getPath(sOutputFilename); - File aFile = new File(sOutputPath); - aFile.mkdirs(); - } - } - } - catch ( com.sun.star.uno.Exception e ) - { - // Some exception occurs.FAILED - GlobalLogWriter.println("UNO Exception caught."); - GlobalLogWriter.println("Message: " + e.getMessage()); - - e.printStackTrace(); - bBack = false; - } - - try - { - - // Change Pagesettings to DIN A4 - - GlobalLogWriter.println(DateHelper.getDateTimeForHumanreadableLog() + " Print document."); - XPrintable aPrintable = UnoRuntime.queryInterface( XPrintable.class, _aDoc); - if (aPrintable != null) - { - // configure Office to allow to execute macos - -// TODO: We need a possibility to set the printer name also for StarOffice/OpenOffice - if (OSHelper.isWindows()) - { - if (_aGTA.getPrinterName() != null) - { - ArrayList<PropertyValue> aPropertyList = new ArrayList<PropertyValue>(); - // PropertyValue [] aPrintProps = new PropertyValue[1]; - PropertyValue Arg = new PropertyValue(); - Arg.Name = "Name"; - Arg.Value = _aGTA.getPrinterName(); - aPropertyList.add(Arg); - showProperty(Arg); - // GlobalLogWriter.println("Printername is not null, so set to " + _aGTA.getPrinterName()); - aPrintable.setPrinter(PropertyHelper.createPropertyValueArrayFormArrayList(aPropertyList)); - } - } - - // set property values for XPrintable.print() - // more can be found at "http://api.libreoffice.org/docs/common/ref/com/sun/star/view/PrintOptions.html" - - // If we are a SpreadSheet (calc), we need to set PrintAllSheets property to 'true' - XServiceInfo xServiceInfo = UnoRuntime.queryInterface( XServiceInfo.class, _aDoc ); - if ( xServiceInfo.supportsService( "com.sun.star.sheet.SpreadsheetDocument" ) ) - { - XMultiServiceFactory xMSF = _aGTA.getMultiServiceFactory(); - Object aSettings = xMSF.createInstance( "com.sun.star.sheet.GlobalSheetSettings" ); - if (aSettings != null) - { - XPropertySet xPropSet = UnoRuntime.queryInterface( XPropertySet.class, aSettings ); - xPropSet.setPropertyValue( "PrintAllSheets", Boolean.TRUE ); - GlobalLogWriter.println("PrintAllSheets := true"); - } - } - - ArrayList<PropertyValue> aPrintProps = new ArrayList<PropertyValue>(); - - PropertyValue Arg = new PropertyValue(); - Arg.Name = "FileName"; - Arg.Value = _sPrintFileURL; - aPrintProps.add(Arg); - showProperty(Arg); - - - // generate pages string - if (!_aGTA.printAllPages()) - { - String sPages = ""; - if (_aGTA.getMaxPages() > 0) - { - sPages = "1-" + _aGTA.getMaxPages(); - } - if (_aGTA.getOnlyPages().length() != 0) - { - if (sPages.length() != 0) - { - sPages += ";"; - } - sPages += String.valueOf(_aGTA.getOnlyPages()); - } - - Arg = new PropertyValue(); - Arg.Name = "Pages"; - Arg.Value = sPages; - aPrintProps.add(Arg); - showProperty(Arg); - } - - _aGTA.getPerformance().startTime(PerformanceContainer.Print); - aPrintable.print(PropertyHelper.createPropertyValueArrayFormArrayList(aPrintProps)); - TimeHelper.waitInSeconds(1, "Start waiting for print ready."); - - GlobalLogWriter.println("Wait until document is printed."); - boolean isBusy = true; - int nPrintCount = 0; - while (isBusy) - { - PropertyValue[] aPrinterProps = aPrintable.getPrinter(); - int nPropIndex = 0; - while (!"IsBusy".equals(aPrinterProps[nPropIndex].Name)) - { - nPropIndex++; - } - isBusy = aPrinterProps[nPropIndex].Value.equals(Boolean.TRUE); - TimeHelper.waitInSeconds(1, "is print ready?"); - nPrintCount++; - if (nPrintCount > 3600) - { - // we will never wait >1h until print is ready! - GlobalLogWriter.println("ERROR: Cancel print due to too long wait."); - throw new com.sun.star.uno.Exception("Convwatch exception, wait too long for printing."); - } - } - _aGTA.getPerformance().stopTime(PerformanceContainer.Print); - GlobalLogWriter.println(DateHelper.getDateTimeForHumanreadableLog() + " Print document done."); - - // Create a .info file near the printed '.ps' or '.prn' file. - FileHelper.createInfoFile(_sPrintFileURL, _aGTA); - } - else - { - GlobalLogWriter.println("Can't get XPrintable interface."); - } - bFailed = false; - bBack = true; - } - catch ( com.sun.star.uno.Exception e ) - { - // Some exception occurs.FAILED - GlobalLogWriter.println("UNO Exception caught."); - GlobalLogWriter.println("Message: " + e.getMessage()); - - e.printStackTrace(); - bBack = false; - } - - if (bFailed) - { - GlobalLogWriter.println("convwatch.OfficePrint: FAILED"); - } - else - { - GlobalLogWriter.println("convwatch.OfficePrint: OK"); - } - return bBack; - } - - - - - - // TODO: move this away! - - - - - - private OfficeProvider m_aProvider = null; - private void startOffice() - { - m_aParameterHelper.getTestParameters().put(util.PropertyName.DONT_BACKUP_USERLAYER, Boolean.TRUE); - - m_aParameterHelper.getPerformance().startTime(PerformanceContainer.OfficeStart); - m_aProvider = new OfficeProvider(); - XMultiServiceFactory xMSF = (XMultiServiceFactory) m_aProvider.getManager(m_aParameterHelper.getTestParameters()); - m_aParameterHelper.getTestParameters().put("ServiceFactory", xMSF); - m_aParameterHelper.getPerformance().stopTime(PerformanceContainer.OfficeStart); - - long nStartTime = m_aParameterHelper.getPerformance().getTime(PerformanceContainer.OfficeStart); - m_aParameterHelper.getPerformance().setTime(PerformanceContainer.OfficeStart, nStartTime); - - // Watcher Object is need in log object to give a simple way to say if a running office is alive. - // As long as a log comes, it pings the Watcher and says the office is alive, if not an - // internal counter increase and at a given point (300 seconds) the office is killed. - if (GlobalLogWriter.get().getWatcher() == null) - { - GlobalLogWriter.println("Set office watcher"); - OfficeWatcher aWatcher = (OfficeWatcher)m_aParameterHelper.getTestParameters().get("Watcher"); - GlobalLogWriter.get().setWatcher(aWatcher); - } - } - - private void stopOffice() - { - // Office shutdown - if (m_aProvider != null) - { - String sAppExecCmd = (String)m_aParameterHelper.getTestParameters().get("AppExecutionCommand"); - if (sAppExecCmd != null && sAppExecCmd.length() > 0) - { - m_aProvider.closeExistingOffice(m_aParameterHelper.getTestParameters(), true); - } - } - } - - - - private boolean isStoreAllowed() - { - return false; - } - -} - |