Package it.eng.spagobi.engines.chart.utils

Examples of it.eng.spagobi.engines.chart.utils.DatasetMap


  DatasetMap datasetMap;
  String res = "";
 
  public LineChart() {
    super();
    datasetMap=new DatasetMap();
    categories=new HashMap();
  }
View Full Code Here


  public DatasetMap calculateValue(String result) throws Exception {

    logger.debug("IN");
    res = result;
    categories=new HashMap();
    datasetMap=new DatasetMap();

    SourceBean sbRows=SourceBean.fromXMLString(res);
    List listAtts=sbRows.getAttributeAsList("ROW");

    // run all categories (one for each row)
View Full Code Here

  public DatasetMap calculateValue() throws Exception {
    logger.debug("IN");
    String res=DataSetAccessFunctions.getDataSetResultFromId(profile, getData(),parametersObject);

    DatasetMap datasets = new DatasetMap();
   

    SourceBean sbRows=SourceBean.fromXMLString(res);
    List listAtts=sbRows.getAttributeAsList("ROW");
   
    seriesNames=new Vector();
    valuesNames=new Vector();
    boolean first=true;

    // run all dataset rows
    for (Iterator iterator = listAtts.iterator(); iterator.hasNext();) {
      SourceBean sbSeries = (SourceBean) iterator.next();
      List atts=sbSeries.getContainedAttributes();

      HashMap series = new LinkedHashMap();
      HashMap serValue = new LinkedHashMap();

      String name="";
      String value="";
     


      int contSer = 0;
      //run all the attributes in a row, to define series
      for (Iterator iterator2 = atts.iterator(); iterator2.hasNext();) {
        SourceBeanAttribute object = (SourceBeanAttribute) iterator2.next();

        name=new String(object.getKey());
        value=new String((String)object.getValue());
       
        if (name.startsWith("serie")){
            // map containing the series
            series.put(name, value);
            contSer++;
        }
        else {
          serValue.put(name, value);
          if(!valuesNames.contains(name))
            valuesNames.add(name);
        }
      }
     
      // add series to dataset
      for (Iterator iterator3 = series.keySet().iterator(); iterator3.hasNext();) {
        String nameS = (String) iterator3.next();

        String valueS=(String)series.get(nameS);
        if(valueS!=null && !valueS.equals("null") && !valueS.equals("")){
          Object[] arSer = serValue.keySet().toArray();
          for (int i=0; i<arSer.length;i++){
            datasets.getDatasets().put(valueS + "__" + arSer[i],new DefaultValueDataset(Double.valueOf((String)serValue.get(arSer[i]))));
          }
          if(!seriesNames.contains(valueS)){
            seriesNames.add(valueS);
          }
        }       
View Full Code Here

    seriesCaptions=new LinkedHashMap();

    String res=DataSetAccessFunctions.getDataSetResultFromId(profile, getData(),parametersObject);
    categories=new HashMap();

    DatasetMap datasetMap=new DatasetMap();

    SourceBean sbRows=SourceBean.fromXMLString(res);

    List listAtts=sbRows.getAttributeAsList("ROW"); // One row for each category

    categoriesNumber=0;

    // 4 datasets, 2 for first axis named 1, 2 for second axis named 2
    datasetMap.getDatasets().put("1-bar", new DefaultCategoryDataset());
    datasetMap.getDatasets().put("1-line", new DefaultCategoryDataset());
    datasetMap.getDatasets().put("2-bar", new DefaultCategoryDataset());
    datasetMap.getDatasets().put("2-line", new DefaultCategoryDataset());

    lineNoShapeSeries1=new Vector<String>();
    lineNoShapeSeries2=new Vector<String>();
    categoriesTooltip=new HashMap<String, String>();
    seriesTooltip=new HashMap<String, String>();
    seriesOrder=new ArrayList<String>();

    boolean first=true;
    //categories.put(new Integer(0), "All Categories");

    for (Iterator iterator = listAtts.iterator(); iterator.hasNext();) {     // run all categories (one for each row)
      SourceBean category = (SourceBean) iterator.next();
      List atts=category.getContainedAttributes();              // attributes: x is category name, values as serie_name are others, addition values can be added

      HashMap series=new LinkedHashMap();
      HashMap additionalValues=new LinkedHashMap();
      String catValue="";

      String nameP="";
      String value="";

      if(first){
        if (name.indexOf("$F{") >= 0){
          setTitleParameter(atts);
        }
        if (getSubName()!= null && getSubName().indexOf("$F") >= 0){
          setSubTitleParameter(atts);
        }
        first=false;
      }


      //run all the attributes, to define series!
      int numColumn = 0;
      for (Iterator iterator2 = atts.iterator(); iterator2.hasNext();) {
        numColumn ++;
        SourceBeanAttribute object = (SourceBeanAttribute) iterator2.next();
        // In order to have tootltip for category they must be defined after x
        nameP=new String(object.getKey());
        value=new String((String)object.getValue());
        if(nameP.equalsIgnoreCase("x"))                       // category name
        {
          catValue=value;
          categoriesNumber=categoriesNumber+1;
          categories.put(new Integer(categoriesNumber),value);
        }
        else {
          if(nameP.toUpperCase().startsWith("ADD_")){       // additional information
            if(additionalLabels){
              String ind=nameP.substring(4);             
              additionalValues.put(ind, value);
            }
          } // must be after x definition
          else if((nameP.toUpperCase()).startsWith("TIP_X")){       // additional information
            if(enableToolTips){
              categoriesTooltip.put(nameP.toUpperCase()+"_"+catValue, value);
            }
          }

          else if(nameP.toUpperCase().startsWith("TIP_")){       // additional information
            if(enableToolTips){
              seriesTooltip.put(nameP.toUpperCase(), value);
            }
          }
          else if(nameP.toUpperCase().startsWith("FREETIP_X")){       // additional information
            if(enableToolTips){
              freeToolTips=true; //help the search later in MyCategoryToolTipGenerator
              categoriesTooltip.put(nameP.toUpperCase()+"_"+catValue, value);
            }
          }         
          else{
            if(seriesLabelsMap!=null){                  // a serie
              String serieLabel = (String)seriesLabelsMap.get(nameP);
              series.put(serieLabel, value);
              if(!seriesOrder.contains(serieLabel)){
                seriesOrder.add(serieLabel);
              }
              seriesCaptions.put(serieLabel, nameP);             

            }
            else {
              series.put(nameP, value);
              if(!seriesOrder.contains(nameP)){
                seriesOrder.add(nameP);
              }
            }
          }
          // for now I make like if addition value is checked he seek for an attribute with name with value+name_serie
        }
      }


      // for each serie
      for (Iterator iterator3 = series.keySet().iterator(); iterator3.hasNext();) {
        String nameS = (String) iterator3.next();
        String labelS = "";
        String valueS=(String)series.get(nameS);
        Double valueD=null;
        try{
          valueD=Double.valueOf(valueS);
        }
        catch (Exception e) {
          logger.warn("error in double conversion, put default to null");
          valueD=null;
        }

       
        if(!hiddenSeries.contains(nameS)){
          if(seriesLabelsMap != null && (seriesCaptions != null && seriesCaptions.size()>0)){
            nameS = (String)(seriesCaptions.get(nameS));
            labelS = (String)seriesLabelsMap.get(nameS);
            if(labelS==null)labelS=nameS;
          }
          else
            labelS = nameS; 


          // Fill DATASET: Check if has to be filled dataset 1 or dataset 2, to bar or lines
          // LINE CASE
          if(!isHiddenSerie(nameS) && seriesDraw.get(nameS)!=null &&
              (((String)seriesDraw.get(nameS)).equalsIgnoreCase("line") || ((String)seriesDraw.get(nameS)).equalsIgnoreCase("line_no_shapes"))
          )
          {
            if(!seriesNames.contains(nameS))seriesNames.add(nameS);
            // SET THE AXIS
            if(seriesScale != null && seriesScale.get(nameS)!=null && ((String)seriesScale.get(nameS)).equalsIgnoreCase("2")){
              useLinesRenderers=true;
              if(((String)seriesDraw.get(nameS)).equalsIgnoreCase("line_no_shapes") && !lineNoShapeSeries2.contains(nameS)){
                lineNoShapeSeries2.add(nameS);
              }
              ((DefaultCategoryDataset)(datasetMap.getDatasets().get("2-line"))).addValue(valueD!=null ? valueD.doubleValue() : null, labelS, catValue);
            }
            else{
              useLinesRenderers=true;
              if(((String)seriesDraw.get(nameS)).equalsIgnoreCase("line_no_shapes") && !lineNoShapeSeries1.contains(nameS)){
                lineNoShapeSeries1.add(nameS);
              }
              ((DefaultCategoryDataset)(datasetMap.getDatasets().get("1-line"))).addValue(valueD!=null ? valueD.doubleValue() : null, labelS, catValue);
            }

          }
          else if(!isHiddenSerie(nameS)){// BAR CASE
            if(!seriesNames.contains(nameS))seriesNames.add(nameS);
            // if to draw mapped to first axis
            if(seriesScale != null && seriesScale.get(nameS)!=null && ((String)seriesScale.get(nameS)).equalsIgnoreCase("2")){
              if(!seriesNames.contains(nameS))seriesNames.add(nameS);
              ((DefaultCategoryDataset)(datasetMap.getDatasets().get("2-bar"))).addValue(valueD!=null ? valueD.doubleValue() : null, labelS, catValue);
            }
            else{ // if to draw as a bar
              if(!seriesNames.contains(nameS))seriesNames.add(nameS);
              ((DefaultCategoryDataset)(datasetMap.getDatasets().get("1-bar"))).addValue(valueD!=null ? valueD.doubleValue() : null, labelS, catValue);
            }
          }

//          if(!isHiddenSerie(nameS)){
//          if(!seriesNames.contains(nameS))
View Full Code Here



    }
    logger.debug("OUT");
    DatasetMap datasets=new DatasetMap();
    datasets.addDataset("1",dataset);
    return datasets;
  }
View Full Code Here

        result=(String)sbRow.getAttribute("value");
      }
      DefaultValueDataset dataset = new DefaultValueDataset(Double.valueOf(result));
      logger.debug("OUT");

      DatasetMap datasets=new DatasetMap();
      datasets.addDataset("1",dataset);
      return datasets;   
    }
    logger.error("dataset is null!!!!!!!!!");
    return null;
  }
View Full Code Here

      }
    }


    logger.debug("OUT");
    DatasetMap datasets=new DatasetMap();
    datasets.addDataset("1",dataset);
    return datasets;
  }
