Examples of IDataStore


Examples of it.eng.spagobi.tools.dataset.common.datastore.IDataStore

        logger.error("Exception not handled by table KpiError ", e);
      }
      throw e;
    }

    IDataStore dataStore = dataSet.getDataStore();
    logger.debug("Got the datastore");

    if (dataStore != null && !dataStore.isEmpty()) {
      // Transform result into KPIValue (I suppose that the result has a unique value)
      IDataStoreMetaData d = dataStore.getMetaData();   
      int indexRes = d.getFieldIndex(RESOURCE);

      if(indexRes!=-1){
        Iterator it = dataStore.iterator();
        while(it.hasNext()){

          kpiValTemp = kVal.clone();
          IRecord record =(IRecord)it.next();
          List fields = record.getFields();
          kpiValTemp = setKpiValuesFromDataset(kpiValTemp,fields,d, begD, endDate, dataSet.getLabel(),modInstNodeId, kVal);

          if (kpiValTemp.getR()!=null && kVal.getR()!=null && kpiValTemp.getR().getId()!=null &&
              kVal.getR().getId()!=null && kpiValTemp.getR().getId().equals(kVal.getR().getId())){
            kVal = kpiValTemp.clone() ;
          }
          logger.debug("New value calculated");
          if(register_values && kpiValTemp.getR().getName()!=null){

            if(doSave){
              // Insert new Value into the DB
              IKpiDAO dao= DAOFactory.getKpiDAO();
              dao.setUserProfile(profile);
              Integer kpiValueId = dao.insertKpiValue(kpiValTemp);
              kVal.setKpiValueId(kpiValueId);
              logger.info("New value inserted in the DB. Resource="+kpiValTemp.getR().getName()+" KpiInstanceId="+kpiValTemp.getKpiInstanceId());
            }
            // Checks if the value is alarming (out of a certain range)
            // If the value is alarming a new line will be inserted in the
            // sbi_alarm_event table and scheduled to be sent
            DAOFactory.getAlarmDAO().isAlarmingValue(kpiValTemp);
            logger.debug("Alarms sent if the value is over the thresholds");
          }


        }          
      }else{

        IRecord record = dataStore.getRecordAt(0);
        List fields = record.getFields();
        kVal = setKpiValuesFromDataset(kVal,fields,d, begD, endDate, dataSet.getLabel(), modInstNodeId, kVal);
        logger.debug("New value calculated");
        if(register_values){
          if(doSave){
View Full Code Here

Examples of it.eng.spagobi.tools.dataset.common.datastore.IDataStore

      if(dataSet.getTransformerId()!=null){
        dataSet.loadData();
      }else{
        dataSet.loadData(start, limit, GeneralUtilities.getDatasetMaxResults());
      }   
      IDataStore dataStore = dataSet.getDataStore();
      JSONDataWriter dataSetWriter = new JSONDataWriter();
      dataSetJSON = (JSONObject) dataSetWriter.write(dataStore);
    }
    catch (Exception e) {
      logger.error("Error while executing dataset for test purpose",e);
View Full Code Here

Examples of it.eng.spagobi.tools.dataset.common.datastore.IDataStore

    //String queryId = null;
    Integer limit = null;
    Integer start = null;
    Integer maxSize = null;
    boolean isMaxResultsLimitBlocking = false;
    IDataStore dataStore = null;
    JSONDataWriter dataSetWriter;
   
    Query query = null;
    IStatement statement = null;
   
    Integer resultNumber = null;
    JSONObject gridDataFeed = new JSONObject();
   
    Monitor totalTimeMonitor = null;
    Monitor errorHitsMonitor = null;
         

    logger.debug("IN");
   
    try {
   
      super.service(request, response)
     
      totalTimeMonitor = MonitorFactory.start("QbeEngine.executeQueryAction.totalTime");
           
      start = getAttributeAsInteger( START )
      logger.debug("Parameter [" + START + "] is equals to [" + start + "]");
     
      limit = getAttributeAsInteger( LIMIT );
     

      logger.debug("Parameter [" + LIMIT + "] is equals to [" + limit + "]");
           
      maxSize = QbeEngineConfig.getInstance().getResultLimit();     
      logger.debug("Configuration setting  [" + "QBE.QBE-SQL-RESULT-LIMIT.value" + "] is equals to [" + (maxSize != null? maxSize: "none") + "]");
      isMaxResultsLimitBlocking = QbeEngineConfig.getInstance().isMaxResultLimitBlocking();
      logger.debug("Configuration setting  [" + "QBE.QBE-SQL-RESULT-LIMIT.isBlocking" + "] is equals to [" + isMaxResultsLimitBlocking + "]");
     
      Assert.assertNotNull(getEngineInstance(), "It's not possible to execute " + this.getActionName() + " service before having properly created an instance of EngineInstance class");
           
     
      // retrieving query specified by id on request
      query = getQuery();       
      Assert.assertNotNull(query, "Query object with id [" + query.getId() + "] does not exist in the catalogue");

      statement = getStatement(query);
     
      // promptable filters values may come with request (read-only user modality)
      updatePromptableFiltersValue(query, this);

      dataStore = executeQuery(statement, start, limit);
     
      resultNumber = (Integer)dataStore.getMetaData().getProperty("resultNumber");

      logger.debug("Total records: " + resultNumber);     
     
     
      boolean overflow = maxSize != null && resultNumber >= maxSize;
View Full Code Here

Examples of it.eng.spagobi.tools.dataset.common.datastore.IDataStore

    logger.debug("OUT");
  }
 
 
  public IDataStore executeQuery(IStatement statement, Integer start, Integer limit){
    IDataStore dataStore = null;
    IDataSet dataSet = null;
    String jpaQueryStr = statement.getQueryString();
    Integer maxSize = QbeEngineConfig.getInstance().getResultLimit();     
    logger.debug("Configuration setting  [" + "QBE.QBE-SQL-RESULT-LIMIT.value" + "] is equals to [" + (maxSize != null? maxSize: "none") + "]");
    boolean isMaxResultsLimitBlocking = QbeEngineConfig.getInstance().isMaxResultLimitBlocking();
View Full Code Here

Examples of it.eng.spagobi.tools.dataset.common.datastore.IDataStore

    int sheetsNumber = worksheetJSON.getInt(SHEETS_NUM);
    JSONArray exportedSheets = worksheetJSON.getJSONArray(EXPORTED_SHEETS);
    for (int i = 0; i < sheetsNumber; i++) {
      JSONObject sheetJ = exportedSheets.getJSONObject(i);
      if(isTableContent(sheetJ)){
        IDataStore dataStore = getTableDataStore(sheetJ);
        exporter.addSheet(sheetJ, dataStore);
      }else{
        exporter.addSheet(sheetJ);
      }
    }
View Full Code Here

Examples of it.eng.spagobi.tools.dataset.common.datastore.IDataStore

        CrosstabXLSExporter expCr = new CrosstabXLSExporter();
        endRowNum = expCr.fillAlreadyCreatedSheet(sheet, crosstabJSON, createHelper);
       
      } else if (sheetType.equalsIgnoreCase(WorkSheetXLSExporter.TABLE)) {

        IDataStore dataStore =  getTableDataStore(sheetJ);
        long recCount = dataStore.getRecordsCount();
        endRowNum = (new Long(recCount)).intValue() + 5;
        exporter.designTableInWorksheet(sheet, wb, createHelper, dataStore);     
      }
    }
    return endRowNum;
View Full Code Here

Examples of it.eng.spagobi.tools.dataset.common.datastore.IDataStore

   */
  private IDataStore getTableDataStore(JSONObject sheetJ){
    Query query = getQuery(sheetJ);         

    IStatement statement = getStatement(query);
    IDataStore dataStore = executeQuery(statement, new Integer(0)new Integer(1000));
    return dataStore;
  }
View Full Code Here

Examples of it.eng.spagobi.tools.dataset.common.datastore.IDataStore

        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();
View Full Code Here

Examples of it.eng.spagobi.tools.dataset.common.datastore.IDataStore

    String orderType;
    boolean queryRootEntity;
    // custom query
    String lookupQuery;
   
    IDataStore dataStore = null;
    IDataSet dataSet = null;
    JSONDataWriter dataSetWriter;
    Query query = null;
    IStatement statement = null;
   
    Integer resultNumber = null;
    JSONObject gridDataFeed = new JSONObject();
   
    Monitor totalTimeMonitor = null;
    Monitor errorHitsMonitor = null;
   
    logger.debug("IN");
   
    try {
     
      super.service(request, response)
   
      totalTimeMonitor = MonitorFactory.start("QbeEngine.getFilterValuesAction.totalTime");
     
      queryType = getAttributeAsString(QUERY_TYPE);
      logger.debug("Parameter [" + QUERY_TYPE + "] is equals to [" + queryType + "]");
      if(StringUtilities.isEmpty(queryType)) {
        queryType = "standard";
        logger.debug("Parameter [" + QUERY_TYPE + "] set up to default value [" + queryType + "]");
      }
     
      lookupQuery = getAttributeAsString(LOOKUP_QUERY);
      logger.debug("Parameter [" + LOOKUP_QUERY + "] is equals to [" + lookupQuery + "]");
     
      entityId = getAttributeAsString(ENTITY_ID);
      logger.debug("Parameter [" + ENTITY_ID + "] is equals to [" + entityId + "]");
     
      orderEntity = getAttributeAsString(ORDER_ENTITY);
      logger.debug("Parameter [" + ORDER_ENTITY + "] is equals to [" + orderEntity + "]");
 
      orderType = getAttributeAsString(ORDER_TYPE);
      logger.debug("Parameter [" + ORDER_TYPE + "] is equals to [" + orderType + "]");
     
      queryRootEntity = getAttributeAsBoolean(QUERY_ROOT_ENTITY);
      logger.debug("Parameter [" + QUERY_ROOT_ENTITY + "] is equals to [" + queryRootEntity + "]");
     
      if(queryType.equalsIgnoreCase("standard")) {
        query = buildQuery(entityId, orderEntity, orderType, queryRootEntity);
      } else {
        QbeEngineInstance engineInstance = this.getEngineInstance();
        QueryCatalogue queryCatalogue = engineInstance.getQueryCatalogue();
        query = queryCatalogue.getQuery(lookupQuery);
        if(query == null) {
          throw new SpagoBIEngineServiceException(getActionName(), "Impossible to retrive custom query [" + lookupQuery + "] from catalogue");
        }
       
      }
     
      statement = getDataSource().createStatement( query );
     
      statement.setParameters( getEnv() );
     
      String jpaQueryStr = statement.getQueryString();
      //String sqlQuery = statement.getSqlQueryString();
      logger.debug("Executable query (HQL/JPQL): [" +  jpaQueryStr+ "]");
      //logger.debug("Executable query (SQL): [" + sqlQuery + "]");
     
      try {
        logger.debug("Executing query ...");
        dataSet = QbeDatasetFactory.createDataSet(statement);
        dataSet.setAbortOnOverflow(true);
       
        Map userAttributes = new HashMap();
        UserProfile profile = (UserProfile)this.getEnv().get(EngineConstants.ENV_USER_PROFILE);
        Iterator it = profile.getUserAttributeNames().iterator();
        while(it.hasNext()) {
          String attributeName = (String)it.next();
          Object attributeValue = profile.getUserAttribute(attributeName);
          userAttributes.put(attributeName, attributeValue);
        }
        dataSet.addBinding("attributes", userAttributes);
        dataSet.addBinding("parameters", this.getEnv());
        dataSet.loadData();
       
        dataStore = dataSet.getDataStore();
        Assert.assertNotNull(dataStore, "The dataStore returned by loadData method of the class [" + dataSet.getClass().getName()+ "] cannot be null");
      } catch (Exception e) {
        logger.debug("Query execution aborted because of an internal exceptian");
        SpagoBIEngineServiceException exception;
        String message;
       
        message = "An error occurred in " + getActionName() + " service while executing query: [" +  statement.getQueryString() + "]";       
        exception = new SpagoBIEngineServiceException(getActionName(), message, e);
        exception.addHint("Check if the query is properly formed: [" + statement.getQueryString() + "]");
        exception.addHint("Check connection configuration");
        exception.addHint("Check the qbe jar file");
       
        throw exception;
      }
      logger.debug("Query executed succesfully");
     
      resultNumber = (Integer)dataStore.getMetaData().getProperty("resultNumber");
      Assert.assertNotNull(resultNumber, "property [resultNumber] of the dataStore returned by loadData method of the class [" + dataSet.getClass().getName()+ "] cannot be null");
      logger.debug("Total records: " + resultNumber);     
     
      dataSetWriter = new JSONDataWriter();
      gridDataFeed = (JSONObject)dataSetWriter.write(dataStore);
View Full Code Here

Examples of it.eng.spagobi.tools.dataset.common.datastore.IDataStore

    Integer limit;
    Integer start;
    JSONArray filters;
    Integer maxSize;
    boolean isMaxResultsLimitBlocking;
    IDataStore dataStore;
    JDBCDataSet dataSet;
    JSONDataWriter dataSetWriter;
   
    Query query;
    IStatement statement;
   
    Integer resultNumber;
    JSONObject gridDataFeed = new JSONObject();
   
    Monitor totalTimeMonitor = null;
    Monitor errorHitsMonitor;
         
    logger.debug("IN");
   
    try {
   
      super.service(request, response)
     
      totalTimeMonitor = MonitorFactory.start("QbeEngine.executeQueryAction.totalTime");
     
      start = getAttributeAsInteger( START )
      logger.debug("Parameter [" + START + "] is equals to [" + start + "]");
     
      limit = getAttributeAsInteger( LIMIT );
      logger.debug("Parameter [" + LIMIT + "] is equals to [" + limit + "]");
     
      filters = getAttributeAsJSONArray( FILTERS );
      logger.debug("Parameter [" + FILTERS + "] is equals to [" + filters + "]");
      Assert.assertNotNull(filters, "Parameter [" + FILTERS + "] cannot be null");
      Assert.assertTrue(filters.length() > 0, "GroupBy fileds list cannot be empty");
           
      maxSize = QbeEngineConfig.getInstance().getResultLimit();     
      logger.debug("Configuration setting  [" + "QBE.QBE-SQL-RESULT-LIMIT.value" + "] is equals to [" + (maxSize != null? maxSize: "none") + "]");
      isMaxResultsLimitBlocking = QbeEngineConfig.getInstance().isMaxResultLimitBlocking();
      logger.debug("Configuration setting  [" + "QBE.QBE-SQL-RESULT-LIMIT.isBlocking" + "] is equals to [" + isMaxResultsLimitBlocking + "]");
     
      Assert.assertNotNull(getEngineInstance(), "It's not possible to execute " + this.getActionName() + " service before having properly created an instance of EngineInstance class");
     
     
      // STEP 1: modify the query according to the input that come from the form
      query = getEngineInstance().getQueryCatalogue().getFirstQuery();     
      // ... query transformation goes here 
     
      logger.debug("Making a deep copy of the original query...");
      String store = ((JSONObject)SerializerFactory.getSerializer("application/json").serialize(query, getEngineInstance().getDataSource(), getLocale())).toString();
      Query copy = SerializerFactory.getDeserializer("application/json").deserializeQuery(store, getEngineInstance().getDataSource());
      logger.debug("Deep copy of the original query produced");
     
      String jsonEncodedFormState = getAttributeAsString( FORM_STATE );
      logger.debug("Form state retrieved as a string: " + jsonEncodedFormState);
      JSONObject formState = new JSONObject(jsonEncodedFormState);
      logger.debug("Form state converted into a valid JSONObject: " + formState.toString(3));
      JSONObject template = (JSONObject) getEngineInstance().getFormState().getConf();
      logger.debug("Form viewer template retrieved.");
     
      FormViewerQueryTransformer formViewerQueryTransformer = new FormViewerQueryTransformer();
      formViewerQueryTransformer.setFormState(formState);
      formViewerQueryTransformer.setTemplate(template);
      logger.debug("Applying Form Viewer query transformation...");
      query = formViewerQueryTransformer.execTransformation(copy);
      logger.debug("Applying Form Viewer query transformation...");
     
      updatePromptableFiltersValue(query);
      getEngineInstance().setActiveQuery(query);
     
     
     
      // STEP 2: prepare statment and obtain the corresponding sql query
      statement = getEngineInstance().getStatment()
      statement.setParameters( getEnv() );
     
      String jpaQueryStr = statement.getQueryString();
      String sqlQuery = statement.getSqlQueryString();
      logger.debug("Executable query (HQL/JPQL): [" +  jpaQueryStr+ "]");
      //logger.debug("Executable query (SQL): [" + sqlQuery + "]");
      UserProfile userProfile = (UserProfile)getEnv().get(EngineConstants.ENV_USER_PROFILE);
      //auditlogger.info("[" + userProfile.getUserId() + "]:: HQL: " + hqlQuery);
      //auditlogger.info("[" + userProfile.getUserId() + "]:: SQL: " + sqlQuery);
     
      // STEP 3: transform the sql query
      FilterQueryTransformer transformer = new FilterQueryTransformer();
      List selectFields = SqlUtils.getSelectFields(sqlQuery);
     
      List queryFields = query.getDataMartSelectFields(true);
      for(int i = 0; i < queryFields.size(); i++) {
        ISelectField queryField = (ISelectField)queryFields.get(i);
        String[] f = (String[])selectFields.get(i)
        transformer.addColumn(f[1]!=null? f[1]:f[0], f[1]!=null? f[1]:f[0]);       
      }
     
      for(int i = 0; i < filters.length(); i++) {
        JSONObject filter = filters.getJSONObject(i);
        String columnName = filter.getString("columnName");
        String value = filter.getString("value");
       
        int fieldIndex = query.getSelectFieldIndex(columnName);       
        String[] f = (String[])selectFields.get(fieldIndex);   
        transformer.addFilter(f[1]!=null? f[1]:f[0], value);
      }
     
      sqlQuery = (String)transformer.transformQuery(sqlQuery);
     
      // put the query into session
      this.setAttributeInSession(LAST_DETAIL_QUERY, sqlQuery);
     
      // STEP 4: execute the query
     
      try {
        logger.debug("Executing query: [" + sqlQuery + "]");
        auditlogger.info("[" + userProfile.getUserId() + "]:: SQL: " + sqlQuery);
       
        dataSet = new JDBCDataSet();
        //Session session = getDatamartModel().getDataSource().getSessionFactory().openSession();
        ConnectionDescriptor connection = (ConnectionDescriptor)getDataSource().getConfiguration().loadDataSourceProperties().get("connection");
        DataSource dataSource = new DataSource();
        dataSource.setJndi(connection.getJndiName());
        dataSource.setHibDialectName(connection.getDialect());
        dataSource.setUrlConnection(connection.getUrl());
        dataSource.setDriver(connection.getDriverClass());
        dataSource.setUser(connection.getUsername());
        dataSource.setPwd(connection.getPassword());
        dataSet.setDataSource(dataSource);
        dataSet.setQuery(sqlQuery);
        dataSet.loadData(start, limit, -1);
        dataStore = dataSet.getDataStore();
        IDataStoreMetaData dataStoreMetadata = dataStore.getMetaData();
        for(int i = 0; i < dataStoreMetadata.getFieldCount(); i++) {
          ISelectField queryField = (ISelectField)queryFields.get(i);
          dataStoreMetadata.changeFieldAlias(i, queryField.getAlias());
        }
      } catch (Exception e) {
        logger.debug("Query execution aborted because of an internal exceptian");
        SpagoBIEngineServiceException exception;
        String message;
       
        message = "An error occurred in " + getActionName() + " service while executing query: [" +  statement.getQueryString() + "]";       
        exception = new SpagoBIEngineServiceException(getActionName(), message, e);
        exception.addHint("Check if the query is properly formed: [" + statement.getQueryString() + "]");
        exception.addHint("Check connection configuration");
        exception.addHint("Check the qbe jar file");
       
        throw exception;
      }
      logger.debug("Query executed succesfully");
     
     
      //dataStore.getMetaData().setProperty("resultNumber", new Integer( (int)dataStore.getRecordsCount() ));
     
      resultNumber = (Integer)dataStore.getMetaData().getProperty("resultNumber");
      Assert.assertNotNull(resultNumber, "property [resultNumber] of the dataStore returned by loadData method of the class [" + dataSet.getClass().getName()+ "] cannot be null");
      logger.debug("Total records: " + resultNumber);     
     
     
      boolean overflow = maxSize != null && resultNumber >= maxSize;
View Full Code Here
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.