def init_low_level(context, feature): # Fake session registration _peers = { "sender": { "address": "source_peer", "user": context.user, "queue": Queue() }, "receiver": { "address": "destination_peer", "user": context.user, "queue": Queue() } } context.monitor = Monitor(_handler=BrokerWebSocketHandler( _process_id=context.peer_process_id, _peers=_peers, _schema_tools=context.db_access.schema_tools, _address="broker", _database_access=context.db_access)) of.common.messaging.websocket.monitor = context.monitor # Register mockup WebSockets context.sender = MockupWebSocket(session_id="sender", context=context) context.receiver = MockupWebSocket(session_id="receiver", context=context) def _stop_broker(): pass if feature.name in [ "Process Management", "Process definition management API" ]: context.node = Node(_database_access=context.db_access, _rights=[id_right_admin_nodes]) context.control = Control(context.db_access, context.node, _send_queue=context.monitor.queue, _stop_broker=None, _address="", _process_id=zero_object_id)
def __init__(self, _database_access): self._node = Node(_database_access)
class CherryPyNode(object): """ The CherryPyNode class is a plugin for CherryPy to expose the Optimal Framework Node API. Each function maps to counterparts in the Node class. """ # A local instance of the Node-class _node = None def __init__(self, _database_access): self._node = Node(_database_access) @cherrypy.expose @cherrypy.tools.json_in() @cherrypy.tools.json_out(content_type='application/json') @aop_check_session def save(self, **kwargs): return self._node.save(cherrypy.request.json, kwargs["_user"]) @cherrypy.expose @cherrypy.tools.json_in() @cherrypy.tools.json_out(content_type='application/json') @aop_check_session def find(self, **kwargs): return self._node.find(cherrypy.request.json, kwargs["_user"]) @cherrypy.expose @cherrypy.tools.json_in() @cherrypy.tools.json_out(content_type='application/json') @aop_check_session def lookup(self, **kwargs): return self._node.lookup(cherrypy.request.json, kwargs["_user"]) @cherrypy.expose @cherrypy.tools.json_in() @cherrypy.tools.json_out(content_type='application/json') @aop_check_session def remove(self, **kwargs): return self._node.remove(cherrypy.request.json, kwargs["_user"]) @cherrypy.expose @cherrypy.tools.json_in() @cherrypy.tools.json_out(content_type='application/json') @aop_check_session def load_node(self, **kwargs): return self._node.load_node(cherrypy.request.json, kwargs["_user"]) @cherrypy.expose @cherrypy.tools.json_in() @cherrypy.tools.json_out(content_type='application/json') @aop_check_session def load_children(self, **kwargs): return self._node.load_children(cherrypy.request.json, kwargs["_user"]) @cherrypy.expose @cherrypy.tools.json_in() @cherrypy.tools.json_out(content_type='application/json') @aop_check_session def history(self, **kwargs): return self._node.history(cherrypy.request.json, kwargs["_user"]) @cherrypy.expose @cherrypy.tools.json_in() @cherrypy.tools.json_out(content_type='application/json') @aop_check_session def get_templates(self, **kwargs): return self._node.get_templates(cherrypy.request.json["schemaRef"], kwargs["_user"]) @cherrypy.expose @cherrypy.tools.json_out(content_type='application/json') @aop_check_session def get_schemas(self, **kwargs): return self._node.get_schemas(kwargs["_user"]) @cherrypy.expose @cherrypy.tools.json_out(content_type='application/json') @aop_check_session def get_jsf_forms(self, **kwargs): return self._node.get_jsf_forms(kwargs["_user"])