Hi Mathias and Mikhail,

Thanks for your help, the problem has been resolved, now I have finished the rest part of the unit-test, which runs well on my machine, could Mikhail review it for me please?

Best Regards,
Felix.

Mathias Bauer 写道:
Mikhail Voitenko schrieb:

Hi Felix,

If the list does not contain the filters it means that they were not installed. Indeed it looks like they are not installed by default in the OpenOffice build. Please reinstall the office and select installation of the optional filters.

On Windows you can use the "modify" setup to install the optional
filters. On Linux there should be a comparable package.

Ciao,
Mathias

dmake: Executing shell macro: echo %_cwd
dmake: Executing shell macro: echo %_4ver
java -cp 
.;..\..\..\wntmsci10.pro\class;d:\OOEnv\J2SDK1~1.2_0\jre\lib\rt.jar;.;g:\OOo\SRC680_m225\solver\680\wntmsci10.pro\bin\ridl.jar;g:\OOo\SRC680_m225\solver\680\wntmsci10.pro\bin\unoil.jar;g:\OOo\SRC680_m225\solver\680\wntmsci10.pro\bin\jurt.jar;g:\OOo\SRC680_m225\solver\680\wntmsci10.pro\bin\juh.jar;g:\OOo\SRC680_m225\solver\680\wntmsci10.pro\bin\jut.jar;g:\OOo\SRC680_m225\solver\680\wntmsci10.pro\bin\java_uno.jar;g:\OOo\SRC680_m225\solver\680\wntmsci10.pro\bin\OOoRunner.jar
 org.openoffice.Runner -TestBase java_complex  -o 
complex.standalonedocumentinfo.StandaloneDocumentInfoUnitTest 
StandaloneDocumentInfoTest Test01 TestHelper
TestJob: -o complex.standalonedocumentinfo.StandaloneDocumentInfoUnitTest
Searching Class: complex.standalonedocumentinfo.StandaloneDocumentInfoUnitTest
Got test: [EMAIL PROTECTED]
LOG> Log started 24.09.2007 - 14:57:45
LOG> Starting ExecuteTest01
LOG> Test01: ==============================
LOG> Test01: writer8
LOG> Test01: ==============================
LOG> Test01: New document initialized.
LOG> Test01: Set title: ODF_Doc
LOG> Test01: Document stored.
LOG> Test01: StandaloneDocumentInfo loaded.
LOG> Test01: Get title: ODF_Doc
LOG> Test01: Title matched.
LOG> Test01: Set new title: ODF_Doc_new
LOG> Test01: Document info stored.
LOG> Test01: New StandaloneDocumentInfo loaded.
LOG> Test01: Get new title: ODF_Doc_new
LOG> Test01: New title matched.
LOG> Test01: ==============================
LOG> Test01: StarOffice XML (Writer)
LOG> Test01: ==============================
LOG> Test01: New document initialized.
LOG> Test01: Set title: OOo6_Doc
LOG> Test01: Document stored.
LOG> Test01: StandaloneDocumentInfo loaded.
LOG> Test01: Get title: OOo6_Doc
LOG> Test01: Title matched.
LOG> Test01: Set new title: OOo6_Doc_new
LOG> Test01: Document info stored.
LOG> Test01: New StandaloneDocumentInfo loaded.
LOG> Test01: Get new title: OOo6_Doc_new
LOG> Test01: New title matched.
LOG> Test01: ==============================
LOG> Test01: StarWriter 5.0
LOG> Test01: ==============================
LOG> Test01: New document initialized.
LOG> Test01: Set title: old_binary_Doc
LOG> Test01: Document stored.
LOG> Test01: StandaloneDocumentInfo loaded.
LOG> Test01: Get title: old_binary_Doc
LOG> Test01: Title matched.
LOG> Test01: Set new title: old_binary_Doc_new
LOG> Test01: Document info stored.
LOG> Test01: New StandaloneDocumentInfo loaded.
LOG> Test01: Get new title: old_binary_Doc_new
LOG> Test01: New title matched.
LOG> Finished ExecuteTest01
***** State for complex.standalonedocumentinfo.StandaloneDocumentInfoUnitTest 
******
Whole unit: PASSED.OK
************************************************************************************
Job -o complex.standalonedocumentinfo.StandaloneDocumentInfoUnitTest done
#*************************************************************************
#
#   OpenOffice.org - a multi-platform office productivity suite
#
#   $RCSfile: makefile.mk,v $
#
#   $Revision: 1.11 $
#
#   last change: $Author: obo $ $Date: 2006/10/13 11:46:54 $
#
#   The Contents of this file are made available subject to
#   the terms of GNU Lesser General Public License Version 2.1.
#
#
#     GNU Lesser General Public License Version 2.1
#     =============================================
#     Copyright 2005 by Sun Microsystems, Inc.
#     901 San Antonio Road, Palo Alto, CA 94303, USA
#
#     This library is free software; you can redistribute it and/or
#     modify it under the terms of the GNU Lesser General Public
#     License version 2.1, as published by the Free Software Foundation.
#
#     This library is distributed in the hope that it will be useful,
#     but WITHOUT ANY WARRANTY; without even the implied warranty of
#     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
#     Lesser General Public License for more details.
#
#     You should have received a copy of the GNU Lesser General Public
#     License along with this library; if not, write to the Free Software
#     Foundation, Inc., 59 Temple Place, Suite 330, Boston,
#     MA  02111-1307  USA
#
#*************************************************************************

