Package

Source Code of StorageFunctionality

/**************************************************************
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements.  See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership.  The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License.  You may obtain a copy of the License at
*
*   http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied.  See the License for the
* specific language governing permissions and limitations
* under the License.
*
*************************************************************/

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;
    }
   
}
TOP

Related Classes of StorageFunctionality

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.