Classes | Public Types | Public Member Functions

xmlstore::Operational Interface Reference

import "archive_xmlstore_if.idl";

Inheritance diagram for xmlstore::Operational:
Inheritance graph
[legend]
Collaboration diagram for xmlstore::Operational:
Collaboration graph
[legend]

List of all members.

Classes

exception  AlreadyThere
exception  DirtyEntity
exception  IllegalEntity
exception  MalformedURI
exception  NotFound
exception  NotImplemented
exception  NotYetThere
struct  StatusStruct
exception  TimestampInconsistency

Public Types

typedef sequence< StringSeqstringSeqSeq
typedef sequence< StringSeqstringSeqSeq

Public Member Functions

boolean exists (in URI identifier) raises (ArchiveInternalError, NotFound, MalformedURI, DirtyEntity)
void store (in xmlentity::XmlEntityStruct entity) raises (ArchiveInternalError, IllegalEntity)
void update (in xmlentity::XmlEntityStruct entity) raises (ArchiveInternalError, IllegalEntity, TimestampInconsistency)
void forceUpdate (in xmlentity::XmlEntityStruct entity) raises (ArchiveInternalError, IllegalEntity, TimestampInconsistency)
void updateXML (in URI uid, in string schema, in wstring newChild) raises (ArchiveInternalError, IllegalEntity, MalformedURI, NotYetThere)
xmlentity::XmlEntityStruct retrieve (in URI identifier) raises (ArchiveInternalError, NotFound, MalformedURI, DirtyEntity)
StringSeq retrieveFragment (in URI identifier, in string id) raises (ArchiveInternalError, NotFound, MalformedURI, DirtyEntity)
xmlentity::XmlEntityStruct updateRetrieve (in URI identifier) raises (ArchiveInternalError, NotFound, MalformedURI, DirtyEntity)
xmlentity::XmlEntityStruct retrieveDirty (in URI identifier) raises (ArchiveInternalError, NotFound, MalformedURI)
void delete (in URI identifier) raises (ArchiveInternalError, NotFound, MalformedURI)
void undelete (in URI identifier) raises (ArchiveInternalError, NotFound, MalformedURI)
StatusStruct status (in URI identifier) raises (ArchiveInternalError, NotFound, MalformedURI)
Cursor query (in wstring query, in string schema) raises (ArchiveInternalError)
Cursor queryContent (in wstring query, in string schema) raises (ArchiveInternalError)
Cursor queryDirty (in wstring query, in string schema) raises (ArchiveInternalError)
URISeq queryUIDs (in wstring query, in string schema) raises (ArchiveInternalError)
URISeq queryUIDsDirty (in wstring query, in string schema) raises (ArchiveInternalError)
URISeq queryRecent (in string schemaname, in string timestamp) raises (ArchiveInternalError)
stringSeqSeq querySubmissions (in short fieldID, in string searchString, in boolean caseSensitive, in boolean containsQuery, in string PiCoIfilter) raises (ArchiveInternalError, NotImplemented)
void addElement (in URI uid, in string schema, in wstring xPath, in wstring xmlElement) raises (ArchiveInternalError, IllegalEntity, MalformedURI, NotYetThere)
void updateElement (in URI uid, in string schema, in wstring xPath, in wstring xmlElement) raises (ArchiveInternalError, IllegalEntity, MalformedURI, NotYetThere)
void deleteElement (in URI uid, in string schema, in wstring xPath) raises (ArchiveInternalError, IllegalEntity, MalformedURI, NotYetThere)
void close (in string password) raises (ArchiveInternalError)
boolean exists (in URI identifier) raises (ArchiveInternalError, NotFound, MalformedURI, DirtyEntity)
void store (in xmlentity::XmlEntityStruct entity) raises (ArchiveInternalError, IllegalEntity)
void update (in xmlentity::XmlEntityStruct entity) raises (ArchiveInternalError, IllegalEntity, TimestampInconsistency)
void forceUpdate (in xmlentity::XmlEntityStruct entity) raises (ArchiveInternalError, IllegalEntity, TimestampInconsistency)
void updateXML (in URI uid, in string schema, in wstring newChild) raises (ArchiveInternalError, IllegalEntity, MalformedURI, NotYetThere)
xmlentity::XmlEntityStruct retrieve (in URI identifier) raises (ArchiveInternalError, NotFound, MalformedURI, DirtyEntity)
StringSeq retrieveFragment (in URI identifier, in string id) raises (ArchiveInternalError, NotFound, MalformedURI, DirtyEntity)
xmlentity::XmlEntityStruct updateRetrieve (in URI identifier) raises (ArchiveInternalError, NotFound, MalformedURI, DirtyEntity)
xmlentity::XmlEntityStruct retrieveDirty (in URI identifier) raises (ArchiveInternalError, NotFound, MalformedURI)
void delete (in URI identifier) raises (ArchiveInternalError, NotFound, MalformedURI)
void undelete (in URI identifier) raises (ArchiveInternalError, NotFound, MalformedURI)
StatusStruct status (in URI identifier) raises (ArchiveInternalError, NotFound, MalformedURI)
Cursor query (in wstring query, in string schema) raises (ArchiveInternalError)
Cursor queryContent (in wstring query, in string schema) raises (ArchiveInternalError)
Cursor queryDirty (in wstring query, in string schema) raises (ArchiveInternalError)
URISeq queryUIDs (in wstring query, in string schema) raises (ArchiveInternalError)
URISeq queryUIDsDirty (in wstring query, in string schema) raises (ArchiveInternalError)
URISeq queryRecent (in string schemaname, in string timestamp) raises (ArchiveInternalError)
stringSeqSeq querySubmissions (in short fieldID, in string searchString, in boolean caseSensitive, in boolean containsQuery, in string PiCoIfilter) raises (ArchiveInternalError, NotImplemented)
void addElement (in URI uid, in string schema, in wstring xPath, in wstring xmlElement) raises (ArchiveInternalError, IllegalEntity, MalformedURI, NotYetThere)
void updateElement (in URI uid, in string schema, in wstring xPath, in wstring xmlElement) raises (ArchiveInternalError, IllegalEntity, MalformedURI, NotYetThere)
void deleteElement (in URI uid, in string schema, in wstring xPath) raises (ArchiveInternalError, IllegalEntity, MalformedURI, NotYetThere)
void close (in string password) raises (ArchiveInternalError)

