diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 05:54:39 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 05:54:39 +0000 |
commit | 267c6f2ac71f92999e969232431ba04678e7437e (patch) | |
tree | 358c9467650e1d0a1d7227a21dac2e3d08b622b2 /qadevOOo/testdocs/qadevlibs/source | |
parent | Initial commit. (diff) | |
download | libreoffice-267c6f2ac71f92999e969232431ba04678e7437e.tar.xz libreoffice-267c6f2ac71f92999e969232431ba04678e7437e.zip |
Adding upstream version 4:24.2.0.upstream/4%24.2.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'qadevOOo/testdocs/qadevlibs/source')
6 files changed, 562 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 0000000000..1eb08d140d --- /dev/null +++ b/qadevOOo/testdocs/qadevlibs/source/com/sun/star/cmp/MyPersistObject.java @@ -0,0 +1,345 @@ +/* + * 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.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; + } + } + + private static final boolean verbose = false; + + public static final String __serviceName = + "com.sun.star.cmp.PersistObject"; + public static 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; + } + + /** + * Function 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); + } + + /** + * Function 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); + + } + + + /** + * Function 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 Byte.valueOf(by); + if ( property.equals(props[1].Name)) + return Integer.valueOf(i); + if ( property.equals(props[2].Name)) + return Character.valueOf(c); + if ( property.equals(props[3].Name)) + return Double.valueOf(d); + if ( property.equals(props[4].Name)) + return Float.valueOf(f); + if ( property.equals(props[5].Name)) + return Short.valueOf(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) { + return serviceName.equals(__serviceName); + } + + /** + * 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 0000000000..761a9bbcab --- /dev/null +++ b/qadevOOo/testdocs/qadevlibs/source/com/sun/star/cmp/makefile.mk @@ -0,0 +1,55 @@ +# +# 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 . +# + +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 0000000000..e52cdc9f71 --- /dev/null +++ b/qadevOOo/testdocs/qadevlibs/source/com/sun/star/cmp/manifest @@ -0,0 +1 @@ +RegistrationClassName: com.sun.star.cmp.MyPersistObject diff --git a/qadevOOo/testdocs/qadevlibs/source/test/Job.java b/qadevOOo/testdocs/qadevlibs/source/test/Job.java new file mode 100644 index 0000000000..40d0c09c3c --- /dev/null +++ b/qadevOOo/testdocs/qadevlibs/source/test/Job.java @@ -0,0 +1,104 @@ +/* + * 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 test; + +import com.sun.star.task.XJob; +import com.sun.star.lang.XSingleServiceFactory; +import com.sun.star.beans.*; +import com.sun.star.container.*; +import com.sun.star.lang.XServiceInfo; +import com.sun.star.lang.XTypeProvider; +import com.sun.star.uno.Type; +import com.sun.star.lang.XMultiServiceFactory; +import com.sun.star.registry.XRegistryKey; +import com.sun.star.comp.loader.FactoryHelper; + +public class Job { + + public static class _Implementation implements XServiceInfo, XTypeProvider, + XJob, XNamed { + private static final String __serviceName = "test.Job"; + Object oDoc = null; + String actionType = null; + String actionParm = null; + + public _Implementation(XMultiServiceFactory xMSF) { + } + + // XServiceInfo + public String getImplementationName() + throws com.sun.star.uno.RuntimeException { + return getClass().getName(); + } + + public boolean supportsService(String serviceName) + throws com.sun.star.uno.RuntimeException { + return __serviceName.equals(serviceName); + } + + public String[] getSupportedServiceNames() + throws com.sun.star.uno.RuntimeException { + return new String[] { __serviceName }; + } + + private static int executed = 0; + + public Object execute(NamedValue[] args) { + executed++; + + return null; + } + + public String getName() { + return "" + executed; + } + + public void setName(String n) { + } + + public byte[] getImplementationId() { + return new byte[0]; + } + + public Type[] getTypes() { + Class<?> interfaces[] = getClass().getInterfaces(); + Type types[] = new Type[interfaces.length]; + for (int i = 0; i < interfaces.length; ++i) + types[i] = new Type(interfaces[i]); + return types; + } + + } + + public static XSingleServiceFactory __getServiceFactory( + XMultiServiceFactory multiFactory, XRegistryKey regKey) { + XSingleServiceFactory xSingleServiceFactory = null; + xSingleServiceFactory = FactoryHelper.getServiceFactory( + _Implementation.class, _Implementation.__serviceName, + multiFactory, regKey); + return xSingleServiceFactory; + } + + public static boolean __writeRegistryServiceInfo(XRegistryKey regKey) { + boolean result = true; + result = FactoryHelper.writeRegistryServiceInfo( + _Implementation.class.getName(), _Implementation.__serviceName, + regKey); + return result; + } +} diff --git a/qadevOOo/testdocs/qadevlibs/source/test/makefile.mk b/qadevOOo/testdocs/qadevlibs/source/test/makefile.mk new file mode 100644 index 0000000000..27115c251a --- /dev/null +++ b/qadevOOo/testdocs/qadevlibs/source/test/makefile.mk @@ -0,0 +1,55 @@ +# +# 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 . +# + +PRJ = ..$/..$/..$/.. +PRJNAME = JobExecutor +TARGET = $(PRJNAME) +PACKAGE = test + +# --- Settings ----------------------------------------------------- +.INCLUDE: settings.mk + +#----- compile .java files ----------------------------------------- + +JARFILES = ridl.jar unoil.jar jurt.jar juh.jar java_uno.jar OOoRunner.jar +JAVAFILES = Job.java +JAVACLASSFILES = $(CLASSDIR)$/$(PACKAGE)$/Job.class + +#----- make a jar from compiled files ------------------------------ + +MAXLINELENGTH = 100000 + +JARCLASSDIRS = test +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/test/manifest b/qadevOOo/testdocs/qadevlibs/source/test/manifest new file mode 100644 index 0000000000..02f7023378 --- /dev/null +++ b/qadevOOo/testdocs/qadevlibs/source/test/manifest @@ -0,0 +1,2 @@ +RegistrationClassName: test.Job +
\ No newline at end of file |