com.openexchange.admin.rmi
Interface OXUtilInterface

All Superinterfaces:
Remote

public interface OXUtilInterface
extends Remote

This class defines the Open-Xchange API Version 2 for creating and manipulating needed components of the system.

Example for initializing the system:

 // Register database,server and a filestore.
 final OXUtilInterface iface = (OXUtilInterface)Naming.lookup("rmi:///oxhost/"+OXUtilInterface.RMI_NAME);
 
 final Credentials auth = new Credentials();
 auth.setLogin("masteradmin");
 auth.setPassword("secret");
 
 Database client_db = new Database();        
 client_db.setName(name);
 client_db.setDriver("com.mysql.jdbc.Driver");
 client_db.setLogin("openexchange");
 client_db.setMaster(true);
 client_db.setMaxUnits(1000);
 client_db.setPassword("secret");
 client_db.setPoolHardLimit(20);
 client_db.setPoolInitial(5);
 client_db.setPoolMax(100);
 client_db.setUrl("jdbc:mysql://localhost/?useUnicode=true&characterEncoding=UTF-8&
 autoReconnect=true&useUnicode=true&useServerPrepStmts=false&useTimezone=true&
 serverTimezone=UTC&connectTimeout=15000&socketTimeout=15000");
 client_db.setClusterWeight(100);
 
 // Register database
 iface.registerDatabase(client_db,auth);
 
 // Register server
 Server srv = new Server();
 srv.setName("local");
 iface.registerServer(srv,auth);
  
 // Register filestore
 Filestore client_st = new Filestore();
 client_st.setUrl("file:/var/ox/filestore");
 client_st.setSize(100L);        
 client_st.setMaxContexts(100);
 iface.registerFilestore(srv,auth);
 
The system is now ready to be filled with 100 contexts.
See OXContextInterface for an example of creating a context.

Author:
Manuel Kraft, Carsten Hoeger, Dennis Sieben

Field Summary
static int DEFAULT_DB_WEIGHT
           
static String DEFAULT_DRIVER
           
static String DEFAULT_HOSTNAME
           
static int DEFAULT_MAXUNITS
           
static boolean DEFAULT_POOL_HARD_LIMIT
           
static int DEFAULT_POOL_INITIAL
           
static int DEFAULT_POOL_MAX
           
static int DEFAULT_STORE_MAX_CTX
           
static long DEFAULT_STORE_SIZE
           
static String DEFAULT_USER
           
static String RMI_NAME
          RMI name to be used in the naming lookup.
 
Method Summary
 void changeDatabase(Database db, Credentials auth)
          Change parameters of a database registered in system
 void changeFilestore(Filestore fstore, Credentials auth)
          Change filestore.
 MaintenanceReason createMaintenanceReason(MaintenanceReason reason, Credentials auth)
          Add new maintenance reason.
 void deleteMaintenanceReason(MaintenanceReason[] reasons, Credentials auth)
          Deletes maintenance reason text.
 Database[] listAllDatabase(Credentials auth)
          Convenience method for listing all databases registered in the system.
 Filestore[] listAllFilestore(Credentials auth)
          Convenience method for listing all filestores.
 MaintenanceReason[] listAllMaintenanceReason(Credentials auth)
          Get all maintenance reasons.
 Server[] listAllServer(Credentials auth)
          Convenience method for listing all servers
 Database[] listDatabase(String search_pattern, Credentials auth)
          Search for databases registered in the system.
 Filestore[] listFilestore(String search_pattern, Credentials auth)
          List filestores.
 MaintenanceReason[] listMaintenanceReason(String search_pattern, Credentials auth)
          Get all maintenance reasons which match the specified search_pattern
 Server[] listServer(String search_pattern, Credentials auth)
          Search for server
 Database registerDatabase(Database db, Credentials auth)
          Register a new database to the system.
 Filestore registerFilestore(Filestore fstore, Credentials auth)
          Register new filestore to the system.
 Server registerServer(Server srv, Credentials auth)
          Register an OX Server in the system.
 void unregisterDatabase(Database dbhandle, Credentials auth)
          Unregister database identified by its ID from configdb.
 void unregisterFilestore(Filestore store, Credentials auth)
          Unregister filestore from system identified by its ID
 void unregisterServer(Server serv, Credentials auth)
          Delete an OX server from the system.
 

Field Detail

DEFAULT_DB_WEIGHT

static final int DEFAULT_DB_WEIGHT
See Also:
Constant Field Values

DEFAULT_DRIVER

static final String DEFAULT_DRIVER
See Also:
Constant Field Values

DEFAULT_MAXUNITS

static final int DEFAULT_MAXUNITS
See Also:
Constant Field Values

DEFAULT_POOL_HARD_LIMIT

static final boolean DEFAULT_POOL_HARD_LIMIT
See Also:
Constant Field Values

DEFAULT_POOL_INITIAL

static final int DEFAULT_POOL_INITIAL
See Also:
Constant Field Values

DEFAULT_POOL_MAX

static final int DEFAULT_POOL_MAX
See Also:
Constant Field Values

DEFAULT_USER

static final String DEFAULT_USER
See Also:
Constant Field Values

DEFAULT_HOSTNAME

static final String DEFAULT_HOSTNAME
See Also:
Constant Field Values

DEFAULT_STORE_SIZE

static final long DEFAULT_STORE_SIZE
See Also:
Constant Field Values

DEFAULT_STORE_MAX_CTX

static final int DEFAULT_STORE_MAX_CTX
See Also:
Constant Field Values

RMI_NAME

static final String RMI_NAME
RMI name to be used in the naming lookup.

See Also:
Constant Field Values
Method Detail

createMaintenanceReason

MaintenanceReason createMaintenanceReason(MaintenanceReason reason,
                                          Credentials auth)
                                          throws RemoteException,
                                                 StorageException,
                                                 InvalidCredentialsException,
                                                 InvalidDataException
Add new maintenance reason.

Parameters:
reason - MaintenanceReason.
auth - Credentials for authenticating against server.
Returns:
int containing the new id of the added maintenance reason.
Throws:
StorageException - When an error in the subsystems occurred.
InvalidCredentialsException - When the supplied credentials were not correct or invalid.
InvalidDataException - If the data sent within the method contained invalid data.
RemoteException - General RMI Exception

deleteMaintenanceReason

void deleteMaintenanceReason(MaintenanceReason[] reasons,
                             Credentials auth)
                             throws RemoteException,
                                    StorageException,
                                    InvalidCredentialsException,
                                    InvalidDataException
Deletes maintenance reason text.

Parameters:
reasons - Reasons which should be deleted!Currently ID must be set in each object!
auth - Credentials for authenticating against server.
Throws:
StorageException - When an error in the subsystems occurred.
InvalidCredentialsException - When the supplied credentials were not correct or invalid.
InvalidDataException - If the data sent within the method contained invalid data.
RemoteException - General RMI Exception

listMaintenanceReason

MaintenanceReason[] listMaintenanceReason(String search_pattern,
                                          Credentials auth)
                                          throws RemoteException,
                                                 StorageException,
                                                 InvalidCredentialsException,
                                                 InvalidDataException
Get all maintenance reasons which match the specified search_pattern

Parameters:
search_pattern - A search pattern to list only those reason which match that pattern
auth - Credentials for authenticating against server.
Returns:
MaintenanceReason[] containing MaintenanceReason objects.
Throws:
StorageException - When an error in the subsystems occurred.
InvalidCredentialsException - When the supplied credentials were not correct or invalid.
RemoteException - General RMI Exception
InvalidDataException

listAllMaintenanceReason

MaintenanceReason[] listAllMaintenanceReason(Credentials auth)
                                             throws RemoteException,
                                                    StorageException,
                                                    InvalidCredentialsException,
                                                    InvalidDataException
Get all maintenance reasons. Same as calling listMaintenanceReasons with a search_pattern "*"

Parameters:
auth - Credentials for authenticating against server.
Returns:
MaintenanceReason[] containing MaintenanceReason objects.
Throws:
StorageException - When an error in the subsystems occurred.
InvalidCredentialsException - When the supplied credentials were not correct or invalid.
RemoteException - General RMI Exception
InvalidDataException

registerServer

Server registerServer(Server srv,
                      Credentials auth)
                      throws RemoteException,
                             StorageException,
                             InvalidCredentialsException,
                             InvalidDataException
Register an OX Server in the system.

Parameters:
srv - Server object containing the server name
auth - Credentials for authenticating against server.
Returns:
Contains the new generated server id.
Throws:
StorageException - When an error in the subsystems occurred.
InvalidCredentialsException - When the supplied credentials were not correct or invalid.
InvalidDataException - If the data sent within the method contained invalid data.
RemoteException - General RMI Exception

unregisterServer

void unregisterServer(Server serv,
                      Credentials auth)
                      throws RemoteException,
                             StorageException,
                             InvalidCredentialsException,
                             InvalidDataException
Delete an OX server from the system.

Parameters:
auth - Credentials for authenticating against server.
serv - Server with id set.
Throws:
StorageException - When an error in the subsystems occurred.
InvalidCredentialsException - When the supplied credentials were not correct or invalid.
InvalidDataException - If the data sent within the method contained invalid data.
RemoteException - General RMI Exception

registerDatabase

Database registerDatabase(Database db,
                          Credentials auth)
                          throws RemoteException,
                                 StorageException,
                                 InvalidCredentialsException,
                                 InvalidDataException
Register a new database to the system. HINT: Use unregisterDatabase to remove/unregister. DONT use deleteDatabase, cause this method performs a real "drop" for its specified Database!

 Database client_db = new Database();
 client_db.setDisplayname("mydb");
 client_db.setDriver("com.mysql.jdbc.Driver");
 client_db.setLogin("openexchange");
 client_db.setMaster(true);
 client_db.setMaxUnits(1000);
 client_db.setPassword("xxx");
 client_db.setPoolHardLimit(20);
 client_db.setPoolInitial(2);
 client_db.setPoolMax(100);
 client_db.setUrl("jdbc:mysql://localhost/?useUnicode=true&characterEncoding=UTF-8&" + "autoReconnect=true&useUnicode=true&useServerPrepStmts=false&useTimezone=true&" + "serverTimezone=UTC&connectTimeout=15000&socketTimeout=15000");
 

Parameters:
db - The database to register
auth - Credentials for authenticating against server.
Returns:
Contains the new database id.
Throws:
StorageException - When an error in the subsystems occurred.
InvalidCredentialsException - When the supplied credentials were not correct or invalid.
InvalidDataException - If the data sent within the method contained invalid data.
RemoteException - General RMI Exception

changeDatabase

void changeDatabase(Database db,
                    Credentials auth)
                    throws RemoteException,
                           StorageException,
                           InvalidCredentialsException,
                           InvalidDataException
Change parameters of a database registered in system

     Database client_db = ...load Database from server via
 
 searchForDatabase
 
  to make sure that 
     the Object contains the correct Database id.
     
     client_db.setDisplayname(client_db.getDisplayname()+"changed");
     client_db.setDriver(client_db.getDriver()+"changed");
     client_db.setLogin(client_db.getLogin()+"changed");        
     client_db.setMaxUnits(2000);
     client_db.setPassword(client_db.getPassword()+"changed");
     client_db.setPoolHardLimit(40);
     client_db.setPoolInitial(4);
     client_db.setPoolMax(200);
     client_db.setUrl(client_db.getUrl()+"changed");
     ....change Database 
 

Parameters:
db - Database containing the information of the database to edit.
auth - Credentials for authenticating against server.
Throws:
StorageException - When an error in the subsystems occurred.
InvalidCredentialsException - When the supplied credentials were not correct or invalid.
InvalidDataException - If the data sent within the method contained invalid data.
RemoteException - General RMI Exception

unregisterDatabase

void unregisterDatabase(Database dbhandle,
                        Credentials auth)
                        throws RemoteException,
                               StorageException,
                               InvalidCredentialsException,
                               InvalidDataException
Unregister database identified by its ID from configdb.

Parameters:
database - Database with id set.
auth - Credentials for authenticating against server.
Throws:
StorageException - When an error in the subsystems occurred.
InvalidCredentialsException - When the supplied credentials were not correct or invalid.
InvalidDataException - If the data sent within the method contained invalid data.
RemoteException - General RMI Exception

listDatabase

Database[] listDatabase(String search_pattern,
                        Credentials auth)
                        throws RemoteException,
                               StorageException,
                               InvalidCredentialsException,
                               InvalidDataException
Search for databases registered in the system.

Parameters:
search_pattern - Search pattern e.g "*" "*my*".
auth - Credentials for authenticating against server.
Returns:
Containing the databases found by the search.
Throws:
StorageException - When an error in the subsystems occurred.
InvalidCredentialsException - When the supplied credentials were not correct or invalid.
InvalidDataException - If the data sent within the method contained invalid data.
RemoteException - General RMI Exception

listAllDatabase

Database[] listAllDatabase(Credentials auth)
                           throws RemoteException,
                                  StorageException,
                                  InvalidCredentialsException,
                                  InvalidDataException
Convenience method for listing all databases registered in the system.

Parameters:
auth - Credentials for authenticating against server.
Returns:
Containing the databases found by the search.
Throws:
StorageException - When an error in the subsystems occurred.
InvalidCredentialsException - When the supplied credentials were not correct or invalid.
InvalidDataException - If the data sent within the method contained invalid data.
RemoteException - General RMI Exception

listServer

Server[] listServer(String search_pattern,
                    Credentials auth)
                    throws RemoteException,
                           StorageException,
                           InvalidCredentialsException,
                           InvalidDataException
Search for server

Parameters:
search_pattern - Search pattern e.g "*" "*my*".
auth - Credentials for authenticating against server.
Returns:
Containing Server Object found by the search.
Throws:
StorageException - When an error in the subsystems occurred.
InvalidCredentialsException - When the supplied credentials were not correct or invalid.
InvalidDataException - If the data sent within the method contained invalid data.
RemoteException - General RMI Exception

listAllServer

Server[] listAllServer(Credentials auth)
                       throws RemoteException,
                              StorageException,
                              InvalidCredentialsException,
                              InvalidDataException
Convenience method for listing all servers

Parameters:
auth - Credentials for authenticating against server.
Returns:
Containing Server Object found by the search.
Throws:
StorageException - When an error in the subsystems occurred.
InvalidCredentialsException - When the supplied credentials were not correct or invalid.
InvalidDataException - If the data sent within the method contained invalid data.
RemoteException - General RMI Exception

registerFilestore

Filestore registerFilestore(Filestore fstore,
                            Credentials auth)
                            throws RemoteException,
                                   StorageException,
                                   InvalidCredentialsException,
                                   InvalidDataException
Register new filestore to the system.

Parameters:
fstore - Filestore to register with the store data.
auth - Credentials for authenticating against server.
Returns:
Contains the new filestore id.
Throws:
StorageException - When an error in the subsystems occurred.
InvalidCredentialsException - When the supplied credentials were not correct or invalid.
InvalidDataException - If the data sent within the method contained invalid data.
RemoteException - General RMI Exception

changeFilestore

void changeFilestore(Filestore fstore,
                     Credentials auth)
                     throws RemoteException,
                            StorageException,
                            InvalidCredentialsException,
                            InvalidDataException
Change filestore.

Parameters:
fstore - Contains store to change.
auth - Credentials for authenticating against server.
Throws:
StorageException - When an error in the subsystems occurred.
InvalidCredentialsException - When the supplied credentials were not correct or invalid.
InvalidDataException - If the data sent within the method contained invalid data.
RemoteException - General RMI Exception

listFilestore

Filestore[] listFilestore(String search_pattern,
                          Credentials auth)
                          throws RemoteException,
                                 StorageException,
                                 InvalidCredentialsException,
                                 InvalidDataException
List filestores.

Parameters:
search_pattern - Search pattern e.g "*" "*file://%*"
auth - Credentials for authenticating against server.
Returns:
Containing result objects.
Throws:
StorageException - When an error in the subsystems occurred.
InvalidCredentialsException - When the supplied credentials were not correct or invalid.
InvalidDataException - If the data sent within the method contained invalid data.
RemoteException - General RMI Exception

listAllFilestore

Filestore[] listAllFilestore(Credentials auth)
                             throws RemoteException,
                                    StorageException,
                                    InvalidCredentialsException,
                                    InvalidDataException
Convenience method for listing all filestores.

Parameters:
auth - Credentials for authenticating against server.
Returns:
Containing result objects.
Throws:
StorageException - When an error in the subsystems occurred.
InvalidCredentialsException - When the supplied credentials were not correct or invalid.
InvalidDataException - If the data sent within the method contained invalid data.
RemoteException - General RMI Exception

unregisterFilestore

void unregisterFilestore(Filestore store,
                         Credentials auth)
                         throws RemoteException,
                                StorageException,
                                InvalidCredentialsException,
                                InvalidDataException
Unregister filestore from system identified by its ID

Parameters:
store - Filestore to unregister with id set.
auth - Credentials for authenticating against server.
Throws:
StorageException - When an error in the subsystems occurred.
InvalidCredentialsException - When the supplied credentials were not correct or invalid.
InvalidDataException - If the data sent within the method contained invalid data.
RemoteException - General RMI Exception