summaryrefslogtreecommitdiff
path: root/xmerge/java/org/openoffice/xmerge/util/registry/ConverterInfo.java
diff options
context:
space:
mode:
Diffstat (limited to 'xmerge/java/org/openoffice/xmerge/util/registry/ConverterInfo.java')
-rw-r--r--xmerge/java/org/openoffice/xmerge/util/registry/ConverterInfo.java436
1 files changed, 0 insertions, 436 deletions
diff --git a/xmerge/java/org/openoffice/xmerge/util/registry/ConverterInfo.java b/xmerge/java/org/openoffice/xmerge/util/registry/ConverterInfo.java
deleted file mode 100644
index 0d662294b4b7..000000000000
--- a/xmerge/java/org/openoffice/xmerge/util/registry/ConverterInfo.java
+++ /dev/null
@@ -1,436 +0,0 @@
-/************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-package org.openoffice.xmerge.util.registry;
-
-import java.util.Vector;
-import java.util.Enumeration;
-import java.net.URL;
-import java.net.URLClassLoader;
-import java.lang.reflect.Constructor;
-import org.openoffice.xmerge.PluginFactory;
-import org.openoffice.xmerge.DocumentSerializerFactory;
-import org.openoffice.xmerge.DocumentDeserializerFactory;
-import org.openoffice.xmerge.DocumentMergerFactory;
-
-/**
- * Class for storing the information about a converter plugin.
- *
- * @author Brian Cameron
- */
-public class ConverterInfo {
-
- /**
- * Keep track of the valid Office mime types
- */
- private static String[] validOfficeTypes;
- public static String SxwType = "staroffice/sxw";
- public static String SxcType = "staroffice/sxc";
-
-
- static {
- // This needs to be updated to reflect all valid office types.
- //
- validOfficeTypes = new String[2];
- validOfficeTypes[0] = SxwType;
- validOfficeTypes[1] = SxcType;
- }
-
- private String piJarName;
- private String piOfficeMime;
- private Vector piDeviceMime;
- private String piDisplayName;
- private String piDescription;
- private String piVersion;
- private String piVendor;
- private String piClassImpl;
- private String piXsltSerial;
- private String piXsltDeserial;
- private boolean piCanSerialize = false;
- private boolean piCanDeserialize = false;
- private boolean piCanMerge = false;
- private ClassLoader piClassLoader = null;
- private PluginFactory piPluginFactory;
-
-
- /**
- * The constructor builds a ConverterInfo structure.
- *
- * @param jarName The URL of the jarfile.
- * @param officeMime The office mime-type.
- * @param deviceMime The device mime-type.
- * @param displayName The display name.
- * @param description The description.
- * @param version The version.
- * @param vendor The vendor name.
- * @param impl The implementation class name of
- * PluginFactory.
- * @param xsltSerial The url of the serializer xsl stylesheet
- * @param xsltDeserial The url of the deserializer xsl stylesheet
- *
- * @throws RegistryException If <code>ci</code> cannot
- * be loaded.
- */
- public ConverterInfo(String jarName, String officeMime,
- Vector deviceMime, String displayName, String description,
- String version, String vendor, String impl,String xsltSerial,
- String xsltDeserial)
- throws RegistryException {
-
- if (isValidOfficeType(officeMime.trim()) == false) {
- RegistryException re = new RegistryException(
- "Invalid office type");
- throw re;
- }
-
- piJarName = jarName.trim();
- piOfficeMime = officeMime.trim();
- piDeviceMime = deviceMime;
- piDisplayName = displayName.trim();
- piDescription = description.trim();
- piVersion = version.trim();
- piVendor = vendor.trim();
- piXsltSerial = xsltSerial.trim();
- piXsltDeserial= xsltDeserial.trim();
- piClassImpl = impl.trim();
- piClassLoader = this.getClass().getClassLoader();
-
- // Get instance of the PluginFactory.
- //
- try {
- URL jarURL = new URL(jarName);
- URLClassLoader loader = new URLClassLoader(new URL[] { jarURL },
- piClassLoader);
- Class clas = loader.loadClass(piClassImpl);
- Class[] argumentTypes = { org.openoffice.xmerge.util.registry.ConverterInfo.class };
- Constructor construct = clas.getConstructor(argumentTypes);
-
- Object[] arguments = { this };
- piPluginFactory = ( PluginFactory ) construct.newInstance(arguments);
-
- // See which interfaces the plug-in PluginFactory supports.
- //
- Class[] cl = piPluginFactory.getClass().getInterfaces();
- for (int i=0; i < cl.length; i++) {
-
- if (cl[i].getName().equals("org.openoffice.xmerge.DocumentSerializerFactory")) {
- piCanSerialize = true;
- }
- if (cl[i].getName().equals("org.openoffice.xmerge.DocumentDeserializerFactory")) {
- piCanDeserialize = true;
- }
- if (cl[i].getName().equals("org.openoffice.xmerge.DocumentMergerFactory")) {
- piCanMerge = true;
- }
- }
-
- } catch (Exception e) {
- RegistryException re = new RegistryException(
- "Class implementation of the plug-in cannot be loaded.");
- throw re;
- }
- }
-
- /**
- * The constructor builds a ConverterInfo structure.
- *
- * @param jarName The URL of the jarfile.
- * @param officeMime The office mime-type.
- * @param deviceMime The device mime-type.
- * @param displayName The display name.
- * @param description The description.
- * @param version The version.
- * @param vendor The vendor name.
- * @param impl The implementation class name of
- * PluginFactory.
- *
- * @throws RegistryException If <code>ci</code> cannot
- * be loaded.
- */
-
-
- public ConverterInfo(String jarName, String officeMime,
- Vector deviceMime, String displayName, String description,
- String version, String vendor, String impl)
- throws RegistryException {
-
- if (isValidOfficeType(officeMime.trim()) == false) {
- RegistryException re = new RegistryException(
- "Invalid office type");
- throw re;
- }
-
- piJarName = jarName.trim();
- piOfficeMime = officeMime.trim();
- piDeviceMime = deviceMime;
- piDisplayName = displayName.trim();
- piDescription = description.trim();
- piVersion = version.trim();
- piVendor = vendor.trim();
- piClassImpl = impl.trim();
- piClassLoader = this.getClass().getClassLoader();
-
- // Get instance of the PluginFactory.
- //
- try {
- URL jarURL = new URL(jarName);
- URLClassLoader loader = new URLClassLoader(new URL[] { jarURL },
- piClassLoader);
- Class clas = loader.loadClass(piClassImpl);
- Class[] argumentTypes = { org.openoffice.xmerge.util.registry.ConverterInfo.class };
- Constructor construct = clas.getConstructor(argumentTypes);
-
- Object[] arguments = { this };
- piPluginFactory = ( PluginFactory ) construct.newInstance(arguments);
-
- // See which interfaces the plug-in PluginFactory supports.
- //
- Class[] cl = piPluginFactory.getClass().getInterfaces();
- for (int i=0; i < cl.length; i++) {
-
- if (cl[i].getName().equals("org.openoffice.xmerge.DocumentSerializerFactory")) {
- piCanSerialize = true;
- }
- if (cl[i].getName().equals("org.openoffice.xmerge.DocumentDeserializerFactory")) {
- piCanDeserialize = true;
- }
- if (cl[i].getName().equals("org.openoffice.xmerge.DocumentMergerFactory")) {
- piCanMerge = true;
- }
- }
-
- } catch (Exception e) {
- RegistryException re = new RegistryException(
- "Class implementation of the plug-in cannot be loaded.");
- throw re;
- }
- }
-
-
-
-
- /**
- * Create a default constructor so we can use isValidOfficeType
- * without having to actually have a valid ConverterInfo.
- */
- private ConverterInfo() {
- }
-
-
- /**
- * Returns an instance of the DocumentDeserializerFactory interface.
- *
- * @return instance of the DocumentDeserializer for this ConverterInfo.
- */
- public DocumentSerializerFactory getDocSerializerFactory() {
- return (DocumentSerializerFactory)piPluginFactory;
- }
-
-
- /**
- * Returns an instance of the DocumentSerializerFactory interface.
- *
- * @return instance of the DocumentSerializer for this ConverterInfo.
- */
- public DocumentDeserializerFactory getDocDeserializerFactory() {
- return (DocumentDeserializerFactory)piPluginFactory;
- }
-
-
- /**
- * Returns an instance of the DocumentMergerFactory interface.
- *
- * @return instance of the DocumentMergerFactory for this ConverterInfo.
- */
- public DocumentMergerFactory getDocMergerFactory() {
- return (DocumentMergerFactory)piPluginFactory;
- }
-
-
- /**
- * Returns the jar file name.
- *
- * @return The jar file name, null if none exists.
- */
- public String getJarName() {
- return piJarName;
- }
-
-
- /**
- * Returns the office mime-type.
- *
- * @return The office mime-type, null if none exists.
- */
- public String getOfficeMime() {
- return piOfficeMime;
- }
-
-
- /**
- * Returns an <code>Enumeration</code> of <code>String</code>
- * objects indicating the device mime-type.
- *
- * @return An <code>Enumeration</code> of <code>String</code>
- * objects indicating the device mime-type.
- */
- public Enumeration getDeviceMime() {
- return(piDeviceMime.elements());
- }
-
-
- /**
- * Returns the display name.
- *
- * @return The display name, null if none exists.
- */
- public String getDisplayName() {
- return piDisplayName;
- }
-
-
- /**
- * Returns the description.
- *
- * @return The description, null if none exists.
- */
- public String getDescription() {
- return piDescription;
- }
-
-
- /**
- * Returns the version.
- *
- * @return The version, null if none exists.
- */
- public String getVersion() {
- return piVersion;
- }
-
-
- /**
- * Returns the vendor name.
- *
- * @return The vendor name, null if none exists.
- */
- public String getVendor() {
- return piVendor;
- }
-
-
- /**
- * Returns the implementation class name of PluginFactory.
- *
- * @return The implementation class name of PluginFactory,
- * null if none exists.
- */
- public String getClassImpl() {
- return piClassImpl;
- }
-
-
- /**
- * Returns the PluginFactory instance for this plug-in.
- *
- * @return The PluginFactory instance for this plug-in.
- */
- public PluginFactory getPluginFactory() {
- return piPluginFactory;
- }
-
-
- /**
- * Returns true if this plug-in has a serializier, false otherwise.
- *
- * @return true if this plug-in has a serializier, false otherwise.
- */
- public boolean canSerialize() {
- return piCanSerialize;
- }
-
-
- /**
- * Returns true if this plug-in has a deserializier, false otherwise.
- *
- * @return true if this plug-in has a deserializier, false otherwise.
- */
- public boolean canDeserialize() {
- return piCanDeserialize;
- }
-
-
- /**
- * Returns true if this plug-in has a merger, false otherwise.
- *
- * @return true if this plug-in has a merger, false otherwise.
- */
- public boolean canMerge() {
- return piCanMerge;
- }
-
-
- /**
- * Returns true if the officeMime is a valid Office mime type.
- *
- * @return true if the officeMime is a valid Office mime type.
- */
- public static boolean isValidOfficeType(String officeMime) {
-
- boolean rc = false;
- for (int i=0; i < validOfficeTypes.length; i++) {
- if (officeMime.equals(validOfficeTypes[i])) {
- rc = true;
- }
- }
-
- return rc;
- }
-
- /**
- * Returns a <code>String</code> containing the Xslt stylesheet url that
- * is to be used by the Xslt Plugin Serializer.
- *
- * @return <code>String</code>
- */
-
- public String getXsltSerial() {
- return piXsltSerial;
- }
-
- /**
- * Returns a <code>String</code> containing the xslt stylesheet url that
- * is to be used by the Xslt Plugin Deserializer.
- *
- * @return <code>String</code>
- */
-
- public String getXsltDeserial() {
- return piXsltDeserial;
- }
-}
-