WebLogic Integration


com.bea.eci.repository.ejb
Interface XMLRepository


public interface XMLRepository
extends javax.ejb.EJBObject

The remote methods for accessing and manipulating the XML Entity Repository using a statless session EJB. This version does not support repository object versioning - all methods deal with the latest version of objects in the repository.

Since:
WebLogic Process Integrator 2.0
Author:
Copyright © 2000, 2001 BEA Systems, Inc. All Rights Reserved.

Method Summary
 void addChildFolder(RepositoryFolderInfo child, RepositoryFolderInfo parent)
          Place an exiting folder inside another (existing) folder.
 void addEntityToFolder(XMLEntityInfo xei, RepositoryFolderInfo rfi)
          Place an existing entity in an existing folder.
 XMLEntityInfo createEntity(int type, java.lang.String name, java.lang.String desc, java.lang.String notes, java.lang.String content, RepositoryFolderInfo parent)
          Create a new XML entity in the repository, within an existing folder if desired.
 RepositoryFolderInfo createFolder(java.lang.String type, java.lang.String name, java.lang.String desc, java.lang.String notes, RepositoryFolderInfo parent)
          Creates a new folder in the repository.
 void deleteEntity(XMLEntityInfo xei)
          Completely remove an entity from the repository.
 void deleteFolder(RepositoryFolderInfo rfi)
          Delete a folder from the repository.
 java.util.List getAllEntities()
          Returns a list of all the entities in the repository.
 java.util.List getAllFolders()
          Returns a list of all the folders in the repository.
 java.util.List getChildDocs(RepositoryFolderInfo rfi)
          Obtains a list of entities that are children of a given folder.
 java.util.List getChildFolders(RepositoryFolderInfo rfi)
          Obtains a list of the child folders of a given folder.
 XMLEntityInfo getEntity(java.lang.String name)
          Retrieves an entity from the repository, including its content.
 XMLEntityInfo getEntity(java.lang.String name, int type)
          Retrieves an entity from the repository, including its content of the specified type.
 java.util.List getEnvVars()
          Provides the values of the environment variables used by the EJB for connections to the repository.
 RepositoryFolderInfo getFolderInfo(java.lang.String name)
          Retrieves the information about a repository folder identified by its name.
 RepositoryFolderInfo getFolderInfo(java.lang.String type, java.lang.String name)
          Retrieves the information about a repository folder of a given name and type.
 javax.swing.tree.DefaultMutableTreeNode getObjectFolderTree(javax.swing.tree.DefaultMutableTreeNode node)
          Builds a tree structure of all the folders in the repository.
 void ping()
          An empty method that allows clients to ensure that the EJB is active.
 void removeChildFolder(RepositoryFolderInfo child, RepositoryFolderInfo parent)
          Remove a reference between a child folder and its parent folder.
 void removeEntityFromFolder(XMLEntityInfo xei, RepositoryFolderInfo rfi)
          Remove an entity from a folder, but do not delete the entity.
 void renameEntity(java.lang.String curName, java.lang.String newName)
          Change the name of an entity.
 void renameFolder(java.lang.String curName, java.lang.String newName)
          Change the name of an folder.
 void updateEntity(XMLEntityInfo xei)
          Update an entity's description, notes and content fields.
 void updateFolder(RepositoryFolderInfo rfi)
          Update a folder's description and notes fields.
 
Methods inherited from interface javax.ejb.EJBObject
getEJBHome, getHandle, getPrimaryKey, isIdentical, remove
 

Method Detail

getChildFolders

public java.util.List getChildFolders(RepositoryFolderInfo rfi)
                               throws RepositoryException,
                                      java.rmi.RemoteException
Obtains a list of the child folders of a given folder. Currently only child folders of type ObjectFolder are returned in the list.

Parameters:
rfi - a RepositoryFolderInfo object representing the folder for which the children are being obtained (the parent). If null all top-level (without a parent) folders are retrieved.
Returns:
a List of RepositoryFolderInfo objects, one for each child folder, or an empty list if the folder doesn't contain any child folders.

getChildDocs

public java.util.List getChildDocs(RepositoryFolderInfo rfi)
                            throws RepositoryException,
                                   java.rmi.RemoteException
Obtains a list of entities that are children of a given folder.

Parameters:
rfi - a RepositoryFolderInfo object representing the folder for which the children are obtained - if null the entities not contained in any folder are retrieved.
Returns:
a List of XMLEntityInfo objects, one for each child object, or an empty list if the folder doesn't contain any children. The type field of each XMLEntityInfo object is set based on the type of the com.bea.repository.RepositoryVersionedObject's first retrieved content. The XMLEntityInfo objects do not contain the contents of the object, only the name, type, and meta-data associated with the entity.

removeChildFolder

public void removeChildFolder(RepositoryFolderInfo child,
                              RepositoryFolderInfo parent)
                       throws RepositoryException,
                              java.rmi.RemoteException
Remove a reference between a child folder and its parent folder. This does not delete the child folder from the repository - it only removes the the reference between the parent and child. The child folder becomes a top-level folder (parent-less) if there are no other folders refering to the child, or it remains a child of the other folders that refer to it.

