/**
   * Sets the up.
   *
   * @param client the new up
   * @throws Exception the exception
   */
  public void setup(LensClient client) throws Exception {
    LensCubeCommands command = new LensCubeCommands();
    command.setClient(client);

    log.debug("Starting to test cube commands");
    URL cubeSpec = TestLensQueryCommands.class.getClassLoader().getResource("sample-cube.xml");
    command.createCube(new File(cubeSpec.toURI()));
    TestLensDimensionCommands.createDimension();
    TestLensDimensionTableCommands.addDim1Table("dim_table", "dim_table.xml", "local");

    // Add partition
    URL dataDir = TestLensQueryCommands.class.getClassLoader().getResource("dim2-part");
    XPartition xp = new XPartition();
    xp.setFactOrDimensionTableName("dim_table");
    xp.setLocation(new Path(dataDir.toURI()).toString());
    xp.setUpdatePeriod(XUpdatePeriod.HOURLY);
    XTimePartSpec timePart = new XTimePartSpec();
    XTimePartSpecElement partElement = new XTimePartSpecElement();
    partElement.setKey("dt");
    partElement.setValue(
        DatatypeFactory.newInstance().newXMLGregorianCalendar(new GregorianCalendar()));
    timePart.getPartSpecElement().add(partElement);
    xp.setTimePartitionSpec(timePart);
    APIResult result = client.addPartitionToDim("dim_table", "local", xp);
    assertEquals(result.getStatus(), APIResult.Status.SUCCEEDED);
  }
 private static LensCubeCommands getCubeCommand() {
   if (cubeCommands == null) {
     LensClient client = new LensClient();
     cubeCommands = new LensCubeCommands();
     cubeCommands.setClient(client);
   }
   return cubeCommands;
 }
 @AfterTest
 public void cleanUp() {
   if (command != null) {
     command.getClient().closeConnection();
   }
   if (cubeCommands != null) {
     cubeCommands.getClient().closeConnection();
   }
 }