summaryrefslogtreecommitdiff
path: root/reportbuilder/java/com/sun/star/report/StorageRepository.java
diff options
context:
space:
mode:
Diffstat (limited to 'reportbuilder/java/com/sun/star/report/StorageRepository.java')
-rw-r--r--reportbuilder/java/com/sun/star/report/StorageRepository.java343
1 files changed, 0 insertions, 343 deletions
diff --git a/reportbuilder/java/com/sun/star/report/StorageRepository.java b/reportbuilder/java/com/sun/star/report/StorageRepository.java
deleted file mode 100644
index 0b23997bfcb9..000000000000
--- a/reportbuilder/java/com/sun/star/report/StorageRepository.java
+++ /dev/null
@@ -1,343 +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 com.sun.star.report;
-
-import com.sun.star.beans.PropertyVetoException;
-import com.sun.star.beans.UnknownPropertyException;
-import com.sun.star.beans.XPropertySet;
-import com.sun.star.container.NoSuchElementException;
-import com.sun.star.embed.ElementModes;
-import com.sun.star.embed.InvalidStorageException;
-import com.sun.star.embed.XStorage;
-import com.sun.star.embed.XTransactedObject;
-import com.sun.star.io.XStream;
-import com.sun.star.lang.IllegalArgumentException;
-import com.sun.star.lang.WrappedTargetException;
-import com.sun.star.lib.uno.adapter.XInputStreamToInputStreamAdapter;
-import com.sun.star.lib.uno.adapter.XOutputStreamToOutputStreamAdapter;
-import com.sun.star.uno.UnoRuntime;
-
-import java.io.BufferedInputStream;
-import java.io.BufferedOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/**
- * A directory holds all the contents here.
- *
- *
- */
-public class StorageRepository implements InputRepository, OutputRepository
-{
-
- private static final Log LOGGER = LogFactory.getLog(SDBCReportDataFactory.class);
- private static final String REPORT_PROCESSING_FAILED = "ReportProcessing failed";
- private XStorage input;
- private XStorage output;
- private final String rootURL;
-
- /**
- *
- * @param input
- * @param output
- * @param rootURL
- * @throws java.io.IOException
- */
- public StorageRepository(final XStorage input, final XStorage output, final String rootURL)
- {
- this.input = input;
- this.output = output;
- this.rootURL = rootURL;
-
- }
-
- public StorageRepository(final XStorage storage, final boolean isOutput, final String rootURL)
- {
- this.rootURL = rootURL;
- if (isOutput)
- {
- this.output = storage;
- }
- else
- {
- this.input = storage;
- }
- }
-
- public InputStream createInputStream(final String name) throws IOException
- {
- if (input == null)
- {
- throw new IOException("input is NULL");
- }
- try
- {
- final XStream xStream = (XStream) UnoRuntime.queryInterface(XStream.class, input.openStreamElement(name, ElementModes.READ));
- return new BufferedInputStream(new XInputStreamToInputStreamAdapter(xStream.getInputStream()), 102400);
- }
- catch (com.sun.star.uno.Exception e)
- {
- throw new IOException("createInputStream");
- }
- }
-
- /**
- * Creates an output stream for writing the data. If there is an entry with
- * that name already contained in the repository, try to overwrite it.
- *
- * @param name
- * @param mimeType
- * @return the outputstream
- * @throws IOException if opening the stream fails
- */
- public OutputStream createOutputStream(final String name, final String mimeType) throws IOException
- {
- if (output == null)
- {
- throw new IOException("output is NULL");
- }
- try
- {
- final XStream stream = output.openStreamElement(name, ElementModes.WRITE | ElementModes.TRUNCATE);
- stream.getInputStream().closeInput();
- if (mimeType != null)
- {
- final XPropertySet prop = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, stream);
- prop.setPropertyValue("MediaType", mimeType);
- }
- return new BufferedOutputStream(new XOutputStreamToOutputStreamAdapter(stream.getOutputStream()), 204800);
- }
- catch (com.sun.star.uno.Exception e)
- {
- throw new IOException("createOutputStream");
- }
- }
-
- public boolean exists(final String name)
- {
- try
- {
- return output.isStreamElement(name);
- }
- catch (InvalidStorageException ex)
- {
- LOGGER.error(REPORT_PROCESSING_FAILED, ex);
- }
- catch (com.sun.star.lang.IllegalArgumentException ex)
- {
- LOGGER.error(REPORT_PROCESSING_FAILED, ex);
- }
- catch (NoSuchElementException e)
- {
- // We expect this exception, no need to log it.
- }
- return false;
- }
-
- public boolean isWritable(final String name)
- {
- return true;
- }
-
- public Object getId()
- {
- return "1";
- }
-
- public long getVersion(final String name)
- {
- return 1;
- }
-
- public boolean isReadable(final String name)
- {
- try
- {
- if (input != null)
- {
- return input.isStreamElement(name);
- }
- }
- catch (InvalidStorageException ex)
- {
- LOGGER.error(REPORT_PROCESSING_FAILED, ex);
- }
- catch (com.sun.star.lang.IllegalArgumentException ex)
- {
- LOGGER.error(REPORT_PROCESSING_FAILED, ex);
- }
- catch (NoSuchElementException ex)
- {
- LOGGER.error(REPORT_PROCESSING_FAILED, ex);
- }
- return false;
- }
-
- public InputRepository openInputRepository(final String name) throws IOException
- {
- try
- {
- final String temp = shortenName(name);
- if (!input.isStorageElement(temp))
- {
- throw new IOException();
- }
- final XStorage storage = (XStorage) UnoRuntime.queryInterface(XStorage.class, input.openStorageElement(temp, ElementModes.READ));
- return new StorageRepository(storage, false, rootURL);
- }
- catch (NoSuchElementException ex)
- {
- LOGGER.error(REPORT_PROCESSING_FAILED, ex);
- }
- catch (WrappedTargetException ex)
- {
- LOGGER.error(REPORT_PROCESSING_FAILED, ex);
- }
- catch (InvalidStorageException ex)
- {
- LOGGER.error(REPORT_PROCESSING_FAILED, ex);
- }
- catch (IllegalArgumentException ex)
- {
- LOGGER.error(REPORT_PROCESSING_FAILED, ex);
- }
- catch (com.sun.star.io.IOException ex)
- {
- LOGGER.error(REPORT_PROCESSING_FAILED, ex);
- }
- throw new IOException();
- }
-
- final String shortenName(final String name)
- {
- final String temp;
- if (name.startsWith("./"))
- {
- temp = name.substring(2);
- }
- else
- {
- temp = name;
- }
- return temp;
- }
-
- public OutputRepository openOutputRepository(final String name, final String mimeType) throws IOException
- {
- try
- {
- final String temp = shortenName(name);
- final XStorage storage = (XStorage) UnoRuntime.queryInterface(XStorage.class, output.openStorageElement(temp, ElementModes.WRITE));
- if (mimeType != null)
- {
- final XPropertySet prop = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, storage);
- prop.setPropertyValue("MediaType", mimeType);
- }
- return new StorageRepository(storage, true, rootURL);
- }
- catch (UnknownPropertyException ex)
- {
- LOGGER.error(REPORT_PROCESSING_FAILED, ex);
- }
- catch (PropertyVetoException ex)
- {
- LOGGER.error(REPORT_PROCESSING_FAILED, ex);
- }
- catch (IllegalArgumentException ex)
- {
- LOGGER.error(REPORT_PROCESSING_FAILED, ex);
- }
- catch (WrappedTargetException ex)
- {
- LOGGER.error(REPORT_PROCESSING_FAILED, ex);
- }
- catch (InvalidStorageException ex)
- {
- LOGGER.error(REPORT_PROCESSING_FAILED, ex);
- }
- catch (com.sun.star.io.IOException ex)
- {
- LOGGER.error(REPORT_PROCESSING_FAILED, ex);
- }
-
- throw new IOException();
- }
-
- public void closeInputRepository()
- {
- if (input != null)
- {
- input.dispose();
- }
- }
-
- public void closeOutputRepository()
- {
- if (output != null)
- {
- try
- {
- final XTransactedObject obj = (XTransactedObject) UnoRuntime.queryInterface(XTransactedObject.class, output);
- if (obj != null)
- {
- obj.commit();
- }
- }
- catch (com.sun.star.io.IOException ex)
- {
- LOGGER.error(REPORT_PROCESSING_FAILED, ex);
- }
- catch (WrappedTargetException ex)
- {
- LOGGER.error(REPORT_PROCESSING_FAILED, ex);
- }
- output.dispose();
- }
-
- }
-
- public boolean existsStorage(final String name)
- {
- try
- {
- return output.isStorageElement(name);
- }
- catch (InvalidStorageException ex)
- {
- LOGGER.error(REPORT_PROCESSING_FAILED, ex);
- }
- catch (com.sun.star.lang.IllegalArgumentException ex)
- {
- LOGGER.error(REPORT_PROCESSING_FAILED, ex);
- }
- catch (NoSuchElementException ex)
- {
- // We expect this exception, no need to log it.
- }
- return false;
- }
-
- public String getRootURL()
- {
- return rootURL;
- }
-}