class MyPrimaryKeyFilter implements IColumnFilter { private String pseudoKey = null; MyPrimaryKeyFilter(String pseudoKey) { this.pseudoKey = pseudoKey; } public boolean accept(String tableName, Column column) { return column.getColumnName().equalsIgnoreCase(pseudoKey); } }
class MyPrimaryKeyFilter implements IColumnFilter { private Map<String, String> pseudoKey = null; MyPrimaryKeyFilter(Map<String, String> pseudoKey) { this.pseudoKey = pseudoKey; } public boolean accept(String tableName, Column column) { return column.getColumnName().equalsIgnoreCase(pseudoKey.get(tableName)); } }
return true; if (tablePrimaryKeyMap.containsKey(tableName)) return tablePrimaryKeyMap.get(tableName).contains(column.getColumnName()); else if ("id".equalsIgnoreCase(column.getColumnName())) { return true; while (rs.next()) { rs.getString("COLUMN_NAME"); if (rs.getString("COLUMN_NAME").equalsIgnoreCase(column.getColumnName())) { return true;
private Map<String, PropertyValue> getColumnMap(Column[] columns, Map<String, NodeType> selectors) throws RepositoryException { Map<String, PropertyValue> map = new LinkedHashMap<String, PropertyValue>(); if (columns != null && columns.length > 0) { for (int i = 0; i < columns.length; i++) { String name = columns[i].getColumnName(); if (name != null) { map.put(name, qomFactory.propertyValue( columns[i].getSelectorName(), columns[i].getPropertyName())); } else { String selector = columns[i].getSelectorName(); map.putAll(getColumnMap(selector, selectors.get(selector))); } } } else { for (Map.Entry<String, NodeType> selector : selectors.entrySet()) { map.putAll(getColumnMap(selector.getKey(), selector.getValue())); } } return map; }
private Map<String, PropertyValue> getColumnMap(Column[] columns, Map<String, NodeType> selectors) throws RepositoryException { Map<String, PropertyValue> map = new LinkedHashMap<String, PropertyValue>(); if (columns != null && columns.length > 0) { for (int i = 0; i < columns.length; i++) { String name = columns[i].getColumnName(); if (name != null) { map.put(name, qomFactory.propertyValue( columns[i].getSelectorName(), columns[i].getPropertyName())); } else { String selector = columns[i].getSelectorName(); map.putAll(getColumnMap(selector, selectors.get(selector))); } } } else { for (Map.Entry<String, NodeType> selector : selectors.entrySet()) { map.putAll(getColumnMap(selector.getKey(), selector.getValue())); } } return map; }
/** * Test case for {@link QueryObjectModelFactory#column(String, String, String)} */ public void testColumnWithColumnName() throws RepositoryException { Column col = qf.column(SELECTOR_NAME1, propertyName1, COLUMN_NAME); assertEquals("Wrong selector name", SELECTOR_NAME1, col.getSelectorName()); assertEquals("Wrong property name", propertyName1, col.getPropertyName()); assertEquals("Wrong column name", COLUMN_NAME, col.getColumnName()); }
/** * Test case for {@link QueryObjectModelFactory#column(String, String, String)} */ public void testColumn() throws RepositoryException { Column col = qf.column(SELECTOR_NAME1, propertyName1, propertyName1); assertEquals("Wrong selector name", SELECTOR_NAME1, col.getSelectorName()); assertEquals("Wrong property name", propertyName1, col.getPropertyName()); assertEquals("Wrong column name", propertyName1, col.getColumnName()); }
/** * Test case for {@link QueryObjectModelFactory#column(String, String, String)} */ public void testColumnAllProperties() throws RepositoryException { Column col = qf.column(SELECTOR_NAME1, null, null); assertEquals("Wrong selector name", SELECTOR_NAME1, col.getSelectorName()); assertNull("Property name must be null", col.getPropertyName()); assertNull("Column name must be null", col.getColumnName()); }
/** * Test case for {@link QueryObjectModelFactory#column(String, String, String)} */ public void testColumnWithSelector() throws RepositoryException { Column col = qf.column(SELECTOR_NAME1, propertyName1, COLUMN_NAME); assertEquals("Wrong selector name", SELECTOR_NAME1, col.getSelectorName()); assertEquals("Wrong property name", propertyName1, col.getPropertyName()); assertEquals("Wrong column name", COLUMN_NAME, col.getColumnName()); }
private void append(Column[] columns) { if (columns.length == 0) { append("*"); } else { String comma = ""; for (Column c : columns) { append(comma); comma = ", "; appendName(c.getSelectorName()); append("."); String propName = c.getPropertyName(); if (propName != null) { appendName(propName); if (c.getColumnName() != null) { append(" AS "); appendName(c.getColumnName()); } } else { append("*"); } } } }
private void append(Column[] columns) { if (columns.length == 0) { append("*"); } else { String comma = ""; for (Column c : columns) { append(comma); comma = ", "; appendName(c.getSelectorName()); append("."); String propName = c.getPropertyName(); if (propName != null) { appendName(propName); if (c.getColumnName() != null) { append(" AS "); appendName(c.getColumnName()); } } else { append("*"); } } } }
private void append(Column[] columns) { if (columns.length == 0) { append("*"); } else { String comma = ""; for (Column c : columns) { append(comma); comma = ", "; appendName(c.getSelectorName()); append("."); String propName = c.getPropertyName(); if (propName != null) { appendName(propName); if (c.getColumnName() != null) { append(" AS "); appendName(c.getColumnName()); } } else { append("*"); } } } }
@Test public void column() throws RepositoryException { Column c = f.column("selectorName", "propertyName", "columnName"); assertEquals("selectorName", c.getSelectorName()); assertEquals("propertyName", c.getPropertyName()); assertEquals("columnName", c.getColumnName()); assertEquals("[selectorName].[propertyName] AS [columnName]", c.toString()); assertEquals("[p]", f.column(null, "p", null).toString()); assertEquals("[p] AS [c]", f.column(null, "p", "c").toString()); assertEquals("[s].[p]", f.column("s", "p", null).toString()); assertEquals("[s].[p] AS [c]", f.column("s", "p", "c").toString()); assertEquals("[s].* AS [c]", f.column("s", null, "c").toString()); assertEquals("* AS [c]", f.column(null, null, "c").toString()); assertEquals("*", f.column(null, null, null).toString()); assertEquals("[s].*", f.column("s", null, null).toString()); }
@FixFor( "MODE-1824" ) @Test public void shouldBeAbleToExecuteQueryWithTwoColumns() throws RepositoryException { QueryManager queryManager = session.getWorkspace().getQueryManager(); QueryObjectModelFactory factory = queryManager.getQOMFactory(); Selector car1Selector = factory.selector("car:Car", "car1"); Selector car2Selector = factory.selector("car:Car", "car2"); Join join = factory.join(car1Selector, car2Selector, QueryObjectModelConstants.JCR_JOIN_TYPE_INNER, factory.equiJoinCondition("car1", "car:maker", "car2", "car:maker")); Column[] columns = new Column[] {factory.column("car1", "car:maker", "maker"), factory.column("car2", "car:model", "model")}; Query query = factory.createQuery(join, null, null, columns); QueryResult result = query.execute(); String[] columnNames = {columns[0].getColumnName(), columns[1].getColumnName()}; // the aliases validateQuery().rowCount(21).hasColumns(columnNames).validate(query, result); }