Package it.eng.spagobi.tools.dataset.bo

Examples of it.eng.spagobi.tools.dataset.bo.IDataSet


   * @throws Exception the exception
   */
  public static String getDataSetResultFromLabel(IEngUserProfile profile,String label, Map parameters) throws Exception {
   
    IDataSetDAO dsDAO = DAOFactory.getDataSetDAO();
    IDataSet ds = dsDAO.loadActiveDataSetByLabel(label);
 
    String result=DataSetAccessFunctions.getDataSetResult(profile, ds, parameters);
    return result;
   
  }
View Full Code Here


   
    String dataSetLabel;
    String callback;
    DataSetSupplier dataSetSupplier;
    SpagoBiDataSet dataSetConfig;
    IDataSet dataSet;
    IDataStore dataStore;
    JSONObject dataSetJSON;
   
   
    logger.debug("IN");
   
    try {
   
      dataSetLabel = getAttributeAsString( DATASET_LABEL );
      logger.debug("Parameter [" + DATASET_LABEL + "] is equals to [" + dataSetLabel + "]");     
      Assert.assertTrue(!StringUtilities.isEmpty( dataSetLabel ), "Parameter [" + DATASET_LABEL + "] cannot be null or empty");
     
      callback = getAttributeAsString( CALLBACK );
      logger.debug("Parameter [" + CALLBACK + "] is equals to [" + callback + "]");
     
      dataSetConfig = null;
      try {
        dataSetSupplier = new DataSetSupplier();           
        dataSetConfig = dataSetSupplier.getDataSetByLabel(dataSetLabel);
      } catch(Throwable t) {
        throw new SpagoBIServiceException("Impossible to find a dataset whose label is [" + dataSetLabel + "]", t);
      }
      Assert.assertNotNull(dataSetConfig, "Impossible to find a dataset whose label is [" + dataSetLabel + "]");
     
      dataSet = DataSetFactory.getDataSet( dataSetConfig );
      dataSet.loadData();
      dataStore = dataSet.getDataStore();
      Assert.assertNotNull(dataStore, "The dataStore returned by loadData method of the class [" + dataSet.getClass().getName()+ "] cannot be null");
         
     
      dataSetJSON = null;
      try {
        dataSetJSON = (JSONObject)SerializerFactory.getSerializer("application/json").serialize( dataStore, null );
View Full Code Here

      Integer dsIdInt = new Integer(dsIdStr);
      ds = DAOFactory.getDataSourceDAO().loadDataSourceByID(dsIdInt);
    }
   
    String datasetIdStr = (String) request.getAttribute("dataset");
    IDataSet dataset  = null;
    if (datasetIdStr != null && !datasetIdStr.equals("")) {
      Integer datasetIdInt = new Integer(datasetIdStr);
      dataset = DAOFactory.getDataSetDAO().loadActiveIDataSetByID(datasetIdInt);
    }
   
    // TRY TO LOAD ALL THE FUNCTIONALITIES ASSOCIATED (into request) TO THE BIOBEJCT
    List functionalities = new ArrayList();
    List functionalitiesStr = request.getAttributeAsList(ObjectsTreeConstants.FUNCT_ID);
    if (functionalitiesStr.size() == 0) {
      EMFValidationError error = new EMFValidationError(EMFErrorSeverity.ERROR, ObjectsTreeConstants.FUNCT_ID, "1008");
      this.respCont.getErrorHandler().addError(error);
    } else {
      for (Iterator it = functionalitiesStr.iterator(); it.hasNext(); ) {
        String functIdStr = (String) it.next();
        Integer functId = new Integer (functIdStr);
        functionalities.add(functId);
      }
    }
    // lOAD ALL THE FUNCTIONALITIES ASSOCIATED TO THE BIOBJECT (but not into request)
    // First case: the current user is not an administrator (so he cannot see all the functionalities)
    // and the modality is Modify. In this case some functionalities, that the user cannot see, can be
    // already associated to the object (by different users). This associations mustn't be erased.
    if (!profile.isAbleToExecuteAction(SpagoBIConstants.DOCUMENT_MANAGEMENT_ADMIN) && mod.equalsIgnoreCase(ObjectsTreeConstants.DETAIL_MOD)) {
      IBIObjectDAO objDAO = DAOFactory.getBIObjectDAO();
      BIObject prevObj = objDAO.loadBIObjectById(id);
      List prevFuncsId = prevObj.getFunctionalities();
      for (Iterator it = prevFuncsId.iterator(); it.hasNext(); ) {
        Integer funcId = (Integer) it.next();
        if (!ObjectsAccessVerifier.canDev(stateCode, funcId, profile)) {
          functionalities.add(funcId);
        }
      }
    }
    // Second case: the current user is a local administrator (he can admin only a part of the tree)
    // and the modality is Modify. In this case some funtionalities in oder part of the tree, which the
    // user cannot see, can be already associated to the object. This associations mustn't be erased.
    if (profile.isAbleToExecuteAction(SpagoBIConstants.DOCUMENT_MANAGEMENT_ADMIN)
        && initialPath != null && !initialPath.trim().equals(""
        && mod.equalsIgnoreCase(ObjectsTreeConstants.DETAIL_MOD)) {
      IBIObjectDAO objDAO = DAOFactory.getBIObjectDAO();
      BIObject prevObj = objDAO.loadBIObjectById(id);
      List functionalitiesId = prevObj.getFunctionalities();
      Iterator it = functionalitiesId.iterator();
      while (it.hasNext()) {
        Integer folderId = (Integer) it.next();
        LowFunctionality folder = DAOFactory.getLowFunctionalityDAO().loadLowFunctionalityByID(folderId, false);
        String folderPath = folder.getPath();
        if (!folderPath.equalsIgnoreCase(initialPath) && !folderPath.startsWith(initialPath + "/")) {
          functionalities.add(folderId);
        }
      }
    }
    // CHECK IF THE LABEL IS ALREADY ASSIGNED TO AN EXISTING OBJECT
    BIObject aBIObject = DAOFactory.getBIObjectDAO().loadBIObjectByLabel(label);
    if (aBIObject != null && !aBIObject.getId().equals(id)) {
      EMFValidationError error = new EMFValidationError(EMFErrorSeverity.ERROR, "label", "1056");
      this.respCont.getErrorHandler().addError(error);
    }

    // SET DATA INTO OBJECT
    obj.setFunctionalities(functionalities);
    obj.setBiObjectTypeCode(typeCode);
    obj.setBiObjectTypeID(typeIdInt);
    obj.setDescription(description);
    obj.setEncrypt(encrypt);
    obj.setVisible(visible);
    obj.setProfiledVisibility(profiledVisibilityStr);
    obj.setEngine(engine);
    obj.setDataSourceId(ds == null ? null : new Integer(ds.getDsId()));
    obj.setDataSetId(dataset == null ? null : new Integer(dataset.getId()));
    obj.setId(id);
    obj.setName(name);
    obj.setLabel(label);
    obj.setRelName(relname);
    obj.setStateCode(stateCode);
View Full Code Here

      super.checkUserPermissionForFunctionality(SpagoBIConstants.DATASET_MANAGEMENT, "User cannot see datasets congifuration.");
      if (dataSetId == null) {
        logger.warn("DataSet identifier in input is null!");
        return null;
      }
      IDataSet dataSet = DAOFactory.getDataSetDAO().loadActiveIDataSetByID(dataSetId);
      if (dataSet == null) {
        logger.warn("DataSet with identifier [" + dataSetId + "] not existing.");
        return null;
      }
      toReturn = new SDKObjectsConverter().fromSpagoBiDataSetToSDKDataSet(dataSet.toSpagoBiDataSet());
    } catch(NotAllowedOperationException e) {
      throw e;
    } catch(Exception e) {
      logger.error("Error while retrieving SDKEngine list", e);
      logger.debug("Returning null");
View Full Code Here

    try {
      super.checkUserPermissionForFunctionality(SpagoBIConstants.DATASET_MANAGEMENT, "User cannot see datasets congifuration.");
      List dataSetList = DAOFactory.getDataSetDAO().loadAllActiveDataSets();
      toReturn = new SDKDataSet[dataSetList.size()];
      for (int i = 0; i < dataSetList.size(); i++) {
        IDataSet dataSet = (IDataSet) dataSetList.get(i);
        SDKDataSet sdkDataSet = new SDKObjectsConverter().fromSpagoBiDataSetToSDKDataSet(dataSet.toSpagoBiDataSet());
        toReturn[i] = sdkDataSet;
      }
    } catch(NotAllowedOperationException e) {
      throw e;
    } catch(Exception e) {
View Full Code Here

        logger.warn("SDKDataSet in input is null!");
        return null;
      }
      dataSetId = sdkDataSet.getId();
      logger.debug("Looking for dataset with id = " + dataSetId);
      IDataSet dataSet = DAOFactory.getDataSetDAO().loadActiveIDataSetByID(dataSetId);
      if (dataSet == null) {
        logger.warn("DataSet with identifier [" + dataSetId + "] not found.");
        return null;
      }

      // First I try recovering dsMetadataField, only if not present I try executing the dataset,

      String dsMetadata=dataSet.getDsMetadata();
      if(dsMetadata!=null){
        try{
          dsMeta = new DatasetMetadataParser().xmlToMetadata(dsMetadata);

        }
        catch (Exception e) {
          logger.warn("error in parsing, recover metadata executing again the dataset! ", e);
        }
      }

      if(dsMeta==null
      {
        logger.warn("error in parsing, recover metadata executing again the dataset! ");
        Map parameters = new HashMap();
        List parametersToFill = null;
        String parametersXML=dataSet.toSpagoBiDataSet().getParameters();
        if(parametersXML!=null && !((parametersXML.trim()).equals(""))){
          DataSetParametersList dsParam=new DataSetParametersList(parametersXML);
          parametersToFill=dsParam.getItems();       
        }
        if (parametersToFill != null && parametersToFill.size() > 0) {
          Iterator it = parametersToFill.iterator();
          while (it.hasNext()) {
            DataSetParameterItem aDataSetParameterItem = (DataSetParameterItem) it.next();
            SDKDataSetParameter sdkParameter = findRelevantSDKDataSetParameter(aDataSetParameterItem, sdkDataSet);
            if (sdkParameter == null) {
              logger.error("SDKDataSetParameter for DataSetParameterItem with name [" + aDataSetParameterItem.getName() + "] not found!!");
              throw new MissingParameterValue(aDataSetParameterItem.getName());
            }
            String[] values = sdkParameter.getValues();
            logger.debug("Values set for parameter [" + aDataSetParameterItem.getName() + "] are: " + values);
            if (values == null || values.length == 0) {
              logger.error("SDKDataSetParameter contains no values for DataSetParameterItem with name [" + aDataSetParameterItem.getName() + "]!!");
              throw new MissingParameterValue(aDataSetParameterItem.getName());
            }
            checkParameterValues(values, aDataSetParameterItem);
            String parameterValues = getParameterValues(values, aDataSetParameterItem);
            logger.debug("Setting values [" + parameterValues + "] for parameter with name = [" + aDataSetParameterItem.getName() + "]");
            parameters.put(aDataSetParameterItem.getName(), parameterValues);
          }
        }
        dataSet.setParamsMap(parameters);
        dataSet.loadData();
        IDataStore dataStore = dataSet.getDataStore();
        dsMeta = (DataStoreMetaData) dataStore.getMetaData();

      }

      toReturn = new SDKObjectsConverter().fromDataStoreMetadataToSDKDataStoreMetadata((DataStoreMetaData)dsMeta);
View Full Code Here

      super.checkUserPermissionForFunctionality(SpagoBIConstants.DATASET_MANAGEMENT, "User cannot see datasets congifuration.");
      if (label == null) {
        logger.warn("DataSet identifier in input is null!");
        return null;
      }
      IDataSet dataSet = DAOFactory.getDataSetDAO().loadActiveDataSetByLabel(label);
      if (dataSet == null) {
        logger.warn("DataSet with label [" + label + "] not existing.");
        return null;
      }
      if (params!=null && params.length>0){
        HashMap parametersFilled= new HashMap();
        for(int i=0; i< params.length; i++){
          SDKDataSetParameter par = params[i];
          parametersFilled.put(par.getName(),par.getValues()[0]);
          logger.debug("Add parameter: "+par.getName()+"/"+par.getValues()[0]);
        }       
        dataSet.setParamsMap(parametersFilled);
      }
      dataSet.loadData();
      //toReturn = dataSet.getDataStore().toXml();
     
      JSONDataWriter writer= new JSONDataWriter();
      toReturn = (writer.write(dataSet.getDataStore())).toString();
     
    } catch(NotAllowedOperationException e) {
      throw e;
    } catch(Exception e) {
      logger.error("Error while retrieving SDKEngine list", e);
View Full Code Here

    Template templateUtil = new Template();
    try{
      if (chartType != null && chartType.startsWith(HIGHCHART_TEMPLATE)){
        //gets the dataset object informations
        Integer id = obj.getDataSetId();
        IDataSet dataset = DAOFactory.getDataSetDAO().loadActiveIDataSetByID(id);
       
        ManageDatasets mDs = new ManageDatasets();
        JSONArray parsJSON = getParametersAsJSON(obj);
        //converts the template from xml to json format       
        JSONObject template = templateUtil.getJSONTemplateFromXml( getTemplate(obj.getId().toString()), parsJSON);
        //sets the response
        response.setAttribute("template", template);
        response.setAttribute("divWidth", (templateUtil.getDivWidth()==null)?"100%":templateUtil.getDivWidth());
        response.setAttribute("divHeight",(templateUtil.getDivHeight()==null)?"100%":templateUtil.getDivHeight());
        response.setAttribute("themeHighchart", (templateUtil.getTheme()==null)?"":templateUtil.getTheme());
        response.setAttribute("numCharts", (templateUtil.getNumCharts()==null)?1:templateUtil.getNumCharts());
        response.setAttribute("subType", (templateUtil.getSubType()==null)?1:templateUtil.getSubType());
        response.setAttribute(DataSetConstants.ID, dataset.getId());
        response.setAttribute(DataSetConstants.LABEL, dataset.getLabel());
        response.setAttribute(DataSetConstants.DS_TYPE_CD, (dataset.getDsType()==null)?"":dataset.getDsType());       
        response.setAttribute(DataSetConstants.PARS, parsJSON);
        response.setAttribute(DataSetConstants.TRASFORMER_TYPE_CD, (dataset.getTransformerCd()==null)?"":dataset.getTransformerCd());
        response.setAttribute(SpagoBIConstants.PUBLISHER_NAME, "HIGHCHART");
        response.setAttribute("documentLabel", obj.getLabel());
      }else{
        executeChart(requestContainer, obj, response, userProfile, locale);
      }
View Full Code Here

TOP

Related Classes of it.eng.spagobi.tools.dataset.bo.IDataSet

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.