Detailed Description

This interface contains the core functionality of the XMLstore: store, query and retrieve XML documents (entities). An entity is a set of XML documents: In this way, versioning is implemented. The normal behaviour is that only the latest document is referenced. Some methods also allow access to older versions. XML entities are also associated with meta data.


Member Typedef Documentation

custom method for OT submission queries, accessing relational data. Returns key data of projects matching the search string for the specified field (fieldID). As fieldId, use one of the following values OTfield_... explained below and defined in (alma.archive.database.interfaces.InternalIF).

caseSensitive defines whether query should be evaluated in case-sensitive mode. If containsQuery is true, every UID containing the searchString will be returned, otherwise only exact matches. In addition, if PiCoIfilter is not the empty string, it has to match exactly the userid field.

Projects where domain_entity_state ="Cancelled" will never be returned.

Each matching data set is one element in the returned Array and represented again as an array, whose elements you can access using the values OTout_... explained below and defined in (alma.archive.database.interfaces.InternalIF).

These constants have to be used for fieldId (OTfield...) and for accessing the returned arrays (OTout...): They are defined in the class alma.archive.database.interfaces.InternalIF, so for searching for project name for example, you should use alma.archive.database.interfaces.InternalIF.OTfield_projName If you have one element out (of type Array) of the returned array, and want to get the UID, you should use: out[alma.archive.database.interfaces.InternalIF.OTout_archive_uid]

The class alma.archive.database.interfaces.InternalIF containing these definitions is part of the file archive_database.jar and part of the basic ACS/Archive distribution.

public static final short OTfield_PI=0; # PI only public static final short OTfield_CoI_PI=1; # PI or CoI public static final short OTfield_projName=2; public static final short OTfield_projCode=3; public static final short OTfield_entityState=4;

public static final short OTout_archive_uid=0; public static final short OTout_title=1; public static final short OTout_prj_code=2; public static final short OTout_pi_userid=3; public static final short OTout_PRJ_TIME_OF_CREATION=4; public static final short OTout_datereceived=5; public static final short OTout_domain_entity_state=6;

custom method for OT submission queries, accessing relational data. Returns key data of projects matching the search string for the specified field (fieldID). As fieldId, use one of the following values OTfield_... explained below and defined in (alma.archive.database.interfaces.InternalIF).

caseSensitive defines whether query should be evaluated in case-sensitive mode. If containsQuery is true, every UID containing the searchString will be returned, otherwise only exact matches. In addition, if PiCoIfilter is not the empty string, it has to match exactly the userid field.

