Package eu.planets_project.tb.api.model

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


    }
   
    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


    }
   
    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

    /* FIXME ANJ Clean this up:
    try {
    */
      // create bm-goals     
        ExperimentBean expBean = (ExperimentBean)JSFUtil.getManagedObject("ExperimentBean");
      Experiment exp = expBean.getExperiment();
      // create Goal objects from Beans
      List<BenchmarkGoal> bmgoals = new ArrayList<BenchmarkGoal>();
      List<BenchmarkBean> bmbeans = (List<BenchmarkBean>)JSFUtil.getManagedObject("BenchmarkBeans");
     
      if( bmbeans != null ) {
      Iterator<BenchmarkBean> iter = bmbeans.iterator();
      //Iterator iter = expBean.getBenchmarks().values().iterator();     
      while (iter.hasNext()) {
        BenchmarkBean bmb = iter.next();
     
        if (bmb.getSelected()) {

          //We're having an existing bmGoal object to modify
          BenchmarkGoal bmg = exp.getExperimentSetup().getBenchmarkGoal(bmb.getID());
          if(bmg==null){
            //We're adding a new BMGoal from the list
            //method to get a new instance of BenchmarkGoal
            bmg = BenchmarkGoalsHandlerImpl.getInstance().getBenchmarkGoal(bmb.getID());
          }
         
          //update the bmg with the provided bean's data
          /* FIXME ANJ Clean this up
          helper_addBMBSettingsToBMGoal(bmb,bmg);
          */
         
          bmgoals.add(bmg);
          // add to experimentbean benchmarks
          expBean.addBenchmarkBean(bmb);
         
        } else {
          expBean.deleteBenchmarkBean(bmb);
        }
      }
      }
      exp.getExperimentSetup().setBenchmarkGoals(bmgoals);
      ExperimentResources expRes = exp.getExperimentSetup().getExperimentResources();
      if (expRes == null)
        expRes = new ExperimentResourcesImpl();
      expRes.setIntensity(Integer.parseInt(expBean.getIntensity()));
      expRes.setNumberOfOutputFiles(Integer.parseInt(expBean.getNumberOfOutput()));
      exp.getExperimentSetup().setExperimentResources(expRes);
      //testbedMan.updateExperiment(exp);
        //the current stage is 3 as the'save' button is pressed
        expBean.setCurrentStage(ExperimentBean.PHASE_EXPERIMENTSETUP_3);
        exp.getExperimentSetup().setSubStage(ExperimentSetup.SUBSTAGE3);
        return "success";
        /* FIXME ANJ Clean this up
    } catch (InvalidInputException e) {
    log.error(e.toString());
        FacesMessage fmsg = new FacesMessage();
View Full Code Here

    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();
          ctx.addMessage("bmTable",fmsg);       
        return "success";
        } catch (Exception e) {
          log.error("Exception when trying to create/update Evaluations: "+e.toString());
          return "failure";
        }
    }
View Full Code Here

    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!");
        fmsg.setSeverity(FacesMessage.SEVERITY_INFO);
View Full Code Here

     * added files within, hand over the selected ServiceTemplate, etc.
     * @return
     */
    public String commandSaveStep2Substep2Action()  {
      ExperimentBean expBean = (ExperimentBean) JSFUtil.getManagedObject("ExperimentBean");
        Experiment exp = expBean.getExperiment();

        // modify the experiment's stage information
        exp.getExperimentSetup().setState(Experiment.STATE_IN_PROGRESS);
        exp.setState(Experiment.STATE_IN_PROGRESS);
        // testbedMan.updateExperiment(exp);

        // Default state, staying on this stage unless success is maintained:
        exp.getExperimentSetup().setSubStage(ExperimentSetup.SUBSTAGE2);
        String result  ="success";
       
        // Verify that there is at least on DO:
        log.info("Checking for digital objects...");
        if( exp.getExperimentExecutable().getInputData().size() == 0 ) {
            FacesMessage fmsg = new FacesMessage();
            fmsg.setSummary("No input files specified!");
            fmsg.setDetail("You must specify at least one Digital Object to experiment upon.");
            fmsg.setSeverity(FacesMessage.SEVERITY_ERROR);
            FacesContext ctx = FacesContext.getCurrentInstance();
            ctx.addMessage("addedFileInfoPanel",fmsg);
            log.info("Not enough digital objects.");
            result = "failure";
        }
       
        // Verify that the experiment type is set:
        log.info("Checking that the experiment type is set.");
        if( exp.getExperimentSetup().getExperimentTypeID() == null
                || "".equals(exp.getExperimentSetup().getExperimentTypeID()) ) {
            FacesMessage fmsg = new FacesMessage();
            fmsg.setSummary("No experiment type set!");
            fmsg.setDetail("Please choose an experiment type.");
            fmsg.setSeverity(FacesMessage.SEVERITY_ERROR);
            FacesContext ctx = FacesContext.getCurrentInstance();
            ctx.addMessage("etype",fmsg);
            log.info("Not set the type.");
            result = "failure";
        }
       
        // Verify that the experiment is configured correctly...
       
        // Get the workflow, to force the workflow to be configured based on the parameters.
        String exType = exp.getExperimentSetup().getExperimentTypeID();
        try {
            log.info("Setting experiment type to:" + exType);
            exp.getExperimentExecutable().setWorkflowType(exType);
           
            //Additional data for all workflows using the wee - store step2 wf_configuration here
            ExpTypeBackingBean exptype = ExpTypeBackingBean.getExpTypeBean(exType);
            exptype.saveExpTypeBean_Step2_WorkflowConfiguration_ToDBModel();
            exptype.checkExpTypeBean_Step2_WorkflowConfigurationOK();
             
        } catch( Exception e ) {
            FacesMessage fmsg = new FacesMessage();
            fmsg.setSummary("There was an error when configuring your experiment workflow:  "+e.getMessage());
            fmsg.setDetail("ERROR: " + e );
            fmsg.setSeverity(FacesMessage.SEVERITY_ERROR);
            FacesContext ctx = FacesContext.getCurrentInstance();
            ctx.addMessage("etype",fmsg);
            result = "failed";
            log.info("Experiment configuration error: "+e);
            e.printStackTrace();
        }
       
        // Warn if experiment will require approval.
        if( AdminManagerImpl.experimentRequiresApproval(exp) ) {
            FacesMessage fmsg = new FacesMessage();
            fmsg.setSummary("Experiments this big require approval by an administrator.");
            fmsg.setDetail(fmsg.getSummary());
            fmsg.setSeverity(FacesMessage.SEVERITY_WARN);
            FacesContext ctx = FacesContext.getCurrentInstance();
            ctx.addMessage("etype",fmsg);
        }

        if( "success".equals(result)) {
            exp.getExperimentSetup().setSubStage(ExperimentSetup.SUBSTAGE3);
        }
        return result;
    }
