Package it.eng.qbe.query

Examples of it.eng.qbe.query.Query


    return catalogue;
  }

  public void setCatalogue(QueryCatalogue catalogue) {
    Set queries;
    Query query;
    JSONObject queryJSON;
    JSONArray queriesJSON;
    JSONObject catalogueJSON;
   
    catalogueJSON = new JSONObject();
View Full Code Here


  
  public void service(SourceBean request, SourceBean response)  {       
       
    JSONObject results;
    String fieldType;
    Query query;
    List selectFields;
         
    logger.debug("IN");
   
    try {
   
      super.service(request, response)
     
     
     
      fieldType = getAttributeAsString( FIELD_TYPE )
      logger.debug("Parameter [" + FIELD_TYPE + "] is equals to [" + fieldType + "]");
     
      if(fieldType == null) {
        logger.warn("Parameter [" + FIELD_TYPE + "] not specified. All select fields will be returned");
        fieldType = FIELD_TYPE_ALL;
      }
     
      query = getEngineInstance().getQueryCatalogue().getFirstQuery();
      Assert.assertNotNull(query, "Impossible to get any query from catalogue");
     
      selectFields = null;
      if(FIELD_TYPE_ALL.equalsIgnoreCase(fieldType)) {
        selectFields = query.getSelectFields(true);
      } else if(FIELD_TYPE_GROUPABLE.equalsIgnoreCase(fieldType)) {
        selectFields = query.getSelectFields(true);
      } else  if(FIELD_TYPE_GROUPABLE.equalsIgnoreCase(fieldType)) {
        Assert.assertUnreachable("Value [" + fieldType + "] for parameter [" + FIELD_TYPE + "] is valid but not yet supported.");
      } else {
        Assert.assertUnreachable("Parameter [" + FIELD_TYPE + "] cannot be equal to [" + fieldType + "]");
      }
View Full Code Here

   
    public static final String ENGINE_NAME = "SpagoBIQbeEngine";
   
    public void service(SourceBean request, SourceBean response) {
   
    Query query = null;
    IStatement statement = null;
     
      logger.debug("IN");
      
      try {
View Full Code Here

    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 + "]");
     
      groupFields = getAttributeAsJSONArray( GROUPBY_FIELDS );
      logger.debug("Parameter [" + GROUPBY_FIELDS + "] is equals to [" + groupFields + "]");
      Assert.assertNotNull(groupFields, "Parameter [" + GROUPBY_FIELDS + "] cannot be null");
      Assert.assertTrue(groupFields.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);
View Full Code Here

    private static transient Logger logger = Logger.getLogger(GetSelectedColumnsAction.class);
  
  public void service(SourceBean request, SourceBean response)  {       
 
    String queryId;
    Query query;
    JSONObject queryJSON;
    JSONArray fieldsJSON;
    JSONObject resultsJSON;
   
    logger.debug("IN");
   
    try {   
      super.service(request, response)
     
      queryId = getAttributeAsString( QUERY_ID );
      logger.debug("Parameter [" + QUERY_ID + "] is equals to [" + queryId + "]");
     
      Assert.assertNotNull(getEngineInstance(), "It's not possible to execute " + this.getActionName() + " service before having properly created an instance of EngineInstance class");
     
      // get query
      if(queryId != null) {
        logger.debug("Loading query [" + queryId + "] from catalogue");
        query = getEngineInstance().getQueryCatalogue().getQuery(queryId);
        Assert.assertNotNull(query, "Query object with id [" + queryId + "] does not exist in the catalogue");
      } else {
        logger.debug("Loading active query");
        query = getEngineInstance().getActiveQuery();
        logger.warn("Active query not available");
        logger.debug("Loading first query from catalogue");
        query = getEngineInstance().getQueryCatalogue().getFirstQuery();
        Assert.assertNotNull(query, "Query catalogue is empty");
      }
      logger.debug("Query [" + query.getId() + "] succesfully loaded");
     
     
      // serialize query
      try {
        queryJSON = (JSONObject)SerializerFactory.getSerializer("application/json").serialize(query, getEngineInstance().getDataSource(), getLocale());
      } catch (SerializationException e) {
        throw new SpagoBIEngineServiceException(getActionName(), "Cannot serialize query [" + query.getId() + "]", e);
      }
     
     
      fieldsJSON = queryJSON.getJSONArray(QuerySerializationConstants.FIELDS);     
      resultsJSON = new JSONObject();
View Full Code Here

   */
  public Query getFilteredQuery(Query query, JSONObject jsonEncodedFormState) throws SerializationException{
    if (jsonEncodedFormState != null) {
      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");
      //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.");
View Full Code Here

     
      // serialize query
      resultsJSON = new JSONArray();
      Iterator<Query> it = queries.iterator();
      while(it.hasNext()) {
        Query query = it.next();
        queryJSON = (JSONObject)SerializerFactory.getSerializer("application/json").serialize(query, getEngineInstance().getDataSource(), getLocale());
        resultsJSON.put(queryJSON);
      }
     
      responseJSON = new JSONObject();
View Full Code Here

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

   * @return
   */
  public Query getQuery() {
    String queryId = getAttributeAsString( QUERY_ID );
    logger.debug("Parameter [" + QUERY_ID + "] is equals to [" + queryId + "]");
    Query query = getEngineInstance().getQueryCatalogue().getQuery(queryId);
    if(getEngineInstance().getActiveQuery() == null || !getEngineInstance().getActiveQuery().getId().equals(query.getId())) {
      logger.debug("Query with id [" + query.getId() + "] is not the current active query. A new statment will be generated");
      getEngineInstance().setActiveQuery(query);
    }
    return query;
  }
View Full Code Here

    try {
      super.service(request, response)
      // retrieve first query from catalog
      QbeEngineInstance engineInstance = getEngineInstance();
      QueryCatalogue queryCatalogue = engineInstance.getQueryCatalogue();
      Query query = queryCatalogue.getFirstQuery();
      // serialize query
      JSONObject queryJSON = (JSONObject)SerializerFactory.getSerializer("application/json").serialize(query, getEngineInstance().getDataSource(), getLocale());
     
      try {
        writeBackToClient( new JSONSuccess(queryJSON) );
View Full Code Here

TOP

Related Classes of it.eng.qbe.query.Query

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.