예제 #1
0
  public void record(Record record) {
    this.record = record;
    dataBaseAdapter.initialize(record, true);
    for (Node node : record.getConfiguration().getNodes()) {
      if (!node.getErrors().isEmpty()) {}

      RecordHandlerEventListener listener = new RecordHandlerEventListener(node);
      INodeConnection nodeConnection = ncp.createConnection(node);
      nodeConnection.getAdapter(IErrorAdapter.class).addErrorListener(this);
      IHandlerEventAdapter hea = nodeConnection.getAdapter(IHandlerEventAdapter.class);
      hea.addEventListener(Recorder.class, listener);
      logger.log(ILogger.DEBUG, "started recording for " + node.getINetAddress(), null);
    }
  }
 public Node retrieve(String host, String port) {
   INodeConnectionProvider ncp = injector.getInstance(INodeConnectionProvider.class);
   INodeConnection connection = ncp.createConnection(host, port);
   INodeAdapter nodeAdapter = connection.getAdapter(INodeAdapter.class);
   Node result = nodeAdapter.pullNode();
   connection.close();
   return EcoreUtil.copy(result);
 }
예제 #3
0
 public void stop() {
   if (record == null) {
     return;
   }
   for (Node node : record.getConfiguration().getNodes()) {
     INodeConnection nodeConnection = node.getConnection();
     IHandlerEventAdapter hea = nodeConnection.getAdapter(IHandlerEventAdapter.class);
     RecordHandlerEventListener listener =
         (RecordHandlerEventListener) hea.getEventListener(Recorder.class);
     hea.removeEventListener(Recorder.class);
     listener.dispose();
     dataBaseAdapter.close();
     logger.log(ILogger.DEBUG, "stop recording for " + node.getINetAddress(), null);
   }
 }