Package it.eng.spagobi.analiticalmodel.document.service

Source Code of it.eng.spagobi.analiticalmodel.document.service.ListBIObjectsModule

/**

SpagoBI - The Business Intelligence Free Platform

Copyright (C) 2005-2008 Engineering Ingegneria Informatica S.p.A.

This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA

**/
package it.eng.spagobi.analiticalmodel.document.service;

import it.eng.spago.base.RequestContainer;
import it.eng.spago.base.SessionContainer;
import it.eng.spago.base.SourceBean;
import it.eng.spago.dispatching.module.list.basic.AbstractBasicListModule;
import it.eng.spago.navigation.LightNavigationManager;
import it.eng.spago.paginator.basic.ListIFace;
import it.eng.spago.paginator.basic.PaginatorIFace;
import it.eng.spago.paginator.basic.impl.GenericList;
import it.eng.spago.paginator.basic.impl.GenericPaginator;
import it.eng.spago.security.IEngUserProfile;
import it.eng.spagobi.analiticalmodel.document.bo.BIObject;
import it.eng.spagobi.analiticalmodel.document.dao.IBIObjectDAO;
import it.eng.spagobi.analiticalmodel.functionalitytree.service.TreeObjectsModule;
import it.eng.spagobi.commons.SingletonConfig;
import it.eng.spagobi.commons.constants.ObjectsTreeConstants;
import it.eng.spagobi.commons.constants.SpagoBIConstants;
import it.eng.spagobi.commons.dao.DAOFactory;
import it.eng.spagobi.commons.services.DelegatedBasicListService;
import it.eng.spagobi.commons.utilities.ChannelUtilities;
import it.eng.spagobi.commons.utilities.GeneralUtilities;
import it.eng.spagobi.commons.utilities.ObjectsAccessVerifier;
import it.eng.spagobi.commons.utilities.SpagoBIUtilities;
import it.eng.spagobi.commons.utilities.messages.IMessageBuilder;
import it.eng.spagobi.commons.utilities.messages.MessageBuilderFactory;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Locale;

import org.apache.log4j.Logger;

public class ListBIObjectsModule extends AbstractBasicListModule {
    private static transient Logger logger = Logger.getLogger(ListBIObjectsModule.class);
    protected IEngUserProfile profile = null;
    protected String initialPath = null;
    protected Locale locale=null;

