Package it.eng.spagobi.engines.qbe.bo

Source Code of it.eng.spagobi.engines.qbe.bo.FormViewerState

/**
* SpagoBI - The Business Intelligence Free Platform
*
* Copyright (C) 2004 - 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.engines.qbe.bo;

import java.util.ArrayList;
import java.util.List;

import org.apache.log4j.Logger;
import org.json.JSONArray;
import org.json.JSONObject;

/**
* This class wrap the FormViewer state (a JSONObject) and provide parsing methods.
*
* @author Davide Zerbetto (davide.zerbetto@eng.it)
*
*/
public class FormViewerState {

  public static transient Logger logger = Logger.getLogger(FormViewerState.class);
 
  private JSONObject xorFilters = null;
  private JSONObject onOffFilters = null;
  private JSONObject staticOpenFilters = null;
  private JSONObject dynamicFilters = null;
 
  public FormViewerState(JSONObject state) {
    JSONObject staticClosedFilters = state.optJSONObject("staticClosedFilters");
    if (staticClosedFilters != null) {
      xorFilters = staticClosedFilters.optJSONObject("xorFilters");
      onOffFilters = staticClosedFilters.optJSONObject("onOffFilters");
    }
    staticOpenFilters = state.optJSONObject("staticOpenFilters");
    dynamicFilters = state.optJSONObject("dynamicFilters");
  }
 
  public String getXORFilterSelectedOption(String xorFilterId) {
    logger.debug("IN: xorFilterId = " + xorFilterId);
    String toReturn = null;
    if (xorFilters != null ) {
      toReturn = xorFilters.optString(xorFilterId);
    }
    logger.debug("OUT: returning " + toReturn);
    return toReturn;
  }
 
  public boolean isOnOffFilterActive(String ofOffFilterGroupId, String onOffFilterId) {
    logger.debug("IN: ofOffFilterGroupId = " + ofOffFilterGroupId + "; onOffFilterId = " + onOffFilterId);
    boolean toReturn = false;
    if (onOffFilters != null ) {
      JSONObject onOffFilterGroup = onOffFilters.optJSONObject(ofOffFilterGroupId);
      if (onOffFilterGroup != null) {
        String onOff = onOffFilterGroup.optString(onOffFilterId);
        toReturn = "on".equalsIgnoreCase(onOff);
      }
    }
    logger.debug("OUT: returning " + toReturn);
    return toReturn;
  }
 
  public List<String> getOpenFilterValues(String openFilterId) {
    logger.debug("IN: openFilterId = " + openFilterId);
    List<String> toReturn = new ArrayList<String>();
    if (staticOpenFilters != null ) {
      JSONArray values = staticOpenFilters.optJSONArray(openFilterId);
      if (values != null && values.length() > 0) {
        for (int i = 0; i < values.length(); i++)
          if (values.optString(i) != null) {
            toReturn.add(values.optString(i));
          };
      }
    }
    logger.debug("OUT: returning " + toReturn);
    return toReturn;
  }
 
  public String getDynamicFilterField(String dynamicFilterId) {
    logger.debug("IN: dynamicFilterId = " + dynamicFilterId);
    String toReturn = null;
    if (dynamicFilters != null ) {
      JSONObject dynamicFilter = dynamicFilters.optJSONObject(dynamicFilterId);
      if (dynamicFilter != null) {
        toReturn = dynamicFilter.optString("field");
      }
    }
    logger.debug("OUT: returning " + toReturn);
    return toReturn;
  }
 
  public List<String> getDynamicFilterFromToValues(String dynamicFilterId) {
    logger.debug("IN: dynamicFilterId = " + dynamicFilterId);
    List<String> toReturn = new ArrayList<String>();
    if (dynamicFilters != null ) {
      JSONObject dynamicFilter = dynamicFilters.optJSONObject(dynamicFilterId);
      if (dynamicFilter != null && dynamicFilter.optString("fromvalue") != null && dynamicFilter.optString("tovalue") != null) {
        toReturn.add(dynamicFilter.optString("fromvalue"));
        toReturn.add(dynamicFilter.optString("tovalue"));
      }
    }
    logger.debug("OUT: returning " + toReturn);
    return toReturn;
  }
 
  public String getDynamicFilterValue(String dynamicFilterId) {
    logger.debug("IN: dynamicFilterId = " + dynamicFilterId);
    String toReturn = null;
    if (dynamicFilters != null ) {
      JSONObject dynamicFilter = dynamicFilters.optJSONObject(dynamicFilterId);
      if (dynamicFilter != null && dynamicFilter.optString("value") != null) {
        toReturn = dynamicFilter.optString("value");
      }
    }
    logger.debug("OUT: returning " + toReturn);
    return toReturn;
  }
}
TOP

Related Classes of it.eng.spagobi.engines.qbe.bo.FormViewerState

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.