From 8d027816659b97a95a7bfc82605768f644e6e872 Mon Sep 17 00:00:00 2001 From: Kurt Zenker Date: Thu, 11 Sep 2003 09:35:28 +0000 Subject: INTEGRATION: CWS mav05 (1.1.2); FILE ADDED 2003/07/22 15:10:32 mav 1.1.2.1: #i15929# new storage api testing --- .../java/Storage/StorageFunctionality.java | 147 +++++++++++++++++++++ 1 file changed, 147 insertions(+) create mode 100644 odk/examples/java/Storage/StorageFunctionality.java (limited to 'odk/examples/java/Storage') diff --git a/odk/examples/java/Storage/StorageFunctionality.java b/odk/examples/java/Storage/StorageFunctionality.java new file mode 100644 index 000000000000..0532259821b9 --- /dev/null +++ b/odk/examples/java/Storage/StorageFunctionality.java @@ -0,0 +1,147 @@ +import com.sun.star.comp.servicemanager.ServiceManager; + +import com.sun.star.lang.XMultiServiceFactory; +import com.sun.star.lang.XMultiComponentFactory; +import com.sun.star.connection.XConnector; +import com.sun.star.connection.XConnection; + +import com.sun.star.bridge.XUnoUrlResolver; +import com.sun.star.uno.UnoRuntime; +import com.sun.star.uno.XInterface; +import com.sun.star.uno.XNamingService; +import com.sun.star.uno.XComponentContext; + +import com.sun.star.container.*; +import com.sun.star.beans.*; +import com.sun.star.lang.*; + +import storagetesting.*; + +public class StorageFunctionality { + + public static void main( String args[] ) + { + // connect to the office + String sConnectionString = "uno:socket,host=localhost,port=8100;urp;StarOffice.NamingService"; + + // It is possible to use a different connection string, passed as argument + if ( args.length == 1 ) { + sConnectionString = args[0]; + } + + XMultiServiceFactory xMSF = null; + + // create connection(s) and get multiservicefactory + try { + xMSF = connect( sConnectionString ); + + if ( xMSF == null ) + { + System.out.println( "Error: Couldn't get MSF!" ); + return; + } + } catch( Exception e ) { + System.out.println( "Error: Couldn't get MSF, exception: " + e ); + return; + } + + XSingleServiceFactory xStorageFactory = null; + try + { + Object oStorageFactory = xMSF.createInstance( "com.sun.star.embed.StorageFactory" ); + xStorageFactory = (XSingleServiceFactory)UnoRuntime.queryInterface( XSingleServiceFactory.class, + oStorageFactory ); + + if ( xStorageFactory == null ) + { + System.out.println( "Error: Can not get storage factory!" ); + return; + } + } + catch ( Exception e ) + { + System.out.println( "Error: Can't get storage factory, exception: " + e + "!" ); + return; + } + + boolean bTestsPassed = true; + + final int nNumTests = 9; + StorageTest pTests[] = new StorageTest[nNumTests]; + pTests[0] = (StorageTest) new Test01( xMSF, xStorageFactory ); + pTests[1] = (StorageTest) new Test02( xMSF, xStorageFactory ); + pTests[2] = (StorageTest) new Test03( xMSF, xStorageFactory ); + pTests[3] = (StorageTest) new Test04( xMSF, xStorageFactory ); + pTests[4] = (StorageTest) new Test05( xMSF, xStorageFactory ); + pTests[5] = (StorageTest) new Test06( xMSF, xStorageFactory ); + pTests[6] = (StorageTest) new Test07( xMSF, xStorageFactory ); + pTests[7] = (StorageTest) new Test08( xMSF, xStorageFactory ); + pTests[8] = (StorageTest) new Test09( xMSF, xStorageFactory ); + + System.out.println( "\nstart testing\n" ); + + for ( int nInd = 0; nInd < nNumTests; nInd++ ) + { + String sTestName = "Test" + ( ( nInd < 9 ) ? "0" : "" ) + ( nInd + 1 ); + + System.out.println( "======= Storage test " + sTestName + " started!" ); + if ( pTests[nInd].test() ) + System.out.println( "======= Storage test " + sTestName + " passed!" ); + else + { + System.out.println( "======= Storage test " + sTestName + " failed!" ); + bTestsPassed = false; + } + } + + if ( bTestsPassed ) + System.out.println( "\ntesting passed" ); + else + System.out.println( "\ntesting failed" ); + + System.out.println( "done" ); + + System.exit( 0 ); + } + + + public static XMultiServiceFactory connect( String sConnectStr ) + throws com.sun.star.uno.Exception, + com.sun.star.uno.RuntimeException, + Exception + { + // Get component context + XComponentContext xComponentContext = + com.sun.star.comp.helper.Bootstrap.createInitialComponentContext( + null ); + + // initial serviceManager + XMultiComponentFactory xLocalServiceManager = + xComponentContext.getServiceManager(); + + // create a connector, so that it can contact the office + Object oUrlResolver = xLocalServiceManager.createInstanceWithContext( + "com.sun.star.bridge.UnoUrlResolver", xComponentContext ); + XUnoUrlResolver xUrlResolver = (XUnoUrlResolver)UnoRuntime.queryInterface( + XUnoUrlResolver.class, oUrlResolver ); + + Object oInitialObject = xUrlResolver.resolve( sConnectStr ); + XNamingService xName = (XNamingService)UnoRuntime.queryInterface( + XNamingService.class, oInitialObject ); + + XMultiServiceFactory xMSF = null; + if( xName != null ) { + System.err.println( "got the remote naming service !" ); + Object oMSF = xName.getRegisteredObject("StarOffice.ServiceManager" ); + + xMSF = (XMultiServiceFactory) + UnoRuntime.queryInterface( XMultiServiceFactory.class, oMSF ); + } + else + System.out.println( "Error: Can't get XNamingService interface from url resolver!" ); + + return xMSF; + } + +} + -- cgit