Package it.eng.spagobi.analiticalmodel.document.handlers

Examples of it.eng.spagobi.analiticalmodel.document.handlers.ExecutionController


    // par1=val1&par2=val2... for parameters already set in scheduled activity's configuration
    String inputParametersQueryString;
   
    IBIObjectDAO biobjdao;
    BIObject biobj;
    ExecutionController executionController;
    ExecutionProxy executionProxy;
    EventsManager eventManager;
   
    logger.debug("IN");
   
    try {
      profile = UserProfile.createSchedulerUserProfile();
      jobDataMap = jobExecutionContext.getMergedJobDataMap();
      biobjdao = DAOFactory.getBIObjectDAO();
     
      String doclabelsConcat = jobDataMap.getString("documentLabels");
      String[] docLabels = doclabelsConcat.split(",");
      Iterator itr = jobDataMap.keySet().iterator();
      while(itr.hasNext()) {
        Object key = itr.next();
        Object value = jobDataMap.get(key);
        logger.debug("jobDataMap parameter [" + key + "] is equal to [" + value + "]");
      }
     
      long startSchedule = System.currentTimeMillis();
      logger.debug("Scheduled activity contains [" + docLabels.length + "] documnt(s)");

      for(int ind = 0; ind < docLabels.length; ind++) {
        documentInstanceName = docLabels[ind];
        documentLabel = documentInstanceName.substring(0, documentInstanceName.lastIndexOf("__"));
        logger.debug("Processing document [" + (ind+1) + "] with label [" + documentLabel + "] ...");
       
        inputParametersQueryString = jobDataMap.getString(documentInstanceName);
        logger.debug("Input parameters query string for documet [" + documentLabel + "] is equal to [" + inputParametersQueryString + "]");
       
        // load bidocument
        biobj = biobjdao.loadBIObjectByLabel(documentLabel);
       
        // get the save options
        String saveOptString = jobDataMap.getString("biobject_id_" + biobj.getId() + "__"+ (ind+1));
        SaveInfo saveInfo = SchedulerUtilities.fromSaveInfoString(saveOptString);
       
        // create the execution controller
        executionController = new ExecutionController();
        executionController.setBiObject(biobj);
       
        // fill parameters
        executionController.refreshParameters(biobj, inputParametersQueryString);

        String iterativeParametersString = jobDataMap.getString(documentInstanceName + "_iterative");
        logger.debug("Iterative parameter configuration for documet [" + documentLabel + "] is equal to [" + iterativeParametersString + "]");
        setIterativeParameters(biobj, iterativeParametersString);
       
        String loadAtRuntimeParametersString = jobDataMap.getString(documentInstanceName + "_loadAtRuntime");
        logger.debug("Runtime parameter configuration for documet [" + documentLabel + "] is equal to [" + loadAtRuntimeParametersString + "]");
        setLoadAtRuntimeParameters(biobj, loadAtRuntimeParametersString);
       
        String useFormulaParametersString = jobDataMap.getString(documentInstanceName + "_useFormula");
        logger.debug("Formuula based parameter configuration for documet [" + documentLabel + "] is equal to [" + useFormulaParametersString + "]");
        setUseFormulaParameters(biobj, useFormulaParametersString);

        retrieveParametersValues(biobj);

        //gets the dataset data about the email address
        IDataStore emailDispatchDataStore = null;
        if (saveInfo.isUseDataSet()) {
          IDataSet dataSet = DAOFactory.getDataSetDAO().loadActiveDataSetByLabel(saveInfo.getDataSetLabel());
          dataSet.setUserProfileAttributes(UserProfileUtils.getProfileAttributes(profile));
          dataSet.loadData();
          emailDispatchDataStore = dataSet.getDataStore();
        }
        //gets the dataset data about the folder for the document save
        IDataStore folderDispatchDataSotre = null;
        if (saveInfo.isUseFolderDataSet()) {
          IDataSet dataSet = DAOFactory.getDataSetDAO().loadActiveDataSetByLabel(saveInfo.getDataSetFolderLabel());
            dataSet.setUserProfileAttributes(UserProfileUtils.getProfileAttributes(profile));
          dataSet.loadData();
           folderDispatchDataSotre = dataSet.getDataStore();
        }
       
        eventManager = EventsManager.getInstance();
        List roles = DAOFactory.getBIObjectDAO().getCorrectRolesForExecution(biobj.getId());
       
        String startExecMsg = "${scheduler.startexecsched} " + biobj.getName()
        Integer idEvent = eventManager.registerEvent("Scheduler", startExecMsg, "", roles);

       
        Map tempParMap = new HashMap();
        BIObjectParametersIterator objectParametersIterator = new BIObjectParametersIterator(biobj.getBiObjectParameters());
        while (objectParametersIterator.hasNext()) {
          List parameters = (List) objectParametersIterator.next();
          biobj.setBiObjectParameters(parameters);
       

          StringBuffer toBeAppendedToName = new StringBuffer();
          StringBuffer toBeAppendedToDescription = new StringBuffer(" [");
          Iterator parametersIt = parameters.iterator();
          while (parametersIt.hasNext()) {
           
            BIObjectParameter aParameter = (BIObjectParameter) parametersIt.next();
           
            tempParMap.put(aParameter.getParameterUrlName(), aParameter.getParameterValuesAsString());
            if (aParameter.isIterative()) {
              toBeAppendedToName.append("_" + aParameter.getParameterValuesAsString());
              toBeAppendedToDescription.append(aParameter.getLabel() + ":" + aParameter.getParameterValuesAsString() + "; ");
            }
          }
          // if there are no iterative parameters, toBeAppendedToDescription is " [" and must be cleaned
          if (toBeAppendedToDescription.length() == 2) {
            toBeAppendedToDescription.delete(0, 2);
          } else {
            // toBeAppendedToDescription ends with "; " and must be cleaned
            toBeAppendedToDescription.delete(toBeAppendedToDescription.length() - 2, toBeAppendedToDescription.length());
            toBeAppendedToDescription.append("]");
          }

          // appending the current date
          Date date = new Date();
          SimpleDateFormat sdf = new SimpleDateFormat();
          sdf.applyPattern("dd:MM:yyyy");
          String dateStr = sdf.format(date);
          toBeAppendedToName.append("_" + dateStr);
         
         

          //check parameters value: if a parameter hasn't value but isn't mandatory the process
          //must go on and so hasValidValue is set to true
          List tmpBIObjectParameters = biobj.getBiObjectParameters();
          Iterator it = tmpBIObjectParameters.iterator();
          while (it.hasNext()){
            boolean isMandatory = false;
            BIObjectParameter aBIObjectParameter = (BIObjectParameter)it.next();
            List checks = aBIObjectParameter.getParameter().getChecks();
            if (checks != null && !checks.isEmpty()) {
              Iterator checksIt = checks.iterator();
              while (checksIt.hasNext()) {
                Check check = (Check) checksIt.next();
                if (check.getValueTypeCd().equalsIgnoreCase("MANDATORY")) {
                  isMandatory = true;
                  break;
                }
              }
            }
            if (!isMandatory &&
                (aBIObjectParameter.getParameterValues() == null  || aBIObjectParameter.getParameterValues().size() == 0)) {
              aBIObjectParameter.setParameterValues(new ArrayList());
              aBIObjectParameter.setHasValidValues(true);
            }
          }


          // exec the document only if all its parameter are filled
          if(executionController.directExecution()) {
           
            logger.debug("Save as snapshot is eual to [" + saveInfo.isSaveAsSnapshot() + "]");
            logger.debug("Dispatch to a distribution list is eual to [" + saveInfo.isSendToDl() + "]");
            logger.debug("Dispatch to a java class is eual to [" + saveInfo.isSendToJavaClass() + "]");
            logger.debug("Dispatch by mail-list is eual to [" + saveInfo.isSendMail() + "]");
View Full Code Here


        biobj = biobjdao.loadBIObjectByLabel(objLabel);
      } else {
        biobj = biobjdao.loadBIObjectById(new Integer(objid));
      }
      // create the execution controller
      ExecutionController execCtrl = new ExecutionController();
      execCtrl.setBiObject(biobj);
     
      // fill parameters
      execCtrl.refreshParameters(biobj, queryStr);
     
      //set the description of the biobject parameters
      setParametersDescription(biobj.getBiObjectParameters(), params);
     
      // exec the document only if all its parameters are filled
View Full Code Here

      DossierAnalyticalDriversManager adManager = new DossierAnalyticalDriversManager();
      adManager.fillEmptyAnalyticalDrivers(confPars, dossier, biobj);
      logger.debug("Parameters updated using dossier parameters: " + confPars);
     
    // create the execution controller
    ExecutionController execCtrl = new ExecutionController();
    execCtrl.setBiObject(biobj);
    // fill parameters
    execCtrl.refreshParameters(biobj, confPars);

      IEngUserProfile profile = UserProfile.createWorkFlowUserProfile();
     
    ExecutionProxy proxy = new ExecutionProxy();
    proxy.setBiObject(biobj);
View Full Code Here

TOP

Related Classes of it.eng.spagobi.analiticalmodel.document.handlers.ExecutionController

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.