Projects where domain_entity_state ="Cancelled" will never be returned.

Each matching data set is one element in the returned Array and represented again as an array, whose elements you can access using the values OTout_... explained below and defined in (alma.archive.database.interfaces.InternalIF).

These constants have to be used for fieldId (OTfield...) and for accessing the returned arrays (OTout...): They are defined in the class alma.archive.database.interfaces.InternalIF, so for searching for project name for example, you should use alma.archive.database.interfaces.InternalIF.OTfield_projName If you have one element out (of type Array) of the returned array, and want to get the UID, you should use: out[alma.archive.database.interfaces.InternalIF.OTout_archive_uid]

The class alma.archive.database.interfaces.InternalIF containing these definitions is part of the file archive_database.jar and part of the basic ACS/Archive distribution.

public static final short OTfield_PI=0; # PI only public static final short OTfield_CoI_PI=1; # PI or CoI public static final short OTfield_projName=2; public static final short OTfield_projCode=3; public static final short OTfield_entityState=4;

public static final short OTout_archive_uid=0; public static final short OTout_title=1; public static final short OTout_prj_code=2; public static final short OTout_pi_userid=3; public static final short OTout_PRJ_TIME_OF_CREATION=4; public static final short OTout_datereceived=5; public static final short OTout_domain_entity_state=6;


Member Function Documentation

void xmlstore::Operational::addElement ( in URI  uid,
in string  schema,
in wstring  xPath,
in wstring  xmlElement 
) raises (ArchiveInternalError, IllegalEntity, MalformedURI, NotYetThere)

Adds xmlElement as last child of the (first) element found by xPath in document uid (belonging to schema schema)

void xmlstore::Operational::addElement ( in URI  uid,
in string  schema,
in wstring  xPath,
in wstring  xmlElement 
) raises (ArchiveInternalError, IllegalEntity, MalformedURI, NotYetThere)

Adds xmlElement as last child of the (first) element found by xPath in document uid (belonging to schema schema)

void xmlstore::Operational::close ( in string  password  )  raises (ArchiveInternalError)

Archive usage only. Shuts down Archive subsystem. Password must be provided to avoid abuse by other subsystems

void xmlstore::Operational::close ( in string  password  )  raises (ArchiveInternalError)

Archive usage only. Shuts down Archive subsystem. Password must be provided to avoid abuse by other subsystems

void xmlstore::Operational::delete ( in URI  identifier  )  raises (ArchiveInternalError, NotFound, MalformedURI)

Flags an entity as deleted. Deleted entities can not be updated, retrieved, or queried.

void xmlstore::Operational::delete ( in URI  identifier  )  raises (ArchiveInternalError, NotFound, MalformedURI)

Flags an entity as deleted. Deleted entities can not be updated, retrieved, or queried.

void xmlstore::Operational::deleteElement ( in URI  uid,
in string  schema,
in wstring  xPath 
) raises (ArchiveInternalError, IllegalEntity, MalformedURI, NotYetThere)

The (first) element pointed at by xPath in document uid (belonging to schema schema) will be deleted.

void xmlstore::Operational::deleteElement ( in URI  uid,
in string  schema,
in wstring  xPath 
) raises (ArchiveInternalError, IllegalEntity, MalformedURI, NotYetThere)

The (first) element pointed at by xPath in document uid (belonging to schema schema) will be deleted.

boolean xmlstore::Operational::exists ( in URI  identifier  )  raises (ArchiveInternalError, NotFound, MalformedURI, DirtyEntity)

Checks whether an entity with given UID already exists in Archive. Returns true, if this is the case.

boolean xmlstore::Operational::exists ( in URI  identifier  )  raises (ArchiveInternalError, NotFound, MalformedURI, DirtyEntity)

Checks whether an entity with given UID already exists in Archive. Returns true, if this is the case.

void xmlstore::Operational::forceUpdate ( in xmlentity::XmlEntityStruct  entity  )  raises (ArchiveInternalError, IllegalEntity, TimestampInconsistency)

Updates an existing entity. No timestamp consistency check is performed.

void xmlstore::Operational::forceUpdate ( in xmlentity::XmlEntityStruct  entity  )  raises (ArchiveInternalError, IllegalEntity, TimestampInconsistency)

Updates an existing entity. No timestamp consistency check is performed.

Cursor xmlstore::Operational::query ( in wstring  query,
in string  schema 
) raises (ArchiveInternalError)

