DefaultCompoundSelection(List<Selection<?>> selections, Class resultClazz) { this.selections = selections; this.resultType = resultClazz; if(isCompoundSelection()) { this.alias = selections.get(0).getAlias(); } }
QueryBuilder appendMultiSelect(List<Selection<?>> selections) { for (Selection s : selections) { Attribute attribute = ((DefaultPath) s).getAttribute(); if (attribute != null) { this.builder.append(s.getAlias()); this.appendAttribute(attribute); this.appendMultiSelectSuffix(); } } this.builder.delete(this.builder.toString().lastIndexOf(","), this.builder.length()); return this; }
private Map<String, Integer> getSelectAliasToPositionMap() { if (selectAliasToPositionMap == null) { selectAliasToPositionMap = new HashMap<String, Integer>(selectionItems.size()); int index = 0; for (Selection<?> s : selectionItems) { final String alias = s.getAlias(); if (alias != null) { selectAliasToPositionMap.put(alias, index); } index++; } } return selectAliasToPositionMap; }
private Map<String, Integer> getSelectAliasToPositionMap() { if (selectAliasToPositionMap == null) { selectAliasToPositionMap = new HashMap<String, Integer>(selectionItems.size()); int index = 0; for (Selection<?> s : selectionItems) { final String alias = s.getAlias(); if (alias != null) { selectAliasToPositionMap.put(alias, index); } index++; } } return selectAliasToPositionMap; }
public static Selection<?> as(Entry<String, Expression<?>> mappingEntry) { Selection<?> selection = mappingEntry.getValue(); return selection.getAlias() != null ? selection : selection.alias(AS + mappingEntry.getKey().replace('.', '$')); }
private <T> PathImplementor<T> fixAlias(final Selection<T> join, final AtomicInteger integer) { if (join.getAlias() == null) { join.alias("_" + integer.incrementAndGet()); } return (PathImplementor<T>) join; }
/** * Gets the alias of the given node. Creates an automatic alias, if necessary. */ public String getAlias(Selection<?> selection) { String alias = selection.getAlias(); if (alias != null) { _aliases.put(selection, alias); return alias; } alias = ALIAS_BASE + (++aliasCount); while (_aliases.containsValue(alias)) alias = ALIAS_BASE + (++aliasCount); ((SelectionImpl<?>)selection).setAutoAlias(alias); _aliases.put(selection, alias); return _aliases.get(selection); }
/** * Gets the alias of the given node. Creates an automatic alias, if necessary. */ public String getAlias(Selection<?> selection) { String alias = selection.getAlias(); if (alias != null) { _aliases.put(selection, alias); return alias; } alias = ALIAS_BASE + (++aliasCount); while (_aliases.containsValue(alias)) alias = ALIAS_BASE + (++aliasCount); ((SelectionImpl<?>)selection).setAutoAlias(alias); _aliases.put(selection, alias); return _aliases.get(selection); }
/** * Gets the alias of the given node. Creates an automatic alias, if necessary. */ public String getAlias(Selection<?> selection) { String alias = selection.getAlias(); if (alias != null) { _aliases.put(selection, alias); return alias; } alias = ALIAS_BASE + (++aliasCount); while (_aliases.containsValue(alias)) alias = ALIAS_BASE + (++aliasCount); ((SelectionImpl<?>)selection).setAutoAlias(alias); _aliases.put(selection, alias); return _aliases.get(selection); }
/** * Gets the alias of the given node. Creates an automatic alias, if necessary. */ public String getAlias(Selection<?> selection) { String alias = selection.getAlias(); if (alias != null) { _aliases.put(selection, alias); return alias; } alias = ALIAS_BASE + (++aliasCount); while (_aliases.containsValue(alias)) alias = ALIAS_BASE + (++aliasCount); ((SelectionImpl<?>)selection).setAutoAlias(alias); _aliases.put(selection, alias); return _aliases.get(selection); }
/** * Gets The result alias, if none set a default one and return it * * @param selection * @return root alias or generated one */ public static synchronized <T> String getOrCreateAlias(Selection<T> selection) { // reset alias count if (aliasCount > 1000) aliasCount = 0; String alias = selection.getAlias(); if (alias == null) { alias = "JDAL_generatedAlias" + aliasCount++; selection.alias(alias); } return alias; }
public CompoundSelectionImpl(Class javaType, Selection[] subSelections, boolean validate) { super(javaType, null); this.subSelections = new ArrayList(); //used to validate that an alias is only used once java.util.Map tempMap = new java.util.TreeMap(); for (Selection sel : subSelections) { if (validate) { if (((SelectionImpl)sel).isCompoundSelection() && !((SelectionImpl)sel).isConstructor()) { throw new IllegalArgumentException(ExceptionLocalization.buildMessage("jpa_criteriaapi_illegal_tuple_or_array_value", new Object[] { sel })); } } String alias = sel.getAlias(); if (alias != null) { if (tempMap.containsKey(alias)) { if (duplicateAliasNames == null) { duplicateAliasNames=new ArrayList<String>(); } duplicateAliasNames.add(alias); } else { tempMap.put(alias, sel); } } this.subSelections.add(sel); } }
public static List<Selection<?>> createFieldsSelect(Root<?> r, QueryParameters q, String idField) { List<Selection<?>> fields = q.getFields().stream().distinct().map(f -> { String[] fSplit = f.split("\\."); Path<?> p = null; for (String fS : fSplit) { try { p = p == null ? r.get(fS) : p.get(fS); } catch (IllegalArgumentException e) { throw new NoSuchEntityFieldException(e.getMessage(), f, r.getJavaType().getSimpleName()); } } if (p == null) { throw new NoSuchEntityFieldException("", f, r.getJavaType().getSimpleName()); } return p.alias(f); }).collect(Collectors.toList()); try { boolean exists = fields.stream().anyMatch(f -> f.getAlias().equals(idField)); if (!exists) { fields.add(r.get(idField).alias(idField)); } } catch (IllegalArgumentException e) { throw new NoSuchEntityFieldException(e.getMessage(), idField, r.getJavaType().getSimpleName()); } return fields.stream().distinct().collect(Collectors.toList()); }
Value val = (exp2Vals != null && exp2Vals.containsKey(s) ? exp2Vals.get(s) : ((ExpressionImpl<?>)s).toValue(factory, q)); String alias = s.getAlias(); val.setAlias(alias); projections.add(val);
Value val = (exp2Vals != null && exp2Vals.containsKey(s) ? exp2Vals.get(s) : ((ExpressionImpl<?>)s).toValue(factory, q)); String alias = s.getAlias(); val.setAlias(alias); projections.add(val);
Value val = (exp2Vals != null && exp2Vals.containsKey(s) ? exp2Vals.get(s) : ((ExpressionImpl<?>)s).toValue(factory, q)); String alias = s.getAlias(); val.setAlias(alias); projections.add(val);
private void renderSelection(SelectBuilder<?> cb, RenderContextImpl context, Selection<?> s, List<TreatedPath<?>> treatedSelections) { if (s instanceof Subquery<?>) { if (s.getAlias() != null) { context.pushSubqueryInitiator(cb.selectSubquery(s.getAlias())); } else { context.pushSubqueryInitiator(cb.selectSubquery()); if (s.getAlias() != null && !(s instanceof AbstractFrom<?, ?>)) { cb.select(expr, s.getAlias()); } else { cb.select(expr); if (s.getAlias() != null) { initiator = cb.selectSubqueries(expr, s.getAlias()); } else { initiator = cb.selectSubqueries(expr);
final String alias = orderItem.getText(); for (final Selection<?> selection : selections) { if (alias.equals(selection.getAlias())) { order = orderByItem.getChildCount() == 2 ? //