Package it.eng.spagobi.tools.scheduler.to

Examples of it.eng.spagobi.tools.scheduler.to.JobInfo


   * @param jobDetSB the job det sb
   *
   * @return the job info from job source bean
   */
  public static JobInfo getJobInfoFromJobSourceBean(SourceBean jobDetSB) {
    JobInfo jobInfo = new JobInfo();
    try{
      List biobjects = new ArrayList();
      String jobNameRecovered = (String)jobDetSB.getAttribute("jobName");
      String jobDescriptionRecovered = (String)jobDetSB.getAttribute("jobDescription");
      String jobGroupNameRecovered = (String)jobDetSB.getAttribute("jobGroupName");
      jobInfo.setJobName(jobNameRecovered);
      jobInfo.setJobDescription(jobDescriptionRecovered);
      jobInfo.setJobGroupName(jobGroupNameRecovered);
      // set all documents and parameters
      SourceBean jobParSB = (SourceBean)jobDetSB.getAttribute("JOB_PARAMETERS");
      if(jobParSB!=null) {
        IBIObjectDAO biobjdao = DAOFactory.getBIObjectDAO();
        IBIObjectParameterDAO biobjpardao = DAOFactory.getBIObjectParameterDAO();
        SourceBean docLblSB = (SourceBean)jobParSB.getFilteredSourceBeanAttribute("JOB_PARAMETER", "name", "documentLabels");
        String docLblStr = (String)docLblSB.getAttribute("value");
        String[] docLbls = docLblStr.split(",");
        for(int i=0; i<docLbls.length; i++) {
          //BIObject biobj = biobjdao.loadBIObjectByLabel(docLbls[i]);
          BIObject biobj = biobjdao.loadBIObjectByLabel(docLbls[i].substring(0, docLbls[i].indexOf("__")));
          List biobjpars = biobjpardao.loadBIObjectParametersById(biobj.getId());
          biobj.setBiObjectParameters(biobjpars);
          String biobjlbl = biobj.getLabel() + "__" + (i+1);
          SourceBean queryStringSB = (SourceBean)jobParSB.getFilteredSourceBeanAttribute("JOB_PARAMETER", "name", biobjlbl);
          SourceBean iterativeSB = (SourceBean)jobParSB.getFilteredSourceBeanAttribute("JOB_PARAMETER", "name", biobjlbl + "_iterative");
          List iterativeParameters = new ArrayList();
          if (iterativeSB != null) {
            String iterativeParametersStr = (String) iterativeSB.getAttribute("value");
            String[] iterativeParametersArray = iterativeParametersStr.split(";");
            iterativeParameters.addAll(Arrays.asList(iterativeParametersArray));
          }
          SourceBean loadAtRuntimeSB = (SourceBean)jobParSB.getFilteredSourceBeanAttribute("JOB_PARAMETER", "name", biobjlbl + "_loadAtRuntime");
          Map<String, String> loadAtRuntimeParameters = new HashMap<String, String>();
          if (loadAtRuntimeSB != null) {
            String loadAtRuntimeStr = (String) loadAtRuntimeSB.getAttribute("value");
            String[] loadAtRuntimeArray = loadAtRuntimeStr.split(";");
            for (int count = 0; count < loadAtRuntimeArray.length; count++) {
              String loadAtRuntime = loadAtRuntimeArray[count];
              int parameterUrlNameIndex = loadAtRuntime.lastIndexOf("(");
              String parameterUrlName = loadAtRuntime.substring(0, parameterUrlNameIndex);
              String userAndRole = loadAtRuntime.substring(parameterUrlNameIndex + 1, loadAtRuntime.length() - 1);
              loadAtRuntimeParameters.put(parameterUrlName, userAndRole);
            }
          }
          SourceBean useFormulaSB = (SourceBean)jobParSB.getFilteredSourceBeanAttribute("JOB_PARAMETER", "name", biobjlbl + "_useFormula");
          Map<String, String> useFormulaParameters = new HashMap<String, String>();
          if (useFormulaSB != null) {
            String useFormulaStr = (String) useFormulaSB.getAttribute("value");
            String[] useFormulaArray = useFormulaStr.split(";");
            for (int count = 0; count < useFormulaArray.length; count++) {
              String useFormula = useFormulaArray[count];
              int parameterUrlNameIndex = useFormula.lastIndexOf("(");
              String parameterUrlName = useFormula.substring(0, parameterUrlNameIndex);
              String fName = useFormula.substring(parameterUrlNameIndex + 1, useFormula.length() - 1);
              useFormulaParameters.put(parameterUrlName, fName);
            }
          }
         
          String queryString = (String)queryStringSB.getAttribute("value");
          String[] parCouples = queryString.split("%26");
          Iterator iterbiobjpar = biobjpars.iterator();
          while(iterbiobjpar.hasNext()) {
            BIObjectParameter biobjpar = (BIObjectParameter)iterbiobjpar.next();
            if (iterativeParameters.contains(biobjpar.getParameterUrlName())) {
              biobjpar.setIterative(true);
            } else {
              biobjpar.setIterative(false);
            }
            if (loadAtRuntimeParameters.containsKey(biobjpar.getParameterUrlName())) {
              RuntimeLoadingParameterValuesRetriever strategy = new RuntimeLoadingParameterValuesRetriever();
              String userRoleStr = loadAtRuntimeParameters.get(biobjpar.getParameterUrlName());
              String[] userRole = userRoleStr.split("\\|");
              strategy.setUserIndentifierToBeUsed(userRole[0]);
              strategy.setRoleToBeUsed(userRole[1]);
              biobjpar.setParameterValuesRetriever(strategy);
            } else if (useFormulaParameters.containsKey(biobjpar.getParameterUrlName())) {
              FormulaParameterValuesRetriever strategy = new FormulaParameterValuesRetriever();
              String fName = useFormulaParameters.get(biobjpar.getParameterUrlName());
              Formula f = Formula.getFormula(fName);
              strategy.setFormula(f);
              biobjpar.setParameterValuesRetriever(strategy);
            } else {
              for(int j=0; j<parCouples.length; j++) {
                String parCouple = parCouples[j];
                String[] parDef = parCouple.split("=");
                if(biobjpar.getParameterUrlName().equals(parDef[0])){
                  String parameterValues = parDef[1];
                  String[] valuesArr = parameterValues.split(";");
                  List values = Arrays.asList(valuesArr);
                  biobjpar.setParameterValues(values);
                  break;
                }
              }
            }
          }
          // calculate parameter
          biobjects.add(biobj);
        }
        jobInfo.setBiobjects(biobjects);
      }
    } catch (Exception e) {
      SpagoBITracer.major(SpagoBIConstants.NAME_MODULE, SchedulerUtilities.class.getName(),
                      "getJobInfoFromJobSourceBean", "Error while extracting job info from xml", e);
    }
View Full Code Here


    tInfo.setStartTime(starttime);
    tInfo.setChronString(chronstring);
    tInfo.setTriggerDescription(triggerDescription);
    tInfo.setTriggerName(triggername);
   
    JobInfo jInfo = SchedulerUtilities.getJobInfoFromJobSourceBean(jobDetSB);
    tInfo.setJobInfo(jInfo);
   
    Map saveOptions = new HashMap();
    List biobjIds = jInfo.getBiobjectIds();
    Iterator iterBiobjIds = biobjIds.iterator();
    int index = 0;
    while(iterBiobjIds.hasNext()) {
      index ++;
      SaveInfo sInfo = new SaveInfo();
View Full Code Here

      SessionContainer sessCont = reqCont.getSessionContainer();
      SessionContainer permSess = sessCont.getPermanentContainer();
      IEngUserProfile profile = (IEngUserProfile)permSess.getAttribute(IEngUserProfile.ENG_USER_PROFILE);
        SchedulerServiceSupplier schedulerService=new SchedulerServiceSupplier();
      TriggerInfo triggerInfo = (TriggerInfo)sessCont.getAttribute(SpagoBIConstants.TRIGGER_INFO);
      JobInfo jobInfo = triggerInfo.getJobInfo();
      String jobName = jobInfo.getJobName();
      String jobGroupName = jobInfo.getJobGroupName();
      String triggername = (String)request.getAttribute("triggername")
      String triggerDescription  = (String)request.getAttribute("triggerdescription")
      String startdate  = (String)request.getAttribute("startdate")
      String starttime = (String)request.getAttribute("starttime")
      String chronstr = (String)request.getAttribute("chronstring");
      String enddate = (String)request.getAttribute("enddate")
      String endtime = (String)request.getAttribute("endtime")
      String repeatinterval = (String)request.getAttribute("repeatInterval");
      triggerInfo.setEndDate(enddate);
      triggerInfo.setEndTime(endtime);
      triggerInfo.setRepeatInterval(repeatinterval);
      triggerInfo.setStartDate(startdate);
      triggerInfo.setStartTime(starttime);
      triggerInfo.setChronString(chronstr);
      triggerInfo.setTriggerDescription(triggerDescription);
      triggerInfo.setTriggerName(triggername);

      Map saveOptions = new HashMap();
      List biobjIds = jobInfo.getBiobjectIds();
      Iterator iterBiobjIds = biobjIds.iterator();
      int index = 0;
      while(iterBiobjIds.hasNext()){
        index ++;
        SaveInfo sInfo = new SaveInfo();
View Full Code Here

      String jobGroupName = (String)request.getAttribute("jobGroupName");
      TriggerInfo ti = new TriggerInfo();
      String respStr = schedulerService.getJobDefinition(jobName, jobGroupName);
            SourceBean jobDetailSB = SchedulerUtilities.getSBFromWebServiceResponse(respStr);     
      if(jobDetailSB!=null) {
        JobInfo jobInfo = SchedulerUtilities.getJobInfoFromJobSourceBean(jobDetailSB);
        ti.setJobInfo(jobInfo);
        Map saveOptions = new HashMap();
        List biobjids = jobInfo.getBiobjectIds();
        Iterator iterbiobjids = biobjids.iterator();
        int index = 0;
        while(iterbiobjids.hasNext()) {
          index ++;
          Integer idobj = (Integer)iterbiobjids.next();
View Full Code Here

 
 
 
  private StringBuffer createMessageSaveSchedulation(TriggerInfo tInfo, boolean runImmediately,IEngUserProfile profile) throws EMFUserError {
    StringBuffer message = new StringBuffer();
    JobInfo jInfo = tInfo.getJobInfo();
    Map saveOptions = tInfo.getSaveOptions();
    Set biobjids_so =  saveOptions.keySet();
    Iterator iterbiobjids_s = biobjids_so.iterator();
   
    message.append("<SERVICE_REQUEST ");
   
    message.append(" jobName=\""+jInfo.getJobName()+"\" ");
   
    message.append(" jobGroup=\""+jInfo.getJobGroupName()+"\" ");
    if(runImmediately) {
      message.append(" runImmediately=\"true\" ");
    } else {
      message.append(" triggerName=\""+tInfo.getTriggerName()+"\" ");
     
      message.append(" triggerDescription=\""+tInfo.getTriggerDescription()+"\" ");
      message.append(" startDate=\""+tInfo.getStartDate()+"\" ");
     
      message.append(" startTime=\""+tInfo.getStartTime()+"\" ");
     
      message.append(" chronString=\""+tInfo.getChronString()+"\" ");
     
      String enddate = tInfo.getEndDate();
      String endtime = tInfo.getEndTime();
      if(!enddate.trim().equals("")){
        message.append(" endDate=\""+enddate+"\" ");
       
        if(!endtime.trim().equals("")){
          message.append(" endTime=\""+endtime+"\" ");
         
        }
      }
    }
    String repeatinterval = tInfo.getRepeatInterval();
    if(!repeatinterval.trim().equals("")){
      message.append(" repeatInterval=\""+repeatinterval+"\" ");
     
   
    message.append(">");
   
   
   
    message.append("   <PARAMETERS>");
    while(iterbiobjids_s.hasNext()) {
      String biobjidstr_so =  (String)iterbiobjids_s.next();
    //  Integer biobjid_so = Integer.valueOf(biobjidstr_so.substring(0, biobjidstr_so.lastIndexOf("__")));
      SaveInfo sInfo = (SaveInfo)saveOptions.get(biobjidstr_so);
      String saveOptString = "";
      if(sInfo.isSaveAsSnapshot()) {
        saveOptString += "saveassnapshot=true%26";
        if( (sInfo.getSnapshotName()!=null) && !sInfo.getSnapshotName().trim().equals("") ) {
          saveOptString += "snapshotname="+sInfo.getSnapshotName()+"%26";
        }
        if( (sInfo.getSnapshotDescription()!=null) && !sInfo.getSnapshotDescription().trim().equals("") ) {
          saveOptString += "snapshotdescription="+sInfo.getSnapshotDescription()+"%26";
        }
        if( (sInfo.getSnapshotHistoryLength()!=null) && !sInfo.getSnapshotHistoryLength().trim().equals("") ) {
          saveOptString += "snapshothistorylength="+sInfo.getSnapshotHistoryLength()+"%26";
        }
      }
      if(sInfo.isSendToJavaClass()) {
        saveOptString += "sendtojavaclass=true%26";
        if( (sInfo.getJavaClassPath()!=null) && !sInfo.getJavaClassPath().trim().equals("") ) {
          saveOptString += "javaclasspath="+sInfo.getJavaClassPath()+"%26";
        }
      }     
      if(sInfo.isSaveAsDocument()) {
        saveOptString += "saveasdocument=true%26";
        if( (sInfo.getDocumentName()!=null) && !sInfo.getDocumentName().trim().equals("") ) {
          saveOptString += "documentname="+sInfo.getDocumentName()+"%26";
        }
        if( (sInfo.getDocumentDescription()!=null) && !sInfo.getDocumentDescription().trim().equals("") ) {
          saveOptString += "documentdescription="+sInfo.getDocumentDescription()+"%26";
        }
        if(sInfo.isUseFixedFolder() && sInfo.getFoldersTo() != null && !sInfo.getFoldersTo().trim().equals("")) {
          saveOptString += "foldersTo="+sInfo.getFoldersTo()+"%26";
        }
        if(sInfo.isUseFolderDataSet() && sInfo.getDataSetFolderLabel() != null && !sInfo.getDataSetFolderLabel().trim().equals("")) {
          saveOptString += "datasetFolderLabel="+sInfo.getDataSetFolderLabel()+"%26";
          if (sInfo.getDataSetFolderParameterLabel() != null && !sInfo.getDataSetFolderParameterLabel().trim().equals("")) {
            saveOptString += "datasetFolderParameterLabel="+sInfo.getDataSetFolderParameterLabel()+"%26";
          }
        }
        if( (sInfo.getDocumentHistoryLength()!=null) && !sInfo.getDocumentHistoryLength().trim().equals("") ) {
          saveOptString += "documenthistorylength="+sInfo.getDocumentHistoryLength()+"%26";
        }
        if( (sInfo.getFunctionalityIds()!=null) && !sInfo.getFunctionalityIds().trim().equals("") ) {
          saveOptString += "functionalityids="+sInfo.getFunctionalityIds()+"%26";
        }
      }
      if(sInfo.isSendMail()) {
        saveOptString += "sendmail=true%26";
        if(sInfo.isUseFixedRecipients() && sInfo.getMailTos() != null && !sInfo.getMailTos().trim().equals("")) {
          saveOptString += "mailtos="+sInfo.getMailTos()+"%26";
        }
        if(sInfo.isUseDataSet() && sInfo.getDataSetLabel() != null && !sInfo.getDataSetLabel().trim().equals("")) {
          saveOptString += "datasetLabel="+sInfo.getDataSetLabel()+"%26";
          if (sInfo.getDataSetParameterLabel() != null && !sInfo.getDataSetParameterLabel().trim().equals("")) {
            saveOptString += "datasetParameterLabel="+sInfo.getDataSetParameterLabel()+"%26";
          }
        }
        if(sInfo.isUseExpression() && sInfo.getExpression() != null && !sInfo.getExpression().trim().equals("")) {
          saveOptString += "expression="+sInfo.getExpression()+"%26";
        }
        if( (sInfo.getMailSubj()!=null) && !sInfo.getMailSubj().trim().equals("") ) {
          saveOptString += "mailsubj="+sInfo.getMailSubj()+"%26";
        }
        if( (sInfo.getMailTxt()!=null) && !sInfo.getMailTxt().trim().equals("") ) {
          saveOptString += "mailtxt="+sInfo.getMailTxt()+"%26";
        }
      }
      if(sInfo.isSendToDl()) {
        String xml = "";
        if(!runImmediately){
          xml += "<SCHEDULE ";
          xml += " jobName=\""+jInfo.getJobName()+"\" ";         
          xml += " triggerName=\""+tInfo.getTriggerName()+"\" ";         
          xml += " startDate=\""+tInfo.getStartDate()+"\" ";         
          xml += " startTime=\""+tInfo.getStartTime()+"\" ";         
          xml += " chronString=\""+tInfo.getChronString()+"\" ";
          String enddate = tInfo.getEndDate();
          String endtime = tInfo.getEndTime();
          if(!enddate.trim().equals("")){
            xml += " endDate=\""+enddate+"\" ";
            if(!endtime.trim().equals("")){
              xml += " endTime=\""+endtime+"\" ";
            }
          }     
          if(!repeatinterval.trim().equals("")){
            xml += " repeatInterval=\""+repeatinterval+"\" ";
         
          xml += ">";
         
          String params = "<PARAMETERS>";
         
          List biObjects = jInfo.getBiobjects();
          Iterator iterbiobj = biObjects.iterator();
          int index = 0;
          while (iterbiobj.hasNext()){
            index ++;
            BIObject biobj = (BIObject)iterbiobj.next();
View Full Code Here

 
 
  private void newJob(SourceBean request, SourceBean response) throws EMFUserError {
    try {
      List functionalities = DAOFactory.getLowFunctionalityDAO().loadAllLowFunctionalities(true);
      JobInfo jobInfo = new JobInfo();
      jobInfo.setSchedulerAdminstratorIdentifier(profile.getUserUniqueIdentifier().toString());
      response.setAttribute(SpagoBIConstants.FUNCTIONALITIES_LIST, functionalities);
      sessCont.setAttribute(SpagoBIConstants.JOB_INFO, jobInfo);
      response.setAttribute(SpagoBIConstants.PUBLISHER_NAME, "JobDetail");
    } catch (Exception ex) {
      logger.error("Error while recovering objects for scheduling", ex);
View Full Code Here

  }
 
  private void ignoreWarning(SourceBean request, SourceBean response) throws EMFUserError {
    logger.debug("IN");
    try {
      JobInfo jobInfo = (JobInfo) sessCont.getAttribute(SpagoBIConstants.JOB_INFO);
      saveJob(jobInfo);
      response.setAttribute(SpagoBIConstants.PUBLISHER_NAME, "ReturnToJobList")
    } catch (Exception ex) {
      logger.error("Error while recovering objects for scheduling", ex);
      throw new EMFUserError(EMFErrorSeverity.ERROR, "errors.1001", "component_scheduler_messages");
View Full Code Here

 
  private void documentSelected(SourceBean request, SourceBean response) throws EMFUserError {
    try {
      List functionalities = DAOFactory.getLowFunctionalityDAO().loadAllLowFunctionalities(true);
      // get hob information from session
      JobInfo jobInfo = (JobInfo)sessCont.getAttribute(SpagoBIConstants.JOB_INFO);
      // recover generic data
      getJobGenericDataFromRequest(request, jobInfo);
      // recover parameter values
      getDocParValuesFromRequest(request, jobInfo);
      // get the list of biobject previously setted
      List biobjects = jobInfo.getBiobjects();
      // get the list of biobject id previously setted
      List biobjIds = jobInfo.getBiobjectIds();
      // create the list of new biobject selected
      List biobj_sel_now = new ArrayList();
        // get the list of biobject id from the request
      String sel_biobj_ids_str = (String)request.getAttribute("selected_biobject_ids");
      if (sel_biobj_ids_str.equals(""))
        biobj_sel_now = new ArrayList();
      else{
        String[] sel_biobj_ids_arr = sel_biobj_ids_str.split(",");
        List biobjIdsFromRequest = Arrays.asList(sel_biobj_ids_arr);
        // update the job information
        Iterator iterBiobjIdsFromRequest = biobjIdsFromRequest.iterator();   
        while(iterBiobjIdsFromRequest.hasNext()) {         
          String biobjidStr = (String)iterBiobjIdsFromRequest.next();
          Integer biobjInt = Integer.valueOf(biobjidStr.substring(0, biobjidStr.lastIndexOf("__")));
          //adds new documents
          if(!biobjIds.contains(biobjInt)) {
            Integer biobjid = new Integer(biobjidStr.substring(0, biobjidStr.lastIndexOf("__")));
            IBIObjectDAO biobjectDAO = DAOFactory.getBIObjectDAO();
            IBIObjectParameterDAO ibiobjpardao = DAOFactory.getBIObjectParameterDAO();
            BIObject biobj = biobjectDAO.loadBIObjectById(biobjid);
            List bipars = ibiobjpardao.loadBIObjectParametersById(biobjid);
            biobj.setBiObjectParameters(bipars);
            biobj_sel_now.add(biobj);
          } else {
            Iterator iter_prev_biobj = biobjects.iterator();
            int index = 0;
            boolean flgExists = false;
            //preserves documents already existing
            while(iter_prev_biobj.hasNext()){
              index ++;
              BIObject biobj = (BIObject)iter_prev_biobj.next();
              String tmpID = biobj.getId().toString()+"__"+index;
              if(tmpID.equals(biobjidStr)) {
                biobj_sel_now.add(biobj);
                flgExists = true;
                continue;
              }
            }
            //adds new copy of document already existing
            if (!flgExists){
              Integer biobjid = new Integer(biobjidStr.substring(0, biobjidStr.lastIndexOf("__")));
              IBIObjectDAO biobjectDAO = DAOFactory.getBIObjectDAO();
              IBIObjectParameterDAO ibiobjpardao = DAOFactory.getBIObjectParameterDAO();
              BIObject biobj = biobjectDAO.loadBIObjectById(biobjid);
              List bipars = ibiobjpardao.loadBIObjectParametersById(biobjid);
              biobj.setBiObjectParameters(bipars);
              biobj_sel_now.add(biobj);
            }             
          }
        }
      }
      jobInfo.setBiobjects(biobj_sel_now);
      sessCont.setAttribute(SpagoBIConstants.JOB_INFO, jobInfo);
      response.setAttribute(SpagoBIConstants.FUNCTIONALITIES_LIST, functionalities);
      response.setAttribute(SpagoBIConstants.PUBLISHER_NAME, "JobDetail");
    } catch (Exception ex) {
      logger.error("Error while selecting documents", ex);
View Full Code Here

 
 
  private void saveJob(SourceBean request, SourceBean response) throws EMFUserError {
    try {
      // get job information from session
      JobInfo jobInfo = (JobInfo)sessCont.getAttribute(SpagoBIConstants.JOB_INFO);
      // recover generic data
      getJobGenericDataFromRequest(request, jobInfo);
      // recover parameter values
      getDocParValuesFromRequest(request, jobInfo);
      // check for input validation errors
      if(!this.getErrorHandler().isOKByCategory(EMFErrorCategory.VALIDATION_ERROR)) {
        List functionalities = DAOFactory.getLowFunctionalityDAO().loadAllLowFunctionalities(true);
        response.setAttribute(SpagoBIConstants.FUNCTIONALITIES_LIST, functionalities);
        response.setAttribute(SpagoBIConstants.PUBLISHER_NAME, "JobDetail");
        return;
      }
     
      boolean warningNeeded = false;
      Map documents = new HashMap();
      List biobjs = jobInfo.getBiobjects();
      Iterator iterbiobj = biobjs.iterator();
      float totalCombinations = 0;
      while(iterbiobj.hasNext()) {
        BIObject biobj = (BIObject)iterbiobj.next();
        float combinations = calculateCombinations(biobj);
View Full Code Here

      String jobGroupName = (String)request.getAttribute("jobGroupName");
          // call we service
      String respStr = schedulerService.getJobDefinition(jobName, jobGroupName);
            SourceBean jobDetailSB = SchedulerUtilities.getSBFromWebServiceResponse(respStr);
      if(jobDetailSB!=null) {
        JobInfo jobInfo = SchedulerUtilities.getJobInfoFromJobSourceBean(jobDetailSB);
        sessCont.setAttribute(SpagoBIConstants.JOB_INFO, jobInfo);
      } else {
        throw new Exception("Detail not recovered for job " + jobName);
      }
      // fill response
View Full Code Here

TOP

Related Classes of it.eng.spagobi.tools.scheduler.to.JobInfo

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.