Returns a cursor containing all entities (latest version) matching the XPath query passed over in the parameter query. Only entities associated with the schema name handed over in parameter schema are returned. Entities flagged as dirty are not returned.

Due to a problem in Oracle XPath handling, this method does not handle XPath expressions querying for content (eg. a/attributeb) as query *result* correctly. For these queries you'll have to use the dedicated queryContent method.

Cursor xmlstore::Operational::query ( in wstring  query,
in string  schema 
) raises (ArchiveInternalError)

Returns a cursor containing all entities (latest version) matching the XPath query passed over in the parameter query. Only entities associated with the schema name handed over in parameter schema are returned. Entities flagged as dirty are not returned.

Due to a problem in Oracle XPath handling, this method does not handle XPath expressions querying for content (eg. a/attributeb) as query *result* correctly. For these queries you'll have to use the dedicated queryContent method.

Cursor xmlstore::Operational::queryContent ( in wstring  query,
in string  schema 
) raises (ArchiveInternalError)

Same as query, but is able to handle content queries (eg. a/b/text() ) correctly. Do not use this method for non-content queries (eg. a[]/c ).

Cursor xmlstore::Operational::queryContent ( in wstring  query,
in string  schema 
) raises (ArchiveInternalError)

Same as query, but is able to handle content queries (eg. a/b/text() ) correctly. Do not use this method for non-content queries (eg. a[]/c ).

Cursor xmlstore::Operational::queryDirty ( in wstring  query,
in string  schema 
) raises (ArchiveInternalError)

Same as query, but entities flagged as dirty are returned, too.

Cursor xmlstore::Operational::queryDirty ( in wstring  query,
in string  schema 
) raises (ArchiveInternalError)

Same as query, but entities flagged as dirty are returned, too.

URISeq xmlstore::Operational::queryRecent ( in string  schemaname,
in string  timestamp 
) raises (ArchiveInternalError)

Returns UIDs of all documents belonging to specified schema which are newer (latest version) then timestamp. Entities flagged as dirty are not returned.

URISeq xmlstore::Operational::queryRecent ( in string  schemaname,
in string  timestamp 
) raises (ArchiveInternalError)

Returns UIDs of all documents belonging to specified schema which are newer (latest version) then timestamp. Entities flagged as dirty are not returned.

stringSeqSeq xmlstore::Operational::querySubmissions ( in short  fieldID,
in string  searchString,
in boolean  caseSensitive,
in boolean  containsQuery,
in string  PiCoIfilter 
) raises (ArchiveInternalError, NotImplemented)
stringSeqSeq xmlstore::Operational::querySubmissions ( in short  fieldID,
in string  searchString,
in boolean  caseSensitive,
in boolean  containsQuery,
in string  PiCoIfilter 
) raises (ArchiveInternalError, NotImplemented)
URISeq xmlstore::Operational::queryUIDs ( in wstring  query,
in string  schema 
) raises (ArchiveInternalError)

Same as query, but returns a sequence of UniqueIdentifiers for the matching documents instead of a cursor (which contains the documents itself). Entities flagged as dirty are not returned.

URISeq xmlstore::Operational::queryUIDs ( in wstring  query,
in string  schema 
) raises (ArchiveInternalError)

Same as query, but returns a sequence of UniqueIdentifiers for the matching documents instead of a cursor (which contains the documents itself). Entities flagged as dirty are not returned.

URISeq xmlstore::Operational::queryUIDsDirty ( in wstring  query,
in string  schema 
) raises (ArchiveInternalError)

Same as queryUIDs, but entities flagged dirty are returned, too.

URISeq xmlstore::Operational::queryUIDsDirty ( in wstring  query,
in string  schema 
) raises (ArchiveInternalError)

Same as queryUIDs, but entities flagged dirty are returned, too.

xmlentity::XmlEntityStruct xmlstore::Operational::retrieve ( in URI  identifier  )  raises (ArchiveInternalError, NotFound, MalformedURI, DirtyEntity)

Retrieves an entity (latest version) from the Archive. If the entity is marked as dirty an exception is thrown.

xmlentity::XmlEntityStruct xmlstore::Operational::retrieve ( in URI  identifier  )  raises (ArchiveInternalError, NotFound, MalformedURI, DirtyEntity)

Retrieves an entity (latest version) from the Archive. If the entity is marked as dirty an exception is thrown.

xmlentity::XmlEntityStruct xmlstore::Operational::retrieveDirty ( in URI  identifier  )  raises (ArchiveInternalError, NotFound, MalformedURI)

retrieves an entity even if it flagged as dirty.

