Examples of TestbedManager


Examples of eu.planets_project.tb.api.TestbedManager

        NewExpWizardController.redirectToExpStage(expBean.getID(), 2);
        return "success";
    }
   
    public String unsubmitAndEdit() {
        TestbedManager testbedMan = (TestbedManager) JSFUtil.getManagedObject("TestbedManager");
        ExperimentBean expBean = (ExperimentBean)JSFUtil.getManagedObject("ExperimentBean");
        Experiment exp = expBean.getExperiment();
        ExperimentImpl.resetToEditingStage(exp);
        testbedMan.updateExperiment(exp);
       
        NewExpWizardController.redirectToExpStage(expBean.getID(), 1);
        return "success";
    }
View Full Code Here

Examples of eu.planets_project.tb.api.TestbedManager

        NewExpWizardController.redirectToExpStage(expBean.getID(), 1);
        return "success";
    }
   
    public String updateExperimentBeanState() {
        TestbedManager testbedMan = (TestbedManager) JSFUtil.getManagedObject("TestbedManager");
        ExperimentBean expBean = (ExperimentBean)JSFUtil.getManagedObject("ExperimentBean");
        Experiment exp = expBean.getExperiment();
        testbedMan.updateExperiment(exp);
        return "success";
    }
View Full Code Here

