/** * Get join chains from properties * * @return set of join chains */ private static Set<JoinChain> getJoinChains(AbstractBaseTable tbl, String propName, Map<String, String> props) { Set<JoinChain> joinChains = new HashSet<>(); String joinChainsStr = MetastoreUtil.getNamedStringValue(props, propName); if (!StringUtils.isBlank(joinChainsStr)) { String[] cnames = joinChainsStr.split(","); for (String chainName : cnames) { JoinChain chain = new JoinChain(tbl, chainName); joinChains.add(chain); } } return joinChains; }
/** * Get join chains from properties * * @return set of join chains */ private static Set<JoinChain> getJoinChains(AbstractBaseTable tbl, String propName, Map<String, String> props) { Set<JoinChain> joinChains = new HashSet<>(); String joinChainsStr = MetastoreUtil.getNamedStringValue(props, propName); if (!StringUtils.isBlank(joinChainsStr)) { String[] cnames = joinChainsStr.split(","); for (String chainName : cnames) { JoinChain chain = new JoinChain(tbl, chainName); joinChains.add(chain); } } return joinChains; }
joinchains.put(aliasLowerCaseStr, new JoinChain(joinchain)); String destTable = joinchain.getDestTable(); boolean added = addQueriedTable(alias, destTable, isOptional, true);
joinchains.put(aliasLowerCaseStr, new JoinChain(joinchain)); String destTable = joinchain.getDestTable(); boolean added = addQueriedTable(alias, destTable, isOptional, true);
/** * Create cube's JoinChain from JAXB counterpart * * @param xj * @return {@link JoinChain} */ public static JoinChain joinChainFromXJoinChain(XJoinChain xj) { JoinChain jc = new JoinChain(xj.getName(), xj.getDisplayString(), xj.getDescription()); for (int i = 0; i < xj.getPaths().getPath().size(); i++) { XJoinPath xchain = xj.getPaths().getPath().get(i); List<TableReference> chain = new ArrayList<TableReference>(xchain.getEdges().getEdge().size() * 2); for (XJoinEdge xRef : xchain.getEdges().getEdge()) { chain.add(new TableReference(xRef.getFrom().getTable(), xRef.getFrom().getColumn(), xRef.getFrom().isMapsToMany())); chain.add(new TableReference(xRef.getTo().getTable(), xRef.getTo().getColumn(), xRef.getTo().isMapsToMany())); } jc.addPath(chain); } return jc; }
/** * Create cube's JoinChain from JAXB counterpart * * @param xj * @return {@link JoinChain} */ public static JoinChain joinChainFromXJoinChain(XJoinChain xj) { JoinChain jc = new JoinChain(xj.getName(), xj.getDisplayString(), xj.getDescription()); for (int i = 0; i < xj.getPaths().getPath().size(); i++) { XJoinPath xchain = xj.getPaths().getPath().get(i); List<TableReference> chain = new ArrayList<TableReference>(xchain.getEdges().getEdge().size() * 2); for (XJoinEdge xRef : xchain.getEdges().getEdge()) { chain.add(new TableReference(xRef.getFrom().getTable(), xRef.getFrom().getColumn(), xRef.getFrom().isMapsToMany())); chain.add(new TableReference(xRef.getTo().getTable(), xRef.getTo().getColumn(), xRef.getTo().isMapsToMany())); } jc.addPath(chain); } return jc; }
chain.add(new TableReference("citydim", "stateid")); chain.add(new TableReference("statedim", "id")); JoinChain zipState = new JoinChain("stateFromZip", "Zip State", "zip State desc"); zipState.addPath(chain); joinChains.add(zipState);
toAlter.removeTimedDimension("dt"); JoinChain cityChain = new JoinChain("city", "Cube City", "cube city desc modified"); List<TableReference> chain = new ArrayList<>(); chain.add(new TableReference(cubeName, "cityid"));
cubeDimensions.add(new BaseDimAttribute(new FieldSchema("regionstart", "string", "region dim"), "Region with starttime", NOW, null, 100.0, null, regions)); JoinChain zipCity = new JoinChain("cityFromZip", "Zip City", "zip city desc"); List<TableReference> chain = new ArrayList<>(); chain.add(new TableReference(cubeName, "zipcode")); zipCity.addPath(chain2); joinChains.add(zipCity); JoinChain cityChain = new JoinChain("city", "Cube City", "cube city desc"); chain = new ArrayList<>(); chain.add(new TableReference(cubeName, "cityid")); cityChain.addPath(chain); joinChains.add(cityChain); joinChains.add(new JoinChain("cubeState", "cube-state", "state thru cube") {