summaryrefslogtreecommitdiff
path: root/xmlsecurity
diff options
context:
space:
mode:
authorRĂ¼diger Timm <rt@openoffice.org>2005-05-18 09:00:33 +0000
committerRĂ¼diger Timm <rt@openoffice.org>2005-05-18 09:00:33 +0000
commitc7d785506012b500345c5cbbe7348ff03ff15256 (patch)
tree3ccdefd1677dd814c3027c266f9802ee13cffcd2 /xmlsecurity
parent3eaaa904919ce40c237da49fb86b87f6fb68641a (diff)
INTEGRATION: CWS xmlsec12 (1.1.2); FILE ADDED
2005/04/15 14:17:30 mt 1.1.2.1: cleanups...
Diffstat (limited to 'xmlsecurity')
-rw-r--r--xmlsecurity/tools/demo/JavaFlatFilter.java259
1 files changed, 259 insertions, 0 deletions
diff --git a/xmlsecurity/tools/demo/JavaFlatFilter.java b/xmlsecurity/tools/demo/JavaFlatFilter.java
new file mode 100644
index 000000000000..fe7bc18fe8cf
--- /dev/null
+++ b/xmlsecurity/tools/demo/JavaFlatFilter.java
@@ -0,0 +1,259 @@
+/*************************************************************************
+ *
+ * $RCSfile: JavaFlatFilter.java,v $
+ *
+ * $Revision: 1.2 $
+ *
+ * last change: $Author: rt $ $Date: 2005-05-18 10:00:33 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 by Sun Microsystems, Inc.
+ * 901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library 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 for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (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.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+package com.sun.star.xml.security.eval;
+
+import com.sun.star.registry.XRegistryKey;
+import com.sun.star.comp.loader.FactoryHelper;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.xml.sax.InputSource;
+import com.sun.star.xml.sax.XDocumentHandler;
+import com.sun.star.xml.sax.XParser;
+import com.sun.star.xml.sax.XDTDHandler;
+import com.sun.star.xml.sax.XEntityResolver;
+import com.sun.star.xml.sax.XErrorHandler;
+import com.sun.star.xml.sax.XAttributeList;
+import com.sun.star.lang.XSingleServiceFactory;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.lang.XTypeProvider;
+import com.sun.star.lang.XServiceInfo;
+import com.sun.star.lang.Locale;
+
+/*
+ * the JavaFlatFilter class is a pure java filter, which does nothing
+ * but forwarding the SAX events to the next document handler.
+ * The purpose of this class is to calculate the time consumed by
+ * the UNO C++/Java bridge during exporting/importing.
+ */
+public class JavaFlatFilter extends Object
+ implements XDocumentHandler, XParser, XTypeProvider, XServiceInfo
+{
+ XDocumentHandler m_xDocumentHandler;
+
+ /* XDocumentHandler */
+ public void startDocument()
+ throws com.sun.star.xml.sax.SAXException
+ {
+ m_xDocumentHandler.startDocument();
+ }
+
+ public void endDocument()
+ throws com.sun.star.xml.sax.SAXException
+ {
+ m_xDocumentHandler.endDocument();
+ }
+
+ public void startElement (String aName, com.sun.star.xml.sax.XAttributeList xAttribs )
+ throws com.sun.star.xml.sax.SAXException
+ {
+ m_xDocumentHandler.startElement(aName, xAttribs);
+ }
+
+ public void endElement ( String aName )
+ throws com.sun.star.xml.sax.SAXException
+ {
+ m_xDocumentHandler.endElement(aName);
+ }
+
+ public void characters ( String aChars )
+ throws com.sun.star.xml.sax.SAXException
+ {
+ m_xDocumentHandler.characters(aChars);
+ }
+
+ public void ignorableWhitespace ( String aWhitespaces )
+ throws com.sun.star.xml.sax.SAXException
+ {
+ m_xDocumentHandler.ignorableWhitespace(aWhitespaces);
+ }
+
+ public void processingInstruction ( String aTarget, String aData )
+ throws com.sun.star.xml.sax.SAXException
+ {
+ m_xDocumentHandler.processingInstruction(aTarget, aData);
+ }
+
+ public void setDocumentLocator (com.sun.star.xml.sax.XLocator xLocator )
+ throws com.sun.star.xml.sax.SAXException
+ {
+ m_xDocumentHandler.setDocumentLocator(xLocator);
+ }
+
+ /* XParser */
+ public void parseStream(InputSource strucInputSource)
+ {
+ }
+
+ public void setDocumentHandler(XDocumentHandler xDocumentHandler)
+ {
+ m_xDocumentHandler = xDocumentHandler;
+ }
+
+ public void setDTDHandler(XDTDHandler xHandler)
+ {
+ }
+
+ public void setEntityResolver(XEntityResolver xResolver)
+ {
+ }
+
+ public void setErrorHandler(XErrorHandler xHandler)
+ {
+ }
+
+ public void setLocale(Locale locale)
+ {
+ }
+
+ /*
+ * XTypeProvider implementation
+ * maintain a static implementation id for all instances of JavaFlatFilter
+ * initialized by the first call to getImplementationId()
+ */
+ protected static byte[] _implementationId;
+ public com.sun.star.uno.Type[] getTypes()
+ {
+ com.sun.star.uno.Type[] retValue = new com.sun.star.uno.Type[4];
+
+ /*
+ * instantiate Type instances for each interface you support and add them to Type[] array
+ * this object implements XServiceInfo, XTypeProvider and XSignFilter
+ */
+ retValue[0]= new com.sun.star.uno.Type( XServiceInfo.class);
+ retValue[1]= new com.sun.star.uno.Type( XTypeProvider.class);
+ retValue[2]= new com.sun.star.uno.Type( XDocumentHandler.class);
+ retValue[3]= new com.sun.star.uno.Type( XParser.class);
+
+ /*
+ * XInterface is not needed for Java components, the UnoRuntime does its job
+ */
+
+ return retValue;
+ }
+
+ synchronized public byte[] getImplementationId()
+ {
+ if (_implementationId == null) {
+ _implementationId= new byte[16];
+ int hash = hashCode(); // hashDode of this object
+ _implementationId[0] = (byte)(hash & 0xff);
+ _implementationId[1] = (byte)((hash >>> 8) & 0xff);
+ _implementationId[2] = (byte)((hash >>> 16) & 0xff);
+ _implementationId[3] = (byte)((hash >>>24) & 0xff);
+ }
+ return _implementationId;
+ }
+
+
+ /*
+ * XServiceInfo implementation
+ * hold the service name in a private static member variable of the class
+ */
+ protected static final String __serviceName = "com.sun.star.xml.crypto.eval.JavaFlatFilter";
+ public String getImplementationName( )
+ {
+ return getClass().getName();
+ }
+
+ public boolean supportsService(String serviceName)
+ {
+ boolean rc = false;
+
+ if ( serviceName.equals( __serviceName))
+ {
+ rc = true;
+ }
+
+ return rc;
+ }
+
+ public String[] getSupportedServiceNames( )
+ {
+ String[] retValue= new String[0];
+ retValue[0]= __serviceName;
+ return retValue;
+ }
+
+ /* static __getServiceFactory() implementation */
+ public static XSingleServiceFactory __getServiceFactory(String implName,
+ XMultiServiceFactory multiFactory,
+ com.sun.star.registry.XRegistryKey regKey)
+ {
+ com.sun.star.lang.XSingleServiceFactory xSingleServiceFactory = null;
+ if (implName.equals( JavaFlatFilter.class.getName()) )
+ {
+ xSingleServiceFactory = FactoryHelper.getServiceFactory( JavaFlatFilter.class,
+ JavaFlatFilter.__serviceName,
+ multiFactory,
+ regKey);
+ }
+
+ return xSingleServiceFactory;
+ }
+
+ /* static __writeRegistryServiceInfo implementation */
+ public static boolean __writeRegistryServiceInfo(XRegistryKey regKey)
+ {
+ return FactoryHelper.writeRegistryServiceInfo( JavaFlatFilter.class.getName(),
+ __serviceName,
+ regKey);
+ }
+}