Beispiel #1
0
    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)
Beispiel #2
0
    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_)
Beispiel #3
0
    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
Beispiel #4
0
    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)
Beispiel #5
0
 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)
Beispiel #6
0
    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)
Beispiel #7
0
    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)
Beispiel #8
0
    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)
Beispiel #9
0
    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)
Beispiel #10
0
    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)
Beispiel #11
0
    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)
Beispiel #12
0
 def put(self, type_, data, serializer):
     data = base64.decodestring(data)
     BaseServer.put(self, type_, data, serializer)
     return True
Beispiel #13
0
 def get_version(self, type_, guid, version, serializer):
     data = BaseServer.get_version(self, type_, guid, version, serializer)
     return base64.encodestring(data)