PRJ = ..$/..$/..
TARGET = StandaloneDocumentInfoUnitTest
PRJNAME = binfilter
PACKAGE = complex$/standalonedocumentinfo

# --- Settings -----------------------------------------------------
.INCLUDE: settings.mk


#----- compile .java files -----------------------------------------

JARFILES        = ridl.jar unoil.jar jurt.jar juh.jar jut.jar java_uno.jar 
OOoRunner.jar

JAVAFILES       =\
                                StandaloneDocumentInfoUnitTest.java\
                                StandaloneDocumentInfoTest.java\
                                Test01.java\
                                TestHelper.java\

JAVACLASSFILES  = $(foreach,i,$(JAVAFILES) 
$(CLASSDIR)$/$(PACKAGE)$/$(i:b).class)

#----- make a jar from compiled files ------------------------------

MAXLINELENGTH = 100000

JARCLASSDIRS    = $(PACKAGE)
JARTARGET       = $(TARGET).jar
JARCOMPRESS     = TRUE

# --- Parameters for the test --------------------------------------

# start an office if the parameter is set for the makefile
.IF "$(OFFICE)" == ""
CT_APPEXECCOMMAND =
.ELSE
CT_APPEXECCOMMAND = -AppExecutionCommand "$(OFFICE)$/soffice 
-accept=socket,host=localhost,port=8100;urp;"
.ENDIF

# test base is java complex
CT_TESTBASE = -TestBase java_complex

# test looks something like the.full.package.TestName
CT_TEST     = -o $(PACKAGE:s\$/\.\).$(JAVAFILES:b)

# start the runner application
CT_APP      = org.openoffice.Runner

# --- Targets ------------------------------------------------------

.INCLUDE: target.mk

RUN: run

run:
    +java -cp $(CLASSPATH) $(CT_APP) $(CT_TESTBASE) $(CT_APPEXECCOMMAND) 
$(CT_TEST)



/*************************************************************************
 *
 *  OpenOffice.org - a multi-platform office productivity suite
 *
 *  $RCSfile: StorageUnitTest.java,v $
 *
 *  $Revision: 1.10 $
 *
 *  last change: $Author: obo $ $Date: 2006/10/13 11:45:51 $
 *
 *  The Contents of this file are made available subject to
 *  the terms of GNU Lesser General Public License Version 2.1.
 *
 *
 *    GNU Lesser General Public License Version 2.1
 *    =============================================
 *    Copyright 2005 by Sun Microsystems, Inc.
 *    901 San Antonio Road, Palo Alto, CA 94303, USA
 *
 *    This library is free software; you can redistribute it and/or
 *    modify it under the terms of the GNU Lesser General Public
 *    License version 2.1, as published by the Free Software Foundation.
 *
 *    This library is distributed in the hope that it will be useful,
 *    but WITHOUT ANY WARRANTY; without even the implied warranty of
 *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 *    Lesser General Public License for more details.
 *
 *    You should have received a copy of the GNU Lesser General Public
 *    License along with this library; if not, write to the Free Software
 *    Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 *    MA  02111-1307  USA
 *
 ************************************************************************/