xmlentity::XmlEntityStruct xmlstore::Operational::retrieveDirty ( in URI  identifier  )  raises (ArchiveInternalError, NotFound, MalformedURI)

retrieves an entity even if it flagged as dirty.

StringSeq xmlstore::Operational::retrieveFragment ( in URI  identifier,
in string  id 
) raises (ArchiveInternalError, NotFound, MalformedURI, DirtyEntity)

Retrieves part of an entity (latest version). The part is specified by the XPath expression handed over in the parameter id.

StringSeq xmlstore::Operational::retrieveFragment ( in URI  identifier,
in string  id 
) raises (ArchiveInternalError, NotFound, MalformedURI, DirtyEntity)

Retrieves part of an entity (latest version). The part is specified by the XPath expression handed over in the parameter id.

StatusStruct xmlstore::Operational::status ( in URI  identifier  )  raises (ArchiveInternalError, NotFound, MalformedURI)

Retrieves meta information about an entity.

StatusStruct xmlstore::Operational::status ( in URI  identifier  )  raises (ArchiveInternalError, NotFound, MalformedURI)

Retrieves meta information about an entity.

void xmlstore::Operational::store ( in xmlentity::XmlEntityStruct  entity  )  raises (ArchiveInternalError, IllegalEntity)

Stores a new entity.

void xmlstore::Operational::store ( in xmlentity::XmlEntityStruct  entity  )  raises (ArchiveInternalError, IllegalEntity)

Stores a new entity.

void xmlstore::Operational::undelete ( in URI  identifier  )  raises (ArchiveInternalError, NotFound, MalformedURI)

Flags an entity as undeleted

void xmlstore::Operational::undelete ( in URI  identifier  )  raises (ArchiveInternalError, NotFound, MalformedURI)

Flags an entity as undeleted

void xmlstore::Operational::update ( in xmlentity::XmlEntityStruct  entity  )  raises (ArchiveInternalError, IllegalEntity, TimestampInconsistency)

Updates an existing entity. The timestamp that is part of the XmlEntityStruct is compared to the latest timestamp of that entity in the Archive. If the timestamps mismatch an exception is thrown.

void xmlstore::Operational::update ( in xmlentity::XmlEntityStruct  entity  )  raises (ArchiveInternalError, IllegalEntity, TimestampInconsistency)

Updates an existing entity. The timestamp that is part of the XmlEntityStruct is compared to the latest timestamp of that entity in the Archive. If the timestamps mismatch an exception is thrown.

void xmlstore::Operational::updateElement ( in URI  uid,
in string  schema,
in wstring  xPath,
in wstring  xmlElement 
) raises (ArchiveInternalError, IllegalEntity, MalformedURI, NotYetThere)

The (first) element pointed at by xPath in document uid (belonging to schema schema) will be replaced by element xmlElement.

void xmlstore::Operational::updateElement ( in URI  uid,
in string  schema,
in wstring  xPath,
in wstring  xmlElement 
) raises (ArchiveInternalError, IllegalEntity, MalformedURI, NotYetThere)

The (first) element pointed at by xPath in document uid (belonging to schema schema) will be replaced by element xmlElement.

xmlentity::XmlEntityStruct xmlstore::Operational::updateRetrieve ( in URI  identifier  )  raises (ArchiveInternalError, NotFound, MalformedURI, DirtyEntity)

Retrieves an entity and flags it as dirty for updating it.

xmlentity::XmlEntityStruct xmlstore::Operational::updateRetrieve ( in URI  identifier  )  raises (ArchiveInternalError, NotFound, MalformedURI, DirtyEntity)

Retrieves an entity and flags it as dirty for updating it.

void xmlstore::Operational::updateXML ( in URI  uid,
in string  schema,
in wstring  newChild 
) raises (ArchiveInternalError, IllegalEntity, MalformedURI, NotYetThere)

Performs an incremental update on the XML document stored under uid belonging to schema schema: The XML string newChild as appended as the last child of the root element in the database. No history information is maintained in this case for this update operation (as opposed to the normal update).

void xmlstore::Operational::updateXML ( in URI  uid,
in string  schema,
in wstring  newChild 
) raises (ArchiveInternalError, IllegalEntity, MalformedURI, NotYetThere)

Performs an incremental update on the XML document stored under uid belonging to schema schema: The XML string newChild as appended as the last child of the root element in the database. No history information is maintained in this case for this update operation (as opposed to the normal update).


The documentation for this interface was generated from the following files: