General tasks

Using the SDK API document management module

The following code indicates how to use the document management API. The method initialize() is used to position a certain number of parameters.

The document management module has the particularity to use a COM layer that requires the call of methods Ole32.CoInitialize() and Ole32.CoUninitialize(). The class DocumentManagementHelper simplifies the writing and hides the calls to the COM initialization methods.

public void general_useModule() 
{ 
        try 
        { 
                // retrieving an object from the document management module DocumentManagementHelper module = DocumentManagementHelper.getInstance(); 
                try 
                { 
                        // positioning the connection parameters 
                        module.AddParameter( module.getPROTOCOL(), "http://" ); 
                        module.AddParameter( module.getHOST(), "host-name" ); 
                        module.AddParameter( module.getPORT(), "80" ); 
                        module.AddParameter( module.getAPPLICATION(), "vdocopenweb" ); 
                        module.AddParameter( module.getDATABASE(), "database-name" ); 
                        module.AddParameter( module.getCHECK_BUNDLE_TIMEOUT(), "250" ); 
                        // initialization of the module module.Initialize(); 
                        // do something here...
                } 
                catch( Exception e ) 
                {} 
                finally 
                { 
                        module.UnInitialize(); 
                } 
        } 
        catch( Exception e ) 
        { 
                try 
                        { 
                        if ( module.getHasLastError() ) System.out.println( module.getLastError().getmessage() ); 
                        } 
                        catch( COMException error ) 
                        { 
                                error.printStackTrace(); 
                        } 
                } 
}

Recovering a context to use the SDK API

The context notion enables to run processing with a user account. Several cases are displayed. Their using depends on the execution context and the available objects.

public void general_getContext( IDocumentManagementModule module ) throws Exception 
{ 
        // 1st case : retrieving the context from a user object 
        IUser user = module.GetUserByLogin( "sysadmin" ); 
        IContext userContext = module.GetContext( user ); 
        // 2nd case: retrieving the context by login 
        IContext loginContext = module.GetContextByLogin( "sysadmin" ); 
        // 3rd case: retrieving the context by authentication 
        IContext authenticationContext = module.GetContextByAuthentication( "adm", "admin" ); 
}