package complex.standalonedocumentinfo;

public interface StandaloneDocumentInfoTest {
    boolean test();
}
/*************************************************************************
 *
 *  OpenOffice.org - a multi-platform office productivity suite
 *
 *  $RCSfile: StorageUnitTest.java,v $
 *
 *  $Revision: 1.10 $
 *
 *  last change: $Author: obo $ $Date: 2006/10/13 11:45:51 $
 *
 *  The Contents of this file are made available subject to
 *  the terms of GNU Lesser General Public License Version 2.1.
 *
 *
 *    GNU Lesser General Public License Version 2.1
 *    =============================================
 *    Copyright 2005 by Sun Microsystems, Inc.
 *    901 San Antonio Road, Palo Alto, CA 94303, USA
 *
 *    This library is free software; you can redistribute it and/or
 *    modify it under the terms of the GNU Lesser General Public
 *    License version 2.1, as published by the Free Software Foundation.
 *
 *    This library is distributed in the hope that it will be useful,
 *    but WITHOUT ANY WARRANTY; without even the implied warranty of
 *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 *    Lesser General Public License for more details.
 *
 *    You should have received a copy of the GNU Lesser General Public
 *    License along with this library; if not, write to the Free Software
 *    Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 *    MA  02111-1307  USA
 *
 ************************************************************************/
package complex.standalonedocumentinfo;

import complexlib.ComplexTestCase;
import com.sun.star.lang.XMultiServiceFactory;
import com.sun.star.uno.UnoRuntime;

/* Document here
*/

public class StandaloneDocumentInfoUnitTest extends ComplexTestCase {
    private XMultiServiceFactory m_xMSF = null;
    
    public String[] getTestMethodNames() {
        return new String[] {
            "ExecuteTest01"};
    }
    
    public String[] getTestObjectNames() {
        return new String[] {"StandaloneDocumentInfoUnitTest"};
    }
    
    public void before() {
        try {
            m_xMSF = (XMultiServiceFactory)param.getMSF();
        } catch(Exception e) {
            failed( "Failed to create service factory!" );
        }
        if( m_xMSF ==null ) {
            failed( "Failed to create service factory!" );
        }
    }
    
    public void after() {
        m_xMSF = null;
    }
    
    public void ExecuteTest01() {
        StandaloneDocumentInfoTest aTest = new Test01 (m_xMSF, log);
        assure( "Test01 failed!", aTest.test() );
    }
}


/*************************************************************************
 *
 *  OpenOffice.org - a multi-platform office productivity suite
 *
 *  $RCSfile: StorageUnitTest.java,v $
 *
 *  $Revision: 1.10 $
 *
 *  last change: $Author: obo $ $Date: 2006/10/13 11:45:51 $
 *
 *  The Contents of this file are made available subject to
 *  the terms of GNU Lesser General Public License Version 2.1.
 *
 *
 *    GNU Lesser General Public License Version 2.1
 *    =============================================
 *    Copyright 2005 by Sun Microsystems, Inc.
 *    901 San Antonio Road, Palo Alto, CA 94303, USA
 *
 *    This library is free software; you can redistribute it and/or
 *    modify it under the terms of the GNU Lesser General Public
 *    License version 2.1, as published by the Free Software Foundation.
 *
 *    This library is distributed in the hope that it will be useful,
 *    but WITHOUT ANY WARRANTY; without even the implied warranty of
 *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 *    Lesser General Public License for more details.
 *
 *    You should have received a copy of the GNU Lesser General Public
 *    License along with this library; if not, write to the Free Software
 *    Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 *    MA  02111-1307  USA
 *
 ************************************************************************/