View Full Code Here

        }
       
        // 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.");
        }
View Full Code Here

     */
    public static String commandSaveExperimentAs( ExperimentBean oldExpBean ) {
        log.info("Attempting to save this experiment as a new experiment.");
       
        // Create a deep copy via the XML serialisation system:
        Experiment exp = ExperimentViaJAXB.deepCopy( (ExperimentImpl)oldExpBean.getExperiment() );
        if( exp == null ) return "failure";
       
        // Modify Start Date and name
        exp.setStartDate( Calendar.getInstance() );
        try {
            exp.getExperimentSetup().getBasicProperties().setExperimentName(
                exp.getExperimentSetup().getBasicProperties().getExperimentName() + " (copy)" );
        } catch (InvalidInputException e) {
            e.printStackTrace();
        }
       
        // Clear out the results:
        ExperimentExecutableImpl.clearExecutionRecords( (ExperimentExecutableImpl) exp.getExperimentExecutable() );
        ExperimentEvaluationImpl.clearExperimentEvaluationRecords((ExperimentEvaluationImpl)exp.getExperimentEvaluation());
       
        // Pair back to the 'editor' stage.
        ExperimentImpl.resetToApprovedStage(exp);
        ExperimentImpl.resetToEditingStage(exp);
       
        // Make the current user the owner:
        UserBean user = (UserBean)JSFUtil.getManagedObject("UserBean");
        if( user != null ) {
            BasicProperties props = exp.getExperimentSetup().getBasicProperties();
            props.setExperimenter(user.getUserid());
            props.setContact(user.getFullname(), user.getEmail(), user.getTelephone(), user.getAddress());
        }

        // Place new experiment bean into session:
View Full Code Here

    }
   
   
    public boolean isExecutionSuccess(){
      ExperimentBean expBean = (ExperimentBean)JSFUtil.getManagedObject("ExperimentBean");
      Experiment exp = expBean.getExperiment();    
      if(exp.getExperimentExecutable()!=null){
        return exp.getExperimentExecutable().isExecutionSuccess();
      }
      return false;
    }
View Full Code Here

   * @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);
    }
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.