Ejemplo n.º 1
0
 public void _createDateGroup() {
   boolean result = true;
   try {
     DataPilotFieldGroupInfo aInfo = new DataPilotFieldGroupInfo();
     aInfo.GroupBy = DataPilotFieldGroupBy.MONTHS;
     aInfo.HasDateValues = true;
     oObj.createDateGroup(aInfo);
   } catch (com.sun.star.lang.IllegalArgumentException e) {
     log.println("Exception while checking createDateGroup" + e);
     result = false;
   }
   tRes.tested("createDateGroup()", result);
 }
Ejemplo n.º 2
0
 public void _createNameGroup() {
   boolean result = true;
   try {
     XDataPilotField xDataPilotField = UnoRuntime.queryInterface(XDataPilotField.class, oObj);
     XNameAccess xNameAccess =
         UnoRuntime.queryInterface(XNameAccess.class, xDataPilotField.getItems());
     String[] elements = xNameAccess.getElementNames();
     oObj.createNameGroup(elements);
   } catch (com.sun.star.lang.IllegalArgumentException e) {
     log.println("Exception while checking createNameGroup" + e);
     result = false;
   }
   tRes.tested("createNameGroup()", result);
 }
  @Override
  protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log)
      throws Exception {
    XInterface oObj = null;
    XInterface datapilotfield = null;

    // creation of testobject here
    // first we write what we are intend to do to log file
    log.println("Creating a test environment");

    // the cell range
    CellRangeAddress sCellRangeAdress = new CellRangeAddress();
    sCellRangeAdress.Sheet = 0;
    sCellRangeAdress.StartColumn = 1;
    sCellRangeAdress.StartRow = 0;
    sCellRangeAdress.EndColumn = mMaxFieldIndex - 1;
    sCellRangeAdress.EndRow = mMaxFieldIndex - 1;

    // position of the data pilot table
    CellAddress sCellAdress = new CellAddress();
    sCellAdress.Sheet = 0;
    sCellAdress.Column = 7;
    sCellAdress.Row = 8;

    log.println("Getting a sheet");

    XSpreadsheets xSpreadsheets = xSheetDoc.getSheets();
    XSpreadsheet oSheet = null;
    XSpreadsheet oSheet2 = null;
    XIndexAccess oIndexAccess = UnoRuntime.queryInterface(XIndexAccess.class, xSpreadsheets);
    // Make sure there are at least two sheets
    xSpreadsheets.insertNewByName("Some Sheet", (short) 0);

    oSheet =
        (XSpreadsheet)
            AnyConverter.toObject(new Type(XSpreadsheet.class), oIndexAccess.getByIndex(0));
    oSheet2 =
        (XSpreadsheet)
            AnyConverter.toObject(new Type(XSpreadsheet.class), oIndexAccess.getByIndex(1));

    log.println("Filling a table");

    for (int i = 1; i < mMaxFieldIndex; i++) {
      oSheet.getCellByPosition(i, 0).setFormula("Col" + i);
      oSheet.getCellByPosition(0, i).setFormula("Row" + i);
      oSheet2.getCellByPosition(i, 0).setFormula("Col" + i);
      oSheet2.getCellByPosition(0, i).setFormula("Row" + i);
    }

    for (int i = 1; i < mMaxFieldIndex; i++) {
      for (int j = 1; j < mMaxFieldIndex; j++) {
        oSheet.getCellByPosition(i, j).setValue(i * (j + 1));
        oSheet2.getCellByPosition(i, j).setValue(i * (j + 2));
      }
    }

    oSheet.getCellByPosition(1, 1).setFormula("aName");
    oSheet.getCellByPosition(1, 2).setFormula("otherName");
    oSheet.getCellByPosition(1, 3).setFormula("una");
    oSheet.getCellByPosition(1, 4).setFormula("otherName");
    oSheet.getCellByPosition(1, 5).setFormula("somethingelse");

    oSheet.getCellByPosition(1, 5);

    int x = sCellAdress.Column;
    int y = sCellAdress.Row + 3;

    oSheet.getCellByPosition(x, y);

    // create the test objects
    log.println("Getting test objects");

    XDataPilotTablesSupplier DPTS =
        UnoRuntime.queryInterface(XDataPilotTablesSupplier.class, oSheet);
    XDataPilotTables DPT = DPTS.getDataPilotTables();
    XDataPilotDescriptor DPDsc = DPT.createDataPilotDescriptor();
    DPDsc.setSourceRange(sCellRangeAdress);

    XPropertySet fieldPropSet = null;

    Object oDataPilotField = DPDsc.getDataPilotFields().getByIndex(0);
    fieldPropSet = UnoRuntime.queryInterface(XPropertySet.class, oDataPilotField);
    fieldPropSet.setPropertyValue("Orientation", com.sun.star.sheet.DataPilotFieldOrientation.ROW);
    oDataPilotField = DPDsc.getDataPilotFields().getByIndex(1);
    fieldPropSet = UnoRuntime.queryInterface(XPropertySet.class, oDataPilotField);
    fieldPropSet.setPropertyValue("Function", com.sun.star.sheet.GeneralFunction.SUM);
    fieldPropSet.setPropertyValue("Orientation", com.sun.star.sheet.DataPilotFieldOrientation.DATA);
    oDataPilotField = DPDsc.getDataPilotFields().getByIndex(2);
    fieldPropSet = UnoRuntime.queryInterface(XPropertySet.class, oDataPilotField);
    fieldPropSet.setPropertyValue(
        "Orientation", com.sun.star.sheet.DataPilotFieldOrientation.COLUMN);

    log.println("Insert the DataPilotTable");

    if (DPT.hasByName("DataPilotTable")) {
      DPT.removeByName("DataPilotTable");
    }

    DPT.insertNewByName("DataPilotTable", sCellAdress, DPDsc);
    XIndexAccess xIA = UnoRuntime.queryInterface(XIndexAccess.class, DPTS.getDataPilotTables());
    XIndexAccess IA = null;
    XDataPilotDescriptor xDPT =
        UnoRuntime.queryInterface(XDataPilotDescriptor.class, xIA.getByIndex(0));
    IA = xDPT.getRowFields();
    System.out.println("COUNT: " + IA.getCount());
    datapilotfield =
        (XInterface) AnyConverter.toObject(new Type(XInterface.class), IA.getByIndex(0));

    try {
      XDataPilotFieldGrouping dpfg =
          UnoRuntime.queryInterface(XDataPilotFieldGrouping.class, datapilotfield);
      String[] elements = new String[] {"aName", "otherName"};
      dpfg.createNameGroup(elements);
      DataPilotFieldGroupInfo dpgi = null;
      xIA = UnoRuntime.queryInterface(XIndexAccess.class, DPTS.getDataPilotTables());
      XDataPilotDescriptor xDPT2 =
          UnoRuntime.queryInterface(XDataPilotDescriptor.class, xIA.getByIndex(0));
      IA = xDPT2.getRowFields();
      for (int i = 0; i < IA.getCount(); i++) {
        datapilotfield =
            (XInterface) AnyConverter.toObject(new Type(XInterface.class), IA.getByIndex(i));
        XPropertySet xPropertySet = UnoRuntime.queryInterface(XPropertySet.class, IA.getByIndex(i));
        if (((Boolean) xPropertySet.getPropertyValue("IsGroupField")).booleanValue()) {
          xPropertySet = UnoRuntime.queryInterface(XPropertySet.class, datapilotfield);
          XNamed xNamed = UnoRuntime.queryInterface(XNamed.class, IA.getByIndex(i));
          System.out.println("name: " + xNamed.getName());
          dpgi = (DataPilotFieldGroupInfo) xPropertySet.getPropertyValue("GroupInfo");
        }
      }
      oObj = dpgi.Groups;
    } catch (Exception e) {
      e.printStackTrace();
    }

    log.println("Creating object - " + ((oObj == null) ? "FAILED" : "OK"));

    TestEnvironment tEnv = new TestEnvironment(oObj);

    log.println("Implementationname: " + util.utils.getImplName(oObj));

    // Other parameters required for interface tests
    return tEnv;
  }