summaryrefslogtreecommitdiff
path: root/testautomation
diff options
context:
space:
mode:
Diffstat (limited to 'testautomation')
-rw-r--r--testautomation/extensions/optional/e_taskpane.bas49
-rw-r--r--testautomation/extensions/optional/includes/e_taskpane.inc74
-rwxr-xr-xtestautomation/extensions/optional/input/extension_sources/TaskPaneComponent/build.xml72
-rwxr-xr-xtestautomation/extensions/optional/input/extension_sources/TaskPaneComponent/nbproject/build-impl.xml794
-rwxr-xr-xtestautomation/extensions/optional/input/extension_sources/TaskPaneComponent/nbproject/build-uno-impl.xml462
-rwxr-xr-xtestautomation/extensions/optional/input/extension_sources/TaskPaneComponent/nbproject/genfiles.properties8
-rwxr-xr-xtestautomation/extensions/optional/input/extension_sources/TaskPaneComponent/nbproject/private/config.properties0
-rwxr-xr-xtestautomation/extensions/optional/input/extension_sources/TaskPaneComponent/nbproject/private/private.properties6
-rwxr-xr-xtestautomation/extensions/optional/input/extension_sources/TaskPaneComponent/nbproject/project-uno.properties18
-rwxr-xr-xtestautomation/extensions/optional/input/extension_sources/TaskPaneComponent/nbproject/project.properties67
-rwxr-xr-xtestautomation/extensions/optional/input/extension_sources/TaskPaneComponent/nbproject/project.xml14
-rwxr-xr-xtestautomation/extensions/optional/input/extension_sources/TaskPaneComponent/registry/data/org/openoffice/Office/UI/CalcWindowState.xcu23
-rwxr-xr-xtestautomation/extensions/optional/input/extension_sources/TaskPaneComponent/registry/data/org/openoffice/Office/UI/Factories.xcu35
-rwxr-xr-xtestautomation/extensions/optional/input/extension_sources/TaskPaneComponent/src/com/example/CentralRegistrationClass.java140
-rwxr-xr-xtestautomation/extensions/optional/input/extension_sources/TaskPaneComponent/src/com/example/TaskPaneComponent.java116
-rwxr-xr-xtestautomation/extensions/optional/input/extension_sources/TaskPaneComponent/src/com/example/ToolPanel.java56
-rwxr-xr-xtestautomation/extensions/optional/input/extension_sources/TaskPaneComponent/src/com/example/ToolPanelUIElement.java153
-rwxr-xr-xtestautomation/extensions/optional/input/extension_sources/TaskPaneComponent/src/description.xml5
-rwxr-xr-xtestautomation/extensions/optional/input/extension_sources/TaskPaneComponent/src/toolpanels/TaskPaneComponentUI.xdl8
-rwxr-xr-xtestautomation/extensions/optional/input/extension_sources/TaskPaneComponent/src/uno-extension-manifest.xml9
-rwxr-xr-xtestautomation/extensions/optional/input/extensions/TaskPaneComponent/TaskPaneComponent.oxtbin0 -> 9884 bytes
-rw-r--r--testautomation/global/input/officeinfo.txt3
-rw-r--r--[-rwxr-xr-x]testautomation/global/sid/e_all.sid2
-rwxr-xr-xtestautomation/global/win/dial_t_z.win4
-rwxr-xr-xtestautomation/global/win/edia_t_z.win4
-rw-r--r--[-rwxr-xr-x]testautomation/graphics/optional/includes/global/export_graphic_2.inc21
-rw-r--r--[-rwxr-xr-x]testautomation/graphics/optional/includes/global/g_autocorrection.inc2
-rw-r--r--testautomation/graphics/optional/includes/global/g_customshapes.inc8
-rw-r--r--testautomation/graphics/optional/includes/global/g_demoguide.inc57
-rw-r--r--testautomation/graphics/optional/includes/global/g_load_save.inc11
-rw-r--r--testautomation/graphics/tools/id_tools.inc10
31 files changed, 2179 insertions, 52 deletions
diff --git a/testautomation/extensions/optional/e_taskpane.bas b/testautomation/extensions/optional/e_taskpane.bas
new file mode 100644
index 000000000..b6d29d222
--- /dev/null
+++ b/testautomation/extensions/optional/e_taskpane.bas
@@ -0,0 +1,49 @@
+'encoding UTF-8 Do not remove or change this line!
+'**************************************************************************
+' 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.
+'
+'/************************************************************************
+'*
+'* owner :
+'*
+'* short description :
+'*
+'\***********************************************************************
+
+sub main
+
+ use "extensions/optional/includes/e_taskpane.inc"
+ call tTaskPane
+
+end sub
+
+sub LoadIncludeFiles
+
+ use "global\system\includes\gvariabl.inc"
+ use "global\system\includes\master.inc"
+ use "global\tools\includes\optional\t_extension_manager_tools.inc"
+ gApplication = "CALC"
+ call GetUseFiles()
+
+end sub \ No newline at end of file
diff --git a/testautomation/extensions/optional/includes/e_taskpane.inc b/testautomation/extensions/optional/includes/e_taskpane.inc
new file mode 100644
index 000000000..6d1794e68
--- /dev/null
+++ b/testautomation/extensions/optional/includes/e_taskpane.inc
@@ -0,0 +1,74 @@
+'encoding UTF-8 Do not remove or change this line!
+'**************************************************************************
+' 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.
+'
+'/************************************************************************
+'*
+'* owner :
+'*
+'* short description :
+'*
+'\***********************************************************************
+testcase tTaskPane
+
+ Dim sExtensionPath as String
+ Dim iStatus as integer
+
+ sExtensionPath = gTesttoolPath + "extensions/optional/input/extensions/TaskPaneComponent/TaskPaneComponent.oxt"
+
+ iStatus = hExtensionAddGUI( sExtensionPath, "InstallForUser, NoLicense" )
+ if(iStatus <= 0 ) then
+ warnlog "extension could not installed. ErrorCode is " + iStatus
+ goto endsub
+ endif
+
+ call hNewDocument
+
+ kontext "DocumentCalc"
+
+ DocumentCalc.useMenu
+
+ hMenuSelectNr(3)
+ if(hMenuItemIsChecked(11)) then
+ ' do nothing. The pane is displayed
+ else
+ hMenuSelectNr(11)
+ endif
+
+ kontext "MSC_Special_Dialog"
+ if ( MSC_Special_Dialog.exists(1) ) then
+ printlog "task pane exists"
+ else
+ warnlog "task pane does not exists"
+ endif
+
+ call hCloseDocument
+
+ iStatus = hExtensionRemoveGUI("TaskPaneComponent.oxt")
+ if(iStatus <> 0 ) then
+ warnlog "extension could not deinstalled. ErrorCode is " + iStatus
+ goto endsub
+ endif
+
+endcase
diff --git a/testautomation/extensions/optional/input/extension_sources/TaskPaneComponent/build.xml b/testautomation/extensions/optional/input/extension_sources/TaskPaneComponent/build.xml
new file mode 100755
index 000000000..59791c050
--- /dev/null
+++ b/testautomation/extensions/optional/input/extension_sources/TaskPaneComponent/build.xml
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- You may freely edit this file. See commented blocks below for -->
+<!-- some examples of how to customize the build. -->
+<!-- (If you delete it and reopen the project it will be recreated.) -->
+<project name="TaskPaneComponent" default="default" basedir=".">
+ <description>Builds, tests, and runs the project extension project.</description>
+ <import file="nbproject/build-uno-impl.xml"/>
+ <!--
+
+ There exist several targets which are by default empty and which can be
+ used for execution of your tasks. These targets are usually executed
+ before and after some main targets. They are:
+
+ -pre-init: called before initialization of project properties
+ -post-init: called after initialization of project properties
+ -pre-compile: called before javac compilation
+ -post-compile: called after javac compilation
+ -pre-compile-single: called before javac compilation of single file
+ -post-compile-single: called after javac compilation of single file
+ -pre-compile-test: called before javac compilation of JUnit tests
+ -post-compile-test: called after javac compilation of JUnit tests
+ -pre-compile-test-single: called before javac compilation of single JUnit test
+ -post-compile-test-single: called after javac compilation of single JUunit test
+ -pre-jar: called before JAR building
+ -post-jar: called after JAR building
+ -pre-uno-package: called before OXT creation
+ -post-uno-package: called after OXT creation
+ -post-clean: called after cleaning build products
+
+ (Targets beginning with '-' are not intended to be called on their own.)
+
+ Example of inserting an obfuscator after compilation could look like this:
+
+ <target name="-post-compile">
+ <obfuscate>
+ <fileset dir="${build.classes.dir}"/>
+ </obfuscate>
+ </target>
+
+ For list of available properties check the imported
+ nbproject/build-impl.xml file.
+
+
+ Another way to customize the build is by overriding existing main targets.
+ The targets of interest are:
+
+ -init-macrodef-javac: defines macro for javac compilation
+ -init-macrodef-junit: defines macro for junit execution
+ -init-macrodef-debug: defines macro for class debugging
+ -init-macrodef-java: defines macro for class execution
+ -do-jar-with-manifest: JAR building (if you are using a manifest)
+ -do-jar-without-manifest: JAR building (if you are not using a manifest)
+ run: execution of project
+ -javadoc-build: Javadoc generation
+ test-report: JUnit report generation
+
+ An example of overriding the target for project execution could look like this:
+
+ <target name="run" depends="TypeBrowser2-impl.jar">
+ <exec dir="bin" executable="launcher.exe">
+ <arg file="${dist.jar}"/>
+ </exec>
+ </target>
+
+ Notice that the overridden target depends on the jar target and not only on
+ the compile target as the regular run target does. Again, for a list of available
+ properties which you can use, check the target you are overriding in the
+ nbproject/build-impl.xml file.
+
+ -->
+
+</project>
diff --git a/testautomation/extensions/optional/input/extension_sources/TaskPaneComponent/nbproject/build-impl.xml b/testautomation/extensions/optional/input/extension_sources/TaskPaneComponent/nbproject/build-impl.xml
new file mode 100755
index 000000000..5a2c591b6
--- /dev/null
+++ b/testautomation/extensions/optional/input/extension_sources/TaskPaneComponent/nbproject/build-impl.xml
@@ -0,0 +1,794 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+*** GENERATED FROM project.xml - DO NOT EDIT ***
+*** EDIT ../build.xml INSTEAD ***
+
+For the purpose of easier reading the script
+is divided into following sections:
+
+ - initialization
+ - compilation
+ - jar
+ - execution
+ - debugging
+ - javadoc
+ - junit compilation
+ - junit execution
+ - junit debugging
+ - applet
+ - cleanup
+
+ -->
+<project xmlns:j2seproject1="http://www.netbeans.org/ns/j2se-project/1" xmlns:j2seproject3="http://www.netbeans.org/ns/j2se-project/3" xmlns:jaxrpc="http://www.netbeans.org/ns/j2se-project/jax-rpc" basedir=".." default="default" name="TaskPaneComponent-impl">
+ <fail message="Please build using Ant 1.7.1 or higher.">
+ <condition>
+ <not>
+ <antversion atleast="1.7.1"/>
+ </not>
+ </condition>
+ </fail>
+ <target depends="test,jar,javadoc" description="Build and test whole project." name="default"/>
+ <!--
+ ======================
+ INITIALIZATION SECTION
+ ======================
+ -->
+ <target name="-pre-init">
+ <!-- Empty placeholder for easier customization. -->
+ <!-- You can override this target in the ../build.xml file. -->
+ </target>
+ <target depends="-pre-init" name="-init-private">
+ <property file="nbproject/private/config.properties"/>
+ <property file="nbproject/private/configs/${config}.properties"/>
+ <property file="nbproject/private/private.properties"/>
+ </target>
+ <target depends="-pre-init,-init-private" name="-init-user">
+ <property file="${user.properties.file}"/>
+ <!-- The two properties below are usually overridden -->
+ <!-- by the active platform. Just a fallback. -->
+ <property name="default.javac.source" value="1.4"/>
+ <property name="default.javac.target" value="1.4"/>
+ </target>
+ <target depends="-pre-init,-init-private,-init-user" name="-init-project">
+ <property file="nbproject/configs/${config}.properties"/>
+ <property file="nbproject/project.properties"/>
+ </target>
+ <target depends="-pre-init,-init-private,-init-user,-init-project,-init-macrodef-property" name="-do-init">
+ <available file="${manifest.file}" property="manifest.available"/>
+ <condition property="main.class.available">
+ <and>
+ <isset property="main.class"/>
+ <not>
+ <equals arg1="${main.class}" arg2="" trim="true"/>
+ </not>
+ </and>
+ </condition>
+ <condition property="manifest.available+main.class">
+ <and>
+ <isset property="manifest.available"/>
+ <isset property="main.class.available"/>
+ </and>
+ </condition>
+ <condition property="do.mkdist">
+ <and>
+ <isset property="libs.CopyLibs.classpath"/>
+ <not>
+ <istrue value="${mkdist.disabled}"/>
+ </not>
+ </and>
+ </condition>
+ <condition property="manifest.available+main.class+mkdist.available">
+ <and>
+ <istrue value="${manifest.available+main.class}"/>
+ <isset property="do.mkdist"/>
+ </and>
+ </condition>
+ <condition property="manifest.available+mkdist.available">
+ <and>
+ <istrue value="${manifest.available}"/>
+ <isset property="do.mkdist"/>
+ </and>
+ </condition>
+ <condition property="manifest.available-mkdist.available">
+ <or>
+ <istrue value="${manifest.available}"/>
+ <isset property="do.mkdist"/>
+ </or>
+ </condition>
+ <condition property="manifest.available+main.class-mkdist.available">
+ <or>
+ <istrue value="${manifest.available+main.class}"/>
+ <isset property="do.mkdist"/>
+ </or>
+ </condition>
+ <condition property="have.tests">
+ <or/>
+ </condition>
+ <condition property="have.sources">
+ <or>
+ <available file="${src.dir}"/>
+ </or>
+ </condition>
+ <condition property="netbeans.home+have.tests">
+ <and>
+ <isset property="netbeans.home"/>
+ <isset property="have.tests"/>
+ </and>
+ </condition>
+ <condition property="no.javadoc.preview">
+ <and>
+ <isset property="javadoc.preview"/>
+ <isfalse value="${javadoc.preview}"/>
+ </and>
+ </condition>
+ <property name="run.jvmargs" value=""/>
+ <property name="javac.compilerargs" value=""/>
+ <property name="work.dir" value="${basedir}"/>
+ <condition property="no.deps">
+ <and>
+ <istrue value="${no.dependencies}"/>
+ </and>
+ </condition>
+ <property name="javac.debug" value="true"/>
+ <property name="javadoc.preview" value="true"/>
+ <property name="application.args" value=""/>
+ <property name="source.encoding" value="${file.encoding}"/>
+ <property name="runtime.encoding" value="${source.encoding}"/>
+ <condition property="javadoc.encoding.used" value="${javadoc.encoding}">
+ <and>
+ <isset property="javadoc.encoding"/>
+ <not>
+ <equals arg1="${javadoc.encoding}" arg2=""/>
+ </not>
+ </and>
+ </condition>
+ <property name="javadoc.encoding.used" value="${source.encoding}"/>
+ <property name="includes" value="**"/>
+ <property name="excludes" value=""/>
+ <property name="do.depend" value="false"/>
+ <condition property="do.depend.true">
+ <istrue value="${do.depend}"/>
+ </condition>
+ <path id="endorsed.classpath.path" path="${endorsed.classpath}"/>
+ <condition else="" property="endorsed.classpath.cmd.line.arg" value="-Xbootclasspath/p:'${toString:endorsed.classpath.path}'">
+ <length length="0" string="${endorsed.classpath}" when="greater"/>
+ </condition>
+ <property name="javac.fork" value="false"/>
+ </target>
+ <target name="-post-init">
+ <!-- Empty placeholder for easier customization. -->
+ <!-- You can override this target in the ../build.xml file. -->
+ </target>
+ <target depends="-pre-init,-init-private,-init-user,-init-project,-do-init" name="-init-check">
+ <fail unless="src.dir">Must set src.dir</fail>
+ <fail unless="build.dir">Must set build.dir</fail>
+ <fail unless="dist.dir">Must set dist.dir</fail>
+ <fail unless="build.classes.dir">Must set build.classes.dir</fail>
+ <fail unless="dist.javadoc.dir">Must set dist.javadoc.dir</fail>
+ <fail unless="build.test.classes.dir">Must set build.test.classes.dir</fail>
+ <fail unless="build.test.results.dir">Must set build.test.results.dir</fail>
+ <fail unless="build.classes.excludes">Must set build.classes.excludes</fail>
+ <fail unless="dist.jar">Must set dist.jar</fail>
+ </target>
+ <target name="-init-macrodef-property">
+ <macrodef name="property" uri="http://www.netbeans.org/ns/j2se-project/1">
+ <attribute name="name"/>
+ <attribute name="value"/>
+ <sequential>
+ <property name="@{name}" value="${@{value}}"/>
+ </sequential>
+ </macrodef>
+ </target>
+ <target name="-init-macrodef-javac">
+ <macrodef name="javac" uri="http://www.netbeans.org/ns/j2se-project/3">
+ <attribute default="${src.dir}" name="srcdir"/>
+ <attribute default="${build.classes.dir}" name="destdir"/>
+ <attribute default="${javac.classpath}" name="classpath"/>
+ <attribute default="${includes}" name="includes"/>
+ <attribute default="${excludes}" name="excludes"/>
+ <attribute default="${javac.debug}" name="debug"/>
+ <attribute default="${empty.dir}" name="sourcepath"/>
+ <attribute default="${empty.dir}" name="gensrcdir"/>
+ <element name="customize" optional="true"/>
+ <sequential>
+ <property location="${build.dir}/empty" name="empty.dir"/>
+ <mkdir dir="${empty.dir}"/>
+ <javac debug="@{debug}" deprecation="${javac.deprecation}" destdir="@{destdir}" encoding="${source.encoding}" excludes="@{excludes}" fork="${javac.fork}" includeantruntime="false" includes="@{includes}" source="${javac.source}" sourcepath="@{sourcepath}" srcdir="@{srcdir}" target="${javac.target}" tempdir="${java.io.tmpdir}">
+ <src>
+ <dirset dir="@{gensrcdir}" erroronmissingdir="false">
+ <include name="*"/>
+ </dirset>
+ </src>
+ <classpath>
+ <path path="@{classpath}"/>
+ </classpath>
+ <compilerarg line="${endorsed.classpath.cmd.line.arg}"/>
+ <compilerarg line="${javac.compilerargs}"/>
+ <customize/>
+ </javac>
+ </sequential>
+ </macrodef>
+ <macrodef name="depend" uri="http://www.netbeans.org/ns/j2se-project/3">
+ <attribute default="${src.dir}" name="srcdir"/>
+ <attribute default="${build.classes.dir}" name="destdir"/>
+ <attribute default="${javac.classpath}" name="classpath"/>
+ <sequential>
+ <depend cache="${build.dir}/depcache" destdir="@{destdir}" excludes="${excludes}" includes="${includes}" srcdir="@{srcdir}">
+ <classpath>
+ <path path="@{classpath}"/>
+ </classpath>
+ </depend>
+ </sequential>
+ </macrodef>
+ <macrodef name="force-recompile" uri="http://www.netbeans.org/ns/j2se-project/3">
+ <attribute default="${build.classes.dir}" name="destdir"/>
+ <sequential>
+ <fail unless="javac.includes">Must set javac.includes</fail>
+ <pathconvert pathsep="," property="javac.includes.binary">
+ <path>
+ <filelist dir="@{destdir}" files="${javac.includes}"/>
+ </path>
+ <globmapper from="*.java" to="*.class"/>
+ </pathconvert>
+ <delete>
+ <files includes="${javac.includes.binary}"/>
+ </delete>
+ </sequential>
+ </macrodef>
+ </target>
+ <target name="-init-macrodef-junit">
+ <macrodef name="junit" uri="http://www.netbeans.org/ns/j2se-project/3">
+ <attribute default="${includes}" name="includes"/>
+ <attribute default="${excludes}" name="excludes"/>
+ <attribute default="**" name="testincludes"/>
+ <sequential>
+ <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" showoutput="true" tempdir="${build.dir}">
+ <batchtest todir="${build.test.results.dir}"/>
+ <classpath>
+ <path path="${run.test.classpath}"/>
+ </classpath>
+ <syspropertyset>
+ <propertyref prefix="test-sys-prop."/>
+ <mapper from="test-sys-prop.*" to="*" type="glob"/>
+ </syspropertyset>
+ <formatter type="brief" usefile="false"/>
+ <formatter type="xml"/>
+ <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
+ <jvmarg line="${run.jvmargs}"/>
+ </junit>
+ </sequential>
+ </macrodef>
+ </target>
+ <target depends="-init-debug-args" name="-init-macrodef-nbjpda">
+ <macrodef name="nbjpdastart" uri="http://www.netbeans.org/ns/j2se-project/1">
+ <attribute default="${main.class}" name="name"/>
+ <attribute default="${debug.classpath}" name="classpath"/>
+ <attribute default="" name="stopclassname"/>
+ <sequential>
+ <nbjpdastart addressproperty="jpda.address" name="@{name}" stopclassname="@{stopclassname}" transport="${debug-transport}">
+ <classpath>
+ <path path="@{classpath}"/>
+ </classpath>
+ </nbjpdastart>
+ </sequential>
+ </macrodef>
+ <macrodef name="nbjpdareload" uri="http://www.netbeans.org/ns/j2se-project/1">
+ <attribute default="${build.classes.dir}" name="dir"/>
+ <sequential>
+ <nbjpdareload>
+ <fileset dir="@{dir}" includes="${fix.classes}">
+ <include name="${fix.includes}*.class"/>
+ </fileset>
+ </nbjpdareload>
+ </sequential>
+ </macrodef>
+ </target>
+ <target name="-init-debug-args">
+ <property name="version-output" value="java version &quot;${ant.java.version}"/>
+ <condition property="have-jdk-older-than-1.4">
+ <or>
+ <contains string="${version-output}" substring="java version &quot;1.0"/>
+ <contains string="${version-output}" substring="java version &quot;1.1"/>
+ <contains string="${version-output}" substring="java version &quot;1.2"/>
+ <contains string="${version-output}" substring="java version &quot;1.3"/>
+ </or>
+ </condition>
+ <condition else="-Xdebug" property="debug-args-line" value="-Xdebug -Xnoagent -Djava.compiler=none">
+ <istrue value="${have-jdk-older-than-1.4}"/>
+ </condition>
+ <condition else="dt_socket" property="debug-transport-by-os" value="dt_shmem">
+ <os family="windows"/>
+ </condition>
+ <condition else="${debug-transport-by-os}" property="debug-transport" value="${debug.transport}">
+ <isset property="debug.transport"/>
+ </condition>
+ </target>
+ <target depends="-init-debug-args" name="-init-macrodef-debug">
+ <macrodef name="debug" uri="http://www.netbeans.org/ns/j2se-project/3">
+ <attribute default="${main.class}" name="classname"/>
+ <attribute default="${debug.classpath}" name="classpath"/>
+ <element name="customize" optional="true"/>
+ <sequential>
+ <java classname="@{classname}" dir="${work.dir}" fork="true">
+ <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
+ <jvmarg line="${debug-args-line}"/>
+ <jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/>
+ <jvmarg value="-Dfile.encoding=${runtime.encoding}"/>
+ <redirector errorencoding="${runtime.encoding}" inputencoding="${runtime.encoding}" outputencoding="${runtime.encoding}"/>
+ <jvmarg line="${run.jvmargs}"/>
+ <classpath>
+ <path path="@{classpath}"/>
+ </classpath>
+ <syspropertyset>
+ <propertyref prefix="run-sys-prop."/>
+ <mapper from="run-sys-prop.*" to="*" type="glob"/>
+ </syspropertyset>
+ <customize/>
+ </java>
+ </sequential>
+ </macrodef>
+ </target>
+ <target name="-init-macrodef-java">
+ <macrodef name="java" uri="http://www.netbeans.org/ns/j2se-project/1">
+ <attribute default="${main.class}" name="classname"/>
+ <attribute default="${run.classpath}" name="classpath"/>
+ <element name="customize" optional="true"/>
+ <sequential>
+ <java classname="@{classname}" dir="${work.dir}" fork="true">
+ <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
+ <jvmarg value="-Dfile.encoding=${runtime.encoding}"/>
+ <redirector errorencoding="${runtime.encoding}" inputencoding="${runtime.encoding}" outputencoding="${runtime.encoding}"/>
+ <jvmarg line="${run.jvmargs}"/>
+ <classpath>
+ <path path="@{classpath}"/>
+ </classpath>
+ <syspropertyset>
+ <propertyref prefix="run-sys-prop."/>
+ <mapper from="run-sys-prop.*" to="*" type="glob"/>
+ </syspropertyset>
+ <customize/>
+ </java>
+ </sequential>
+ </macrodef>
+ </target>
+ <target name="-init-presetdef-jar">
+ <presetdef name="jar" uri="http://www.netbeans.org/ns/j2se-project/1">
+ <jar compress="${jar.compress}" jarfile="${dist.jar}">
+ <j2seproject1:fileset dir="${build.classes.dir}"/>
+ </jar>
+ </presetdef>
+ </target>
+ <target depends="-pre-init,-init-private,-init-user,-init-project,-do-init,-post-init,-init-check,-init-macrodef-property,-init-macrodef-javac,-init-macrodef-junit,-init-macrodef-nbjpda,-init-macrodef-debug,-init-macrodef-java,-init-presetdef-jar" name="init"/>
+ <!--
+ ===================
+ COMPILATION SECTION
+ ===================
+ -->
+ <target name="-deps-jar-init" unless="built-jar.properties">
+ <property location="${build.dir}/built-jar.properties" name="built-jar.properties"/>
+ <delete file="${built-jar.properties}" quiet="true"/>
+ </target>
+ <target if="already.built.jar.${basedir}" name="-warn-already-built-jar">
+ <echo level="warn" message="Cycle detected: TaskPaneComponent was already built"/>
+ </target>
+ <target depends="init,-deps-jar-init" name="deps-jar" unless="no.deps">
+ <mkdir dir="${build.dir}"/>
+ <touch file="${built-jar.properties}" verbose="false"/>
+ <property file="${built-jar.properties}" prefix="already.built.jar."/>
+ <antcall target="-warn-already-built-jar"/>
+ <propertyfile file="${built-jar.properties}">
+ <entry key="${basedir}" value=""/>
+ </propertyfile>
+ </target>
+ <target depends="init,-check-automatic-build,-clean-after-automatic-build" name="-verify-automatic-build"/>
+ <target depends="init" name="-check-automatic-build">
+ <available file="${build.classes.dir}/.netbeans_automatic_build" property="netbeans.automatic.build"/>
+ </target>
+ <target depends="init" if="netbeans.automatic.build" name="-clean-after-automatic-build">
+ <antcall target="clean"/>
+ </target>
+ <target depends="init,deps-jar" name="-pre-pre-compile">
+ <mkdir dir="${build.classes.dir}"/>
+ </target>
+ <target name="-pre-compile">
+ <!-- Empty placeholder for easier customization. -->
+ <!-- You can override this target in the ../build.xml file. -->
+ </target>
+ <target if="do.depend.true" name="-compile-depend">
+ <pathconvert property="build.generated.subdirs">
+ <dirset dir="${build.generated.sources.dir}" erroronmissingdir="false">
+ <include name="*"/>
+ </dirset>
+ </pathconvert>
+ <j2seproject3:depend srcdir="${src.dir}:${build.generated.subdirs}"/>
+ </target>
+ <target depends="init,deps-jar,-pre-pre-compile,-pre-compile,-compile-depend" if="have.sources" name="-do-compile">
+ <j2seproject3:javac gensrcdir="${build.generated.sources.dir}"/>
+ <copy todir="${build.classes.dir}">
+ <fileset dir="${src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
+ </copy>
+ </target>
+ <target name="-post-compile">
+ <!-- Empty placeholder for easier customization. -->
+ <!-- You can override this target in the ../build.xml file. -->
+ </target>
+ <target depends="init,deps-jar,-verify-automatic-build,-pre-pre-compile,-pre-compile,-do-compile,-post-compile" description="Compile project." name="compile"/>
+ <target name="-pre-compile-single">
+ <!-- Empty placeholder for easier customization. -->
+ <!-- You can override this target in the ../build.xml file. -->
+ </target>
+ <target depends="init,deps-jar,-pre-pre-compile" name="-do-compile-single">
+ <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail>
+ <j2seproject3:force-recompile/>
+ <j2seproject3:javac excludes="" gensrcdir="${build.generated.sources.dir}" includes="${javac.includes}" sourcepath="${src.dir}"/>
+ </target>
+ <target name="-post-compile-single">
+ <!-- Empty placeholder for easier customization. -->
+ <!-- You can override this target in the ../build.xml file. -->
+ </target>
+ <target depends="init,deps-jar,-verify-automatic-build,-pre-pre-compile,-pre-compile-single,-do-compile-single,-post-compile-single" name="compile-single"/>
+ <!--
+ ====================
+ JAR BUILDING SECTION
+ ====================
+ -->
+ <target depends="init" name="-pre-pre-jar">
+ <dirname file="${dist.jar}" property="dist.jar.dir"/>
+ <mkdir dir="${dist.jar.dir}"/>
+ </target>
+ <target name="-pre-jar">
+ <!-- Empty placeholder for easier customization. -->
+ <!-- You can override this target in the ../build.xml file. -->
+ </target>
+ <target depends="init,compile,-pre-pre-jar,-pre-jar" name="-do-jar-without-manifest" unless="manifest.available-mkdist.available">
+ <j2seproject1:jar/>
+ </target>
+ <target depends="init,compile,-pre-pre-jar,-pre-jar" if="manifest.available" name="-do-jar-with-manifest" unless="manifest.available+main.class-mkdist.available">
+ <j2seproject1:jar manifest="${manifest.file}"/>
+ </target>
+ <target depends="init,compile,-pre-pre-jar,-pre-jar" if="manifest.available+main.class" name="-do-jar-with-mainclass" unless="manifest.available+main.class+mkdist.available">
+ <j2seproject1:jar manifest="${manifest.file}">
+ <j2seproject1:manifest>
+ <j2seproject1:attribute name="Main-Class" value="${main.class}"/>
+ </j2seproject1:manifest>
+ </j2seproject1:jar>
+ <echo>To run this application from the command line without Ant, try:</echo>
+ <property location="${build.classes.dir}" name="build.classes.dir.resolved"/>
+ <property location="${dist.jar}" name="dist.jar.resolved"/>
+ <pathconvert property="run.classpath.with.dist.jar">
+ <path path="${run.classpath}"/>
+ <map from="${build.classes.dir.resolved}" to="${dist.jar.resolved}"/>
+ </pathconvert>
+ <echo>java -cp "${run.classpath.with.dist.jar}" ${main.class}</echo>
+ </target>
+ <target depends="init,compile,-pre-pre-jar,-pre-jar" if="manifest.available+main.class+mkdist.available" name="-do-jar-with-libraries">
+ <property location="${build.classes.dir}" name="build.classes.dir.resolved"/>
+ <pathconvert property="run.classpath.without.build.classes.dir">
+ <path path="${run.classpath}"/>
+ <map from="${build.classes.dir.resolved}" to=""/>
+ </pathconvert>
+ <pathconvert pathsep=" " property="jar.classpath">
+ <path path="${run.classpath.without.build.classes.dir}"/>
+ <chainedmapper>
+ <flattenmapper/>
+ <globmapper from="*" to="lib/*"/>
+ </chainedmapper>
+ </pathconvert>
+ <taskdef classname="org.netbeans.modules.java.j2seproject.copylibstask.CopyLibs" classpath="${libs.CopyLibs.classpath}" name="copylibs"/>
+ <copylibs compress="${jar.compress}" jarfile="${dist.jar}" manifest="${manifest.file}" runtimeclasspath="${run.classpath.without.build.classes.dir}">
+ <fileset dir="${build.classes.dir}"/>
+ <manifest>
+ <attribute name="Main-Class" value="${main.class}"/>
+ <attribute name="Class-Path" value="${jar.classpath}"/>
+ </manifest>
+ </copylibs>
+ <echo>To run this application from the command line without Ant, try:</echo>
+ <property location="${dist.jar}" name="dist.jar.resolved"/>
+ <echo>java -jar "${dist.jar.resolved}"</echo>
+ </target>
+ <target depends="init,compile,-pre-pre-jar,-pre-jar" if="manifest.available+mkdist.available" name="-do-jar-with-libraries-without-mainclass" unless="main.class.available">
+ <property location="${build.classes.dir}" name="build.classes.dir.resolved"/>
+ <pathconvert property="run.classpath.without.build.classes.dir">
+ <path path="${run.classpath}"/>
+ <map from="${build.classes.dir.resolved}" to=""/>
+ </pathconvert>
+ <pathconvert pathsep=" " property="jar.classpath">
+ <path path="${run.classpath.without.build.classes.dir}"/>
+ <chainedmapper>
+ <flattenmapper/>
+ <globmapper from="*" to="lib/*"/>
+ </chainedmapper>
+ </pathconvert>
+ <taskdef classname="org.netbeans.modules.java.j2seproject.copylibstask.CopyLibs" classpath="${libs.CopyLibs.classpath}" name="copylibs"/>
+ <copylibs compress="${jar.compress}" jarfile="${dist.jar}" manifest="${manifest.file}" runtimeclasspath="${run.classpath.without.build.classes.dir}">
+ <fileset dir="${build.classes.dir}"/>
+ <manifest>
+ <attribute name="Class-Path" value="${jar.classpath}"/>
+ </manifest>
+ </copylibs>
+ </target>
+ <target depends="init,compile,-pre-pre-jar,-pre-jar" if="do.mkdist" name="-do-jar-with-libraries-without-manifest" unless="manifest.available">
+ <property location="${build.classes.dir}" name="build.classes.dir.resolved"/>
+ <pathconvert property="run.classpath.without.build.classes.dir">
+ <path path="${run.classpath}"/>
+ <map from="${build.classes.dir.resolved}" to=""/>
+ </pathconvert>
+ <pathconvert pathsep=" " property="jar.classpath">
+ <path path="${run.classpath.without.build.classes.dir}"/>
+ <chainedmapper>
+ <flattenmapper/>
+ <globmapper from="*" to="lib/*"/>
+ </chainedmapper>
+ </pathconvert>
+ <taskdef classname="org.netbeans.modules.java.j2seproject.copylibstask.CopyLibs" classpath="${libs.CopyLibs.classpath}" name="copylibs"/>
+ <copylibs compress="${jar.compress}" jarfile="${dist.jar}" runtimeclasspath="${run.classpath.without.build.classes.dir}">
+ <fileset dir="${build.classes.dir}"/>
+ <manifest>
+ <attribute name="Class-Path" value="${jar.classpath}"/>
+ </manifest>
+ </copylibs>
+ </target>
+ <target name="-post-jar">
+ <!-- Empty placeholder for easier customization. -->
+ <!-- You can override this target in the ../build.xml file. -->
+ </target>
+ <target depends="init,compile,-pre-jar,-do-jar-with-manifest,-do-jar-without-manifest,-do-jar-with-mainclass,-do-jar-with-libraries,-do-jar-with-libraries-without-mainclass,-do-jar-with-libraries-without-manifest,-post-jar" description="Build JAR." name="jar"/>
+ <!--
+ =================
+ EXECUTION SECTION
+ =================
+ -->
+ <target depends="init,compile" description="Run a main class." name="run">
+ <j2seproject1:java>
+ <customize>
+ <arg line="${application.args}"/>
+ </customize>
+ </j2seproject1:java>
+ </target>
+ <target name="-do-not-recompile">
+ <property name="javac.includes.binary" value=""/>
+ </target>
+ <target depends="init,compile-single" name="run-single">
+ <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
+ <j2seproject1:java classname="${run.class}"/>
+ </target>
+ <target depends="init,compile-test-single" name="run-test-with-main">
+ <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
+ <j2seproject1:java classname="${run.class}" classpath="${run.test.classpath}"/>
+ </target>
+ <!--
+ =================
+ DEBUGGING SECTION
+ =================
+ -->
+ <target depends="init" if="netbeans.home" name="-debug-start-debugger">
+ <j2seproject1:nbjpdastart name="${debug.class}"/>
+ </target>
+ <target depends="init" if="netbeans.home" name="-debug-start-debugger-main-test">
+ <j2seproject1:nbjpdastart classpath="${debug.test.classpath}" name="${debug.class}"/>
+ </target>
+ <target depends="init,compile" name="-debug-start-debuggee">
+ <j2seproject3:debug>
+ <customize>
+ <arg line="${application.args}"/>
+ </customize>
+ </j2seproject3:debug>
+ </target>
+ <target depends="init,compile,-debug-start-debugger,-debug-start-debuggee" description="Debug project in IDE." if="netbeans.home" name="debug"/>
+ <target depends="init" if="netbeans.home" name="-debug-start-debugger-stepinto">
+ <j2seproject1:nbjpdastart stopclassname="${main.class}"/>
+ </target>
+ <target depends="init,compile,-debug-start-debugger-stepinto,-debug-start-debuggee" if="netbeans.home" name="debug-stepinto"/>
+ <target depends="init,compile-single" if="netbeans.home" name="-debug-start-debuggee-single">
+ <fail unless="debug.class">Must select one file in the IDE or set debug.class</fail>
+ <j2seproject3:debug classname="${debug.class}"/>
+ </target>
+ <target depends="init,compile-single,-debug-start-debugger,-debug-start-debuggee-single" if="netbeans.home" name="debug-single"/>
+ <target depends="init,compile-test-single" if="netbeans.home" name="-debug-start-debuggee-main-test">
+ <fail unless="debug.class">Must select one file in the IDE or set debug.class</fail>
+ <j2seproject3:debug classname="${debug.class}" classpath="${debug.test.classpath}"/>
+ </target>
+ <target depends="init,compile-test-single,-debug-start-debugger-main-test,-debug-start-debuggee-main-test" if="netbeans.home" name="debug-test-with-main"/>
+ <target depends="init" name="-pre-debug-fix">
+ <fail unless="fix.includes">Must set fix.includes</fail>
+ <property name="javac.includes" value="${fix.includes}.java"/>
+ </target>
+ <target depends="init,-pre-debug-fix,compile-single" if="netbeans.home" name="-do-debug-fix">
+ <j2seproject1:nbjpdareload/>
+ </target>
+ <target depends="init,-pre-debug-fix,-do-debug-fix" if="netbeans.home" name="debug-fix"/>
+ <!--
+ ===============
+ JAVADOC SECTION
+ ===============
+ -->
+ <target depends="init" name="-javadoc-build">
+ <mkdir dir="${dist.javadoc.dir}"/>
+ <javadoc additionalparam="${javadoc.additionalparam}" author="${javadoc.author}" charset="UTF-8" destdir="${dist.javadoc.dir}" docencoding="UTF-8" encoding="${javadoc.encoding.used}" failonerror="true" noindex="${javadoc.noindex}" nonavbar="${javadoc.nonavbar}" notree="${javadoc.notree}" private="${javadoc.private}" source="${javac.source}" splitindex="${javadoc.splitindex}" use="${javadoc.use}" useexternalfile="true" version="${javadoc.version}" windowtitle="${javadoc.windowtitle}">
+ <classpath>
+ <path path="${javac.classpath}"/>
+ </classpath>
+ <fileset dir="${src.dir}" excludes="${excludes}" includes="${includes}">
+ <filename name="**/*.java"/>
+ </fileset>
+ <fileset dir="${build.generated.sources.dir}" erroronmissingdir="false">
+ <include name="**/*.java"/>
+ </fileset>
+ </javadoc>
+ </target>
+ <target depends="init,-javadoc-build" if="netbeans.home" name="-javadoc-browse" unless="no.javadoc.preview">
+ <nbbrowse file="${dist.javadoc.dir}/index.html"/>
+ </target>
+ <target depends="init,-javadoc-build,-javadoc-browse" description="Build Javadoc." name="javadoc"/>
+ <!--
+ =========================
+ JUNIT COMPILATION SECTION
+ =========================
+ -->
+ <target depends="init,compile" if="have.tests" name="-pre-pre-compile-test">
+ <mkdir dir="${build.test.classes.dir}"/>
+ </target>
+ <target name="-pre-compile-test">
+ <!-- Empty placeholder for easier customization. -->
+ <!-- You can override this target in the ../build.xml file. -->
+ </target>
+ <target if="do.depend.true" name="-compile-test-depend">
+ <j2seproject3:depend classpath="${javac.test.classpath}" destdir="${build.test.classes.dir}" srcdir=""/>
+ </target>
+ <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test,-compile-test-depend" if="have.tests" name="-do-compile-test">
+ <j2seproject3:javac classpath="${javac.test.classpath}" debug="true" destdir="${build.test.classes.dir}" srcdir=""/>
+ <copy todir="${build.test.classes.dir}"/>
+ </target>
+ <target name="-post-compile-test">
+ <!-- Empty placeholder for easier customization. -->
+ <!-- You can override this target in the ../build.xml file. -->
+ </target>
+ <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test,-do-compile-test,-post-compile-test" name="compile-test"/>
+ <target name="-pre-compile-test-single">
+ <!-- Empty placeholder for easier customization. -->
+ <!-- You can override this target in the ../build.xml file. -->
+ </target>
+ <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test-single" if="have.tests" name="-do-compile-test-single">
+ <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail>
+ <j2seproject3:force-recompile destdir="${build.test.classes.dir}"/>
+ <j2seproject3:javac classpath="${javac.test.classpath}" debug="true" destdir="${build.test.classes.dir}" excludes="" includes="${javac.includes}" sourcepath="" srcdir=""/>
+ <copy todir="${build.test.classes.dir}"/>
+ </target>
+ <target name="-post-compile-test-single">
+ <!-- Empty placeholder for easier customization. -->
+ <!-- You can override this target in the ../build.xml file. -->
+ </target>
+ <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test-single,-do-compile-test-single,-post-compile-test-single" name="compile-test-single"/>
+ <!--
+ =======================
+ JUNIT EXECUTION SECTION
+ =======================
+ -->
+ <target depends="init" if="have.tests" name="-pre-test-run">
+ <mkdir dir="${build.test.results.dir}"/>
+ </target>
+ <target depends="init,compile-test,-pre-test-run" if="have.tests" name="-do-test-run">
+ <j2seproject3:junit testincludes="**/*Test.java"/>
+ </target>
+ <target depends="init,compile-test,-pre-test-run,-do-test-run" if="have.tests" name="-post-test-run">
+ <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
+ </target>
+ <target depends="init" if="have.tests" name="test-report"/>
+ <target depends="init" if="netbeans.home+have.tests" name="-test-browse"/>
+ <target depends="init,compile-test,-pre-test-run,-do-test-run,test-report,-post-test-run,-test-browse" description="Run unit tests." name="test"/>
+ <target depends="init" if="have.tests" name="-pre-test-run-single">
+ <mkdir dir="${build.test.results.dir}"/>
+ </target>
+ <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-do-test-run-single">
+ <fail unless="test.includes">Must select some files in the IDE or set test.includes</fail>
+ <j2seproject3:junit excludes="" includes="${test.includes}"/>
+ </target>
+ <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single" if="have.tests" name="-post-test-run-single">
+ <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
+ </target>
+ <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single,-post-test-run-single" description="Run single unit test." name="test-single"/>
+ <!--
+ =======================
+ JUNIT DEBUGGING SECTION
+ =======================
+ -->
+ <target depends="init,compile-test" if="have.tests" name="-debug-start-debuggee-test">
+ <fail unless="test.class">Must select one file in the IDE or set test.class</fail>
+ <property location="${build.test.results.dir}/TEST-${test.class}.xml" name="test.report.file"/>
+ <delete file="${test.report.file}"/>
+ <mkdir dir="${build.test.results.dir}"/>
+ <j2seproject3:debug classname="org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner" classpath="${ant.home}/lib/ant.jar:${ant.home}/lib/ant-junit.jar:${debug.test.classpath}">
+ <customize>
+ <syspropertyset>
+ <propertyref prefix="test-sys-prop."/>
+ <mapper from="test-sys-prop.*" to="*" type="glob"/>
+ </syspropertyset>
+ <arg value="${test.class}"/>
+ <arg value="showoutput=true"/>
+ <arg value="formatter=org.apache.tools.ant.taskdefs.optional.junit.BriefJUnitResultFormatter"/>
+ <arg value="formatter=org.apache.tools.ant.taskdefs.optional.junit.XMLJUnitResultFormatter,${test.report.file}"/>
+ </customize>
+ </j2seproject3:debug>
+ </target>
+ <target depends="init,compile-test" if="netbeans.home+have.tests" name="-debug-start-debugger-test">
+ <j2seproject1:nbjpdastart classpath="${debug.test.classpath}" name="${test.class}"/>
+ </target>
+ <target depends="init,compile-test-single,-debug-start-debugger-test,-debug-start-debuggee-test" name="debug-test"/>
+ <target depends="init,-pre-debug-fix,compile-test-single" if="netbeans.home" name="-do-debug-fix-test">
+ <j2seproject1:nbjpdareload dir="${build.test.classes.dir}"/>
+ </target>
+ <target depends="init,-pre-debug-fix,-do-debug-fix-test" if="netbeans.home" name="debug-fix-test"/>
+ <!--
+ =========================
+ APPLET EXECUTION SECTION
+ =========================
+ -->
+ <target depends="init,compile-single" name="run-applet">
+ <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail>
+ <j2seproject1:java classname="sun.applet.AppletViewer">
+ <customize>
+ <arg value="${applet.url}"/>
+ </customize>
+ </j2seproject1:java>
+ </target>
+ <!--
+ =========================
+ APPLET DEBUGGING SECTION
+ =========================
+ -->
+ <target depends="init,compile-single" if="netbeans.home" name="-debug-start-debuggee-applet">
+ <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail>
+ <j2seproject3:debug classname="sun.applet.AppletViewer">
+ <customize>
+ <arg value="${applet.url}"/>
+ </customize>
+ </j2seproject3:debug>
+ </target>
+ <target depends="init,compile-single,-debug-start-debugger,-debug-start-debuggee-applet" if="netbeans.home" name="debug-applet"/>
+ <!--
+ ===============
+ CLEANUP SECTION
+ ===============
+ -->
+ <target name="-deps-clean-init" unless="built-clean.properties">
+ <property location="${build.dir}/built-clean.properties" name="built-clean.properties"/>
+ <delete file="${built-clean.properties}" quiet="true"/>
+ </target>
+ <target if="already.built.clean.${basedir}" name="-warn-already-built-clean">
+ <echo level="warn" message="Cycle detected: TaskPaneComponent was already built"/>
+ </target>
+ <target depends="init,-deps-clean-init" name="deps-clean" unless="no.deps">
+ <mkdir dir="${build.dir}"/>
+ <touch file="${built-clean.properties}" verbose="false"/>
+ <property file="${built-clean.properties}" prefix="already.built.clean."/>
+ <antcall target="-warn-already-built-clean"/>
+ <propertyfile file="${built-clean.properties}">
+ <entry key="${basedir}" value=""/>
+ </propertyfile>
+ </target>
+ <target depends="init" name="-do-clean">
+ <delete dir="${build.dir}"/>
+ <delete dir="${dist.dir}" followsymlinks="false" includeemptydirs="true"/>
+ </target>
+ <target name="-post-clean">
+ <!-- Empty placeholder for easier customization. -->
+ <!-- You can override this target in the ../build.xml file. -->
+ </target>
+ <target depends="init,deps-clean,-do-clean,-post-clean" description="Clean build products." name="clean"/>
+ <target name="-check-call-dep">
+ <property file="${call.built.properties}" prefix="already.built."/>
+ <condition property="should.call.dep">
+ <not>
+ <isset property="already.built.${call.subproject}"/>
+ </not>
+ </condition>
+ </target>
+ <target depends="-check-call-dep" if="should.call.dep" name="-maybe-call-dep">
+ <ant antfile="${call.script}" inheritall="false" target="${call.target}">
+ <propertyset>
+ <propertyref prefix="transfer."/>
+ <mapper from="transfer.*" to="*" type="glob"/>
+ </propertyset>
+ </ant>
+ </target>
+</project>
diff --git a/testautomation/extensions/optional/input/extension_sources/TaskPaneComponent/nbproject/build-uno-impl.xml b/testautomation/extensions/optional/input/extension_sources/TaskPaneComponent/nbproject/build-uno-impl.xml
new file mode 100755
index 000000000..3e75cd5f5
--- /dev/null
+++ b/testautomation/extensions/optional/input/extension_sources/TaskPaneComponent/nbproject/build-uno-impl.xml
@@ -0,0 +1,462 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+*** AUTOMATICALLY GENERATED - DO NOT EDIT ***
+*** EDIT ../build.xml INSTEAD ***
+-->
+<project name="TaskPaneComponentuno-impl" default="netbeans" basedir="..">
+ <description>Builds, tests, and runs an UNO project.</description>
+
+ <import file="build-impl.xml"/>
+
+ <!-- ================================================================================== -->
+
+ <target name="-uno-project-init" depends="-do-init">
+ <property file="nbproject/project-uno.properties"/>
+ <property name="build.uno.version" value="2.0.6"/>
+
+ <!-- set variablers from SDK and Office -->
+ <echo message="setting up UNO environment ..."/>
+ <property name="office.unopkg" value="${office.program.dir}${file.separator}unopkg"/>
+ <property name="office.soffice" value="${office.program.dir}${file.separator}soffice"/>
+
+ <property name="sdk.idl.dir" location="${oo.sdk.dir}${file.separator}idl"/>
+ <property name="sdk.idlc" value="${sdk.bin.dir}${file.separator}idlc"/>
+ <property name="sdk.regmerge" value="${ure.bin.dir}${file.separator}regmerge"/>
+ <property name="sdk.javamaker" value="${sdk.bin.dir}${file.separator}javamaker"/>
+
+ <dirname property="project.dir" file="build.xml"/>
+ <property name="uno.package.name" value="${project.dir}${file.separator}${dist.dir}${file.separator}${project.name}.oxt"/>
+ <property name="src.dir.absolute" value="${project.dir}${file.separator}${src.dir}"/>
+
+ <property name="idl.out" value="${project.dir}${file.separator}${build.dir}${file.separator}idl"/>
+ <property name="idl.classes.dir" value="${project.dir}${file.separator}${build.classes.dir}"/>
+ <property name="idl.out.urd" value="${idl.out}/urd"/>
+ <property name="idl.out.rdb" value="${idl.out}/rdb"/>
+ <property name="idl.rdb.name" value="types.rdb"/>
+ <property name="idl.rdb.fullpath" value="${idl.out.rdb}/${idl.rdb.name}"/>
+
+ <property name="images.base.dir" value="${build.dir}/img"/>
+ <property name="build.registry.dir" value="${build.dir}/cpreg"/>
+
+ <mkdir dir="${idl.out}"/>
+ <mkdir dir="${idl.out.urd}"/>
+ <mkdir dir="${idl.out.rdb}"/>
+ <mkdir dir="${images.base.dir}"/>
+ <mkdir dir="${build.registry.dir}"/>
+
+ <condition property="oo.version.three">
+ <equals arg1="${oo.version.number}" arg2="three"/>
+ </condition>
+ </target>
+
+ <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+ <!-- handle images -->
+ <target name="-uno-images-condition" description="check images" depends="-uno-project-init">
+ <available file="${images.dir}" type="dir" property="images.required"/>
+ </target>
+
+ <target name="images" description="copy images" depends="-uno-images-condition" if="images.required">
+ <mkdir dir="${images.base.dir}/${images.dir}"/>
+ <copy todir="${images.base.dir}/${images.dir}">
+ <fileset dir="${images.dir}"/>
+ </copy>
+ </target>
+
+ <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+ <!-- handle xcu/xcs files with package names -->
+
+ <target name="-uno-registryfiles-condition" description="check xcu and xcs files" depends="-uno-project-init">
+ <available file="${registry.dir}" type="dir" property="xcuxcs.required"/>
+ </target>
+
+ <target name="registry" description="copy registry files" depends="-uno-registryfiles-condition" if="xcuxcs.required">
+ <mkdir dir="${build.registry.dir}/${registry.dir}"/>
+ <copy todir="${build.registry.dir}/${registry.dir}">
+ <fileset dir="${registry.dir}" includes="**/*.xcu,**/*.xcs"/>
+ </copy>
+ </target>
+
+ <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+
+ <target name="-uno-idl-idlc-condition" description="check idlc dependencies" depends="-uno-project-init">
+ <uptodate property="idlc.notRequired" targetfile ="${build.dir}/idlc.compile">
+ <srcfiles dir= "${src.dir}" includes="**/*.idl"/>
+ </uptodate>
+ </target>
+
+ <!-- compile UNO idl files: execution -->
+ <target name="-uno-idl-idlc" description="Compile the IDL Conditionally" depends="-uno-idl-idlc-condition" unless="idlc.notRequired">
+ <apply executable="${sdk.idlc}" dir="${office.program.dir}" failonerror="true">
+ <env key="PATH" path="${office.tool.path}"/>
+ <env key="LD_LIBRARY_PATH" path="${office.tool.path}"/>
+ <env key="DYLD_LIBRARY_PATH" path="${office.tool.path}"/>
+ <arg value="-C"/>
+ <arg value="-O"/>
+ <arg value="${idl.out.urd}"/>
+ <arg value="-I"/>
+ <arg value="${src.dir.absolute}"/>
+ <arg value="-I"/>
+ <arg value="${sdk.idl.dir}"/>
+ <fileset dir="${src.dir}" includes="**/*.idl" casesensitive="yes" id="idl.list.id"/>
+ </apply>
+ <!-- list for copying idl files in own jar -->
+ <property name="idl.file" refid="idl.list.id"/>
+ <propertyfile file="${idl.out}/idl_list.properties">
+ <entry key="idl.file.list" value="${idl.file}"/>
+ </propertyfile>
+ <replace file="${idl.out}/idl_list.properties" token=".idl" value=".class"/>
+ <replace file="${idl.out}/idl_list.properties" token=";" value=","/>
+ </target>
+
+ <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+
+ <!-- merge urd files: execution -->
+ <target name="-uno-idl-regmerge" description="Merge urd Files Conditionally" depends="-uno-idl-idlc,-uno-idl-idlc-condition" unless="idlc.notRequired">
+ <!-- to only extract the new files, delete the old rdb -->
+ <delete file="${idl.rdb.fullpath}"/>
+ <apply executable="${sdk.regmerge}" dir="${office.program.dir}" failonerror="true">
+ <env key="PATH" path="${office.tool.path}"/>
+ <env key="LD_LIBRARY_PATH" path="${office.tool.path}"/>
+ <env key="DYLD_LIBRARY_PATH" path="${office.tool.path}"/>
+ <arg file="${idl.rdb.fullpath}"/>
+ <arg value="/UCR"/>
+ <fileset dir="${idl.out.urd}" includes="**/*.urd" casesensitive="yes"/>
+ </apply>
+ </target>
+
+ <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+
+ <!-- should javamaker be executed -->
+ <target name="-uno-idl-javamaker-condition" description="check if rdb was created" depends="-uno-idl-regmerge,-uno-idl-idlc-condition">
+ <available file="${idl.rdb.name}" filepath="${idl.out.rdb}" property="javamaker.Required"/>
+ </target>
+
+ <!-- generate Java class files from type library: execution -->
+ <target name="-uno-idl-javamaker" depends="-uno-idl-regmerge,-uno-idl-idlc-condition,-uno-idl-javamaker-condition" if="javamaker.Required" unless="idlc.notRequired">
+ <echo message="generating java class files from rdb..."/>
+ <exec executable="${sdk.javamaker}" dir="${office.program.dir}" failonerror="true">
+ <env key="PATH" path="${office.tool.path}"/>
+ <env key="LD_LIBRARY_PATH" path="${office.tool.path}"/>
+ <env key="DYLD_LIBRARY_PATH" path="${office.tool.path}"/>
+ <arg value="-BUCR"/>
+ <arg value="-O"/>
+ <arg value="${idl.classes.dir}"/>
+ <arg file="${idl.rdb.fullpath}"/>
+ <arg value="${oo.unotypes.rdb}"/> <!-- from ConfigurationSettings -->
+ <arg value="${oo.offapi.rdb}"/> <!-- from ConfigurationSettings -->
+ </exec>
+ </target>
+
+ <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+
+ <target name="-uno-idl-result" depends="-uno-idl-javamaker">
+ <touch file="${build.dir}/idlc.compile"/>
+ <echo message="build UNO idl files finished"/>
+ </target>
+
+ <!-- the main target, called in recursive builds -->
+ <target name="uno-idl-compile" description="Compiles UNO idl files" depends="-uno-idl-result"/>
+
+ <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+
+ <target name="jar" depends="-uno-project-init,uno-idl-compile,-jar-idl-types,compile,-pre-jar,-do-jar-with-manifest,-do-jar-without-manifest,-do-jar-with-mainclass,-do-jar-with-libraries,-do-openoffice-manifest,-post-jar">
+ <jar basedir="${build.classes.dir}" compress="true" filesonly="true" manifest="${build.dir}/MANIFEST.MF" jarfile="${dist.jar}" excludes="**/*.xml,**/*.txt,${idl.file.list},${build.classes.excludes}"/>
+ </target>
+
+ <target name="-jar-idl-types" depends="-do-uno-types" unless="no.idl.files">
+ <mkdir dir="${dist.dir}"/>
+ <jar basedir="${build.classes.dir}" compress="true" jarfile="${dist.dir}/${idl_types.jar}" includes="${idl.file.list}">
+ <manifest>
+ <attribute name="UNO-Type-Path" value="&lt;&gt;"/>
+ </manifest>
+ </jar>
+ </target>
+
+ <target name="-do-openoffice-manifest" depends="-copy-user-manifest,-external-jars,-do-registration,-do-class-path"/>
+
+ <!-- macro for checking manifest entries from a user manifest -->
+ <macrodef name="check-manifest-entry">
+ <attribute name="entry.name"/>
+ <attribute name="condition.property.name"/>
+ <sequential>
+ <condition property="@{condition.property.name}">
+ <and>
+ <!-- if file does not exist, "isfileselected" is not executed -->
+ <!-- necessary construct because available is not allowed here
+ but should be according to documentation -->
+ <istrue value="${build.manifest.exists}"/>
+ <!-- produces an error if file is not there -->
+ <isfileselected file="${build.dir}/MANIFEST.MF">
+ <contains text="@{entry.name}"/>
+ </isfileselected>
+ </and>
+ </condition>
+ </sequential>
+ </macrodef>
+
+ <!-- enter the class path with external jars, if external jars exit and the user did not enter his own -->
+ <target name="-do-class-path" depends="-external-jars,-check-class-path" unless="class.path.exists">
+ <manifest file="${build.dir}/MANIFEST.MF" mode="update">
+ <attribute name="Class-Path" value="${external.jars}"/>
+ </manifest>
+ </target>
+ <target name="-check-class-path">
+ <check-manifest-entry condition.property.name="class.path.exists" entry.name="Class-Path"/>
+ </target>
+
+ <!-- enter idl type definitions if it exists and if the user did not overwrite it -->
+ <target name="-do-uno-types" depends="-do-empty-unopath,-do-idl-unopath"/>
+ <target name="-do-idl-unopath" depends="-check-uno-types" if="own.idl.files" unless="uno.path.exists">
+ <manifest file="${build.dir}/MANIFEST.MF" mode="update">
+ <attribute name="UNO-Type-Path" value="${idl_types.jar}"/>
+ </manifest>
+ </target>
+ <target name="-do-empty-unopath" depends="-check-uno-types" if="no.idl.files" unless="uno.path.exists">
+ <manifest file="${build.dir}/MANIFEST.MF" mode="update">
+ <attribute name="UNO-Type-Path" value=""/>
+ </manifest>
+ </target>
+ <target name="-check-uno-types">
+ <property file="${idl.out}/idl_list.properties"/>
+ <check-manifest-entry condition.property.name="uno.path.exists" entry.name="UNO-Type-Path"/>
+ <condition property="no.idl.files">
+ <equals arg1="${idl.file.list}" arg2="" trim="true"/>
+ </condition>
+ <condition property="own.idl.files">
+ <not>
+ <istrue value="${no.idl.files}"/>
+ </not>
+ </condition>
+ </target>
+
+ <!-- enter the registration classes unless the user did not enter his own. Do nothing when the project is old -->
+ <target name="-do-registration" depends="-do-central-registration,-check-registration-classes-name"
+ if="new.project.registration" unless="do.no.registration">
+ <manifest file="${build.dir}/MANIFEST.MF" mode="update">
+ <section name="${slash.registration.class}">
+ <attribute name="RegistrationClasses" value="${registration.classname}"/>
+ </section>
+ </manifest>
+ </target>
+ <target name="-check-registration-classes-name">
+ <check-manifest-entry condition.property.name="registration.classes.exists" entry.name="RegistrationClasses"/>
+ <condition property="do.no.registration">
+ <or>
+ <istrue value="${registration.classes.exists}"/>
+ <istrue value="${registration.class.exists}"/>
+ </or>
+ </condition>
+ </target>
+
+ <!-- enter the registration class name unless the user did not enter his own. Do nothing when the project is old -->
+ <target name="-do-central-registration" depends="-check-registration-class-name,-do-old-project-registration" if="new.project.registration" unless="registration.class.exists">
+ <property name="regclass.properties" value="${build.dir}/regclass.properties"/>
+ <propertyfile file="${regclass.properties}">
+ <entry key="dot.registration" value="${slash.registration.class}"/>
+ </propertyfile>
+ <replace file="${regclass.properties}" token=".class" value=""/>
+ <replace file="${regclass.properties}" token="/" value="."/>
+ <property file="${regclass.properties}"/>
+ <manifest file="${build.dir}/MANIFEST.MF" mode="update">
+ <attribute name="RegistrationClassName" value="${dot.registration}"/>
+ </manifest>
+ </target>
+ <target name="-check-registration-class-name">
+ <check-manifest-entry condition.property.name="registration.class.exists" entry.name="RegistrationClassName"/>
+ </target>
+
+ <!-- Do the registration for older projects without a central registration class -->
+ <target name="-do-old-project-registration" depends="-check-for-old-project" if="old.project.registration" unless="registration.class.exists">
+ <manifest file="${build.dir}/MANIFEST.MF" mode="update">
+ <attribute name="RegistrationClassName" value="${registration.classname}"/>
+ </manifest>
+ </target>
+ <target name="-check-for-old-project">
+ <!-- central registration class in project -->
+ <fileset id="registration.class.name" dir="${build.dir}/classes">
+ <patternset>
+ <include name="**/CentralRegistrationClass.class"/>
+ </patternset>
+ </fileset>
+ <property name="systemslash.registration.class" refid="registration.class.name"/>
+ <!-- make forward slash from backslash on Windows -->
+ <property name="regclass.properties" value="${build.dir}/regclass.properties"/>
+ <propertyfile file="${regclass.properties}">
+ <entry key="slash.registration.class" value="${systemslash.registration.class}"/>
+ </propertyfile>
+ <replace file="${regclass.properties}" token="\\" value="/"/>
+ <property file="${regclass.properties}"/>
+ <!-- now slash is ok -->
+ <condition property="old.project.registration">
+ <equals trim="true" arg1="${slash.registration.class}" arg2=""/>
+ </condition>
+ <condition property="new.project.registration">
+ <isfalse value="${old.project.registration}"/>
+ </condition>
+ </target>
+
+ <!-- copy the user manifest if it exists -->
+ <target name="-copy-user-manifest" depends="-check-user-manifest" if="user.manifest.exists">
+ <copy file="manifest.mf" tofile="${build.dir}/MANIFEST.MF" overwrite="true"/>
+ <available file="${build.dir}/MANIFEST.MF" property="build.manifest.exists"/>
+ </target>
+ <target name="-check-user-manifest">
+ <available file="manifest.mf" property="user.manifest.exists"/>
+ </target>
+
+ <!-- handle the class path for external jar files unless there is a user overwrite -->
+ <target name="-external-jars" depends="-rm-external-jars,-add-external-jars"/>
+
+ <target name="-add-external-jars" depends="-external-jars-condition" if="do.externalJars">
+ <!-- get property external.jars for classpath from props file -->
+ <property file="${dist.dir}/${external.jar.dir}/jars.properties"/>
+ </target>
+
+ <target name="-rm-external-jars" depends="-external-jars-condition" unless="do.externalJars">
+ <!-- empty property, if no jars -->
+ <property name="external.jars" value=""/>
+ </target>
+
+ <target name="-external-jars-condition">
+ <available file="${dist.dir}/${external.jar.dir}" type="dir" property="do.externalJars"/>
+ </target>
+
+ <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+
+ <target name="-delete-uno-package">
+ <delete failonerror="false" file="${uno.package.name}"/>
+ </target>
+
+ <target name="-pre-uno-package">
+ <!-- Empty placeholder for easier customization. -->
+ <!-- You can override this target in the ../build.xml file. -->
+ </target>
+
+ <target name="-license-exists">
+ <available file="${project.dir}/${licenses.dir}" type="dir" property="do.license"/>
+ </target>
+
+ <!-- test for licenses dir is necessary because zipfileset fails if dir not there -->
+ <target name="-uno-package-with-license" depends="-license-exists" if="do.license">
+ <zip update="true" destfile="${uno.package.name}">
+ <zipfileset dir="${project.dir}/${licenses.dir}" includes="**" casesensitive="yes" prefix="${licenses.dir}"/>
+ </zip>
+ </target>
+
+ <target name="-description-exists">
+ <available file="${project.dir}/${description.dir}" type="dir" property="do.description"/>
+ </target>
+
+ <!-- test for description dir is necessary because zipfileset fails if dir not there -->
+ <target name="-uno-package-with-description" depends="-description-exists" if="do.description">
+ <zip update="true" destfile="${uno.package.name}">
+ <zipfileset dir="${project.dir}/${description.dir}" includes="**" casesensitive="yes" prefix="${description.dir}"/>
+ </zip>
+ </target>
+
+ <target name="-help-exists">
+ <available file="${project.dir}/${help.dir}" type="dir" property="do.help"/>
+ </target>
+
+ <!-- test for help dir is necessary because zipfileset fails if dir not there -->
+ <target name="-uno-package-with-help" depends="-help-exists" if="do.help">
+ <zip update="true" destfile="${uno.package.name}">
+ <zipfileset dir="${help.dir}" includes="${help.content.extensions}" prefix="${help.dir}"/>
+ </zip>
+ </target>
+
+ <target name="-dialogs-exists">
+ <available file="${project.dir}/${dialogs.dir}" type="dir" property="do.dialogs"/>
+ </target>
+
+ <!-- test for dialogs dir is necessary because zipfileset fails if dir not there -->
+ <target name="-uno-package-with-dialogs" depends="-dialogs-exists" if="do.dialogs">
+ <zip update="true" destfile="${uno.package.name}">
+ <zipfileset dir="${dialogs.dir}" includes="${dialog.content.extensions}" prefix="dialogs"/>
+ </zip>
+ </target>
+
+ <target name="-do-uno-package" description="Creates UNO extension pacakge" depends="-uno-package-with-license,-uno-package-with-help,-uno-package-with-dialogs,-uno-package-with-description">
+ <echo message="creating UNO extension package ..."/>
+ <zip update="true" destfile="${uno.package.name}">
+ <fileset dir="${src.dir}" includes="${manifest.package.extensions}" casesensitive="yes"/>
+ <fileset dir="${build.registry.dir}" casesensitive="yes"/>
+ <fileset dir="${src.dir}" includes="description.xml" casesensitive="yes"/>
+ <fileset dir="${dist.dir}" includes="**/*.jar" casesensitive="yes"/>
+ <fileset dir="${images.base.dir}" includes="**" casesensitive="yes"/>
+ <fileset dir="${idl.out.rdb}" includes="**/*.rdb" casesensitive="yes"/>
+ <zipfileset dir="${src.dir}" includes="uno-extension-manifest.xml" fullpath="META-INF/manifest.xml"/>
+ </zip>
+ </target>
+
+ <target name="-post-uno-package">
+ <!-- Empty placeholder for easier customization. -->
+ <!-- You can override this target in the ../build.xml file. -->
+ </target>
+
+ <target name="uno-package" description="Creates UNO extension pacakge" depends="jar,images,registry,-delete-uno-package,-pre-uno-package,-do-uno-package,-post-uno-package"/>
+
+ <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+
+<!-- <target name="uno-deploy" description="Deploys UNO extension package" depends="uno-package">
+ <echo message="deploying UNO extension package ..."/>
+ <echo message="${office.unopkg} gui -f ${uno.package.name}"/>
+ <echo message="${office.soffice} ${uno.package.name}"/>
+ <exec executable="${office.soffice}" dir="${office.program.dir}" failonerror="true">
+ <arg file="${uno.package.name}"/>
+ </exec>
+ </target> -->
+
+ <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+
+ <target name="uno-run" description="Run OpenOffice.org" depends="uno-package,-run-oo"/>
+
+ <!-- subtargets for different office versions -->
+ <target name="-run-oo">
+ <echo message="${office.unopkg} gui -f ${uno.package.name}"/>
+ <exec dir="${office.program.dir}" executable="${office.unopkg}" failonerror="true">
+ <arg value="gui"/>
+ <arg value="-f"/>
+ <arg file="${uno.package.name}"/>
+ </exec>
+ <echo message="${office.soffice}"/>
+ <exec executable="${office.soffice}" dir="${office.program.dir}" failonerror="true">
+ <arg value="${office.startup.options}"/>
+ </exec>
+ </target>
+
+ <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+
+ <target name="uno-debug" description="Debugss UNO extension package in Target Office" depends="uno-package,-oo-debug"/>
+
+ <target name="-oo-debug">
+ <!-- security fail for executing this without netbeans -->
+ <fail unless="netbeans.home">This target can only run inside the NetBeans IDE.</fail>
+ <!-- start debugger and get connection address jpda.address -->
+ <nbjpdastart name="Debug Office" addressproperty="jpda.address" transport="dt_socket">
+ <classpath path="${build.classes.dir}"/>
+ <sourcepath path="${src.dir}"/>
+ </nbjpdastart>
+ <!-- register component in temporary user installation -->
+ <echo message="debugging UNO extension package ..."/>
+ <echo message="${office.unopkg} gui -f ${uno.package.name}"/>
+ <exec dir="${office.program.dir}" executable="${office.unopkg}">
+ <arg value="gui"/>
+ <arg value="-f"/>
+ <arg file="${uno.package.name}"/>
+ <env key="UserInstallation" value="${office.debug.user.directory}"/>
+ </exec>
+ <!-- start Office with debug Java and user installation -->
+ <echo message="starting the Office with ..."/>
+ <echo message="user installation: ${office.debug.user.directory}"/>
+ <echo message="debug options: &quot;-Xdebug&quot; &quot;-Xrunjdwp:transport=dt_socket,address=${jpda.address}&quot;"/>
+ <echo message="${office.soffice}"/>
+ <exec dir="${office.program.dir}" executable="${office.soffice}" failonerror="true">
+ <arg value="-nofirststartwizard"/>
+ <arg value="${office.startup.options}"/>
+ <env key="UserInstallation" value="${office.debug.user.directory}"/>
+ <env key="JAVA_TOOL_OPTIONS" value="&quot;-Xdebug&quot; &quot;-Xrunjdwp:transport=dt_socket,address=${jpda.address}&quot;"/>
+ </exec>
+ </target>
+
+</project>
diff --git a/testautomation/extensions/optional/input/extension_sources/TaskPaneComponent/nbproject/genfiles.properties b/testautomation/extensions/optional/input/extension_sources/TaskPaneComponent/nbproject/genfiles.properties
new file mode 100755
index 000000000..e4e5fc119
--- /dev/null
+++ b/testautomation/extensions/optional/input/extension_sources/TaskPaneComponent/nbproject/genfiles.properties
@@ -0,0 +1,8 @@
+build.xml.data.CRC32=2b754fcd
+build.xml.script.CRC32=0a20deac
+build.xml.stylesheet.CRC32=d5b6853a
+# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
+# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
+nbproject/build-impl.xml.data.CRC32=54a58ff4
+nbproject/build-impl.xml.script.CRC32=25927849
+nbproject/build-impl.xml.stylesheet.CRC32=576378a2@1.32.1.45
diff --git a/testautomation/extensions/optional/input/extension_sources/TaskPaneComponent/nbproject/private/config.properties b/testautomation/extensions/optional/input/extension_sources/TaskPaneComponent/nbproject/private/config.properties
new file mode 100755
index 000000000..e69de29bb
--- /dev/null
+++ b/testautomation/extensions/optional/input/extension_sources/TaskPaneComponent/nbproject/private/config.properties
diff --git a/testautomation/extensions/optional/input/extension_sources/TaskPaneComponent/nbproject/private/private.properties b/testautomation/extensions/optional/input/extension_sources/TaskPaneComponent/nbproject/private/private.properties
new file mode 100755
index 000000000..c090eb0e8
--- /dev/null
+++ b/testautomation/extensions/optional/input/extension_sources/TaskPaneComponent/nbproject/private/private.properties
@@ -0,0 +1,6 @@
+compile.on.save=false
+do.depend=false
+do.jar=true
+javac.debug=true
+javadoc.preview=true
+user.properties.file=/localuser/qamsc/.netbeans/6.8/build.properties
diff --git a/testautomation/extensions/optional/input/extension_sources/TaskPaneComponent/nbproject/project-uno.properties b/testautomation/extensions/optional/input/extension_sources/TaskPaneComponent/nbproject/project-uno.properties
new file mode 100755
index 000000000..35a0535e7
--- /dev/null
+++ b/testautomation/extensions/optional/input/extension_sources/TaskPaneComponent/nbproject/project-uno.properties
@@ -0,0 +1,18 @@
+uno.project.type=office.component.project
+project.name=TaskPaneComponent
+registration.classname=com.example.TaskPaneComponent
+external.jar.dir=lib
+idl_types.jar=TaskPaneComponent_IDL_types.jar
+central.registration.class=com.example.CentralRegistrationClass
+# extensions for files that go into the .oxt package; some are also referenced in the manifest
+manifest.package.extensions=**/*.xcu,**/*.xcs,**/*.xdl,**/*.xlb,**/*.xba,**/*.properties,**/*.default
+imgae.extensions=**/*.png,**/*.jpg,**/*.jpeg,**/*.gif
+help.content.extensions=**/*.xhp,**/*.tree,${image.extensions}
+dialog.content.extensions=**/*.xdl,**/*.properties,**/*.default,${image.extensions}
+office.startup.options=
+images.dir=images
+registry.dir=registry
+help.dir=help
+dialogs.dir=dialogs
+licenses.dir=licenses
+description.dir=description
diff --git a/testautomation/extensions/optional/input/extension_sources/TaskPaneComponent/nbproject/project.properties b/testautomation/extensions/optional/input/extension_sources/TaskPaneComponent/nbproject/project.properties
new file mode 100755
index 000000000..b6059cf31
--- /dev/null
+++ b/testautomation/extensions/optional/input/extension_sources/TaskPaneComponent/nbproject/project.properties
@@ -0,0 +1,67 @@
+application.args=
+application.title=TaskPaneComponent
+application.vendor=qamsc
+build.classes.dir=${build.dir}/classes
+build.classes.excludes=**/*.java,**/*.form,**/*.xcu,**/*.xcs,**/*.idl,**/*manifest.xml
+# This directory is removed when the project is cleaned:
+build.dir=build
+build.generated.dir=${build.dir}/generated
+build.generated.sources.dir=${build.dir}/generated-sources
+# Only compile against the classpath explicitly listed here:
+build.sysclasspath=ignore
+build.test.classes.dir=${build.dir}/test/classes
+build.test.results.dir=${build.dir}/test/results
+debug.classpath=\
+ ${run.classpath}
+debug.test.classpath=\
+ ${run.test.classpath}
+# This directory is removed when the project is cleaned:
+dist.dir=dist
+dist.jar=${dist.dir}/TaskPaneComponent.jar
+dist.javadoc.dir=${dist.dir}/javadoc
+endorsed.classpath=
+excludes=
+file.reference.juh.jar=../../office/slidecopy/openoffice.org/ure/share/java/juh.jar
+file.reference.jurt.jar=../../office/slidecopy/openoffice.org/ure/share/java/jurt.jar
+file.reference.ridl.jar=../../office/slidecopy/openoffice.org/ure/share/java/ridl.jar
+file.reference.unoil.jar=../../office/slidecopy/openoffice.org/basis3.3/program/classes/unoil.jar
+includes=**
+jar.compress=false
+javac.classpath=\
+ ${file.reference.unoil.jar}:\
+ ${file.reference.juh.jar}:\
+ ${file.reference.jurt.jar}:\
+ ${file.reference.ridl.jar}
+# Space-separated list of extra javac options
+javac.compilerargs=
+javac.deprecation=false
+javac.source=1.5
+javac.target=1.5
+javac.test.classpath=\
+ ${javac.classpath}:\
+ ${build.classes.dir}:\
+ ${libs.junit.classpath}
+javadoc.additionalparam=
+javadoc.author=false
+javadoc.encoding=
+javadoc.noindex=false
+javadoc.nonavbar=false
+javadoc.notree=false
+javadoc.private=false
+javadoc.splitindex=true
+javadoc.use=true
+javadoc.version=false
+javadoc.windowtitle=
+meta.inf.dir=${src.dir}/META-INF
+platform.active=default_platform
+run.classpath=\
+ ${javac.classpath}:\
+ ${build.classes.dir}
+# Space-separated list of JVM arguments used when running the project
+# (you may also define separate properties like run-sys-prop.name=value instead of -Dname=value
+# or test-sys-prop.name=value to set system properties for unit tests):
+run.jvmargs=
+run.test.classpath=\
+ ${javac.test.classpath}:\
+ ${build.test.classes.dir}
+src.dir=src
diff --git a/testautomation/extensions/optional/input/extension_sources/TaskPaneComponent/nbproject/project.xml b/testautomation/extensions/optional/input/extension_sources/TaskPaneComponent/nbproject/project.xml
new file mode 100755
index 000000000..43c253f3c
--- /dev/null
+++ b/testautomation/extensions/optional/input/extension_sources/TaskPaneComponent/nbproject/project.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://www.netbeans.org/ns/project/1">
+ <type>org.netbeans.modules.java.j2seproject</type>
+ <configuration>
+ <data xmlns="http://www.netbeans.org/ns/j2se-project/3">
+ <name>TaskPaneComponent</name>
+ <minimum-ant-version>1.6.5</minimum-ant-version>
+ <source-roots>
+ <root id="src.dir"/>
+ </source-roots>
+ <test-roots/>
+ </data>
+ </configuration>
+</project>
diff --git a/testautomation/extensions/optional/input/extension_sources/TaskPaneComponent/registry/data/org/openoffice/Office/UI/CalcWindowState.xcu b/testautomation/extensions/optional/input/extension_sources/TaskPaneComponent/registry/data/org/openoffice/Office/UI/CalcWindowState.xcu
new file mode 100755
index 000000000..ba2c8c692
--- /dev/null
+++ b/testautomation/extensions/optional/input/extension_sources/TaskPaneComponent/registry/data/org/openoffice/Office/UI/CalcWindowState.xcu
@@ -0,0 +1,23 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<oor:component-data oor:name="CalcWindowState" oor:package="org.openoffice.Office.UI" xmlns:install="http://openoffice.org/2004/installation" xmlns:oor="http://openoffice.org/2001/registry" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <node oor:name="UIElements">
+ <node oor:name="States">
+ <node oor:name="private:resource/toolpanel/com.example.TestPanel1" oor:op="replace">
+ <prop oor:name="UIName" oor:type="xs:string">
+ <value xml:lang="en-US">ein Panel</value>
+ </prop>
+ <prop oor:name="Visible" oor:type="xs:boolean">
+ <value>true</value>
+ </prop>
+ </node>
+ <node oor:name="private:resource/toolpanel/com.example.TestPanel2" oor:op="replace">
+ <prop oor:name="UIName" oor:type="xs:string">
+ <value xml:lang="en-US">noch ein Panel</value>
+ </prop>
+ <prop oor:name="Visible" oor:type="xs:boolean">
+ <value>true</value>
+ </prop>
+ </node>
+ </node>
+ </node>
+</oor:component-data>
diff --git a/testautomation/extensions/optional/input/extension_sources/TaskPaneComponent/registry/data/org/openoffice/Office/UI/Factories.xcu b/testautomation/extensions/optional/input/extension_sources/TaskPaneComponent/registry/data/org/openoffice/Office/UI/Factories.xcu
new file mode 100755
index 000000000..90dce8595
--- /dev/null
+++ b/testautomation/extensions/optional/input/extension_sources/TaskPaneComponent/registry/data/org/openoffice/Office/UI/Factories.xcu
@@ -0,0 +1,35 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<oor:component-data oor:name="Factories" oor:package="org.openoffice.Office.UI" xmlns:oor="http://openoffice.org/2001/registry" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <node oor:name="Registered">
+ <node oor:name="UIElementFactories">
+ <node oor:name="com.example.TaskPaneComponent1" oor:op="replace">
+ <prop oor:name="Type">
+ <value>toolpanel</value>
+ </prop>
+ <prop oor:name="Name">
+ <value>com.example.TestPanel1</value>
+ </prop>
+ <prop oor:name="Module">
+ <value/>
+ </prop>
+ <prop oor:name="FactoryImplementation">
+ <value>com.example.TaskPaneComponent</value>
+ </prop>
+ </node>
+ <node oor:name="com.example.TaskPaneComponent2" oor:op="replace">
+ <prop oor:name="Type">
+ <value>toolpanel</value>
+ </prop>
+ <prop oor:name="Name">
+ <value>com.example.TestPanel2</value>
+ </prop>
+ <prop oor:name="Module">
+ <value/>
+ </prop>
+ <prop oor:name="FactoryImplementation">
+ <value>com.example.TaskPaneComponent</value>
+ </prop>
+ </node>
+ </node>
+ </node>
+</oor:component-data>
diff --git a/testautomation/extensions/optional/input/extension_sources/TaskPaneComponent/src/com/example/CentralRegistrationClass.java b/testautomation/extensions/optional/input/extension_sources/TaskPaneComponent/src/com/example/CentralRegistrationClass.java
new file mode 100755
index 000000000..5276f584a
--- /dev/null
+++ b/testautomation/extensions/optional/input/extension_sources/TaskPaneComponent/src/com/example/CentralRegistrationClass.java
@@ -0,0 +1,140 @@
+/*************************************************************************
+ * 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.example;
+
+import com.sun.star.lang.XSingleComponentFactory;
+import com.sun.star.registry.XRegistryKey;
+import java.io.IOException;
+import java.lang.reflect.Method;
+import java.net.JarURLConnection;
+import java.net.URL;
+import java.util.Enumeration;
+import java.util.StringTokenizer;
+import java.util.jar.Attributes;
+import java.util.jar.Manifest;
+
+/**
+ *
+ * @author Marc Neumann
+ */
+public class CentralRegistrationClass
+{
+
+ public static XSingleComponentFactory __getComponentFactory(String sImplementationName)
+ {
+ String regClassesList = getRegistrationClasses();
+ StringTokenizer t = new StringTokenizer(regClassesList, " ");
+ while (t.hasMoreTokens())
+ {
+ String className = t.nextToken();
+ if (className != null && className.length() != 0)
+ {
+ try
+ {
+ Class regClass = Class.forName(className);
+ Method writeRegInfo = regClass.getDeclaredMethod("__getComponentFactory", new Class[]
+ {
+ String.class
+ });
+ Object result = writeRegInfo.invoke(regClass, sImplementationName);
+ if (result != null)
+ {
+ return (XSingleComponentFactory) result;
+ }
+ }
+ catch (Exception ex)
+ {
+ ex.printStackTrace();
+ }
+ }
+ }
+ return null;
+ }
+
+ public static boolean __writeRegistryServiceInfo(XRegistryKey xRegistryKey)
+ {
+ boolean bResult = true;
+ String regClassesList = getRegistrationClasses();
+ StringTokenizer t = new StringTokenizer(regClassesList, " ");
+ while (t.hasMoreTokens())
+ {
+ String className = t.nextToken();
+ if (className != null && className.length() != 0)
+ {
+ try
+ {
+ Class regClass = Class.forName(className);
+ Method writeRegInfo = regClass.getDeclaredMethod("__writeRegistryServiceInfo", new Class[]
+ {
+ XRegistryKey.class
+ });
+ Object result = writeRegInfo.invoke(regClass, xRegistryKey);
+ bResult &= ((Boolean) result).booleanValue();
+ }
+ catch (Exception ex)
+ {
+ ex.printStackTrace();
+ }
+ }
+ }
+ return bResult;
+ }
+
+ private static String getRegistrationClasses()
+ {
+ CentralRegistrationClass c = new CentralRegistrationClass();
+ String name = c.getClass().getCanonicalName().replace('.', '/').concat(".class");
+ try
+ {
+ Enumeration<URL> urlEnum = c.getClass().getClassLoader().getResources("META-INF/MANIFEST.MF");
+ while (urlEnum.hasMoreElements())
+ {
+ URL url = urlEnum.nextElement();
+ String file = url.getFile();
+ JarURLConnection jarConnection = (JarURLConnection) url.openConnection();
+ Manifest mf = jarConnection.getManifest();
+
+ Attributes attrs = (Attributes) mf.getAttributes(name);
+ if (attrs != null)
+ {
+ String classes = attrs.getValue("RegistrationClasses");
+ return classes;
+ }
+ }
+ }
+ catch (IOException ex)
+ {
+ ex.printStackTrace();
+ }
+
+ return "";
+ }
+
+ /** Creates a new instance of CentralRegistrationClass */
+ private CentralRegistrationClass()
+ {
+ }
+}
diff --git a/testautomation/extensions/optional/input/extension_sources/TaskPaneComponent/src/com/example/TaskPaneComponent.java b/testautomation/extensions/optional/input/extension_sources/TaskPaneComponent/src/com/example/TaskPaneComponent.java
new file mode 100755
index 000000000..0c5fdb782
--- /dev/null
+++ b/testautomation/extensions/optional/input/extension_sources/TaskPaneComponent/src/com/example/TaskPaneComponent.java
@@ -0,0 +1,116 @@
+/*************************************************************************
+ * 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.example;
+
+import com.sun.star.awt.XWindow;
+import com.sun.star.frame.XFrame;
+import com.sun.star.uno.XComponentContext;
+import com.sun.star.lib.uno.helper.Factory;
+import com.sun.star.lang.XSingleComponentFactory;
+import com.sun.star.registry.XRegistryKey;
+import com.sun.star.lib.uno.helper.WeakBase;
+import com.sun.star.uno.UnoRuntime;
+
+public final class TaskPaneComponent extends WeakBase
+ implements com.sun.star.ui.XUIElementFactory,
+ com.sun.star.lang.XServiceInfo
+{
+
+ private final XComponentContext m_xContext;
+ private static final String m_implementationName = TaskPaneComponent.class.getName();
+ private static final String[] m_serviceNames =
+ {
+ "com.sun.star.ui.UIElementFactory"
+ };
+
+ public TaskPaneComponent(XComponentContext context)
+ {
+ m_xContext = context;
+ }
+
+ public static XSingleComponentFactory __getComponentFactory(String sImplementationName)
+ {
+ XSingleComponentFactory xFactory = null;
+
+ if (sImplementationName.equals(m_implementationName))
+ {
+ xFactory = Factory.createComponentFactory(TaskPaneComponent.class, m_serviceNames);
+ }
+ return xFactory;
+ }
+
+ public static boolean __writeRegistryServiceInfo(XRegistryKey xRegistryKey)
+ {
+ return Factory.writeRegistryServiceInfo(m_implementationName,
+ m_serviceNames,
+ xRegistryKey);
+ }
+
+ public com.sun.star.ui.XUIElement createUIElement(String ResourceURL, com.sun.star.beans.PropertyValue[] creationArgs) throws com.sun.star.container.NoSuchElementException, com.sun.star.lang.IllegalArgumentException
+ {
+
+ XFrame docFrame = null;
+ XWindow panelParentWindow = null;
+ for (int i = 0; i < creationArgs.length; ++i)
+ {
+ if (creationArgs[i].Name.equals("Frame"))
+ {
+ docFrame = UnoRuntime.queryInterface(XFrame.class, creationArgs[i].Value);
+ } else if (creationArgs[i].Name.equals("ParentWindow"))
+ {
+ panelParentWindow = UnoRuntime.queryInterface(XWindow.class, creationArgs[i].Value);
+ }
+ }
+
+ return new ToolPanelUIElement(m_xContext, docFrame, panelParentWindow);
+
+ }
+
+ // com.sun.star.lang.XServiceInfo:
+ public String getImplementationName()
+ {
+ return m_implementationName;
+ }
+
+ public boolean supportsService(String sService)
+ {
+ int len = m_serviceNames.length;
+
+ for (int i = 0; i < len; i++)
+ {
+ if (sService.equals(m_serviceNames[i]))
+ {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ public String[] getSupportedServiceNames()
+ {
+ return m_serviceNames;
+ }
+}
diff --git a/testautomation/extensions/optional/input/extension_sources/TaskPaneComponent/src/com/example/ToolPanel.java b/testautomation/extensions/optional/input/extension_sources/TaskPaneComponent/src/com/example/ToolPanel.java
new file mode 100755
index 000000000..a28e07d58
--- /dev/null
+++ b/testautomation/extensions/optional/input/extension_sources/TaskPaneComponent/src/com/example/ToolPanel.java
@@ -0,0 +1,56 @@
+/*************************************************************************
+ * 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.example;
+
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.XWindow;
+import com.sun.star.ui.XToolPanel;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+ *
+ * @author frank.schoenheit@sun.com
+ */
+public class ToolPanel implements XToolPanel
+{
+ ToolPanel( final XWindow i_panelWindow )
+ {
+ m_panelWindow = i_panelWindow;
+ }
+
+ public XWindow getWindow()
+ {
+ return m_panelWindow;
+ }
+
+ public XAccessible createAccessible( XAccessible i_parentAccessible )
+ {
+ return UnoRuntime.queryInterface( XAccessible.class, m_panelWindow );
+ }
+
+ private XWindow m_panelWindow;
+}
diff --git a/testautomation/extensions/optional/input/extension_sources/TaskPaneComponent/src/com/example/ToolPanelUIElement.java b/testautomation/extensions/optional/input/extension_sources/TaskPaneComponent/src/com/example/ToolPanelUIElement.java
new file mode 100755
index 000000000..fa77b06bf
--- /dev/null
+++ b/testautomation/extensions/optional/input/extension_sources/TaskPaneComponent/src/com/example/ToolPanelUIElement.java
@@ -0,0 +1,153 @@
+/*************************************************************************
+ * 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.example;
+
+import com.sun.star.awt.XContainerWindowProvider;
+import com.sun.star.awt.XWindow;
+import com.sun.star.awt.XWindowPeer;
+import com.sun.star.deployment.PackageInformationProvider;
+import com.sun.star.deployment.XPackageInformationProvider;
+import com.sun.star.frame.XFrame;
+import com.sun.star.lang.DisposedException;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lib.uno.helper.ComponentBase;
+import com.sun.star.ui.UIElementType;
+import com.sun.star.ui.XUIElement;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XComponentContext;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+/**
+ *
+ * @author frank.schoenheit@sun.com
+ */
+public class ToolPanelUIElement extends ComponentBase implements XUIElement
+{
+
+ protected final XFrame m_docFrame;
+ protected final XWindow m_parentWindow;
+ private XWindow m_panelRootWindow = null;
+ private Object m_toolPanel = null;
+ XComponentContext context = null;
+
+
+ protected ToolPanelUIElement( XComponentContext _context, final XFrame i_docFrame, final XWindow i_parentWindow )
+ {
+ context = _context;
+ m_docFrame = i_docFrame;
+ m_parentWindow = i_parentWindow;
+ }
+
+ public static String getResourceURLBase()
+ {
+ return "private:resource/toolpanel/com.example.TaskPaneComponent/";
+ }
+
+ // XUIElement overridables
+ public XFrame getFrame() { return m_docFrame; }
+ public short getType() { return UIElementType.TOOLPANEL; }
+ public String getResourceURL() { return getResourceURLBase() + getPanelResourceURLSuffix(); }
+
+ public Object getRealInterface()
+ {
+ synchronized( this )
+ {
+ if ( this.bDisposed || this.bInDispose )
+ throw new DisposedException( new String(), this );
+
+ if ( m_toolPanel == null )
+ m_toolPanel = new ToolPanel( getOrCreatePanelRootWindow() );
+ }
+ return m_toolPanel;
+ }
+
+ // own overridables
+ /** returns the name of the dialog description file of the tool panel, without .xdl suffix
+ */
+ protected String getPanelResourceLocation()
+ {
+ return "TaskPaneComponentUI";
+
+ }
+
+ /** returns the resource URL suffix to use for the tool panel
+ * @return
+ */
+ protected String getPanelResourceURLSuffix()
+ {
+ return "TaskPaneComponentUI";
+ }
+
+
+ // ComponentBase overridables
+ protected void postDisposing()
+ {
+ super.postDisposing();
+ synchronized ( this )
+ {
+ if ( m_panelRootWindow != null )
+ {
+ XComponent panelWindowComp = UnoRuntime.queryInterface( XComponent.class, m_panelRootWindow );
+ panelWindowComp.dispose();
+ m_panelRootWindow = null;
+
+ }
+ m_toolPanel = null;
+ }
+ }
+
+ // helpers
+ synchronized private XWindow getOrCreatePanelRootWindow()
+ {
+ try
+ {
+ XPackageInformationProvider pip = PackageInformationProvider.get(context);
+ String s = pip.getPackageLocation("com.example.TaskPaneComponent");
+
+ String dialogUrl = s + "/toolpanels/" + getPanelResourceLocation() + ".xdl";
+
+ XContainerWindowProvider provider = UnoRuntime.queryInterface(
+ XContainerWindowProvider.class,
+ context.getServiceManager().createInstanceWithContext("com.sun.star.awt.ContainerWindowProvider",context)
+ );
+
+ m_panelRootWindow = provider.createContainerWindow(
+ dialogUrl,
+ "",
+ UnoRuntime.queryInterface( XWindowPeer.class, m_parentWindow ),
+ null
+ );
+
+ }
+ catch ( final Exception e )
+ {
+ Logger.getLogger( ToolPanelUIElement.class.getName() ).log( Level.SEVERE, null, e );
+ }
+ return m_panelRootWindow;
+ }
+}
diff --git a/testautomation/extensions/optional/input/extension_sources/TaskPaneComponent/src/description.xml b/testautomation/extensions/optional/input/extension_sources/TaskPaneComponent/src/description.xml
new file mode 100755
index 000000000..9e32a6e8b
--- /dev/null
+++ b/testautomation/extensions/optional/input/extension_sources/TaskPaneComponent/src/description.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<description xmlns="http://openoffice.org/extensions/description/2006" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <version value="0.0.1"/>
+ <identifier value="com.example.TaskPaneComponent"/>
+</description>
diff --git a/testautomation/extensions/optional/input/extension_sources/TaskPaneComponent/src/toolpanels/TaskPaneComponentUI.xdl b/testautomation/extensions/optional/input/extension_sources/TaskPaneComponent/src/toolpanels/TaskPaneComponentUI.xdl
new file mode 100755
index 000000000..7820e3d52
--- /dev/null
+++ b/testautomation/extensions/optional/input/extension_sources/TaskPaneComponent/src/toolpanels/TaskPaneComponentUI.xdl
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE dlg:window PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "dialog.dtd">
+<dlg:window xmlns:dlg="http://openoffice.org/2000/dialog" xmlns:script="http://openoffice.org/2000/script" dlg:id="Dialog1" dlg:left="192" dlg:top="127" dlg:width="174" dlg:height="147" dlg:closeable="true" dlg:moveable="true" dlg:help-url="HID:123456" dlg:withtitlebar="false">
+ <dlg:bulletinboard>
+ <dlg:button dlg:id="CommandButton1" dlg:tab-index="0" dlg:left="6" dlg:top="8" dlg:width="64" dlg:height="20" dlg:value="a wonderful button"/>
+ <dlg:textfield dlg:id="TextField1" dlg:textarea-vertical-align="top" dlg:tab-index="1" dlg:left="6" dlg:top="38" dlg:width="64" dlg:height="59" dlg:value="a wonderful text"/>
+ </dlg:bulletinboard>
+</dlg:window> \ No newline at end of file
diff --git a/testautomation/extensions/optional/input/extension_sources/TaskPaneComponent/src/uno-extension-manifest.xml b/testautomation/extensions/optional/input/extension_sources/TaskPaneComponent/src/uno-extension-manifest.xml
new file mode 100755
index 000000000..d49fe3d72
--- /dev/null
+++ b/testautomation/extensions/optional/input/extension_sources/TaskPaneComponent/src/uno-extension-manifest.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<manifest:manifest xmlns:manifest="http://openoffice.org/2001/manifest">
+ <manifest:file-entry manifest:media-type="application/vnd.sun.star.uno-component;type=Java"
+ manifest:full-path="TaskPaneComponent.jar"/>
+ <manifest:file-entry manifest:media-type="application/vnd.sun.star.configuration-data"
+ manifest:full-path="registry/data/org/openoffice/Office/UI/Factories.xcu"/>
+ <manifest:file-entry manifest:media-type="application/vnd.sun.star.configuration-data"
+ manifest:full-path="registry/data/org/openoffice/Office/UI/CalcWindowState.xcu"/>
+</manifest:manifest> \ No newline at end of file
diff --git a/testautomation/extensions/optional/input/extensions/TaskPaneComponent/TaskPaneComponent.oxt b/testautomation/extensions/optional/input/extensions/TaskPaneComponent/TaskPaneComponent.oxt
new file mode 100755
index 000000000..5c826dd35
--- /dev/null
+++ b/testautomation/extensions/optional/input/extensions/TaskPaneComponent/TaskPaneComponent.oxt
Binary files differ
diff --git a/testautomation/global/input/officeinfo.txt b/testautomation/global/input/officeinfo.txt
index 92b4e4927..240e166be 100644
--- a/testautomation/global/input/officeinfo.txt
+++ b/testautomation/global/input/officeinfo.txt
@@ -1,6 +1,5 @@
[Current program versions]
-StarOffice=9
-StarSuite=9
+Oracle Open Office=3.2
OpenOffice.org=3.1
BrOffice.org=3.1
Oracle Open Office=3.2
diff --git a/testautomation/global/sid/e_all.sid b/testautomation/global/sid/e_all.sid
index de68cf13f..2fde9b77b 100755..100644
--- a/testautomation/global/sid/e_all.sid
+++ b/testautomation/global/sid/e_all.sid
@@ -256,7 +256,7 @@ ViewSnapLinesFront SID_HELPLINES_FRONT
ViewStatusBarVisible .uno:StatusBarVisible
ViewShowImeStatusWindow .uno:ShowImeStatusWindow
ViewShowRuler .uno:ShowRuler
-ViewTaskPane .uno:RightPane
+ViewTaskPane .uno:TaskPane
ViewTaskSlide .uno:LeftPaneImpress
ViewTitle SID_TITLE_MASTERPAGE
ViewToolbarsOptionbar .uno:AvailableToolbars?Toolbar:string=optionsbar
diff --git a/testautomation/global/win/dial_t_z.win b/testautomation/global/win/dial_t_z.win
index c37ad2512..899254eb6 100755
--- a/testautomation/global/win/dial_t_z.win
+++ b/testautomation/global/win/dial_t_z.win
@@ -170,10 +170,6 @@ Vorschau sd:PushButton:DLG_VECTORIZE:BTN_PREVIEW
*UndoRedoBox HID_SVXTBX_UNDO_REDO_CTRL
UndoRedoList svx:ListBox:RID_SVXTBX_UNDO_REDO_CTRL:LB_SVXTBX_UNDO_REDO_CTRL
-*UrlOeffnen sfx2:ModalDialog:RID_URLOPEN
-URL sfx2:Edit:RID_URLOPEN:RID_URLOPEN_URL
-URLText sfx2:Edit:RID_URLOPEN:RID_URLOPEN_URL
-
*Verbinder HID_PAGE_CONNECTION SVX:TABPAGE:RID_SVXPAGE_CONNECTION
Linie1 cui:METRICFIELD:RID_SVXPAGE_CONNECTION:MTR_FLD_LINE_1
Linie2 cui:METRICFIELD:RID_SVXPAGE_CONNECTION:MTR_FLD_LINE_2
diff --git a/testautomation/global/win/edia_t_z.win b/testautomation/global/win/edia_t_z.win
index a53038e79..099e62675 100755
--- a/testautomation/global/win/edia_t_z.win
+++ b/testautomation/global/win/edia_t_z.win
@@ -40,8 +40,8 @@ FinishBtn HID_DLGTABLE_CMDFINISH
CancelBtn HID_DLGTABLE_CMDCANCEL
' not nice solved, but can't do better right now; complains -> TBO
-*Tasks sd:DockingWindow:FLT_RIGHT_PANE_DOCKING_WINDOW
-View HID_SD_TASK_PANE_VIEW_MENU
+*Tasks sd:DockingWindow:FLT_TOOL_PANEL_DOCKING_WINDOW
+View HID_TASKPANE_VIEW_MENU
'? HID_SD_WIN_DOCUMENT
' Master Pages
UsedInThisPresentationPreview HID_SD_TASK_PANE_PREVIEW_CURRENT
diff --git a/testautomation/graphics/optional/includes/global/export_graphic_2.inc b/testautomation/graphics/optional/includes/global/export_graphic_2.inc
index d4c6f46ed..67c456201 100755..100644
--- a/testautomation/graphics/optional/includes/global/export_graphic_2.inc
+++ b/testautomation/graphics/optional/includes/global/export_graphic_2.inc
@@ -146,7 +146,7 @@ testcase tSVM
hFileOpen (sDocument)
sleep (10)
- sMakeReadOnlyDocumentEditable
+ call fMakeDocumentWritable
hTypeKeys ("<escape><tab>")
fGetSizeXY sx1, sY, TRUE
@@ -763,14 +763,8 @@ qaerrorlog
endif
' check if the document is writable
- if fIsDocumentWritable = false then
- ' make the document writable and check if it's succesfull
- if fMakeDocumentWritable = false then
- warnlog "The document can't be make writeable. Test stopped."
- goto endsub
- endif
- endif
-
+ call fMakeDocumentWritable
+
hTypeKeys ("<escape><tab>")
fGetSizeXY sx1, sy, TRUE
if hCallExport (OutputGrafikTBO + "1" , "BMP - Windows Bitmap (.bmp)", TRUE ) = TRUE then
@@ -948,9 +942,8 @@ testcase tEMF
Filterauswahl.Cancel
goto endsub
endif
- printlog "making doc editable if it is readonly"
- sMakeReadOnlyDocumentEditable
-
+ printlog "making doc editable if it is readonly"
+ call fMakeDocumentWritable
hTypeKeys ("<escape><tab>")
fGetSizeXY sx1, sY, TRUE
if hCallExport (OutputGrafikTBO & "1" , sFilter, TRUE ) = TRUE then
@@ -1139,7 +1132,7 @@ testcase tMET
sleep (10)
printlog "making doc editable if it is readonly"
- sMakeReadOnlyDocumentEditable
+ call fMakeDocumentWritable
hTypeKeys ("<escape><tab>")
fGetSizeXY sx1, sY, TRUE
@@ -1341,7 +1334,7 @@ testcase tWMF
sleep (10)
printlog "making doc editable if it is readonly"
- sMakeReadOnlyDocumentEditable
+ call fMakeDocumentWritable
hTypeKeys ("<escape><tab>")
fGetSizeXY sx1, sY, TRUE
diff --git a/testautomation/graphics/optional/includes/global/g_autocorrection.inc b/testautomation/graphics/optional/includes/global/g_autocorrection.inc
index 74fa830a9..7653d3912 100755..100644
--- a/testautomation/graphics/optional/includes/global/g_autocorrection.inc
+++ b/testautomation/graphics/optional/includes/global/g_autocorrection.inc
@@ -159,7 +159,7 @@ testcase tToolsAutocorrectCustomQuotes(bSimple as boolean)
printlog "File opened: " + sFileName
Sleep 3
- Call sMakeReadOnlyDocumentEditable
+ call fMakeDocumentWritable
if bSimple then
Printlog "- Tools/Autocorrect -single quotes"
diff --git a/testautomation/graphics/optional/includes/global/g_customshapes.inc b/testautomation/graphics/optional/includes/global/g_customshapes.inc
index 0a9ec4c9c..850356821 100644
--- a/testautomation/graphics/optional/includes/global/g_customshapes.inc
+++ b/testautomation/graphics/optional/includes/global/g_customshapes.inc
@@ -647,15 +647,15 @@ testcase tFormatPaintbrush
sleep 1
else '(Impress)
Kontext "DocumentImpress"
- DocumentImpress.Mousedown 20, 20
- DocumentImpress.Mouseup 20, 20
+ DocumentImpress.typekeys("<F6>",true)
+ DocumentImpress.typekeys("<ESCAPE>",true)
+ DocumentImpress.typekeys("<TAB>",true)
sleep 1
kontext "Standardbar"
FormatPaintbrush.Click
kontext "DocumentImpress"
sleep 1
- DocumentImpress.Mousedown 80, 80
- DocumentImpress.Mouseup 80, 80
+ DocumentImpress.typekeys("<TAB>",true)
sleep 1
endif
diff --git a/testautomation/graphics/optional/includes/global/g_demoguide.inc b/testautomation/graphics/optional/includes/global/g_demoguide.inc
index 1d71bd387..8da45a872 100644
--- a/testautomation/graphics/optional/includes/global/g_demoguide.inc
+++ b/testautomation/graphics/optional/includes/global/g_demoguide.inc
@@ -137,7 +137,7 @@ testcase t_Introduction
DocumentImpress.TypeKeys "<MOD1 A>"
hOpenContextMenu '(when the object is marked)
hMenuSelectNr(12)
-
+
'///Add Layout "Title Only"
Printlog "Add Layout"
kontext "Tasks"
@@ -145,36 +145,71 @@ testcase t_Introduction
warnlog "Tasks Panel not visible. Opening now."
ViewTaskPane
endif
- Kontext "LayoutsPreview"
+
+ ' enable all items in the task pane.
+ ' may be one item is not enabled due to a previous testrun
+ dim i as integer
+ for i = 1 to 5
+ printlog i
+ View.OpenMenu
+ if ( MenuIsItemChecked(MenuGetItemID(i)) ) then
+ ' do nothing the item is allready displayed
+ else
+ MenuSelect(MenuGetItemId(4))
+ endif
+ hMenuSelectNr(0)
+ 'sleep(1)
+ next
+
+ View.OpenMenu
+ MenuSelect(MenuGetItemId(1))
+ View.OpenMenu
+ MenuSelect(MenuGetItemId(3))
+ View.OpenMenu
+ MenuSelect(MenuGetItemId(4))
+ View.OpenMenu
+ MenuSelect(MenuGetItemId(5))
+
+
LayoutsPreview.TypeKeys "<HOME> <DOWN> <DOWN> <RETURN>"
sleep (5)
'///Add a background
Printlog "Add background"
-
+
Kontext "Tasks"
printlog "Deselect all tabs from view menu in task pane except the needed."
View.OpenMenu
- MenuSelect(MenuGetItemID(5))
+ MenuSelect(MenuGetItemID(5))
View.OpenMenu
- MenuSelect(MenuGetItemID(4))
+ MenuSelect(MenuGetItemID(4))
View.OpenMenu
MenuSelect(MenuGetItemID(3))
View.OpenMenu
MenuSelect(MenuGetItemID(2))
- Kontext "AvailableForUsePreview"
+ sleep(5)
+ View.OpenMenu
+ MenuSelect(MenuGetItemID(1))
+ Tasks.TypeKeys "<TAB>",true
+ Tasks.TypeKeys "<MOD1 HOME>",true
AvailableForUsePreview.TypeKeys "<HOME> <RIGHT> <RETURN>"
- sleep (5)
+ sleep (5)
'///Add a transition effect
Printlog "Add a transition effect"
Kontext "Tasks"
- View.OpenMenu
- MenuSelect(MenuGetItemID(5))
+ sleep(5)
View.OpenMenu
MenuSelect(MenuGetItemID(1))
+ View.OpenMenu
+ MenuSelect(MenuGetItemID(2))
+ View.OpenMenu
+ MenuSelect(MenuGetItemID(3))
+ View.OpenMenu
+ MenuSelect(MenuGetItemID(4))
+
TransitionSound.GetItemCount 'needed for select
Sleep 1
TransitionSound.Select 4
-
+
'///Close the document
Printlog "Close the document"
Call hCloseDocument
@@ -386,7 +421,7 @@ testcase t_DrawingEngine
printlog "Open a drawing"
hFileOpen (Convertpath (gTesttoolPath + "graphics/required/input/Blueprint.odg"))
- Call sMakeReadOnlyDocumentEditable
+ Call fMakeDocumentWritable
'///Select grouped object and enter group
printlog "Select group"
diff --git a/testautomation/graphics/optional/includes/global/g_load_save.inc b/testautomation/graphics/optional/includes/global/g_load_save.inc
index 9bc422f99..6622c9c7a 100644
--- a/testautomation/graphics/optional/includes/global/g_load_save.inc
+++ b/testautomation/graphics/optional/includes/global/g_load_save.inc
@@ -302,14 +302,9 @@ testcase tFileOpenImport
Dateiname.SetText (ConvertPath (gTesttoolpath + "graphics\required\input\imsusmap.cgm"))
Oeffnen.Click
Sleep 2
- ' check if the document is writable
- if fIsDocumentWritable = false then
- ' make the document writable and check if it's succesfull
- if fMakeDocumentWritable = false then
- warnlog "The document can't be make writeable. Test stopped."
- goto endsub
- endif
- endif
+
+ call fMakeDocumentWritable
+
kontext "DocumentImpress"
if DocumentImpress.exists(5) then
DocumentImpress.TypeKeys ("<Tab>")
diff --git a/testautomation/graphics/tools/id_tools.inc b/testautomation/graphics/tools/id_tools.inc
index 117fa4772..e71c9f765 100644
--- a/testautomation/graphics/tools/id_tools.inc
+++ b/testautomation/graphics/tools/id_tools.inc
@@ -289,10 +289,10 @@ end function
'-------------------------------------------------------------------------------
function fMakeDocumentWritable() as boolean
- printlog " make a document is writeable"
- printlog " <u>parameter:</u>"
- printlog " <u>return:</u>"
- printlog " true if the document can make writeable otherwise false"
+ 'make a document is writeable
+ 'parameter:</u>
+ '<u>return:</u>
+ 'true if the document can make writeable otherwise false
Kontext "Standardbar"
sleep (1)
@@ -310,7 +310,7 @@ function fMakeDocumentWritable() as boolean
printlog "Document is allready writable."
fMakeDocumentWritable = true
endif
-
+ sleep (1)
end function
'-------------------------------------------------------------------------------