package complex.standalonedocumentinfo;

import com.sun.star.beans.Property;
import com.sun.star.beans.XProperty;
import com.sun.star.beans.XPropertySetInfo;
import com.sun.star.io.IOException;
import com.sun.star.io.XInputStream;
import com.sun.star.io.XOutputStream;
import complexlib.ComplexTestCase;

import com.sun.star.lang.XMultiServiceFactory;
import com.sun.star.document.XStandaloneDocumentInfo;
import com.sun.star.io.XTempFile;
import com.sun.star.frame.XLoadable;
import com.sun.star.frame.XStorable;
import com.sun.star.beans.PropertyValue;
import com.sun.star.beans.XPropertySet;
import com.sun.star.uno.UnoRuntime;
import com.sun.star.uno.AnyConverter;
import com.sun.star.task.ErrorCodeIOException;
import java.util.Properties;

import java.util.Random;
import share.LogWriter;

public class Test01 implements StandaloneDocumentInfoTest {
    XMultiServiceFactory m_xMSF = null;
    TestHelper m_aTestHelper = null;
    
    public Test01 ( XMultiServiceFactory xMSF, LogWriter aLogWriter ) {
        m_xMSF = xMSF;
        m_aTestHelper = new TestHelper( aLogWriter, "Test01: " );
    }
    
