Package er.reporting.examples

Source Code of er.reporting.examples.Session

// Generated by the WebObjects Wizard
package er.reporting.examples;

import org.apache.log4j.Logger;

import com.webobjects.appserver.WOApplication;
import com.webobjects.eoaccess.EODatabaseDataSource;
import com.webobjects.eoaccess.EOUtilities;
import com.webobjects.eocontrol.EOFetchSpecification;
import com.webobjects.foundation.NSArray;
import com.webobjects.foundation.NSDictionary;
import com.webobjects.foundation.NSMutableArray;
import com.webobjects.foundation.NSTimestamp;

import er.extensions.appserver.ERXSession;
import er.grouping.DRAttribute;
import er.grouping.DRAttributeGroup;
import er.grouping.DRMasterCriteria;
import er.grouping.DRReportModel;
import er.grouping.DRSubMasterCriteria;

public class Session extends ERXSession {
    private static Logger log = Logger.getLogger(Session.class);

    protected String selectedGroupingCriteriaString;
    protected DRReportModel reportModel; // report model for EOs
    protected DRReportModel reportModel2; // report model for raw row objects

    protected NSMutableArray attribArray; // for grouping of fetched EOs in memory
    protected NSMutableArray critArray; // for grouping of fetched EOs in memory
    protected NSArray attribArray2; // for grouping of returned raw rows from GROUP BY SQL
    protected NSArray critArray2; // for grouping of returned raw rows from GROUP BY SQL
    protected NSArray attribArray3; // for docs on using WRReportEditor
    protected NSArray critArray3; //

    protected NSArray groupByRows; // raw rows fetched using GROUP BY SQL
    public NSArray objects; // EOs fetched with a fetch spec

    public Session(){
        super();
        getReportModelDefinitionFromString();
        creatingModelsProgrammatically();
        getObjects ();
        selectedGroupingCriteriaString = "category";
    }
    public void getReportModelDefinitionFromString(){
        String st = (String)WOApplication.application().valueForKey("modelDictString");
        NSDictionary m = DRReportModel.modelFromPlistString (st);
        critArray2 = (NSArray)m.objectForKey("GroupDef");
        attribArray2 = (NSArray)m.objectForKey("AttributeDef");
        log.debug("critArray2: "+ critArray2);
       
        st = (String)WOApplication.application().valueForKey("modelDictString2");
        m = DRReportModel.modelFromPlistString (st);
        critArray3 = (NSArray)m.objectForKey("GroupDef");
        attribArray3 = (NSArray)m.objectForKey("AttributeDef");
        log.debug("critArray3: "+ critArray3);
    }
    public void getObjects(){
        EODatabaseDataSource ds = new EODatabaseDataSource(defaultEditingContext(),"Movie");
        EOFetchSpecification fs = ds.fetchSpecification();
        fs.setPrefetchingRelationshipKeyPaths(new NSArray("studio"));
        objects = ds.fetchObjects();
        log.debug("getRawRows: objects: "+ objects.count());
    }
    public void getRawRows(){
        groupByRows = EOUtilities.rawRowsForSQL(
    defaultEditingContext(),
    "Movies",
    "select category as category, count(*) as cnt from MOVIE group by category");
        log.debug("getRawRows: groupByRows: "+ groupByRows);
    }

    public DRReportModel reportModel() {
        return reportModel;
    }
    public NSArray objects() {
        return objects;
    }
   
   
   
   
   
   
   
