summaryrefslogtreecommitdiff
path: root/qadevOOo/testdocs/qadevlibs/source/com
diff options
context:
space:
mode:
Diffstat (limited to 'qadevOOo/testdocs/qadevlibs/source/com')
-rw-r--r--qadevOOo/testdocs/qadevlibs/source/com/sun/star/cmp/MyPersistObject.java356
-rw-r--r--qadevOOo/testdocs/qadevlibs/source/com/sun/star/cmp/makefile.mk64
-rw-r--r--qadevOOo/testdocs/qadevlibs/source/com/sun/star/cmp/manifest1
3 files changed, 421 insertions, 0 deletions
diff --git a/qadevOOo/testdocs/qadevlibs/source/com/sun/star/cmp/MyPersistObject.java b/qadevOOo/testdocs/qadevlibs/source/com/sun/star/cmp/MyPersistObject.java
new file mode 100644
index 000000000000..0446447456c8
--- /dev/null
+++ b/qadevOOo/testdocs/qadevlibs/source/com/sun/star/cmp/MyPersistObject.java
@@ -0,0 +1,356 @@
+/*************************************************************************
+ *
+ * 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 com.sun.star.cmp;
+
+import com.sun.star.io.XPersistObject;
+import com.sun.star.io.XObjectInputStream;
+import com.sun.star.io.XObjectOutputStream;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.beans.XPropertySetInfo;
+import com.sun.star.beans.Property;
+import com.sun.star.beans.XPropertyChangeListener;
+import com.sun.star.beans.XVetoableChangeListener;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.lang.XSingleServiceFactory;
+import com.sun.star.lang.XServiceInfo;
+import com.sun.star.uno.XInterface;
+import com.sun.star.lang.XTypeProvider;
+import com.sun.star.registry.XRegistryKey;
+import com.sun.star.comp.loader.FactoryHelper;
+import com.sun.star.uno.Type;
+
+/**
+ * Class MyPersistObject implements an XPersistObject, XServiceInfo,
+ * XTypeProvider and XPropertySet.
+ *
+ * Warning: In XPropertySet only the following methods that are
+ * used for testing are really implemented:
+ *
+ * - public XPropertySetInfo getPropertySetInfo()
+ * - public void setPropertyValue(String property, Object value)
+ * - public Object getPropertyValue(String property)
+ */
+public class MyPersistObject implements XPersistObject, XTypeProvider,
+ XServiceInfo, XPropertySet {
+
+ private class MyPropertySetInfo implements XPropertySetInfo {
+ Property[] _props;
+ public MyPropertySetInfo(Property[] props) {
+ _props = props;
+ }
+ public Property[] getProperties() {
+ return _props;
+ }
+ public Property getPropertyByName(String name) {
+ int i = getPropertyIndexByName(name);
+ return i>0?_props[i]:null;
+ }
+ public int getPropertyIndexByName(String name) {
+ for ( int i=0; i<_props.length; i++ )
+ if (name.equals(_props[i].Name))
+ return i;
+ return -1;
+ }
+ public boolean hasPropertyByName(String name) {
+ int i = getPropertyIndexByName(name);
+ return i>0?true:false;
+ }
+ }
+
+ static private final boolean verbose = false;
+
+ static public final String __serviceName =
+ "com.sun.star.cmp.PersistObject";
+ static public final String __implName =
+ "com.sun.star.cmp.MyPersistObject";
+
+ // lots of props to write
+ Property[] props;
+ private byte by;
+ private int i;
+ private char c;
+ private double d;
+ private float f;
+ private short s;
+ private String st;
+ // property set info
+ XPropertySetInfo xInfo;
+
+ /**
+ * Constructor: sets all properties
+ **/
+ public MyPersistObject() {
+ int prop_count = 7;
+ props = new Property[prop_count];
+ for (int i=0; i<prop_count; i++ ) {
+ props[i] = new Property();
+ }
+ by = 1;
+ props[0].Name = "byte";
+ i = 3;
+ props[1].Name = "int";
+ c = 'c';
+ props[2].Name = "char";
+ d = 3.142;
+ props[3].Name = "double";
+ f = 2.718f;
+ props[4].Name = "float";
+ s = 1;
+ props[5].Name = "short";
+ st = "Though this be madness, yet there is method in 't.";
+ props[6].Name = "String";
+ xInfo = new MyPropertySetInfo(props);
+ }
+ /**
+ * This function provides the service name
+ * @return the service name
+ * @see com.sun.star.io.XPersistObject
+ */
+ public String getServiceName() {
+ if ( verbose ) {
+ System.out.println("get service name");
+ }
+ return __serviceName;
+ }
+
+ /**
+ * Fuction reads properties from this input stream
+ * @param inStream the input stream
+ * @see com.sun.star.io.XPersistObject
+ */
+ public void read(XObjectInputStream inStream)
+ throws com.sun.star.io.IOException {
+ s = inStream.readShort();
+ i = inStream.readLong();
+ by = inStream.readByte();
+ c = inStream.readChar();
+ d = inStream.readDouble();
+ f = inStream.readFloat();
+ st = inStream.readUTF();
+ if ( verbose )
+ System.out.println("read called" + s + " " + i + " " + st);
+ }
+
+ /**
+ * Fuction writes properties on this output stream
+ * @param outStream the output stream
+ * @see com.sun.star.io.XPersistObject
+ */
+ public void write(XObjectOutputStream outStream)
+ throws com.sun.star.io.IOException {
+ if ( verbose )
+ System.out.println("write called");
+ outStream.writeShort(s);
+ outStream.writeLong(i);
+ outStream.writeByte(by);
+ outStream.writeChar(c);
+ outStream.writeDouble(d);
+ outStream.writeFloat(f);
+ outStream.writeUTF(st);
+
+ }
+
+
+ /**
+ * Fuction to get information about the property set.
+ * @return The information
+ * @see com.sun.star.io.XPropertySet
+ */
+ public XPropertySetInfo getPropertySetInfo() {
+ return xInfo;
+ }
+
+ /**
+ * Set a property value
+ * @param property The name of the property.
+ * @param value The new value of the property.
+ * @see com.sun.star.io.XPropertySet
+ */
+ public void setPropertyValue(String property, Object value) {
+ if ( property.equals(props[0].Name))
+ by = ((Byte)value).byteValue();
+ if ( property.equals(props[1].Name))
+ i = ((Integer)value).intValue();
+ if ( property.equals(props[2].Name))
+ c = ((Character)value).charValue();
+ if ( property.equals(props[3].Name))
+ d = ((Double)value).doubleValue();
+ if ( property.equals(props[4].Name))
+ f = ((Float)value).floatValue();
+ if ( property.equals(props[5].Name))
+ s = ((Short)value).shortValue();
+ if ( property.equals(props[6].Name))
+ st = (String)value;
+ }
+
+ /**
+ * Get a property value
+ * @param property The property name.
+ * @return The value of the property.
+ * @see com.sun.star.io.XPropertySet
+ */
+ public Object getPropertyValue(String property) {
+ if ( property.equals(props[0].Name))
+ return new Byte(by);
+ if ( property.equals(props[1].Name))
+ return new Integer(i);
+ if ( property.equals(props[2].Name))
+ return new Character(c);
+ if ( property.equals(props[3].Name))
+ return new Double(d);
+ if ( property.equals(props[4].Name))
+ return new Float(f);
+ if ( property.equals(props[5].Name))
+ return new Short(s);
+ if ( property.equals(props[6].Name))
+ return st;
+ return new Object();
+ }
+
+ /**
+ * Empty implementation: not needed for tests.
+ */
+ public void addPropertyChangeListener(String aPropertyName,
+ XPropertyChangeListener xListener ) {}
+
+ /**
+ * Empty implementation: not needed for tests.
+ */
+ public void removePropertyChangeListener(String aPropertyName,
+ XPropertyChangeListener aListener ) {}
+
+ /**
+ * Empty implementation: not needed for tests.
+ */
+ public void addVetoableChangeListener(String PropertyName,
+ XVetoableChangeListener aListener ) {}
+
+ /**
+ * Empty implementation: not needed for tests.
+ */
+ public void removeVetoableChangeListener(String PropertyName,
+ XVetoableChangeListener aListener ) {}
+
+ /**
+ * Get all implemented types of this class.
+ * @return An array of implemented interface types.
+ * @see com.sun.star.lang.XTypeProvider
+ */
+ public Type[] getTypes() {
+ Type[] type = new Type[5];
+ type[0] = new Type(XInterface.class);
+ type[1] = new Type(XTypeProvider.class);
+ type[2] = new Type(XPersistObject.class);
+ type[3] = new Type(XServiceInfo.class);
+ type[4] = new Type(XPropertySet.class);
+ return type;
+ }
+
+ /**
+ * Get the implementation id.
+ * @return An empty implementation id.
+ * @see com.sun.star.lang.XTypeProvider
+ */
+ public byte[] getImplementationId() {
+ return new byte[0];
+ }
+ /**
+ * Function for reading the implementation name.
+ *
+ * @return the implementation name
+ * @see com.sun.star.lang.XServiceInfo
+ */
+ public String getImplementationName() {
+ return __implName;
+ }
+
+ /**
+ * Does the implementation support this service?
+ *
+ * @param serviceName The name of the service in question
+ * @return true, if service is supported, false otherwise
+ * @see com.sun.star.lang.XServiceInfo
+ */
+ public boolean supportsService(String serviceName) {
+ if(serviceName.equals(__serviceName))
+ return true;
+ return false;
+ }
+
+ /**
+ * Function for reading all supported services
+ *
+ * @return An aaray with all supported service names
+ * @see com.sun.star.lang.XServiceInfo
+ */
+ public String[] getSupportedServiceNames() {
+ String[] supServiceNames = {__serviceName};
+ return supServiceNames;
+ }
+
+ /**
+ *
+ * Gives a factory for creating the service.
+ * This method is called by the <code>JavaLoader</code>
+ * <p>
+ * @return returns a <code>XSingleServiceFactory</code> for creating the component
+ * @param implName the name of the implementation for which a service is desired
+ * @param multiFactory the service manager to be used if needed
+ * @param regKey the registryKey
+ * @see com.sun.star.comp.loader.JavaLoader
+ */
+ public static XSingleServiceFactory __getServiceFactory(String implName,
+ XMultiServiceFactory multiFactory, XRegistryKey regKey)
+ {
+ XSingleServiceFactory xSingleServiceFactory = null;
+
+ if (implName.equals(MyPersistObject.class.getName()))
+ xSingleServiceFactory = FactoryHelper.getServiceFactory(
+ MyPersistObject.class, __serviceName, multiFactory, regKey);
+
+ return xSingleServiceFactory;
+ }
+
+ /**
+ * Writes the service information into the given registry key.
+ * This method is called by the <code>JavaLoader</code>
+ * <p>
+ * @return returns true if the operation succeeded
+ * @param regKey the registryKey
+ * @see com.sun.star.comp.loader.JavaLoader
+ */
+ public static boolean __writeRegistryServiceInfo(XRegistryKey regKey) {
+ return FactoryHelper.writeRegistryServiceInfo(MyPersistObject.class.getName(),
+ __serviceName, regKey);
+ }
+
+
+
+
+} // finish class MyPersistObject
+
+
diff --git a/qadevOOo/testdocs/qadevlibs/source/com/sun/star/cmp/makefile.mk b/qadevOOo/testdocs/qadevlibs/source/com/sun/star/cmp/makefile.mk
new file mode 100644
index 000000000000..f5edec0f6d17
--- /dev/null
+++ b/qadevOOo/testdocs/qadevlibs/source/com/sun/star/cmp/makefile.mk
@@ -0,0 +1,64 @@
+#*************************************************************************
+#
+# 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.
+#
+#*************************************************************************
+
+PRJ = ..$/..$/..$/..$/..$/..$/..
+PRJNAME = MyPersistObjectImpl
+TARGET = MyPersistObjectImpl
+PACKAGE = com$/sun$/star$/cmp
+
+# --- Settings -----------------------------------------------------
+.INCLUDE: settings.mk
+
+#----- compile .java files -----------------------------------------
+
+JARFILES = ridl.jar unoil.jar jurt.jar juh.jar java_uno.jar
+JAVAFILES = MyPersistObject.java
+JAVACLASSFILES = $(CLASSDIR)$/$(PACKAGE)$/MyPersistObject.class
+
+#----- make a jar from compiled files ------------------------------
+
+MAXLINELENGTH = 100000
+
+JARCLASSDIRS = com/sun/star/cmp
+JARTARGET = $(TARGET).jar
+JARCOMPRESS = TRUE
+CUSTOMMANIFESTFILE = manifest
+
+
+# --- Files --------------------------------------------------------
+
+# --- Targets ------------------------------------------------------
+
+.IF "$(depend)" == ""
+ALL : \
+ ALLTAR
+.ELSE
+ALL: ALLDEP
+.ENDIF
+
+.INCLUDE : target.mk
+
diff --git a/qadevOOo/testdocs/qadevlibs/source/com/sun/star/cmp/manifest b/qadevOOo/testdocs/qadevlibs/source/com/sun/star/cmp/manifest
new file mode 100644
index 000000000000..e52cdc9f716b
--- /dev/null
+++ b/qadevOOo/testdocs/qadevlibs/source/com/sun/star/cmp/manifest
@@ -0,0 +1 @@
+RegistrationClassName: com.sun.star.cmp.MyPersistObject