    public boolean test() {
        try {
            final String sDocTitle [] = new String [] {
                "ODF_Doc", "OOo6_Doc", "old_binary_Doc" };
            final String sFilterName [] = new String [] {
                "writer8", "StarOffice XML (Writer)", "StarWriter 5.0" };
                    
            for (int i = 0; i < 3; ++i ) {
                m_aTestHelper.Message ( "==============================" );
                m_aTestHelper.Message ( sFilterName[i] );
                m_aTestHelper.Message ( "==============================" );
                //create a new temporary file 
                Object oTempFile = m_xMSF.createInstance ( "com.sun.star.io.TempFile" );
                XTempFile xTempFile = (XTempFile) UnoRuntime.queryInterface (
                    XTempFile.class, oTempFile );
                
                //create a text document and initiallize it
                Object oTextDocument = m_xMSF.createInstance ( "com.sun.star.text.TextDocument" );
                XLoadable xLoadable = (XLoadable) UnoRuntime.queryInterface ( 
                        XLoadable.class, oTextDocument );
                xLoadable.initNew();
                m_aTestHelper.Message ( "New document initialized." );
                
                //store the instance to the temporary file URL
                XStorable xStorable = (XStorable) UnoRuntime.queryInterface (
                        XStorable.class, oTextDocument );
                String sURL = AnyConverter.toString ( xTempFile.getUri () );
                PropertyValue aProps[] = new PropertyValue[2];
                aProps[0] = new PropertyValue();
                aProps[0].Name = "DocumentTitle";
                aProps[0].Value = sDocTitle[i];
                aProps[1] = new PropertyValue();
                aProps[1].Name = "FilterName";
                aProps[1].Value = sFilterName[i];
                m_aTestHelper.Message ( "Set title: " + 
                        sDocTitle[i] );
                xStorable.storeToURL ( sURL, aProps );
                m_aTestHelper.Message ( "Document stored." );
                
                //create StandaloneDocumentInfo object and load it from the file
                Object oStandaloneDocInfo = m_xMSF.createInstance ( 
                        "com.sun.star.document.StandaloneDocumentInfo" );
                XStandaloneDocumentInfo xStandaloneDocInfo = 
                        (XStandaloneDocumentInfo) UnoRuntime.queryInterface (
                        XStandaloneDocumentInfo.class, oStandaloneDocInfo );
                xStandaloneDocInfo.loadFromURL ( sURL );
                m_aTestHelper.Message ( "StandaloneDocumentInfo loaded." );
                
                //get the title from the object and check it
                XPropertySet xPropSet = 
                        (XPropertySet)UnoRuntime.queryInterface (
                        XPropertySet.class, oStandaloneDocInfo );
                String sTitle = xPropSet.getPropertyValue ( "Title" ).toString ();
                m_aTestHelper.Message ( "Get title: " + sTitle );
                if ( sTitle.compareTo ( sDocTitle[i] ) != 0 ) {
                    m_aTestHelper.Error ( "Title not match. Expected \"" 
                            + sDocTitle[i] +
                            "\"" );
                    return false;
                } else {
                    m_aTestHelper.Message ( "Title matched." );
                }
                
                //set a new title to the object
                sTitle += "_new";
                xPropSet.setPropertyValue ( "Title", sTitle );
                m_aTestHelper.Message ( "Set new title: " + sTitle );
                
                //store the object to the same file
                xStandaloneDocInfo.storeIntoURL ( sURL );
                m_aTestHelper.Message ( "Document info stored." );
                
                //create a new StandaloneDocumentInfo object and load it from the file
                Object oStandaloneDocInfo_ = m_xMSF.createInstance (
                        "com.sun.star.document.StandaloneDocumentInfo" );
                XStandaloneDocumentInfo xStandaloneDocInfo_ = 
                        (XStandaloneDocumentInfo)UnoRuntime.queryInterface (
                        XStandaloneDocumentInfo.class, oStandaloneDocInfo_ );
                xStandaloneDocInfo_.loadFromURL ( sURL );
                m_aTestHelper.Message ( "New StandaloneDocumentInfo loaded." );
                
                //get the title and check it
                XPropertySet xPropSet_ = (XPropertySet)UnoRuntime.queryInterface (
                        XPropertySet.class, oStandaloneDocInfo_ );
                String sTitle_ = xPropSet_.getPropertyValue ( "Title" ).toString ();
                m_aTestHelper.Message ( "Get new title: " + sTitle_ );
                if ( sTitle_.compareTo ( sTitle ) != 0 ) {
                    m_aTestHelper.Error ( "New title not matched. Expected: \"" + sTitle 
                            + "\"." );
                    return false;
                } else {
                    m_aTestHelper.Message ( "New title matched." );
                }
            }
        } catch ( Exception e ) {
            m_aTestHelper.Error( "Exception: " + e ); 
            return false;
        } 
        return true;
    }
}
/*************************************************************************
 *
 *  OpenOffice.org - a multi-platform office productivity suite
 *
 *  $RCSfile: StorageUnitTest.java,v $
 *
 *  $Revision: 1.10 $
 *
 *  last change: $Author: obo $ $Date: 2006/10/13 11:45:51 $
 *
 *  The Contents of this file are made available subject to
 *  the terms of GNU Lesser General Public License Version 2.1.
 *
 *
 *    GNU Lesser General Public License Version 2.1
 *    =============================================
 *    Copyright 2005 by Sun Microsystems, Inc.
 *    901 San Antonio Road, Palo Alto, CA 94303, USA
 *
 *    This library is free software; you can redistribute it and/or
 *    modify it under the terms of the GNU Lesser General Public
 *    License version 2.1, as published by the Free Software Foundation.
 *
 *    This library is distributed in the hope that it will be useful,
 *    but WITHOUT ANY WARRANTY; without even the implied warranty of
 *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 *    Lesser General Public License for more details.
 *
 *    You should have received a copy of the GNU Lesser General Public
 *    License along with this library; if not, write to the Free Software
 *    Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 *    MA  02111-1307  USA
 *
 ************************************************************************/
package complex.standalonedocumentinfo;

import share.LogWriter;

public class TestHelper {
    LogWriter m_aLogWriter;
    String m_sTestPrefix;
    
    /** Creates a new instance of TestHelper */
    public TestHelper ( LogWriter aLogWriter, String sTestPrefix ) {
        m_aLogWriter = aLogWriter;
        m_sTestPrefix = sTestPrefix;
    }
    
    public void Error ( String sError ) {
        m_aLogWriter.println ( m_sTestPrefix + "Error: " + sError );
    }
    
    public void Message ( String sMessage ) {
        m_aLogWriter.println ( m_sTestPrefix + sMessage );
    }
}

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to