    public void creatingModelsProgrammatically() {
        DRAttribute attGrp;
        NSMutableArray subAttList = new NSMutableArray();
        NSMutableArray smcList = new NSMutableArray();
        NSMutableArray smcList2 = new NSMutableArray();
        NSMutableArray smcList3 = new NSMutableArray();
       
        critArray = new NSMutableArray();
        attribArray = new NSMutableArray();
        attribArray.addObject(DRAttribute.withKeyPathFormatLabelTotalUserInfo("revenue", null, "Revenue", true, null));
        attribArray.addObject(DRAttribute.withKeyPathFormatLabelTotalUserInfo("title", null, "Title", false, null));
        attribArray.addObject(DRAttribute.withKeyPathFormatLabelTotalUserInfo("dateReleased", null, "Date Released", false, null));
        subAttList.addObject(DRAttribute.withKeyPathFormatLabelTotalUserInfo("studio.name", null, "Studio Name1", false, null));
        subAttList.addObject(DRAttribute.withKeyPathFormatLabelTotalUserInfo("revenue", null, "Revenue2", true, null));
        subAttList.addObject(DRAttribute.withKeyPathFormatLabelTotalUserInfo("revenue", null, "Revenue3", true, null));
        attGrp = DRAttributeGroup.withKeyPathFormatLabelTotalListUserInfo("AGroupofAttributes", null, "A Group of Attributes", true, subAttList, null);
        attribArray.addObject(attGrp);
        subAttList = new NSMutableArray();
        subAttList.addObject(DRAttribute.withKeyPathFormatLabelTotalUserInfo("studio.name", null, "Studio Name2", false, null));
        subAttList.addObject(DRAttribute.withKeyPathFormatLabelTotalUserInfo("title", null, "Revenue3", false, null));
        subAttList.addObject(DRAttribute.withKeyPathFormatLabelTotalUserInfo("revenue", null, "Revenue4", true, null));
        attGrp = DRAttributeGroup.withKeyPathFormatLabelTotalListUserInfo("AnInnerGroup", null, "An Inner Group", true, subAttList, null);
        subAttList = new NSMutableArray();
        subAttList.addObject(DRAttribute.withKeyPathFormatLabelTotalUserInfo("studio.name", null, "Studio Name3", false, null));
        subAttList.addObject(DRAttribute.withKeyPathFormatLabelTotalUserInfo("revenue", null, "Revenue2", true, null));
        subAttList.addObject(DRAttribute.withKeyPathFormatLabelTotalUserInfo("revenue", null, "Revenue3", true, null));
        subAttList.addObject(attGrp);
        attGrp = DRAttributeGroup.withKeyPathFormatLabelTotalListUserInfo("AnotherGroup", null, "Another Group", true, subAttList, null);
        attribArray.addObject(attGrp);
        //format:@"%Y"
        //possibleValuesUseType:_nil
        //possibleValues:_nil
        //possibleValues:[NSArray arrayWithObjects:@"1971", @"1976", _nil]
        smcList2.addObject(DRSubMasterCriteria.withKeyUseMethodUseTimeFormatFormatPossibleValuesUseTypeGroupEdgesPossibleValues("dateReleased", false, false, null, "useRange", true, new NSArray(new Object[]{new NSTimestamp().timestampByAddingGregorianUnits(-25, 0, 0, 0, 0, 0) , new NSTimestamp().timestampByAddingGregorianUnits(-11, 0, 0, 0, 0, 0)})));
        //possibleValuesUseType:_nil
        //possibleValues:_nil
        smcList.addObject(DRSubMasterCriteria.withKeyUseMethodUseTimeFormatFormatPossibleValuesUseTypeGroupEdgesPossibleValues("category", false, false, null, "usePredefined", false, new NSArray(new Object[]{"Action" , "Drama" , "Cult"})));
        //possibleValuesUseType:@"usePeriodic"
        smcList3.addObject(DRSubMasterCriteria.withKeyUseMethodUseTimeFormatFormatPossibleValuesUseTypeGroupEdgesPossibleValues("revenue", false, false, null, "useRange", true, new NSArray(new Object[]{Double.valueOf(500.0), Double.valueOf(500000.0), Double.valueOf(10000000.0), Double.vaueOf(14400000.0)})));
        critArray.addObject(DRMasterCriteria.withSubMasterCriteriaUserInfo(smcList, null));
        critArray.addObject(DRMasterCriteria.withSubMasterCriteriaUserInfo(smcList2, null));
        critArray.addObject(DRMasterCriteria.withSubMasterCriteriaUserInfo(smcList3, null));
       
        String s = DRReportModel.pListStringAttributeListMasterCriteriaList(attribArray, critArray);
       
        DRReportModel.writeStringToDiskPathAtomically(s, "/tmp/testmodel.plist", true);
        log.debug("");
        log.debug("");
        log.debug("As String:"+s);
        /*
        log.debug("");
        log.debug("");
        log.debug("About to get model from this string");

        NSDictionary m = DRReportModel.modelFromPlistString (s);
        log.debug("m:"+m);

        log.debug("");
        log.debug("");
        log.debug("About to turn this model back into a string");
        String sagain = DRReportModel.pListStringAttributeListMasterCriteriaList(attribArray, critArray);
        log.debug("As String: sagain:"+sagain);
        log.debug("");
        log.debug("");
        */

    }
  public DRReportModel getReportModel() {
    return reportModel;
  }
  public void setReportModel(DRReportModel reportModel) {
    this.reportModel = reportModel;
  }
  public DRReportModel getReportModel2() {
    return reportModel2;
  }
  public void setReportModel2(DRReportModel reportModel2) {
    this.reportModel2 = reportModel2;
  }
  public NSMutableArray getAttribArray() {
    return attribArray;
  }
  public void setAttribArray(NSMutableArray attribArray) {
    this.attribArray = attribArray;
  }
  public NSMutableArray getCritArray() {
    return critArray;
  }
  public void setCritArray(NSMutableArray critArray) {
    this.critArray = critArray;
  }
  public NSArray getAttribArray2() {
    return attribArray2;
  }
  public void setAttribArray2(NSArray attribArray2) {
    this.attribArray2 = attribArray2;
  }
  public NSArray getCritArray2() {
    return critArray2;
  }
  public void setCritArray2(NSArray critArray2) {
    this.critArray2 = critArray2;
  }
  public NSArray getAttribArray3() {
    return attribArray3;
  }
  public void setAttribArray3(NSArray attribArray3) {
    this.attribArray3 = attribArray3;
  }
  public NSArray getCritArray3() {
    return critArray3;
  }
  public void setCritArray3(NSArray critArray3) {
    this.critArray3 = critArray3;
  }
  public String getSelectedGroupingCriteriaString() {
    return selectedGroupingCriteriaString;
  }
  public void setSelectedGroupingCriteriaString(
      String selectedGroupingCriteriaString) {
    this.selectedGroupingCriteriaString = selectedGroupingCriteriaString;
  }


}
TOP

Related Classes of er.reporting.examples.Session

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.