/** * Register a schema specific table override * * @param schema * @param oldTable * @param newTable * @return */ public String registerTableOverride(String schema, String oldTable, String newTable) { SchemaAndTable st = registerTableOverride(schema, oldTable, schema, newTable); return st != null ? st.getTable() : null; }
/** * Get the column override * * @param key * @param column * @return */ public String getColumnOverride(SchemaAndTable key, String column) { Map<String, String> columnOverrides; String newColumn = null; columnOverrides = schemaTableColumns.get(key); if (columnOverrides != null && (newColumn = columnOverrides.get(column)) != null) { return newColumn; } columnOverrides = tableColumns.get(key.getTable()); if (columnOverrides != null && (newColumn = columnOverrides.get(column)) != null) { return newColumn; } return column; }
/** * Use getOverride instead * * @param schema * @param table * @return */ @Deprecated public String getTable(String schema, String table) { return getOverride(new SchemaAndTable(schema, table)).getTable(); }
/** * Get the schema/table override * * @param key * @return */ @Nullable public SchemaAndTable getOverride(SchemaAndTable key) { if (!schemaTables.isEmpty() && key.getSchema() != null) { if (schemaTables.containsKey(key)) { return schemaTables.get(key); } } String schema = key.getSchema(), table = key.getTable(); boolean changed = false; if (schemas.containsKey(key.getSchema())) { schema = schemas.get(key.getSchema()); changed = true; } if (tables.containsKey(key.getTable())) { table = tables.get(key.getTable()); changed = true; } return changed ? new SchemaAndTable(schema, table) : key; }
precededByDot = false; appendTableName(schemaAndTable.getTable(), precededByDot); return null; } else if (entity.equals(path.getMetadata().getParent()) && skipParent) {
protected void handleJoinTarget(JoinExpression je) { // type specifier if (je.getTarget() instanceof RelationalPath && templates.isSupportsAlias()) { final RelationalPath<?> pe = (RelationalPath<?>) je.getTarget(); if (pe.getMetadata().getParent() == null) { SchemaAndTable schemaAndTable = getSchemaAndTable(pe); boolean precededByDot; if (templates.isPrintSchema()) { appendSchemaName(schemaAndTable.getSchema()); append("."); precededByDot = true; } else { precededByDot = false; } appendTableName(schemaAndTable.getTable(), precededByDot); append(templates.getTableAlias()); } } inJoin = true; handle(je.getTarget()); inJoin = false; }