@Override public String[] getSelectorNames() { String[] list = new String[selectors.size()]; for (int i = 0; i < list.length; i++) { list[i] = selectors.get(i).getSelectorName(); } // reverse names to that for xpath, // the first selector is the same as the node iterator Collections.reverse(Arrays.asList(list)); return list; }
@Override public String[] getSelectorNames() { String[] list = new String[selectors.size()]; for (int i = 0; i < list.length; i++) { list[i] = selectors.get(i).getSelectorName(); } // reverse names to that for xpath, // the first selector is the same as the node iterator Collections.reverse(Arrays.asList(list)); return list; }
@Override public String[] getSelectorNames() { String[] list = new String[selectors.size()]; for (int i = 0; i < list.length; i++) { list[i] = selectors.get(i).getSelectorName(); } // reverse names to that for xpath, // the first selector is the same as the node iterator Collections.reverse(Arrays.asList(list)); return list; }
/** * Get the selector name if only one selector exists in the query. * If more than one selector exists, an exception is thrown. * * @return the selector name */ private String getOnlySelectorName() throws ParseException { if (selectors.size() > 1) { throw getSyntaxError("Need to specify the selector name because the query contains more than one selector."); } return selectors.values().iterator().next().getSelectorName(); }
@Override public boolean visit(SelectorImpl node) { String name = node.getSelectorName(); if (selectorIndexes.put(name, selectors.size()) != null) { throw new IllegalArgumentException("Two selectors with the same name: " + name); } selectors.add(node); node.setQuery(query); return true; }
@Override protected Map<String, Long> getSelectorScanCount() { Map<String, Long> selectorReadCounts = Maps.newHashMap(); for (SelectorImpl selector : selectors) { selectorReadCounts.put(selector.getSelectorName(), selector.getScanCount()); } return selectorReadCounts; } };
/** * Get the selector name if only one selector exists in the query. * If more than one selector exists, an exception is thrown. * * @return the selector name */ private String getOnlySelectorName() throws ParseException { if (selectors.size() > 1) { throw getSyntaxError("Need to specify the selector name because the query contains more than one selector."); } return selectors.values().iterator().next().getSelectorName(); }
@Override protected Map<String, Long> getSelectorScanCount() { Map<String, Long> selectorReadCounts = Maps.newHashMap(); for (SelectorImpl selector : selectors) { selectorReadCounts.put(selector.getSelectorName(), selector.getScanCount()); } return selectorReadCounts; } };
@Override public boolean visit(SelectorImpl node) { String name = node.getSelectorName(); if (selectorIndexes.put(name, selectors.size()) != null) { throw new IllegalArgumentException("Two selectors with the same name: " + name); } selectors.add(node); node.setQuery(query); return true; }
@Override public boolean visit(SelectorImpl node) { String name = node.getSelectorName(); if (selectorIndexes.put(name, selectors.size()) != null) { throw new IllegalArgumentException("Two selectors with the same name: " + name); } selectors.add(node); node.setQuery(query); return true; }
@Override protected Map<String, Long> getSelectorScanCount() { Map<String, Long> selectorReadCounts = Maps.newHashMap(); for (SelectorImpl selector : selectors) { selectorReadCounts.put(selector.getSelectorName(), selector.getScanCount()); } return selectorReadCounts; } };
/** * Get the selector name if only one selector exists in the query. * If more than one selector exists, an exception is thrown. * * @return the selector name */ private String getOnlySelectorName() throws ParseException { if (selectors.size() > 1) { throw getSyntaxError("Need to specify the selector name because the query contains more than one selector."); } return selectors.values().iterator().next().getSelectorName(); }
@Override public String[] getColumnSelectorNames() { ArrayList<String> list = new ArrayList<String>(); for (ColumnImpl c : query.getColumns()) { SelectorImpl selector = c.getSelector(); String name = selector == null ? null : selector.getSelectorName(); if (!list.contains(name)) { list.add(name); } } return list.toArray(new String[list.size()]); }
@Override public String[] getColumnSelectorNames() { ArrayList<String> list = new ArrayList<String>(); for (ColumnImpl c : query.getColumns()) { SelectorImpl selector = c.getSelector(); String name = selector == null ? null : selector.getSelectorName(); if (!list.contains(name)) { list.add(name); } } return list.toArray(new String[list.size()]); }
@Override public String[] getColumnSelectorNames() { ArrayList<String> list = new ArrayList<String>(); for (ColumnImpl c : query.getColumns()) { SelectorImpl selector = c.getSelector(); String name = selector == null ? null : selector.getSelectorName(); if (!list.contains(name)) { list.add(name); } } return list.toArray(new String[list.size()]); }
private void addWildcardColumns( Collection<ColumnImpl> columns, SelectorImpl selector) { String selectorName = selector.getSelectorName(); for (String propertyName : selector.getWildcardColumns()) { if (namePathMapper != null) { propertyName = namePathMapper.getJcrName(propertyName); } String columnName; if (includeSelectorNameInWildcardColumns) { columnName = selectorName + "." + propertyName; } else { columnName = propertyName; } columns.add(factory.column(selectorName, propertyName, columnName)); } if (columns.isEmpty()) { // OAK-1354, inject the selector name columns.add(factory .column(selectorName, selectorName, selectorName)); } }
private void addWildcardColumns( Collection<ColumnImpl> columns, SelectorImpl selector) { String selectorName = selector.getSelectorName(); for (String propertyName : selector.getWildcardColumns()) { if (namePathMapper != null) { propertyName = namePathMapper.getJcrName(propertyName); } String columnName; if (includeSelectorNameInWildcardColumns) { columnName = selectorName + "." + propertyName; } else { columnName = propertyName; } columns.add(factory.column(selectorName, propertyName, columnName)); } if (columns.isEmpty()) { // OAK-1354, inject the selector name columns.add(factory .column(selectorName, selectorName, selectorName)); } }
@Override public void restrictPushDown(SelectorImpl s) { // both properties may not be null if (s.equals(selector1)) { PropertyExistenceImpl ex = new PropertyExistenceImpl(s.getSelectorName(), property1Name); ex.bindSelector(s); s.restrictSelector(ex); } else if (s.equals(selector2)) { PropertyExistenceImpl ex = new PropertyExistenceImpl(s.getSelectorName(), property2Name); ex.bindSelector(s); s.restrictSelector(ex); } }
@Override public void restrictPushDown(SelectorImpl s) { // both properties may not be null if (s.equals(selector1)) { PropertyExistenceImpl ex = new PropertyExistenceImpl(s.getSelectorName(), property1Name); ex.bindSelector(s); s.restrictSelector(ex); } else if (s.equals(selector2)) { PropertyExistenceImpl ex = new PropertyExistenceImpl(s.getSelectorName(), property2Name); ex.bindSelector(s); s.restrictSelector(ex); } }
@Override public void restrictPushDown(SelectorImpl s) { // both properties may not be null if (s.equals(selector1)) { PropertyExistenceImpl ex = new PropertyExistenceImpl(s.getSelectorName(), property1Name); ex.bindSelector(s); s.restrictSelector(ex); } else if (s.equals(selector2)) { PropertyExistenceImpl ex = new PropertyExistenceImpl(s.getSelectorName(), property2Name); ex.bindSelector(s); s.restrictSelector(ex); } }