    /*
     * (non-Javadoc)
     *
     * @see it.eng.spago.dispatching.service.list.basic.IFaceBasicListService#getList(it.eng.spago.base.SourceBean,
     *      it.eng.spago.base.SourceBean)
     */
    public ListIFace getList(SourceBean request, SourceBean response) throws Exception {
  logger.debug("IN");
  RequestContainer requestContainer = this.getRequestContainer();
  SessionContainer sessionContainer = requestContainer.getSessionContainer();
  SessionContainer permanentSession = sessionContainer.getPermanentContainer();
  profile = (IEngUserProfile) permanentSession.getAttribute(IEngUserProfile.ENG_USER_PROFILE);
  initialPath = (String) request.getAttribute(TreeObjectsModule.PATH_SUBTREE);

  String language=(String)permanentSession.getAttribute(SpagoBIConstants.AF_LANGUAGE);
  String country=(String)permanentSession.getAttribute(SpagoBIConstants.AF_COUNTRY);
  if(language!=null && country!=null)locale=new Locale(language,country,"");
  else locale=GeneralUtilities.getDefaultLocale();
 
  String currentFieldOrder = (request.getAttribute("FIELD_ORDER") == null || ((String) request
    .getAttribute("FIELD_ORDER")).equals("")) ? "" : (String) request.getAttribute("FIELD_ORDER");
  if (currentFieldOrder.equals("")) {
      currentFieldOrder = "DESCR";
      response.delAttribute("FIELD_ORDER");
      response.setAttribute("FIELD_ORDER", currentFieldOrder);
  }
  response.delAttribute("PREC_FIELD_ORDER");
  response.setAttribute("PREC_FIELD_ORDER", currentFieldOrder);

  String currentTypOrder = (request.getAttribute("TYPE_ORDER") == null || ((String) request
    .getAttribute("TYPE_ORDER")).equals("")) ? "" : (String) request.getAttribute("TYPE_ORDER");
  if (currentTypOrder.equals("")) {
      currentTypOrder = " ASC";
      response.delAttribute("TYPE_ORDER");
      response.setAttribute("TYPE_ORDER", currentTypOrder);
  }
  response.delAttribute("PREC_TYPE_ORDER");
  response.setAttribute("PREC_TYPE_ORDER", currentTypOrder);

  // special cases for relations to others objects
  if (currentFieldOrder.equalsIgnoreCase("ENGINE"))
      currentFieldOrder = "sbiEngines.label " + currentTypOrder.toLowerCase();
  else
      currentFieldOrder = currentFieldOrder.toLowerCase() + currentTypOrder.toLowerCase();

  SourceBean moduleConfig = makeListConfiguration(profile);
  response.setAttribute(moduleConfig);

  PaginatorIFace paginator = new GenericPaginator();

  int numRows = 10;
  try {
      SingletonConfig spagoconfig = SingletonConfig.getInstance();
      String lookupnumRows = spagoconfig.getConfigValue("SPAGOBI.LOOKUP.numberRows");
      if (lookupnumRows != null) {
    numRows = Integer.parseInt(lookupnumRows);
      }
  } catch (Exception e) {
      numRows = 10;
      logger.error("Error while recovering number rows for " + "lookup from configuration, usign default 10", e);
  }
  paginator.setPageSize(numRows);
  logger.debug("setPageSize="+numRows);
  IBIObjectDAO objDAO = DAOFactory.getBIObjectDAO();
  List objectsList = null;
  logger.debug("Loading the documents list");
  if (initialPath != null && !initialPath.trim().equals("")) {
      objectsList = objDAO.loadAllBIObjectsFromInitialPath(initialPath, currentFieldOrder);
  } else {
      objectsList = objDAO.loadAllBIObjects(currentFieldOrder);
  }

  for (Iterator it = objectsList.iterator(); it.hasNext();) {
      BIObject obj = (BIObject) it.next();
      SourceBean rowSB = makeListRow(profile, obj);
      if (rowSB != null)
    paginator.addRow(rowSB);
  }
  ListIFace list = new GenericList();
  list.setPaginator(paginator);
  // filter the list
  String valuefilter = (String) request.getAttribute(SpagoBIConstants.VALUE_FILTER);
  if (valuefilter != null) {
      String columnfilter = (String) request.getAttribute(SpagoBIConstants.COLUMN_FILTER);
      String typeFilter = (String) request.getAttribute(SpagoBIConstants.TYPE_FILTER);
      String typeValueFilter = (String) request.getAttribute(SpagoBIConstants.TYPE_VALUE_FILTER);
      list = DelegatedBasicListService.filterList(list, valuefilter, typeValueFilter, columnfilter, typeFilter,
        getResponseContainer().getErrorHandler());
  }

  HashMap parametersMap = new HashMap();
  parametersMap.put(SpagoBIConstants.OBJECTS_VIEW, SpagoBIConstants.VIEW_OBJECTS_AS_LIST);
  response.setAttribute("PARAMETERS_MAP", parametersMap);
  logger.debug("OUT");
  return list;
    }