Examples of eu.planets_project.tb.api.TestbedManager

    public String updateBMEvaluationAction() {
        log.debug("In updateEvaluationAction...");
        try {
        ExperimentBean expBean = (ExperimentBean)JSFUtil.getManagedObject("ExperimentBean");
        TestbedManager testbedMan = (TestbedManager) JSFUtil.getManagedObject("TestbedManager");     
        Experiment exp = expBean.getExperiment();

        // 1. Store the updated report:
            exp.getExperimentEvaluation().getExperimentReport().setHeader(expBean.getReportHeader());
            exp.getExperimentEvaluation().getExperimentReport().setBodyText(expBean.getReportBody());
            log.debug("updateEvaluation Report Header: "+exp.getExperimentEvaluation().getExperimentReport().getHeader());
           
        // 2. update Experiment Overall BenchmarkGoals from Bean
        List<BenchmarkGoal> expBMgoals = new ArrayList<BenchmarkGoal>();
        Iterator<BenchmarkBean> iter = expBean.getExperimentBenchmarkBeans().iterator();
        log.debug("Found # of ExperimentOverall BMGS: " + expBean.getExperimentBenchmarkBeans().size());
        boolean bError = false;
        while (iter.hasNext()) {
          BenchmarkBean bmb = iter.next();
          BenchmarkGoal bmg;
          if (bmb.getSelected()) {
            // get the bmgoal from the evaluation data
            bmg = exp.getExperimentEvaluation().getEvaluatedExperimentBenchmarkGoal(bmb.getID());
                    expBMgoals.add(bmg);
                    /* FIXME ANJ Clean this up:
          try {
            //update the bmg with the provided bean's data
            helper_addBMBSettingsToBMGoal(bmb,bmg);
           
            expBMgoals.add(bmg);
            log.debug("updating bmg's target:" + bmg.getTargetValue());
           
          } catch (InvalidInputException e) {
            //create an ErrorMessage
                FacesMessage fmsg = new FacesMessage();
                if(bmg!=null){
                  fmsg.setSummary("Validation of "+bmg.getName()+" failed");
                  fmsg.setDetail("Validation of "+bmg.getName()+" failed");
                }
                else{
                  fmsg.setDetail("source/target value of a given file-Benchmarkgoal is not valid!"+e.toString());
                   fmsg.setSummary("source/target value of a given file-Benchmarkgoal is not valid!");
                }
                fmsg.setSeverity(FacesMessage.SEVERITY_ERROR);
              FacesContext ctx = FacesContext.getCurrentInstance();
              ctx.addMessage("bmTable",fmsg);
            log.error(e.toString());
            //set error true: all error messages are collected and then "failure" is returned
            bError = true;
          }
                    */
          }
        }
       
        //3. fill the file benchmark goals - used for evaluation of every input file
        boolean bError2 = false;
        Map<String,BenchmarkBean> mBMBs = expBean.getFileBenchmarkBeans();
        Map<URI,List<BenchmarkGoal>> mFileBMGs = new HashMap<URI,List<BenchmarkGoal>>();
        Iterator<String> itLocalInputFileRefs = expBean.getExperimentInputData().values().iterator();
        DataHandler dh = new DataHandlerImpl();
    
        //iterate over every input file and add update their evaluation
        BenchmarkGoal bmg =null;
        try {
          while(itLocalInputFileRefs.hasNext()){
          String localInputFileRef = itLocalInputFileRefs.next();
          URI inputURI = dh.get(localInputFileRef).getDownloadUri();
          List<BenchmarkGoal> lbmgs = new ArrayList<BenchmarkGoal>();
         
          for(BenchmarkBean b : mBMBs.values()){
            bmg = exp.getExperimentEvaluation().getEvaluatedFileBenchmarkGoal(inputURI, b.getID());
            //BenchmarkBean bmb = mBMBs.get(inputURI+b.getID());
                        lbmgs.add(bmg);
                        /* FIXME ANJ Clean this up:
            try{
              this.helper_addBMBSettingsToBMGoal(bmb, bmg);
              lbmgs.add(bmg);
            }
            catch(InvalidInputException e){
              //create an ErrorMessage
                    FacesMessage fmsg = new FacesMessage();
                    if(bmg!=null){
                      fmsg.setSummary("Validation of "+bmg.getName()+" failed");
                      fmsg.setDetail("Validation of "+bmg.getName()+" failed");
                    }
                    else{
                      fmsg.setDetail("source/target value of a given file-Benchmarkgoal is not valid!"+e.toString());
                       fmsg.setSummary("source/target value of a given file-Benchmarkgoal is not valid!");
                    }
                    fmsg.setSeverity(FacesMessage.SEVERITY_ERROR);
                  FacesContext ctx = FacesContext.getCurrentInstance();
                  ctx.addMessage("modelpanel_error",fmsg);
                log.error(e.toString());
                bError2 = true;
            }
            */
          }
         
          mFileBMGs.put(inputURI,lbmgs);
        }
      } catch (Exception e2) {
        //a system exception occurred:
        log.error("Failure within filling FileBenchmarkGoals");
        return "failure";
      }
     
      //if either overall bmgoal evaluation or file bmgoal evaluation caused a validation exception
      if((bError)||(bError2)){
          return "failure";
        }
       
        //4. now write these changes back to the experiment
        Experiment e = expBean.getExperiment();
        log.debug("Exp ID: "+ exp.getEntityID() + " exp: " + e);
       
        exp.getExperimentEvaluation().setEvaluatedExperimentBenchmarkGoals(expBMgoals);
        exp.getExperimentEvaluation().setEvaluatedFileBenchmarkGoals(mFileBMGs);
       
        testbedMan.updateExperiment(exp);
          FacesMessage fmsg = new FacesMessage();
          fmsg.setDetail("Evaluation Data saved successfully!");
          fmsg.setSummary("Evaluation Data saved successfully!");
          fmsg.setSeverity(FacesMessage.SEVERITY_INFO);
          FacesContext ctx = FacesContext.getCurrentInstance();
View Full Code Here

Examples of eu.planets_project.tb.api.TestbedManager

    }

    public String finalizeBMEvaluationAction() {
        // Finalise the experiment:
        ExperimentBean expBean = (ExperimentBean)JSFUtil.getManagedObject("ExperimentBean");
        TestbedManager testbedMan = (TestbedManager) JSFUtil.getManagedObject("TestbedManager");       
        Experiment exp = expBean.getExperiment();
        // First, catch any updates.
        updateBMEvaluationAction();
        exp.getExperimentEvaluation().setState(Experiment.STATE_COMPLETED);
        log.debug("attempting to save finalized evaluation. "+ exp.getExperimentEvaluation().getState());
        testbedMan.updateExperiment(exp);
        log.debug("saved finalized evaluation. "+ exp.getExperimentEvaluation().getState());
        // And report:
        FacesMessage fmsg = new FacesMessage();
        fmsg.setDetail("Evaluation Data finalised!");
        fmsg.setSummary("Evaluation Data finalised!");
View Full Code Here

Examples of eu.planets_project.tb.api.TestbedManager

     * @return "success" upon success.
     */
    private String commandSaveExperiment(int stage ) {
        log.info("Attempting to save this experiment.");
        ExperimentBean expBean = (ExperimentBean)JSFUtil.getManagedObject("ExperimentBean");
        TestbedManager testbedMan = (TestbedManager) JSFUtil.getManagedObject("TestbedManager");
        log.info("commandSaveExperiment: ExpBean: "+expBean.getEname()+" : "+expBean.getEsummary());

        // Always ensure the session Experiment is in the DB:
        ExperimentBean.saveExperimentFromSession(expBean);
       
        // This saves the first three pages in turn, and redirects appropriately if there are any problems.
        String result = null;
        if( stage == 1 ) {
            // Page 1
            result = this.updateBasicPropsAction();
        } else if( stage == 2 ) {
            // Page 2
            result = this.commandSaveStep2Substep2Action();
        } else if( stage == 3 ) {
            // Page 3
            result = this.updateBenchmarksAction();
        } else {
            result = "success";
        }
       
        // Now save any updates, if stage 1 was okay:
        if( stage != 1 || ( stage == 1 && "success".equals(result) ) ) {
            // Now save any updates.
            Experiment exp = expBean.getExperiment();
            log.info("Saving the bean: "+exp.getExperimentSetup().getExperimentTypeID());
            // Commit the changes:
            testbedMan.updateExperiment(exp);
        } else {
            log.warn("Did not save update.");
        }
       
        FacesContext ctx = FacesContext.getCurrentInstance();
View Full Code Here

Examples of eu.planets_project.tb.api.TestbedManager

   * Note: this leads to losing already uploaded input data - warn the user
   * @return
   */
  public String changeAlreadySelectedSerOps(){
    ExperimentBean expBean = (ExperimentBean)JSFUtil.getManagedObject("ExperimentBean");
    TestbedManager testbedMan = (TestbedManager) JSFUtil.getManagedObject("TestbedManager");
        Experiment exp = expBean.getExperiment();
       
        //clear the already added data in the backing bean
    expBean.removeAllExperimentInputData();
    expBean.setOpartionSelectionCompleted(false);
   
    //clear the already added data from the exp. executable
    if(exp.getExperimentExecutable()!=null){
//      exp.getExperimentExecutable().removeAllInputData();
      //this has a constructor which requires the ServiceTemplate to be set.
//      exp.removeExperimentExecutable();
      testbedMan.updateExperiment(exp);
    }
   
        NewExpWizardController.redirectToExpStage(expBean.getID(), 2);
        return "success";
  }
View Full Code Here

Examples of eu.planets_project.tb.api.TestbedManager

        return "";
    }
      
   
      private void autoApproveExperiment(){
        TestbedManager testbedMan = (TestbedManager) JSFUtil.getManagedObject("TestbedManager");
          ExperimentBean expBean = (ExperimentBean)JSFUtil.getManagedObject("ExperimentBean");
        Experiment exp = expBean.getExperiment();
       
        // Approve the experiment, automatically:
        AdminManagerImpl.approveExperimentAutomatically(exp);
 
        // Update the Experiment Bean:
          testbedMan.updateExperiment(exp);
          expBean.setCurrentStage(ExperimentBean.PHASE_EXPERIMENTEXECUTION);
          expBean.setApproved(true);
      }
View Full Code Here

Examples of eu.planets_project.tb.api.TestbedManager

     /**
      *
      * @return
      */
     public void executeExperiment(){
        TestbedManager testbedMan = (TestbedManager) JSFUtil.getManagedObject("TestbedManager");
          ExperimentBean expBean = (ExperimentBean)JSFUtil.getManagedObject("ExperimentBean");
        Experiment exp = expBean.getExperiment();
       
        // NOT if already running.
        if( exp.getExperimentExecutable().isExecutionRunning() ) return;
       
        try {
          //call invocation on the experiment's executable
          testbedMan.executeExperiment(exp);
        } catch (Exception e) {
          log.error("Error when executing Experiment: " + e.toString());
          if( log.isDebugEnabled() ) e.printStackTrace();
        }
            log.info("Status: Invoked = "+exp.getExperimentExecutable().isExecutableInvoked());
            log.info("Status: Invoked = "+exp.getExperimentExecution().isExecutionInvoked());
            exp.getExperimentExecutable().setExecutableInvoked(true);
            exp.getExperimentExecutable().setExecutionCompleted(false);
            // Store any changes:
            testbedMan.updateExperiment(exp);
            log.info("Status: Invoked = "+exp.getExperimentExecutable().isExecutableInvoked());
            log.info("Status: Invoked = "+exp.getExperimentExecution().isExecutionInvoked());
            log.info("Status: Queue = "+exp.getExperimentExecutable().getBatchExecutionIdentifier()
                    + " " + exp.getExperimentExecutable().getBatchSystemIdentifier() );
    }
View Full Code Here

Examples of eu.planets_project.tb.api.TestbedManager

          ret+=pb.getPositionInQueue(job_key);
          return ret;
    }
   
    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

Examples of eu.planets_project.tb.api.TestbedManager

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

          if( exp.getExperimentExecutable() !=  null ) {
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.