Package lupos.engine.evaluators

Examples of lupos.engine.evaluators.StreamQueryEvaluator


   * @return the root operator of the stream query
   */
  public Stream generateQuery(final String query,
      final NotifyStreamResult notifyStreamResult) {
    try {
      final StreamQueryEvaluator evaluator = new StreamQueryEvaluator();
      evaluator.setupArguments();
      Bindings.instanceClass = BindingsMap.class;
      evaluator.getArgs().set("result", QueryResult.TYPE.MEMORY);
      evaluator.getArgs().set("codemap", LiteralFactory.MapType.HASHMAP);
      evaluator.getArgs().set("datastructure", Indices.DATA_STRUCT.HASHMAP);
      evaluator.getArgs().set("distinct", CommonCoreQueryEvaluator.DISTINCT.HASHSET);
      evaluator.init();

      evaluator.compileQuery(query);
      evaluator.logicalOptimization();
      evaluator.physicalOptimization();
      if (evaluator.getRootNode() instanceof Stream) {
        final Stream stream = (Stream) evaluator.getRootNode();
        stream.addNotifyStreamResult(notifyStreamResult);
        return stream;
      } else {
        System.err.println("No stream query given!");
      }
View Full Code Here


   * @return
   */
  private Stream createStream(final Subscription sub, final SerializingMessageService msgService) {
     
    try {
      final StreamQueryEvaluator evaluator = new StreamQueryEvaluator();
     
      final NotifyStreamResult notifyStreamResult = new NotifyStreamResult() {
        private final StreamQueryEvaluator e = evaluator;
        @Override
        public void notifyStreamResult(final QueryResult result) {
          // empty query results get discarded
          if(result==null || result.isEmpty()) {
            System.out.println("emtpy QueryResult, not sending it");
            return;
          }
          // serializing and sending the query result
          try {
            Set<Variable> vars = this.e.getVariablesOfQuery();
            SerializedQueryResult r = new SerializedQueryResult(vars, result, sub.getId());
            msgService.sendMessage(r);
          } catch (IOException e1) {
            System.err.println(e1);
            e1.printStackTrace();
          }
        }
      };

      evaluator.setupArguments();
      Bindings.instanceClass = BindingsMap.class;
      evaluator.getArgs().set("result", QueryResult.TYPE.MEMORY);
      evaluator.getArgs().set("codemap", LiteralFactory.MapType.HASHMAP);
      evaluator.getArgs().set("datastructure", Indices.DATA_STRUCT.HASHMAP);
      evaluator.init();
 
      evaluator.compileQuery(sub.getQuery());
      evaluator.logicalOptimization();
      evaluator.physicalOptimization();
      if (evaluator.getRootNode() instanceof Stream) {
        Stream stream = (Stream) evaluator.getRootNode();
        stream.addNotifyStreamResult(notifyStreamResult);
        stream.sendMessage(new StartOfEvaluationMessage());
        return stream;
      }
     
View Full Code Here

   * @return
   */
  private Stream createStream(final Subscription sub, final SerializingMessageService msgService_param) {
     
    try {
      final StreamQueryEvaluator evaluator = new StreamQueryEvaluator();
     
      final NotifyStreamResult notifyStreamResult = new NotifyStreamResult() {
        private final StreamQueryEvaluator e = evaluator;
        @Override
        public void notifyStreamResult(final QueryResult result) {
          // empty query results get discarded
          if(result==null || result.isEmpty()) {
            System.out.println("emtpy QueryResult, not sending it");
            return;
          }
          // serializing and sending the query result
          try {
            Set<Variable> vars = this.e.getVariablesOfQuery();
            SerializedQueryResult r = new SerializedQueryResult(vars, result, sub.getId());
            msgService_param.sendMessage(r);
          } catch (IOException e1) {
            System.err.println(e1);
            e1.printStackTrace();
          }
        }
      };

      evaluator.setupArguments();
      Bindings.instanceClass = BindingsMap.class;
      evaluator.getArgs().set("result", QueryResult.TYPE.MEMORY);
      evaluator.getArgs().set("codemap", LiteralFactory.MapType.HASHMAP);
      evaluator.getArgs().set("datastructure", Indices.DATA_STRUCT.HASHMAP);
      evaluator.init();
 
      evaluator.compileQuery(sub.getQuery());
      evaluator.logicalOptimization();
      evaluator.physicalOptimization();
      if (evaluator.getRootNode() instanceof Stream) {
        Stream stream = (Stream) evaluator.getRootNode();
        stream.addNotifyStreamResult(notifyStreamResult);
        stream.sendMessage(new StartOfEvaluationMessage());
        return stream;
      }
     
View Full Code Here

   * @param stream if stream is true the rule evaluator for streams is used, otherwise the main memory evaluator
   * @throws Exception
   */
  public BasicIndexRuleEvaluator(final boolean stream) throws Exception{
    super();
    this.evaluator = (stream)? new StreamQueryEvaluator(): new MemoryIndexQueryEvaluator();
    this.evaluator.setupArguments();
    this.evaluator.getArgs().set("debug", DEBUG.ALL);
    this.evaluator.getArgs().set("result", QueryResult.TYPE.MEMORY);
    this.evaluator.getArgs().set("codemap", LiteralFactory.MapType.HASHMAP);
    this.evaluator.getArgs().set("distinct", CommonCoreQueryEvaluator.DISTINCT.HASHSET);
View Full Code Here

TOP

Related Classes of lupos.engine.evaluators.StreamQueryEvaluator

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.