Package eu.planets_project.tb.api.model

Examples of eu.planets_project.tb.api.model.Experiment


     */
    public void setExperimentId(String experimentId) {
        log.info("Got experimentId: "+ experimentId);
        this.experimentId = experimentId;
        Long eid = null;
        Experiment exp = null;

        // Attempt to parse the experiment ID:
        if( this.experimentId != null ) {
            // Do the parseLong and check it first.
            try {
                eid = Long.parseLong(experimentId);
            } catch( NumberFormatException e ) {
                log.error("Could not parse experiment id "+experimentId);
            }
        }
       
        // Check if there is an experiment bean already, and persist changes.
        ExperimentBean expBean = (ExperimentBean)JSFUtil.getManagedObject("ExperimentBean");
        if( expBean != null ) {
            log.info("Experiment Bean found: "+expBean.getEname());
        }
       
        // Load it:
        ExperimentPersistencyRemote edao = ExperimentPersistencyImpl.getInstance();
        if( edao != null && eid != null ) {
            exp = edao.findExperiment(eid);
        }

        // Also look for an experiment bean in the session:
        FacesContext ctx = FacesContext.getCurrentInstance();
        ExperimentBean sessExpBean = (ExperimentBean) ctx.getExternalContext().getSessionMap().get(ExperimentInspector.EXP_BEAN_IN_SESSION_DEPRECATED);
       
        // Experiment exp should work:
        if( exp != null ) {
            log.info("Experiment found: "+exp.getExperimentSetup().getBasicProperties().getExperimentName());
            experimentBean = new ExperimentBean();
            experimentBean.fill(exp);
            ExperimentInspector.putExperimentIntoRequestExperimentBean(exp);
        }
        // If not, use the one in the session:
View Full Code Here


   
    public int getExecuteExperimentProgress() {
          TestbedManager testbedMan = (TestbedManager) JSFUtil.getManagedObject("TestbedManager");
          ExperimentBean expBean = (ExperimentBean)JSFUtil.getManagedObject("ExperimentBean");
          refreshExperimentBean();
          Experiment exp = expBean.getExperiment();

          if( exp.getExperimentExecutable() !=  null ) {
              log.info("Looking for experiment status... "+exp.getExperimentExecutable().getBatchExecutionIdentifier());
          }
          log.info("Invoked: "+exp.getExperimentExecutable().isExecutableInvoked());
          log.info("Complete: "+exp.getExperimentExecutable().isExecutionCompleted());
         
          // If this exp has never been run, return -1:
          if( exp.getExperimentExecutable().isExecutableInvoked() == false ) return -1;
          // If this exp has been run, and is currently 'completed', return 101:
          if( exp.getExperimentExecutable().isExecutionCompleted() ) return 101;
         
          log.info("Still looking for..."+exp.getExperimentExecutable().getBatchExecutionIdentifier());
        
          //get the batch processor that's responsible for this job
          BatchProcessor pb = TestbedBatchProcessorManager.getInstance().getBatchProcessor(exp.getExperimentExecutable().getBatchSystemIdentifier());
          String job_key = exp.getExperimentExecutable().getBatchExecutionIdentifier();
          log.info("Looking for experiment progress under job key: "+job_key+" : " + pb.getJobStatus(job_key));
         
          if( pb.getJobStatus(job_key).equals(TestbedBatchJob.NO_SUCH_JOB ) ) {
              log.info("Got No Such Job for key: "+job_key);
              exp.getExperimentExecutable().setExecutionSuccess(false);
              exp.getExperimentExecutable().setExecutionCompleted(true);
              exp.getExperimentExecution().setState(Experiment.STATE_COMPLETED);
              exp.getExperimentEvaluation().setState(Experiment.STATE_IN_PROGRESS);  
              testbedMan.updateExperiment(exp);
              return -1;
          } else if( pb.getJobStatus(job_key).equals(TestbedBatchJob.NOT_STARTED) ) {
              log.info("Got NOT STARTED for key: "+job_key);
              return 0;
          } else if( pb.getJobStatus(job_key).equals(TestbedBatchJob.RUNNING) ) {
              int percent = pb.getJobPercentComplete(job_key);
              // Return percentage:
              log.info("Got percent complete:" + percent+" for key: "+job_key);
              return percent;

          } else {
              log.info("Got job complete.");
              exp.getExperimentExecution().setState(Experiment.STATE_COMPLETED);
              exp.getExperimentEvaluation().setState(Experiment.STATE_IN_PROGRESS);  
              testbedMan.updateExperiment(exp);
              // Appears to need to return a number greater that 100 in order to force the progress bar to refresh properly.
              return 101;
          }
    }
View Full Code Here

   
    public String getPositionInBatchProcessorQueue() {
          TestbedManager testbedMan = (TestbedManager) JSFUtil.getManagedObject("TestbedManager");
          ExperimentBean expBean = (ExperimentBean)JSFUtil.getManagedObject("ExperimentBean");
          refreshExperimentBean();
          Experiment exp = expBean.getExperiment();

          if( exp.getExperimentExecutable() !=  null ) {
              log.info("Looking for position on the batch processor for... "+exp.getExperimentExecutable().getBatchExecutionIdentifier());
          }
          else{
            return "not supported";
          }
         
          //get the batch processor that's responsible for this job
          BatchProcessor pb = TestbedBatchProcessorManager.getInstance().getBatchProcessor(exp.getExperimentExecutable().getBatchSystemIdentifier());
          String job_key = exp.getExperimentExecutable().getBatchExecutionIdentifier();
          log.info("Looking for current position on batch processor for job key: "+job_key+" : " + pb.getJobStatus(job_key));
         
          if( pb.getJobStatus(job_key).equals(TestbedBatchJob.NO_SUCH_JOB ) ) {
              log.info("Got No Such Job.");
              return "not supported";
View Full Code Here

   
    public boolean isCurrentBatchJobQueued() {
      TestbedManager testbedMan = TestbedManagerImpl.getInstance();
          ExperimentBean expBean = (ExperimentBean)JSFUtil.getManagedObject("ExperimentBean");
          refreshExperimentBean();
          Experiment exp = expBean.getExperiment();

          if( exp.getExperimentExecutable() ==  null ) {
              return false;
          }
          else{
        //get the batch processor that's responsible for this job
            BatchProcessor pb = TestbedBatchProcessorManager.getInstance().getBatchProcessor(exp.getExperimentExecutable().getBatchSystemIdentifier());
            String job_key = exp.getExperimentExecutable().getBatchExecutionIdentifier();
            if( pb.getJobStatus(job_key).equals(TestbedBatchJob.NO_SUCH_JOB ) ) {
                log.info("Got No Such Job.");
                return false;
            }else {
                return pb.isQueued(job_key);
View Full Code Here

     */
    private void refreshExperimentBean() {
          TestbedManager testbedMan = (TestbedManager) JSFUtil.getManagedObject("TestbedManager");
          ExperimentBean expBean = (ExperimentBean)JSFUtil.getManagedObject("ExperimentBean");
          ExperimentPersistencyRemote epr = testbedMan.getExperimentPersistencyRemote();
          Experiment exp = epr.findExperiment(expBean.getExperiment().getEntityID());
          expBean.setExperiment(exp);
          // Only updates the exp itself, as only the BG data might have changed.
          //ExperimentInspector.putExperimentIntoSessionExperimentBean( exp );
    }
View Full Code Here

     */
    public String commandResetAfterFailure() {
          TestbedManager testbedMan = (TestbedManager) JSFUtil.getManagedObject("TestbedManager");
          ExperimentBean expBean = (ExperimentBean)JSFUtil.getManagedObject("ExperimentBean");
          // Save these changes:
          Experiment exp = expBean.getExperiment();
          ExperimentImpl.resetToApprovedStage(exp);
          testbedMan.updateExperiment(exp);
        return "success";
    }
View Full Code Here

        return "success";
    }
   
   public String commandPullInWFResultsAfterFailure(){
         ExperimentBean expBean = (ExperimentBean)JSFUtil.getManagedObject("ExperimentBean");
         Experiment exp = expBean.getExperiment();
         //get the batch processor that's responsible for this job
         BatchProcessor pb = TestbedBatchProcessorManager.getInstance().getBatchProcessor(exp.getExperimentExecutable().getBatchSystemIdentifier());
         String job_key = exp.getExperimentExecutable().getBatchExecutionIdentifier();
        
         //clean out the old BatchExecutionRecords (as Measurements, etc.)
         Iterator<BatchExecutionRecordImpl> iter = exp.getExperimentExecutable().getBatchExecutionRecords().iterator();
         while(iter.hasNext()) {
           iter.next();
           iter.remove();
         } //FIXME: this isn't properly updated in the db and the old records don't get deleted
        
View Full Code Here

    * @return
    */
   public String executeAutoEvalWf(){
       TestbedManager testbedMan = (TestbedManager) JSFUtil.getManagedObject("TestbedManager");
      ExperimentBean expBean = (ExperimentBean)JSFUtil.getManagedObject("ExperimentBean");
       Experiment exp = expBean.getExperiment();
      
      expBean.setExecuteAutoEvalWfRunning(true);
      
       //call invocation on the evaluation workflow
       testbedMan.executeAutoEvaluationWf(exp);
View Full Code Here

   
  @Deprecated
    public String proceedToEvaluation() {
      TestbedManager testbedMan = (TestbedManager) JSFUtil.getManagedObject("TestbedManager");
        ExperimentBean expBean = (ExperimentBean)JSFUtil.getManagedObject("ExperimentBean");
      Experiment exp = expBean.getExperiment();
        if (exp.getExperimentExecution().isExecutionCompleted()) {
          exp.getExperimentExecution().setState(Experiment.STATE_COMPLETED);
          exp.getExperimentEvaluation().setState(Experiment.STATE_IN_PROGRESS);       
          expBean.setCurrentStage(ExperimentBean.PHASE_EXPERIMENTEVALUATION);
          initEvaluationBenchmarks(exp);
          testbedMan.updateExperiment(exp);
         
            NewExpWizardController.redirectToExpStage(expBean.getID(), 6);
View Full Code Here

    }
 
  public String proceedToStep6Evaluation() {
      TestbedManager testbedMan = (TestbedManager) JSFUtil.getManagedObject("TestbedManager");
        ExperimentBean expBean = (ExperimentBean)JSFUtil.getManagedObject("ExperimentBean");
      Experiment exp = expBean.getExperiment();
      exp.getExperimentExecution().setState(Experiment.STATE_COMPLETED);
      exp.getExperimentEvaluation().setState(Experiment.STATE_IN_PROGRESS);       
      expBean.setCurrentStage(ExperimentBean.PHASE_EXPERIMENTEVALUATION);
      testbedMan.updateExperiment(exp);
        NewExpWizardController.redirectToExpStage(expBean.getID(), 6);
        return "success";
    }
View Full Code Here

TOP

Related Classes of eu.planets_project.tb.api.model.Experiment

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.