def __init__(self, tasklet_path=None): '''Initialize the OSIS service @param tasklet_path: Container path of OSIS tasklets @type tasklet_path: string ''' BaseServer.__init__(self, tasklet_path)
def put_object_in_store(self, object_type, object_): '''Store an object in the store @param object_type: Object type name @type object_type: string @param object_: The object to store @type object_: object ''' BaseServer.put_object_in_store(self, object_type, object_)
def put(self, objectType, data, serializer): '''Save an object in the OSIS object store @param objectType: Object type name @type objectType: string @param data: Serialized object @type data: string @param serializer: Name of the serializer to use @type serializer: string ''' # Decode Base64-encoded data data = base64.decodestring(data) BaseServer.put(self, objectType, data, serializer) return True
def get_object_from_store(self, object_type, guid, preferred_serializer, version=None): '''Retrieve an object from the store @param object_type: Object type name @type object_type: string @param guid: GUID of the object to retrieve @type guid: string @param preferred_serializer: The preferred serializer type name If this is given and the store stores objects using this serialization format, no deserialization is required and the serialized form can be returned as-is. @type preferred_serializer: string @param version: Version of the object to retrieve @type version: string @return: Tuple containing the deserialized object and its serialized form according to C{preferred_serializer}, where one of the two items is C{None}: the object if the serialized form could be returned, the serialized form if it is not available but the deserialized object is given instead. @rtype: tuple<object, string> @raise ObjectNotFoundException: The object could not be found ''' return BaseServer.get_object_from_store(self, object_type, guid, preferred_serializer, version)
def findAsView(self, objectType, filters, view): """ @param objectType: type of the object @param filters: filters. list of dicts @param view: view to return """ return BaseServer.findAsView(self, objectType, filters, view)
def runQuery(self, query): '''Run query from OSIS server @param query: Query to execute on OSIS server @type query: string @return: result of the query else raise error @type: List of rows. Each row shall be represented as a dictionary. ''' return BaseServer.runQuery(self, query)
def delete(self, objectType, guid): '''Delete an object from the OSIS object store @param object_type: Object type name @type object_type: string @param guid: GUID of the object to delete @type guid: string @return: True or False, according as deletion succeeds or fails. ''' return BaseServer.delete(self, objectType, guid)
def execute_filter(self, object_type, filter_, view): '''Execute a query on the store @param object_type: Object type name @type object_type: string @param filter_: Filter to execute @type filter_: L{Filter} @param view: Optional view name to return @type view: string @return: OSISList formatted resultset @rtype: tuple ''' return BaseServer.execute_filter(self, object_type, filter_, view)
def findAsView(self, type_, filter_, view): '''Perform a filter operation on the server @param type_: Root object type name @type type_: string @param filter_: Filter definition @type filter_: L{OsisFilterObject} @param view: View to return @type view: string @return: List of GUIDs or OsisList of data @rtype: list ''' filter_data = filter_.filters return BaseServer.findAsView(self, type_, filter_data, view)
def get(self, objectType, guid, serializer): '''Retrieve an object from the OSIS object store @param object_type: Object type name @type object_type: string @param guid: GUID of the object to retrieve @type guid: string @param serializer: Name of the serializer to use @type serializer: string @return: Base64 encoded string of the serialized object @rtype: string ''' data = BaseServer.get(self, objectType, guid, serializer) # Encode serialized object using Base64 return base64.encodestring(data)
def put(self, type_, data, serializer): data = base64.decodestring(data) BaseServer.put(self, type_, data, serializer) return True
def get_version(self, type_, guid, version, serializer): data = BaseServer.get_version(self, type_, guid, version, serializer) return base64.encodestring(data)