    /**
     *
     * @param profile
     * @param obj
     * @return
     * @throws Exception
     */
    private SourceBean makeListRow(IEngUserProfile profile, BIObject obj) throws Exception {
  logger.debug("IN");
  String rowSBStr = "<ROW ";

  Integer visible = obj.getVisible();

  List functionalities = obj.getFunctionalities();
  boolean stateUp = false;
  boolean stateDown = false;
  boolean canExec = false;
  boolean canDev = false;
  boolean canTest = false;
  String objectStateCD = obj.getStateCode();
  logger.debug("Object State = "+objectStateCD);
  int visibleInstances = 0
  List lowFunct = new ArrayList();
  if (!functionalities.isEmpty()){
    lowFunct = DAOFactory.getLowFunctionalityDAO().loadLowFunctionalityList(functionalities);
 
  logger.debug("Loaded List of all LowFunctionalities related to the BIObject");
      
    if ((profile.isAbleToExecuteAction(SpagoBIConstants.DOCUMENT_MANAGEMENT_ADMIN))) {
      logger.debug("Profile logged in has ADMINISTRATOR RIGHTS");
     
    canDev = true;
    canExec = true;
    canTest = true;
    logger.debug("Profile CAN_EXECUTE,TEST,DEV the document");
    visibleInstances = ObjectsAccessVerifier.getVisibleInstances(initialPath, lowFunct);
    logger.debug("Got number of visibleInstances fo this document:"+visibleInstances);
   
    if (objectStateCD.equalsIgnoreCase("REL")) {
        stateUp = false;
        stateDown = true;    
    } else if (objectStateCD.equalsIgnoreCase("DEV")) {
        stateUp = true;
        stateDown = false;
    } else if (objectStateCD.equalsIgnoreCase("TEST")) {
        stateUp = true;
        stateDown = true;
    }
    /*
    if (visible != null && visible.intValue() == 0) {
      logger.debug("Document not Visible");
      return null;
    }*/
  }
 
    else if (profile.isAbleToExecuteAction(SpagoBIConstants.DOCUMENT_MANAGEMENT_DEV)) {
      logger.debug("Profile logged in has DEVELOPER RIGHTS");
   
      canExec = ObjectsAccessVerifier.canExec(objectStateCD, lowFunct, profile);
      if (canExec)logger.debug("Profile CAN_EXECUTE the document");
      else logger.debug("Profile CAN'T_EXECUTE the document");
      visibleInstances = ObjectsAccessVerifier.getVisibleInstances(initialPath, lowFunct);
      logger.debug("Got number of visibleInstances fo this document:"+visibleInstances);
     
      if (objectStateCD.equalsIgnoreCase("REL")) {
    canDev = false;
      } else if (objectStateCD.equalsIgnoreCase("TEST")) {
    canDev = false;
      } else
      if (obj.getStateCode().equalsIgnoreCase("DEV")) {
        canDev = ObjectsAccessVerifier.canDev(objectStateCD, lowFunct, profile);
        stateUp = true;
        stateDown = false;
      }
      if (visible != null && visible.intValue() == 0) {
      logger.debug("Document not Visible");
      return null;
     }
  }

    else if (profile.isAbleToExecuteAction(SpagoBIConstants.DOCUMENT_MANAGEMENT_TEST)) {
      logger.debug("Profile logged in has TESTING RIGHTS");
     
      canExec = ObjectsAccessVerifier.canExec(objectStateCD, lowFunct, profile);
      if (canExec)logger.debug("Profile CAN_EXECUTE the document");
      else logger.debug("Profile CAN'T_EXECUTE the document");
      if (canTest){
        canExec = canTest;
        logger.debug("Profile CAN_TEST the document");
      }
      visibleInstances = ObjectsAccessVerifier.getVisibleInstances(initialPath, lowFunct);
      logger.debug("Got number of visibleInstances fo this document:"+visibleInstances);

    if (objectStateCD.equalsIgnoreCase("REL")) {
      canTest = false;
        stateUp = false;
        stateDown = false;
    } else if (objectStateCD.equalsIgnoreCase("TEST")) {
      canTest = ObjectsAccessVerifier.canTest(objectStateCD, lowFunct, profile);
      stateUp = true;
      stateDown = true;
    } else if (objectStateCD.equalsIgnoreCase("DEV")) {
      canTest = false;
      stateUp = false;
      stateDown = false;
    }
    if (visible != null && visible.intValue() == 0) {
      logger.debug("Document not Visible");
      return null;
    }
  }
   
    else if (profile.isAbleToExecuteAction(SpagoBIConstants.DOCUMENT_MANAGEMENT_USER)){
      logger.debug("Profile logged in has EXECUTION RIGHTS");
     
       canExec = ObjectsAccessVerifier.canExec(objectStateCD, lowFunct, profile);
       if (canExec) {
         logger.debug("Profile has the execution permission for the document [" + obj.getLabel() + "].");
         canExec = ObjectsAccessVerifier.checkProfileVisibility(obj, profile);
         if (canExec) {
           logger.debug("Profile satisfies profiled visiblity constraints for the document [" + obj.getLabel() + "].");
         } else {
           logger.debug("Profile DOES NOT satisfy profiled visiblity constraints for the document [" + obj.getLabel() + "].");
         }
       }
      
       if (canExec) logger.debug("Profile CAN_EXECUTE the document");
        else logger.debug("Profile CAN'T_EXECUTE the document");
       visibleInstances = ObjectsAccessVerifier.getVisibleInstances(initialPath, lowFunct);
       logger.debug("Got number of visibleInstances fo this document:"+visibleInstances);
      
      stateUp = false;
      stateDown = false;
     
      if (visible != null && visible.intValue() == 0) {
      logger.debug("Document not Visible");
      return null;
    }
    }
   
 
  if (canExec == false && canDev == false && canTest==false){
    logger.debug("Document never Executable for this user");
    return null;   
  }

  IMessageBuilder msgBuilder=MessageBuilderFactory.getMessageBuilder();
  String localizedName=msgBuilder.getUserMessage(obj.getName(), SpagoBIConstants.DEFAULT_USER_BUNDLE, locale);
 
   rowSBStr += "    canExec=\"" + canExec + "\"";  
   rowSBStr += "    canDev=\"" + canDev + "\"";
  rowSBStr += "    stateUp=\"" + stateUp + "\"";
  rowSBStr += "    stateDown=\"" + stateDown + "\"";
  rowSBStr += "    OBJECT_ID=\"" + obj.getId() + "\"";
  rowSBStr += "    LABEL=\"" + obj.getLabel() + "\"";
  rowSBStr += "    NAME=\"" + localizedName + "\"";
  rowSBStr += "    DESCR=\"" + (obj.getDescription() != null ? obj.getDescription() : "") + "\"";
  rowSBStr += "    ENGINE=\"" + obj.getEngine().getName() + "\"";
  rowSBStr += "    STATE=\"" + objectStateCD + "\"";
  rowSBStr += "    INSTANCES=\"" + visibleInstances + "\"";
  rowSBStr += "     />";
  }else{
    rowSBStr += "     />";
  }

  SourceBean rowSB = SourceBean.fromXMLString(rowSBStr);
  logger.debug("OUT");
  return rowSB;
    }

