private void newConfiguredDocumentHandler(SourceBean request, SourceBean response) throws SourceBeanException, EMFUserError { logger.debug("IN"); String tempFolder = (String) request.getAttribute(DossierConstants.DOSSIER_TEMP_FOLDER); Object objIdObj = request.getAttribute(DossierConstants.DOSSIER_CONFIGURED_BIOBJECT_ID); if (!(objIdObj instanceof String)) { Map errBackPars = new HashMap(); errBackPars.put("PAGE", DossierConstants.DOSSIER_MANAGEMENT_PAGE); errBackPars.put(DossierConstants.DOSSIER_TEMP_FOLDER, tempFolder); errBackPars.put(LightNavigationManager.LIGHT_NAVIGATOR_DISABLED, "true"); errBackPars.put(SpagoBIConstants.OPERATION, DossierConstants.OPERATION_DETAIL_DOSSIER); throw new EMFUserError( EMFErrorSeverity.ERROR, "102", null, errBackPars, "component_dossier_messages"); } String objIdStr = (String) objIdObj; Integer objId = new Integer(objIdStr); BIObject obj = null; List params = null; List roleList = null; try { IBIObjectDAO biobjdao = DAOFactory.getBIObjectDAO(); obj = biobjdao.loadBIObjectById(objId); Integer id = obj.getId(); IBIObjectParameterDAO biobjpardao = DAOFactory.getBIObjectParameterDAO(); params = biobjpardao.loadBIObjectParametersById(id); IRoleDAO roleDao = DAOFactory.getRoleDAO(); roleList = roleDao.loadAllRoles(); } catch (Exception e) { SpagoBITracer.major( DossierConstants.NAME_MODULE, this.getClass().getName(), "newConfiguredDocumentHandler", "Error while loading biobje parameters and roles", e); } Integer id = obj.getId(); String descr = obj.getDescription(); String label = obj.getLabel(); String name = obj.getName(); Iterator iterParams = params.iterator(); HashMap parNamesMap = new HashMap(); HashMap parValueMap = new HashMap(); while (iterParams.hasNext()) { BIObjectParameter par = (BIObjectParameter) iterParams.next(); String parLabel = par.getLabel(); String parUrlName = par.getParameterUrlName(); parNamesMap.put(parLabel, parUrlName); parValueMap.put(parUrlName, ""); } response.setAttribute("parnamemap", parNamesMap); response.setAttribute("parvaluemap", parValueMap); response.setAttribute("idobj", id); response.setAttribute("description", descr); response.setAttribute("label", label); response.setAttribute("name", name); response.setAttribute(DossierConstants.PUBLISHER_NAME, "DossierConfiguredDocumentDetail"); logger.debug("OUT"); }
private void saveConfiguredDocumentHandler(SourceBean request, SourceBean response) throws Exception { logger.debug("IN"); String tempFolder = (String) request.getAttribute(DossierConstants.DOSSIER_TEMP_FOLDER); String label = (String) request.getAttribute("biobject_label"); // get logical name assigned to the configured document String logicalName = (String) request.getAttribute("logicalname"); if ((logicalName == null) || logicalName.trim().equalsIgnoreCase("")) { logicalName = ""; // throw new EMFUserError(EMFErrorSeverity.ERROR, 103, "component_dossier_messages"); } // load biobject using label // Integer id = new Integer(idobj); IBIObjectDAO biobjdao = DAOFactory.getBIObjectDAO(); BIObject obj = biobjdao.loadBIObjectByLabel(label); IBIObjectParameterDAO biobjpardao = DAOFactory.getBIObjectParameterDAO(); // gets parameters of the biobject List params = biobjpardao.loadBIObjectParametersById(obj.getId()); Iterator iterParams = params.iterator(); // get map of the param url name and value assigned boolean findOutFormat = false; Map paramValueMap = new HashMap(); Map paramNameMap = new HashMap(); while (iterParams.hasNext()) { BIObjectParameter par = (BIObjectParameter) iterParams.next(); String parUrlName = par.getParameterUrlName(); if (parUrlName.equalsIgnoreCase("outputType")) findOutFormat = true; String value = (String) request.getAttribute(parUrlName); paramValueMap.put(parUrlName, value); paramNameMap.put(par.getLabel(), par.getParameterUrlName()); } if (!findOutFormat) { paramValueMap.put("outputType", "JPGBASE64"); } // fill a configured document bo with data retrived ConfiguredBIDocument confDoc = new ConfiguredBIDocument(); confDoc.setDescription(obj.getDescription()); // confDoc.setId(obj.getId()); confDoc.setLabel(obj.getLabel()); confDoc.setParameters(paramValueMap); confDoc.setName(obj.getName()); confDoc.setLogicalName(logicalName); // check if the error handler contains validation errors EMFErrorHandler errorHandler = getResponseContainer().getErrorHandler(); if (errorHandler.isOKByCategory(EMFErrorCategory.VALIDATION_ERROR)) { // store the configured document IDossierDAO dossierDao = new DossierDAOHibImpl(); dossierDao.addConfiguredDocument(confDoc, tempFolder); response.setAttribute(DossierConstants.PUBLISHER_NAME, "DossierLoopbackDossierDetail"); } else { // set attribute into response response.setAttribute("parnamemap", paramNameMap); response.setAttribute("parvaluemap", paramValueMap); // response.setAttribute("idobj", confDoc.getId()); response.setAttribute("description", confDoc.getDescription()); response.setAttribute("label", confDoc.getLabel()); response.setAttribute("name", confDoc.getName()); response.setAttribute("logicalname", confDoc.getLogicalName()); response.setAttribute(DossierConstants.PUBLISHER_NAME, "DossierConfiguredDocumentDetail"); } logger.debug("OUT"); }
@POST @Produces(MediaType.TEXT_HTML) // TODO: change produced output public String insertValues(@Context HttpServletRequest req) { try { IEngUserProfile profile = (IEngUserProfile) req.getSession().getAttribute(IEngUserProfile.ENG_USER_PROFILE); if (profile == null) { return "User must be logged in"; } String userId = (String) profile.getUserUniqueIdentifier(); IBIObjectDAO sbiObjectsDAO = DAOFactory.getBIObjectDAO(); BIObject document = sbiObjectsDAO.loadBIObjectByLabel("EII_RPT_0015_frc"); // TODO: to change Integer documentId = document.getId(); List enabledRoles = sbiObjectsDAO.getCorrectRolesForExecution(documentId, profile); // check if current user can see this document if ((enabledRoles != null) && (enabledRoles.size() > 0)) { // Get fixed parameters values String year = req.getParameter("par_year"); String closureCode = req.getParameter("par_closure_cd"); String businessAreaCode = req.getParameter("par_ba"); String businessUnitCode = req.getParameter("par_bu"); String cdc = req.getParameter("par_cdc"); String ricavi = req.getParameter("Ricavi_resValue"); String ricaviVarPer = req.getParameter("Ricavi_variationPerc"); if (ricaviVarPer == null) { ricaviVarPer = "0"; } String ricaviVarAbs = req.getParameter("Ricavi_variationAbsolute"); if (ricaviVarAbs == null) { ricaviVarAbs = "0"; } String primoMargine = req.getParameter("PM_resValue"); String primoMargineVarPer = req.getParameter("PM_variationPerc"); if (primoMargineVarPer == null) { primoMargineVarPer = "0"; } String primoMargineVarAbs = req.getParameter("PM_variationAbsolute"); if (primoMargineVarAbs == null) { primoMargineVarAbs = "0"; } String margineContribuzione = req.getParameter("MC_resValue"); String margineContribuzioneVarPer = req.getParameter("MC_variationPerc"); if (margineContribuzioneVarPer == null) { margineContribuzioneVarPer = "0"; } String margineContribuzioneVarAbs = req.getParameter("MC_variationAbsolute"); if (margineContribuzioneVarAbs == null) { margineContribuzioneVarAbs = "0"; } // ---------------------- // 2- Insert values on database persistValues( businessUnitCode, businessAreaCode, cdc, year, closureCode, userId, ricavi, primoMargine, margineContribuzione, ricaviVarPer, ricaviVarAbs, primoMargineVarPer, primoMargineVarAbs, margineContribuzioneVarPer, margineContribuzioneVarAbs); return "<b>Values Updated</b>"; // Uncomment next line for test // return printSubmittedValues(req); } else { // User cannot execute operation return "Operation forbidden"; } } catch (Exception e) { logger.error("An unexpected error occured while executing Forecast Edit"); throw new SpagoBIServiceException( "An unexpected error occured while executing Forecast Edit", e); } }