View Full Code Here

      }
    }

    logger.debug("OUT");
    DatasetMap datasets=new DatasetMap();
    datasets.addDataset("1",dataset);
    return datasets;
  }
View Full Code Here

    String res=DataSetAccessFunctions.getDataSetResultFromId(profile, getData(),parametersObject);
    categories=new LinkedHashMap();

    //DefaultCategoryDataset dataset = new DefaultCategoryDataset();

    DatasetMap datasetMap=new DatasetMap();

    SourceBean sbRows=SourceBean.fromXMLString(res);
    List listAtts=sbRows.getAttributeAsList("ROW");


    // run all categories (one for each row)
    categoriesNumber=0;

    // new versione: two datasets one for bar and one for lines
    datasetMap.getDatasets().put("stackedbar", new DefaultCategoryDataset());
    datasetMap.getDatasets().put("line", new DefaultCategoryDataset());

    boolean first=true;
    //categories.put(new Integer(0), "All Categories");
    for (Iterator iterator = listAtts.iterator(); iterator.hasNext();) {
      SourceBean category = (SourceBean) iterator.next();
      List atts=category.getContainedAttributes();

      //HashMap series=new HashMap();
      HashMap series=new LinkedHashMap();
      HashMap additionalValues=new LinkedHashMap();
      String catValue="";

      String nameP="";
      String value="";

      if(first){
        if (name.indexOf("$F{") >= 0){
          setTitleParameter(atts);
        }
        if (getSubName()!= null && getSubName().indexOf("$F") >= 0){
          setSubTitleParameter(atts);
        }
        first=false;
      }


      //run all the attributes, to define series!
      int contSer = 0;
      for (Iterator iterator2 = atts.iterator(); iterator2.hasNext();) {
        SourceBeanAttribute object = (SourceBeanAttribute) iterator2.next();

        nameP=new String(object.getKey());
        value=new String((String)object.getValue());
        if(nameP.equalsIgnoreCase("x"))
        {
          catValue=value;
          categoriesNumber=categoriesNumber+1;
          categories.put(new Integer(categoriesNumber),value);


        }
        else {
          if(nameP.startsWith("add_") || nameP.startsWith("ADD_")){
            if(additionalLabels){
              String ind=nameP.substring(4);             
              additionalValues.put(ind, value);
            }
          }
          // must be after x definition
          else if(nameP.toUpperCase().startsWith("TIP_X")){       // additional information
            if(enableToolTips){
              categoriesTooltip.put(nameP+"_"+catValue, value);
            }
          }

          else if(nameP.toUpperCase().startsWith("TIP_")){       // additional information
            if(enableToolTips){
              seriesTooltip.put(nameP, value);
            }
          }
          else if(nameP.toUpperCase().startsWith("FREETIP_X")){       // additional information
            if(enableToolTips){
              freeToolTips=true; //help the search later in MyCategoryToolTipGenerator
              categoriesTooltip.put(nameP+"_"+catValue, value);
            }
          }         
          else{           
            if(seriesLabelsMap!=null){
              if((this.getNumberSerVisualization() > 0 && contSer < this.getNumberSerVisualization()) && seriesDraw.get(nameP)!= null &&
                  ((String)seriesDraw.get(nameP)).equalsIgnoreCase("StackedBar")){
                String serieLabel = (String)seriesLabelsMap.get(nameP);
                series.put(serieLabel, value);
                seriesCaptions.put(serieLabel, nameP);
                contSer++;
              }
              else if(this.getNumberSerVisualization() ==
                  ||
                  ( seriesDraw.get(nameP)!= null &&
                      ((String)seriesDraw.get(nameP)).equalsIgnoreCase("line"))
              )
              { //all series
                String serieLabel = (String)seriesLabelsMap.get(nameP);
                series.put(serieLabel, value);
                seriesCaptions.put(serieLabel, nameP);
              }
            }
            else if(this.getNumberSerVisualization() > 0 && contSer < this.getNumberSerVisualization() &&
                ((String)seriesDraw.get(nameP)).equalsIgnoreCase("StackedBar")){
              series.put(nameP, value);
              contSer++;
            }
            else if(this.getNumberSerVisualization() == || ((String)seriesDraw.get(nameP)).equalsIgnoreCase("line")){ //all series
              series.put(nameP, value);
            }
          }

          // for now I make like if addition value is checked he seek for an attribute with name with value+name_serie
        }
      }


      // for each serie
      for (Iterator iterator3 = series.keySet().iterator(); iterator3.hasNext();) {
        String nameS = (String) iterator3.next();
        String labelS = "";
        String valueS=(String)series.get(nameS);
        Double valueD=null;
        try{
          valueD=Double.valueOf(valueS);
        }
        catch (Exception e) {
          logger.warn("error in double conversion, put default to null");
          valueD=null;
        }


        if(!hiddenSeries.contains(nameS)){
          if(seriesLabelsMap != null && (seriesCaptions != null && seriesCaptions.size()>0)){
            nameS = (String)(seriesCaptions.get(nameS));
            labelS = (String)seriesLabelsMap.get(nameS);
          }
          else
            labelS = nameS; 

          // if to draw as a line
          if(seriesDraw.get(nameS)!=null && ((String)seriesDraw.get(nameS.toUpperCase())).equalsIgnoreCase("line")){
            if(!seriesNames.contains(nameS.toUpperCase()))seriesNames.add(nameS.toUpperCase());
            ((DefaultCategoryDataset)(datasetMap.getDatasets().get("line"))).addValue(valueD!=null ? valueD.doubleValue() : null, labelS, catValue);
          }
          else{ // if to draw as a bar
            if(!seriesNames.contains(nameS.toUpperCase()))seriesNames.add(nameS.toUpperCase());
            ((DefaultCategoryDataset)(datasetMap.getDatasets().get("stackedbar"))).addValue(valueD!=null ? valueD.doubleValue() : null, labelS, catValue);

          }
          // if there is an additional label are
          if(additionalValues.get(nameS)!=null){
            String val=(String)additionalValues.get(nameS);
View Full Code Here

    String res=DataSetAccessFunctions.getDataSetResultFromId(profile, getData(),parametersObject);
    categories=new HashMap();

    //DefaultCategoryDataset dataset = new DefaultCategoryDataset();

    DatasetMap datasetMap=new DatasetMap();

    SourceBean sbRows=SourceBean.fromXMLString(res);
    List listAtts=sbRows.getAttributeAsList("ROW");


    // run all categories (one for each row)
    categoriesNumber=0;

    // one dataset for mapping left, one for mapping right
    //    datasetMap.getDatasets().put("bar", new DefaultCategoryDataset());
    //    datasetMap.getDatasets().put("line", new DefaultCategoryDataset());

    datasetMap.getDatasets().put("1-bar", new DefaultCategoryDataset());
    datasetMap.getDatasets().put("1-line", new DefaultCategoryDataset());
    datasetMap.getDatasets().put("2-bar", new DefaultCategoryDataset());
    datasetMap.getDatasets().put("2-line", new DefaultCategoryDataset());



    boolean first=true;
    //categories.put(new Integer(0), "All Categories");
    for (Iterator iterator = listAtts.iterator(); iterator.hasNext();) {
      SourceBean category = (SourceBean) iterator.next();
      List atts=category.getContainedAttributes();

      HashMap series=new LinkedHashMap();
      HashMap additionalValues=new LinkedHashMap();
      String catValue="";

      String nameP="";
      String value="";

      if(first){
        if (name.indexOf("$F{") >= 0){
          setTitleParameter(atts);
        }
        if (getSubName()!= null && getSubName().indexOf("$F") >= 0){
          setSubTitleParameter(atts);
        }
        first=false;
      }


      //run all the attributes, to define series!
      int numColumn = 0;
      for (Iterator iterator2 = atts.iterator(); iterator2.hasNext();) {
        numColumn ++;
        SourceBeanAttribute object = (SourceBeanAttribute) iterator2.next();

        nameP=new String(object.getKey());
        value=new String((String)object.getValue());
        if(nameP.equalsIgnoreCase("x"))
        {
          catValue=value;
          categoriesNumber=categoriesNumber+1;
          categories.put(new Integer(categoriesNumber),value);


        }
        else {
          if(nameP.startsWith("add_") || nameP.startsWith("ADD_")){
            if(additionalLabels){
              String ind=nameP.substring(4);             
              additionalValues.put(ind, value);
            }
          }
          // must be after x definition
          else if(nameP.toUpperCase().startsWith("TIP_X")){       // additional information
            if(enableToolTips){
              categoriesTooltip.put(nameP+"_"+catValue, value);
            }
          }

          else if(nameP.toUpperCase().startsWith("TIP_")){       // additional information
            if(enableToolTips){
              seriesTooltip.put(nameP, value);
            }
          }
          else if(nameP.toUpperCase().startsWith("FREETIP_X")){       // additional information
            if(enableToolTips){
              freeToolTips=true; //help the search later in MyCategoryToolTipGenerator
              categoriesTooltip.put(nameP+"_"+catValue, value);
            }
          }         
          else{
            if(seriesLabelsMap!=null){
              String serieLabel = (String)seriesLabelsMap.get(nameP);
              if(serieLabel == null){
                if(!hiddenSeries.contains(nameP)){
                  logger.error("serie Label not found for serie with name "+nameP+ ": this may lead to errors, check if serie's name from dataset is equal to the one specified in template");
                  logger.warn("series name in template are wrongly defined, remove series naming, check template");
                  series.put(nameP, value);
                  seriesLabelsMap = null;
                }
              }
              else{
                series.put(serieLabel, value);
                seriesCaptions.put(serieLabel, nameP);
                int i=0;
              }
            }
            else{
              logger.debug("SERIES_LABELS not specified: insert real serie's name");
              series.put(nameP, value);
            }
          }

          // for now I make like if addition value is checked he seek for an attribute with name with value+name_serie
        }
      }


      // for each serie
      for (Iterator iterator3 = series.keySet().iterator(); iterator3.hasNext();) {
        String nameS = (String) iterator3.next();
        String labelS = "";
        String valueS=(String)series.get(nameS);

        Double valueD=null;
        try{
          valueD=Double.valueOf(valueS);
        }
        catch (Exception e) {
          logger.warn("error in double conversion, put default to null");
          valueD=null;
        }

        if(!hiddenSeries.contains(nameS)){
          if(seriesLabelsMap != null && (seriesCaptions != null && seriesCaptions.size()>0)){
            nameS = (String)(seriesCaptions.get(nameS));
            labelS = (String)seriesLabelsMap.get(nameS);
          }
          else
            labelS = nameS; 



          //Line and second axis

          // LINE CASE
          if(!isHiddenSerie(nameS) && seriesDraw.get(nameS)!=null && (((String)seriesDraw.get(nameS)).equalsIgnoreCase("line") || ((String)seriesDraw.get(nameS)).equalsIgnoreCase("line_no_shapes"))){
            useLines=true;
            if(!seriesNames.contains(nameS))seriesNames.add(nameS);
            // SET THE AXIS
            if(seriesScale != null && seriesScale.get(nameS)!=null && ((String)seriesScale.get(nameS)).equalsIgnoreCase("2")){
              //set the nonShapes
              if(((String)seriesDraw.get(nameS)).equalsIgnoreCase("line_no_shapes") && !lineNoShapeSeries2.contains(nameS)){
                lineNoShapeSeries2.add(nameS);
              }             
              ((DefaultCategoryDataset)(datasetMap.getDatasets().get("2-line"))).addValue(valueD!=null ? valueD.doubleValue() : null, labelS, catValue);
            }
            else{
              if(((String)seriesDraw.get(nameS)).equalsIgnoreCase("line_no_shapes") && !lineNoShapeSeries1.contains(nameS)){
                lineNoShapeSeries1.add(nameS);
              }             
              ((DefaultCategoryDataset)(datasetMap.getDatasets().get("1-line"))).addValue(valueD!=null ? valueD.doubleValue() : null, labelS, catValue);
            }

          }
          else if(!isHiddenSerie(nameS)){// BAR CASE
            useBars=true;
            if(!seriesNames.contains(nameS))seriesNames.add(nameS);
            // if to draw mapped to first axis
            if(seriesScale != null && seriesScale.get(nameS)!=null && ((String)seriesScale.get(nameS)).equalsIgnoreCase("2")){
              if(!seriesNames.contains(nameS))seriesNames.add(nameS);
              ((DefaultCategoryDataset)(datasetMap.getDatasets().get("2-bar"))).addValue(valueD!=null ? valueD.doubleValue() : null, labelS, catValue);
            }
            else{ // if to draw as a bar
              if(!seriesNames.contains(nameS))seriesNames.add(nameS);
              ((DefaultCategoryDataset)(datasetMap.getDatasets().get("1-bar"))).addValue(valueD!=null ? valueD.doubleValue() : null, labelS, catValue);
            }
          }


          // if there is an additional label are
View Full Code Here

TOP

Related Classes of it.eng.spagobi.engines.chart.utils.DatasetMap

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.