Parameters:
child - the RepositoryFolderInfo object representing the child folder being dereferenced from the parent.
parent - the RepositoryFolderInfo object representing the parent folder from which the child is being dereferenced.

addChildFolder

public void addChildFolder(RepositoryFolderInfo child,
                           RepositoryFolderInfo parent)
                    throws RepositoryException,
                           java.rmi.RemoteException
Place an exiting folder inside another (existing) folder. This simply creates a reference from the parent to the child folder.

Parameters:
child - a RepositoryFolderInfo object representing the folder being placed in another folder.
parent - a RepositoryFolderInfo object representing the folder that the child is being placed into.

deleteFolder

public void deleteFolder(RepositoryFolderInfo rfi)
                  throws RepositoryException,
                         java.rmi.RemoteException
Delete a folder from the repository. The folder may not have any child folders, and any XML entities in the folder will become orphaned - they will remain defined in the repository and simply not be associated with the folder being deleted, i.e. they will appear as top-level entities if they are not children of any other folders or will simply remain chilren of any other folders they are in.

Parameters:
rfi - the RepositoryFolderInfo object representing the ObjectFolder that will be deleted.

createFolder

public RepositoryFolderInfo createFolder(java.lang.String type,
                                         java.lang.String name,
                                         java.lang.String desc,
                                         java.lang.String notes,
                                         RepositoryFolderInfo parent)
                                  throws RepositoryException,
                                         java.rmi.RemoteException
Creates a new folder in the repository. Optionally, the newly created folder is made a child folder of a specified folder.

Parameters:
name - a non-null String containing the name of the folder being created. The name must be unique within the repository for all ObjectFolders.
desc - a String containing a description of the folder being created. May be null.
notes - a String containing notes about the folder being created. May be null.
parent - a RepositoryFolderInfo object representing an existing object folder that the newly created folder will be a child of, or null to create the new folder as a top-level (parentless) folder.
Returns:
a RepositoryFolderInfo object representing the newly created folder.

updateFolder

public void updateFolder(RepositoryFolderInfo rfi)
                  throws RepositoryException,
                         java.rmi.RemoteException
Update a folder's description and notes fields.

Parameters:
rfi - a RepositoryFolderInfo object with the name and type fields identifying the folder to be updated, and the description and notes fields containing the new data. Note: The name and type fields must identify a folder existing in the repository.

removeEntityFromFolder

public void removeEntityFromFolder(XMLEntityInfo xei,
                                   RepositoryFolderInfo rfi)
                            throws RepositoryException,
                                   java.rmi.RemoteException
Remove an entity from a folder, but do not delete the entity. The entity's reference to the parent folder is removed causing the entity to no loger be a child of the specified folder - it will remain a child of any other folders it references as a parent folder or will become parent-less (top-level) if it has no other references to parent folders.

Parameters:
xei - an XMLEntityInfo object representing the entity to be removed from the specified folder.
rfi - a RepositoryFolderInfo object representing the folder from which the entity will be removed.

addEntityToFolder

public void addEntityToFolder(XMLEntityInfo xei,
                              RepositoryFolderInfo rfi)
                       throws RepositoryException,
                              java.rmi.RemoteException
Place an existing entity in an existing folder. This simply creates a reference between the folder and the entity.

Parameters:
xei - an XMLEntityInfo object representing the entity being placed in the folder.
rfi - a RepositoryFolderInfo object representing the folder into which the entity is being placed.

updateEntity

public void updateEntity(XMLEntityInfo xei)
                  throws RepositoryException,
                         java.rmi.RemoteException
Update an entity's description, notes and content fields. Note : the repository supports entities having multiple contents but this method only supports a single content type for the entity: that being the type obtained from the passed in object - it is not possible to change the entity's type using this method, if, for example, the entity is of type DTD, the content of type DTD will be updated regardless of other contents that may be associated with the entity.

Parameters:
xei - an XMLEntityInfo object that represents an existing entity in the repository - the name field must identify and existing entity and the type field specifies the entit's content that will be updated - the description, notes, and content fields contain the new values the entity will be updated with.

renameEntity

public void renameEntity(java.lang.String curName,
                         java.lang.String newName)
                  throws RepositoryException,
                         java.rmi.RemoteException
Change the name of an entity.

Parameters:
curName - a String containing the current name of the entity.
newName - a String containing the entity's new name.

renameFolder

public void renameFolder(java.lang.String curName,
                         java.lang.String newName)
                  throws RepositoryException,
                         java.rmi.RemoteException
Change the name of an folder.

Parameters:
curName - a String containing the current name of the folder.
newName - a String containing the folder's new name.

deleteEntity

public void deleteEntity(XMLEntityInfo xei)
                  throws RepositoryException,
                         java.rmi.RemoteException
Completely remove an entity from the repository. This will remove the entity from all folders it is a child of and delete the entity from the repository.

Parameters:
xei - an XMLEntityInfo object representing the entity that will be removed from the repository. The only required field is name, which uniquely identifies the entity.

createEntity

