/** * Get all dimension tables of the dimension. * * @param dim Dimension object * @return List of fact tables * @throws LensException */ public List<CubeDimensionTable> getAllDimensionTables(Dimension dim) throws LensException { List<CubeDimensionTable> dimTables = new ArrayList<>(); for (CubeDimensionTable dimTbl : getAllDimensionTables()) { if (dim == null || dimTbl.getDimName().equalsIgnoreCase(dim.getName().toLowerCase())) { dimTables.add(dimTbl); } } return dimTables; }
/** * Get all dimension tables of the dimension. * * @param dim Dimension object * @return List of fact tables * @throws LensException */ public List<CubeDimensionTable> getAllDimensionTables(Dimension dim) throws LensException { List<CubeDimensionTable> dimTables = new ArrayList<>(); for (CubeDimensionTable dimTbl : getAllDimensionTables()) { if (dim == null || dimTbl.getDimName().equalsIgnoreCase(dim.getName().toLowerCase())) { dimTables.add(dimTbl); } } return dimTables; }
@Override public List<String> getAllDimTableNames(LensSessionHandle sessionid, String dimensionName) throws LensException { try (SessionContext ignored = new SessionContext(sessionid)){ CubeMetastoreClient client = getClient(sessionid); Dimension dimension = client.getDimension(dimensionName); if (dimensionName != null && dimension == null) { throw new LensException("Could not get table: " + dimensionName + " as a dimension"); } Collection<CubeDimensionTable> dims = client.getAllDimensionTables(dimension); List<String> dimNames = new ArrayList<>(dims.size()); for (CubeDimensionTable cdt : dims) { dimNames.add(cdt.getName()); } return dimNames; } }
private void populateDimTables(Dimension dim, CubeQueryContext cubeql, boolean optional) throws LensException { if (cubeql.getCandidateDimTables().get(dim) != null) { return; } Set<CandidateDim> candidates = new HashSet<>(); cubeql.getCandidateDimTables().put(dim, candidates); List<CubeDimensionTable> dimtables = cubeql.getMetastoreClient().getAllDimensionTables(dim); if (dimtables.isEmpty()) { if (!optional) { throw new LensException(LensCubeErrorCode.NO_CANDIDATE_DIM_AVAILABLE.getLensErrorInfo(), dim.getName().concat(" has no dimension tables")); } else { log.info("Not considering optional dimension {} as, No dimension tables exist", dim); removeOptionalDimWithoutAlias(cubeql, dim); } } for (CubeDimensionTable dimtable : dimtables) { CandidateDim cdim = new CandidateDim(dimtable, dim); candidates.add(cdim); } log.info("Populated candidate dims: {} for {}", cubeql.getCandidateDimTables().get(dim), dim); }
private void populateDimTables(Dimension dim, CubeQueryContext cubeql, boolean optional) throws LensException { if (cubeql.getCandidateDimTables().get(dim) != null) { return; } Set<CandidateDim> candidates = new HashSet<>(); cubeql.getCandidateDimTables().put(dim, candidates); List<CubeDimensionTable> dimtables = cubeql.getMetastoreClient().getAllDimensionTables(dim); if (dimtables.isEmpty()) { if (!optional) { throw new LensException(LensCubeErrorCode.NO_CANDIDATE_DIM_AVAILABLE.getLensErrorInfo(), dim.getName().concat(" has no dimension tables")); } else { log.info("Not considering optional dimension {} as, No dimension tables exist", dim); removeOptionalDimWithoutAlias(cubeql, dim); } } for (CubeDimensionTable dimtable : dimtables) { CandidateDim cdim = new CandidateDim(dimtable, dim); candidates.add(cdim); } log.info("Populated candidate dims: {} for {}", cubeql.getCandidateDimTables().get(dim), dim); }
for (CubeDimensionTable dim : client.getAllDimensionTables()) { try(BufferedWriter bw = new BufferedWriter(new FileWriter(getClass() .getResource("/schema/dimtables").getPath()+"/"+dim.getName()+".xml"))) {
assertTrue(client.isDimensionTable(cubeTbl)); List<CubeDimensionTable> tbls = client.getAllDimensionTables(countryDim); boolean found = false; for (CubeDimensionTable dim : tbls) {
assertTrue(client.isDimensionTable(cubeTbl)); List<CubeDimensionTable> tbls = client.getAllDimensionTables(cityDim); boolean found = false; for (CubeDimensionTable dim : tbls) {
assertTrue(cubeDim.equals(cubeDim2)); List<CubeDimensionTable> stateTbls = client.getAllDimensionTables(stateDim); boolean found = false; for (CubeDimensionTable dim : stateTbls) {
assertTrue(client.isDimensionTable(cubeTbl)); List<CubeDimensionTable> tbls = client.getAllDimensionTables(zipDim); boolean found = false; for (CubeDimensionTable dim : tbls) {
dimTable.alterColumn(new FieldSchema("testAddDim", "int", "test add column")); List<CubeDimensionTable> tbls = client.getAllDimensionTables(zipDim); boolean found = false; for (CubeDimensionTable dim : tbls) {
assertTrue(client.isDimensionTable(cubeTbl)); List<CubeDimensionTable> tbls = client.getAllDimensionTables(zipDim); boolean found = false; for (CubeDimensionTable dim : tbls) {