    private SourceBean makeListConfiguration(IEngUserProfile profile) throws Exception {
  logger.debug("IN");
  String moduleConfigStr = "";
  moduleConfigStr += "<CONFIG rows=\"20\" title=\"SBISet.objects.titleList\">";
  moduleConfigStr += "  <QUERIES/>";
  moduleConfigStr += "  <COLUMNS>";
  moduleConfigStr += "    <COLUMN label=\"ID\" name=\"OBJECT_ID\" hidden=\"true\" />";
  if (profile.isAbleToExecuteAction(SpagoBIConstants.DOCUMENT_MANAGEMENT_ADMIN)) {
      moduleConfigStr += "    <COLUMN label=\"canExec\" name=\"canExec\" hidden=\"true\" />";
  }
  if (profile.isAbleToExecuteAction(SpagoBIConstants.DOCUMENT_MANAGEMENT_DEV)) {
      moduleConfigStr += "    <COLUMN label=\"canDev\" name=\"canDev\" hidden=\"true\" />";
  }
  moduleConfigStr += "    <COLUMN label=\"SBISet.objects.columnLabel\" name=\"LABEL\" />";
  moduleConfigStr += "    <COLUMN label=\"SBISet.objects.columnName\" name=\"NAME\" />";
  // moduleConfigStr += " <COLUMN label=\"SBISet.objects.columnDescr\"
  // name=\"DESCR\" />";
  moduleConfigStr += "    <COLUMN label=\"SBISet.objects.columnEngine\" name=\"ENGINE\" />";
  moduleConfigStr += "    <COLUMN label=\"SBISet.objects.columnState\" name=\"STATE\" />";
  moduleConfigStr += "    <COLUMN label=\"SBISet.objects.instancesNumber\" name=\"INSTANCES\" horizontal-align=\"center\"/>";
  moduleConfigStr += "  </COLUMNS>";
  moduleConfigStr += "  <CAPTIONS>";
  moduleConfigStr += "  <EXEC_CAPTION  confirm=\"FALSE\" image=\"/img/execObject.gif\" label=\"SBISet.objects.captionExecute\">"
//    + "    <PARAMETER name=\""
//    + ObjectsTreeConstants.PAGE
//    + "\" scope=\"\" type=\"ABSOLUTE\" value=\""
//    + ExecuteBIObjectModule.MODULE_PAGE
//    + "\"/> "
    // call new Action
    + "    <PARAMETER name=\""
    + ObjectsTreeConstants.ACTION
    + "\" scope=\"\" type=\"ABSOLUTE\" value=\""
    + SpagoBIConstants.EXECUTE_DOCUMENT_ACTION
    + "\"/> "   
    + "    <PARAMETER name=\""
    + ObjectsTreeConstants.BIOBJECT_TREE_LIST
    + "\" scope=\"\" type=\"ABSOLUTE\" value=\""
    + ObjectsTreeConstants.BIOBJECT_TREE_LIST
    + "\"/> "
    + "    <PARAMETER name=\""
    + SpagoBIConstants.MESSAGEDET
    + "\" scope=\"\" type=\"ABSOLUTE\" value=\""
    + ObjectsTreeConstants.EXEC_PHASE_CREATE_PAGE
    + "\"/> "
    + "    <PARAMETER name=\""
    + ObjectsTreeConstants.OBJECT_ID
    + "\" scope=\"LOCAL\" type=\"RELATIVE\" value=\"OBJECT_ID\"/> " + "  </EXEC_CAPTION>";
  /*if (profile.isAbleToExecuteAction(SpagoBIConstants.DOCUMENT_METADATA_MANAGEMENT)) {
      moduleConfigStr += "  <METADATA_CAPTION popup=\"TRUE\" popupH=\"350\" popupW=\"800\" confirm=\"FALSE\" image=\"/img/editTemplate.jpg\" label=\"SBISet.objects.captionMetadata\">"
        + "    <PARAMETER name=\""
        + ObjectsTreeConstants.PAGE
        + "\" scope=\"\" type=\"ABSOLUTE\" value=\""
        + MetadataBIObjectModule.MODULE_PAGE
        + "\"/> "
        + "    <PARAMETER name=\""
        + ObjectsTreeConstants.MESSAGE_DETAIL
        + "\" scope=\"\" type=\"ABSOLUTE\" value=\""
        + ObjectsTreeConstants.METADATA_SELECT
        + "\"/> "
        + "    <PARAMETER name=\""
        + ObjectsTreeConstants.OBJECT_ID
        + "\" scope=\"LOCAL\" type=\"RELATIVE\" value=\"OBJECT_ID\"/> "
        + "    <PARAMETER name=\""
        + LightNavigationManager.LIGHT_NAVIGATOR_DISABLED
        + "\" scope=\"\" type=\"ABSOLUTE\" value=\"TRUE\"/> "
        + "  </METADATA_CAPTION>";
  }*/
  if (profile.isAbleToExecuteAction(SpagoBIConstants.DOCUMENT_DETAIL_MANAGEMENT)) {
      moduleConfigStr += "  <DETAIL_CAPTION  confirm=\"FALSE\" image=\"/img/detail.gif\" label=\"SBISet.objects.captionDetail\">"
        + "    <PARAMETER name=\""
        + ObjectsTreeConstants.PAGE
        + "\" scope=\"\" type=\"ABSOLUTE\" value=\""
        + DetailBIObjectModule.MODULE_PAGE
        + "\"/> "
        + "    <PARAMETER name=\""
        + ObjectsTreeConstants.MESSAGE_DETAIL
        + "\" scope=\"\" type=\"ABSOLUTE\" value=\""
        + ObjectsTreeConstants.DETAIL_SELECT
        + "\"/> "
        + "    <PARAMETER name=\""
        + ObjectsTreeConstants.OBJECT_ID
        + "\" scope=\"LOCAL\" type=\"RELATIVE\" value=\"OBJECT_ID\"/> "
        + "    <CONDITIONS>"
        + "      <PARAMETER name=\"canDev\" scope='LOCAL' value='true' operator='EQUAL_TO' />"
        + "    </CONDITIONS>" + "  </DETAIL_CAPTION>";
  }
  if (profile.isAbleToExecuteAction(SpagoBIConstants.DOCUMENT_DELETE_MANAGEMENT)) {
      moduleConfigStr += "  <DELETE_CAPTION  confirm=\"TRUE\" image=\"/img/erase.gif\" label=\"SBISet.objects.captionErase\">"
        + "    <PARAMETER name=\""
        + ObjectsTreeConstants.PAGE
        + "\" scope=\"\" type=\"ABSOLUTE\" value=\""
        + DetailBIObjectModule.MODULE_PAGE
        + "\"/> "
        + "    <PARAMETER name=\""
        + ObjectsTreeConstants.MESSAGE_DETAIL
        + "\" scope=\"\" type=\"ABSOLUTE\" value=\""
        + ObjectsTreeConstants.DETAIL_DEL
        + "\"/> "
        + "    <PARAMETER name=\""
        + ObjectsTreeConstants.OBJECT_ID
        + "\" scope=\"LOCAL\" type=\"RELATIVE\" value=\"OBJECT_ID\"/> "
        + "    <CONDITIONS>"
        + "      <PARAMETER name=\"canDev\" scope='LOCAL' value='true' operator='EQUAL_TO' />"
        + "    </CONDITIONS>" + "  </DELETE_CAPTION>";
  }
  if (profile.isAbleToExecuteAction(SpagoBIConstants.DOCUMENT_MOVE_DOWN_STATE)) {
      // if
      // (profile.isAbleToExecuteAction(SpagoBIConstants.DOCUMENT_MANAGEMENT_ADMIN)){
      moduleConfigStr += "  <MOVEDOWN_CAPTION  confirm=\"TRUE\" image=\"/img/ArrowDown1.gif\" label='SBISet.objects.captionMoveDown'>"
        + "    <PARAMETER name=\""
        + ObjectsTreeConstants.PAGE
        + "\" scope=\"\" type=\"ABSOLUTE\" value=\"UpdateBIObjectStatePage\"/> "
        + "    <PARAMETER name=\""
        + ObjectsTreeConstants.MESSAGE_DETAIL
        + "\" scope=\"\" type=\"ABSOLUTE\" value=\""
        + ObjectsTreeConstants.MOVE_STATE_DOWN
        + "\"/> "
        + "    <PARAMETER name=\""
        + ObjectsTreeConstants.OBJECT_ID
        + "\" scope=\"LOCAL\" type=\"RELATIVE\" value=\"OBJECT_ID\"/> "
        + "    <PARAMETER name=\"LIGHT_NAVIGATOR_DISABLED\" scope=\"\" type=\"ABSOLUTE\" value=\"true\"/> "
        + "    <CONDITIONS>"
        + "      <PARAMETER name=\"stateDown\" scope='LOCAL' value='true' operator='EQUAL_TO' />"
        + "    </CONDITIONS>" + "  </MOVEDOWN_CAPTION>";

  }
  if (profile.isAbleToExecuteAction(SpagoBIConstants.DOCUMENT_MOVE_UP_STATE)) {

      moduleConfigStr += "  <MOVEUP_CAPTION  confirm=\"TRUE\" image=\"/img/ArrowUp1.gif\" label='SBISet.objects.captionMoveUp'>"
        + "    <PARAMETER name=\""
        + ObjectsTreeConstants.PAGE
        + "\" scope=\"\" type=\"ABSOLUTE\" value=\"UpdateBIObjectStatePage\"/> "
        + "    <PARAMETER name=\""
        + ObjectsTreeConstants.MESSAGE_DETAIL
        + "\" scope=\"\" type=\"ABSOLUTE\" value=\""
        + ObjectsTreeConstants.MOVE_STATE_UP
        + "\"/> "
        + "    <PARAMETER name=\""
        + ObjectsTreeConstants.OBJECT_ID
        + "\" scope=\"LOCAL\" type=\"RELATIVE\" value=\"OBJECT_ID\"/> "
        + "    <PARAMETER name=\"LIGHT_NAVIGATOR_DISABLED\" scope=\"\" type=\"ABSOLUTE\" value=\"true\"/> "
        + "    <CONDITIONS>"
        + "      <PARAMETER name=\"stateUp\" scope='LOCAL' value='true' operator='EQUAL_TO' />"
        + "    </CONDITIONS>" + "  </MOVEUP_CAPTION>";

  }
  moduleConfigStr += "  </CAPTIONS>";
  moduleConfigStr += "  <BUTTONS>";

  if ((profile.isAbleToExecuteAction(SpagoBIConstants.DOCUMENT_MANAGEMENT_ADMIN) && ChannelUtilities
    .isWebRunning())
    || profile.isAbleToExecuteAction(SpagoBIConstants.DOCUMENT_MANAGEMENT_DEV)) {
      moduleConfigStr += "    <INSERT_BUTTON confirm=\"FALSE\" image=\"/img/new.png\" label=\"SBISet.devObjects.newObjButt\"> "
        + "      <PARAMETER name=\""
        + ObjectsTreeConstants.PAGE
        + "\" scope=\"\" type=\"ABSOLUTE\" value=\""
        + DetailBIObjectModule.MODULE_PAGE
        + "\"/> "
        + "      <PARAMETER name=\""
        + ObjectsTreeConstants.MESSAGE_DETAIL
        + "\" scope=\"\" type=\"ABSOLUTE\" value=\""
        + ObjectsTreeConstants.DETAIL_NEW + "\"/> " + "    </INSERT_BUTTON>";
  }
  moduleConfigStr += "    <CHANGE_VIEW_BUTTON confirm=\"FALSE\" image=\"/img/treeView.png\" label=\"SBISet.objects.treeViewButt\"> "
    + "      <PARAMETER name=\"PAGE\" scope=\"\" type=\"ABSOLUTE\" value=\"BIObjectsPage\"/> "
    + "      <PARAMETER name=\""
    + SpagoBIConstants.OBJECTS_VIEW
    + "\" scope=\"\" type=\"ABSOLUTE\" value=\""
    + SpagoBIConstants.VIEW_OBJECTS_AS_TREE + "\"/> " + "    </CHANGE_VIEW_BUTTON>";
  moduleConfigStr += "    <BACK_BUTTON confirm=\"FALSE\" image=\"/img/back.png\" label=\"SBISet.objects.backButt\"  onlyPortletRunning=\"true\"> "
    + "      <PARAMETER name=\"ACTION_NAME\" scope=\"\" type=\"ABSOLUTE\" value=\"START_ACTION\"/> "
    + "      <PARAMETER name=\"PUBLISHER_NAME\" scope=\"\" type=\"ABSOLUTE\" value=\"LoginSBIAnaliticalModelPublisher\"/> "
    + "      <PARAMETER name=\""
    + LightNavigationManager.LIGHT_NAVIGATOR_RESET
    + "\" scope=\"\" type=\"ABSOLUTE\" value=\"true\"/> " + "    </BACK_BUTTON>";
  moduleConfigStr += "  </BUTTONS>";
  moduleConfigStr += "</CONFIG>";
  SourceBean moduleConfig = SourceBean.fromXMLString(moduleConfigStr);
  logger.debug("OUT");
  return moduleConfig;
    }
}
TOP

Related Classes of it.eng.spagobi.analiticalmodel.document.service.ListBIObjectsModule

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.