public XMLEntityInfo createEntity(int type,
                                  java.lang.String name,
                                  java.lang.String desc,
                                  java.lang.String notes,
                                  java.lang.String content,
                                  RepositoryFolderInfo parent)
                           throws RepositoryException,
                                  java.rmi.RemoteException
Create a new XML entity in the repository, within an existing folder if desired. The entity created will have a sinlge associated content, if content is provided.

Parameters:
type - an int containing the type of the entity being created.
name - a String containing the name of the entity being created.
desc - a String containing a description of the entity being created.
notes - a String containing notes about the entity being created.
parent - a RepositoryFolderInfo object representing the folder in which the entity should be placed. May be null if the entity is simple being created without a parent folder.
Returns:
an XMLEntityInfo object representing the entity that was created, or null if the entity was not found. Note: the type of this object will be forced to Types.NO_CONTENT if the content field is null.

getEntity

public XMLEntityInfo getEntity(java.lang.String name)
                        throws RepositoryException,
                               java.rmi.RemoteException
Retrieves an entity from the repository, including its content. This method only supports entities having a single content associated with them - if the named entity has multiple contents only the first retrieved content type is returned.

Parameters:
name - a String containing the name of the TextDocument to retrieve.
Returns:
an XMLEntityInfo object representing the entity in the repository, complete with content, or null if the entity was not found.

getEntity

public XMLEntityInfo getEntity(java.lang.String name,
                               int type)
                        throws RepositoryException,
                               java.rmi.RemoteException
Retrieves an entity from the repository, including its content of the specified type. This method supports entities having multple contents.

Parameters:
name - a String contianing the name of the TextDocument to retrieve.
type - a int containing the content type, as defined in com.bea.eci.repository.helper.Types, to retrieve. Note : only the following content types are supported:
  • Types.DTD
  • Types.MFL
  • Types.TEXT
  • Types.XML
  • Types.XML_SCHEMA
  • Types.XSLT
  • Types.NO_CONTENT
  • Returns:
    an XMLEntityInfo object representing the entity in the repository identified by name and type, or null if the specified entity is not defined in the repository.

    getFolderInfo

    public RepositoryFolderInfo getFolderInfo(java.lang.String type,
                                              java.lang.String name)
                                       throws RepositoryException,
                                              java.rmi.RemoteException
    Retrieves the information about a repository folder of a given name and type.

    Parameters:
    type - a String containing the type of the repository folder. Value is one from com.bea.eci.repository.helper.Types. Note : Only folders of type com.bea.eci.repository.helper.Types.OBJECT_FOLDER are currently supported (com.bea.repository.ObjectFolders) - any other type will return null.
    name - a String containing the name of the folder for which information is being retrieved.
    Returns:
    a RepositoryFolderInfo object representing the fodler identified by name and type, or null if the identified folder is not defined in the repository.

    getFolderInfo

    public RepositoryFolderInfo getFolderInfo(java.lang.String name)
                                       throws RepositoryException,
                                              java.rmi.RemoteException
    Retrieves the information about a repository folder identified by its name.

    Parameters:
    name - a String containing the name of the folder for which information is being retrieved.
    Returns:
    a RepositoryFolderInfo object representing an ObjectFolder identified by name, or null if the folder is not defined in the repository.

    getObjectFolderTree

    public javax.swing.tree.DefaultMutableTreeNode getObjectFolderTree(javax.swing.tree.DefaultMutableTreeNode node)
                                                                throws RepositoryException,
                                                                       java.rmi.RemoteException
    Builds a tree structure of all the folders in the repository. The children of the supplied node are all the top-level (without parent) folders repository. Each of the child nodes is recursively populated with nodes representing thier respective children. The children nodes are all DefaultMutableTreeNode objects with the user object a RepositoryFolderInfo object.

    Parameters:
    top - a DefaultMutableTreeNode that represents the root of the repository.
    Returns:
    a new DefaultMutableTreeNode representing the top with all the children (folder) nodes.

    getAllEntities

    public java.util.List getAllEntities()
                                  throws RepositoryException,
                                         java.rmi.RemoteException
    Returns a list of all the entities in the repository.

    Returns:
    a List of XMLEntityInfo objects one for each TextDocument defined in the repository - if no entities are defined an empty list is returned. The XMLEntityInfo objects do not contain the content, only the name, type, and meta-data are provided.

    getAllFolders

    public java.util.List getAllFolders()
                                 throws RepositoryException,
                                        java.rmi.RemoteException
    Returns a list of all the folders in the repository.

    Returns:
    a List of RepositoryFolderInfo objects one for each ObjectFolder defined in the repository. If no folders are defined an empty list is returned.

    getEnvVars

    public java.util.List getEnvVars()
                              throws java.rmi.RemoteException
    Provides the values of the environment variables used by the EJB for connections to the repository.

    Returns:
    a List containing the values of the environment variables used by the EJB to connect to the repository. The variables' values will appear in the following order:
  • connection
  • datasource/name
  • jdbc/className
  • jdbc/url
  • jdbc/server

  • ping

    public void ping()
              throws java.rmi.RemoteException
    An empty method that allows clients to ensure that the EJB is active.


    WebLogic Integration

    WebLogic Integration (WLI)