@Test public void testLargeCube() { CubeDesc cube = getFiftyDimCubeDesc(); CuboidScheduler cuboidScheduler = cube.getInitialCuboidScheduler(); long start = System.currentTimeMillis(); System.out.println(cuboidScheduler.getCuboidCount()); System.out.println("build tree takes: " + (System.currentTimeMillis() - start) + "ms"); }
abstract public int getCuboidCount();
CuboidScheduler { abstract public int getCuboidCount(); }
CuboidScheduler { abstract public int getCuboidCount(); protected  CuboidScheduler(CubeDesc cubeDesc); }
CuboidScheduler { abstract public int getCuboidCount(); protected  CuboidScheduler(CubeDesc cubeDesc); static CuboidScheduler getInstance(CubeDesc cubeDesc); abstract Set<Long> getAllCuboidIds(); abstract int getCuboidCount(); abstract List<Long> getSpanningCuboid(long parentCuboid); abstract long findBestMatchCuboid(long requestCuboid); abstract Set<Long> calculateCuboidsForAggGroup(AggregationGroup agg); long getBaseCuboidId(); CubeDesc getCubeDesc(); boolean isValid(long requestCuboid); List<List<Long>> getCuboidsByLayer(); int getBuildLevel(); String getCuboidCacheKey(); }
CuboidScheduler { abstract public int getCuboidCount(); protected  CuboidScheduler(CubeDesc cubeDesc); static CuboidScheduler getInstance(CubeDesc cubeDesc); abstract Set<Long> getAllCuboidIds(); abstract int getCuboidCount(); abstract List<Long> getSpanningCuboid(long parentCuboid); abstract long findBestMatchCuboid(long requestCuboid); abstract Set<Long> calculateCuboidsForAggGroup(AggregationGroup agg); long getBaseCuboidId(); CubeDesc getCubeDesc(); boolean isValid(long requestCuboid); List<List<Long>> getCuboidsByLayer(); int getBuildLevel(); String getCuboidCacheKey();  }