Examples of HeraklesException


Examples of de.fzi.herakles.commons.herakles.HeraklesException

   */
  @Override
  public Result parallelise() throws HeraklesException {
   
    if( this.task == null )
      throw new HeraklesException( "No task to execute." );
   
    try {
      startReasonerThreads( reasoners, this.task );
    } catch( NoReasonerException e ) {
      throw new HeraklesException( e.getMessage(), e );
    }
   
    Result result = null;
    Throwable[] exceptions = new Throwable[reasoners.length]// default init values: null

    // will be set to false, while any reasoner is still running
    // if no reasoner thread is available this is also a valid statement
    boolean allFinished = true;
   
    boolean resultAvailable = false;

    if( reasoners != null ) {
      boolean[] finished = new boolean[reasoners.length]// default init values: false

      do {
        allFinished = true;
        for( int j = 0; j < reasoners.length; j++ )
          if( reasoners[j].isAlive() )
            allFinished = false;
          else {
            if( reasoners[j].hasFailed() ) {
              if( !finished[j] ) {
                exceptions[j] = reasoners[j].getException();
                if(logger.isWarnEnabled()){
                  logger.warn( reasoners[j].getName() + " failed: " +
                      exceptions[j].getMessage() );
                }
                finished[j] = true;
              }
            } else {
              result = reasoners[j].getResult();
              if( result != null )
                resultAvailable = true;
              finished[j] = true;
              if(logger.isInfoEnabled()){
                logger.info( reasoners[j].getName() + " finished first (successfully)." );
              }
             
              // for time record log to record first finished reasoner
//              Herakles.firstReasoner = reasoners[j].getReasoner().getReasonerName();
             
              break;
            }
          }
      } while( !allFinished && !resultAvailable );
    }
   
    if( allFinished && !resultAvailable ) {
      String message = "All remote reasoners failed:\n";
      for( int i = 0; i < reasoners.length; i++ )
        if( reasoners[i].getException() != null ) // should always be true, but who knows
          message += "  " + reasoners[i].getName() + ": " +
            reasoners[i].getException().getMessage() + "\n";
      throw new HeraklesException( message );
    }
   
    return result;
  }
View Full Code Here

Examples of de.fzi.herakles.commons.herakles.HeraklesException

   */
  @Override
  public Result parallelise()  throws HeraklesException {
       
    if( this.task == null )
      throw new HeraklesException( "No task to execute." );
   
    startReasonerThreads( reasoners, this.task );

    Result result = null;
   
    boolean allFinished;
    boolean anySucceeded = false;
    do {
      allFinished = true;
      for( int j = 0; j < reasoners.length; j++ )
        if( this.reasoners[j].isAlive() )
          allFinished = false;
        else
          if( !reasoners[j].hasFailed() ) {
            result = reasoners[j].getResult();
           
            /* by Wang*/
            //result.setReasoner(reasoners[j].getReasoner().getRemoteName());
            /********************/
           
            anySucceeded = true;
          } else {
            allFinished = true;
            if(logger.isWarnEnabled()){
              logger.warn( reasoners[j].getName() + " failed: " +
                  reasoners[j].getException().getMessage() );
            }
          }

    } while( !allFinished );
   
    if(logger.isInfoEnabled()){
      logger.info( "All reasoners finished (" + (anySucceeded ? "at least some successfully" : "but all failed") + ")" );
    }
   
    if( !anySucceeded ) {
      String message = "All remote reasoners failed:\n";
      for( int i = 0; i < reasoners.length; i++ )
        if( reasoners[i].getException() != null )
          message += "  " + reasoners[i].getName() + ": " +
              reasoners[i].getException().getMessage() + "\n";
      throw new HeraklesException( message );
    }
   
    return result;
  }
View Full Code Here

Examples of de.fzi.herakles.commons.herakles.HeraklesException

 
  @Override
  public void execute(Query query, Result result) throws HeraklesException {
    OWLOntology[] ontos = this.ontologyProperties.keySet().toArray(new OWLOntology[0]);
    if(ontos.length != 1){
      throw new HeraklesException("Ontology properties error!");
    }
    OWLOntology ontology = ontos[0];
    this.selector.setReasonerPool(this.registry.getAsSet(true));
    ((MachLrnSelector)this.selector).setRequest(ontology, this.ontologyProperties.get(ontology), query);
    Set<ReasonerAdapter> selectedSet = this.selector.select();
   
    if(selectedSet.size() != 1){
      throw new HeraklesException("No reasoner can deal with this request!");
    }
   
    this.paralleliser.setReasoners(selectedSet);
    this.paralleliser.setTask(query);
    result.setResult(this.paralleliser.parallelise().getResult());
View Full Code Here

Examples of de.fzi.herakles.commons.herakles.HeraklesException

          this.reasoner.flagIdle();
        }
      }
    } else {
      this.failure = true;
      this.exception = new HeraklesException( "No task to execute." );
    }
     
  }
View Full Code Here

Examples of de.fzi.herakles.commons.herakles.HeraklesException

          errorMessage += exc.getMessage();
        }
      }
      // if we reach this point, all registered reasoners have been tried,
      // and noone succeeded, hence
      throw new HeraklesException( errorMessage );
    }
  }
View Full Code Here

Examples of de.fzi.herakles.commons.herakles.HeraklesException

    double ratioSum = 0.;
    int ratioCount = 0;
   
    if( ontologyProperties == null )
      throw new HeraklesException( "Ontology Properties required by this strategy." );

    for( Properties properties : ontologyProperties.values() ) {
      ratioSum += ( Double.parseDouble( properties.getProperty( "ABoxTBoxRatio" ) ) );
      ratioCount++;
    }
View Full Code Here

Examples of de.fzi.herakles.commons.herakles.HeraklesException

  @SuppressWarnings("unchecked")
  @Override
  public void execute(Query query, Result result) throws HeraklesException {
    if(!checkReasoners()){
      throw new HeraklesException("Aoide Strategy needs at least a Pellet reasoner and an AQA resoner. One kind of reasoner is missing!");
    }
    this.selector.setReasonerPool( this.registry.getAsSet( true , true) );
    ((AoideSelector) this.selector).setQuery(query);
   
    Set<ReasonerAdapter> suitableReasoners = this.selector.select();
View Full Code Here

Examples of de.fzi.herakles.commons.herakles.HeraklesException

          errorMessage += exc.getMessage();
        }
      }

      // now finally every reasoner has been tried, and noone succeeded, hence
      throw new HeraklesException( errorMessage );
     
    }
   
    ((PropertyConstraintSelector) this.selector).clearConstraints();
  }
View Full Code Here

Examples of de.fzi.herakles.commons.herakles.HeraklesException

      }
    } catch( Exception e ) {
      if( e instanceof HeraklesException )
        throw (HeraklesException) e;
      else
        throw new HeraklesException( e );
    }
    t7 = System.currentTimeMillis();

    if(result != null){
      t8 = System.currentTimeMillis();
View Full Code Here

Examples of de.fzi.herakles.commons.herakles.HeraklesException

      }
    } catch( Exception e ) {
      if( e instanceof HeraklesException )
        throw (HeraklesException) e;
      else
        throw new HeraklesException( e );
    }
    t7 = System.currentTimeMillis();

    if(result != null){
      t8 = System.currentTimeMillis();
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.