/** * Parse join-table. */ private boolean startJoinTable(Attributes attrs) throws SAXException { String table = toTableName(attrs.getValue("schema"), attrs.getValue("name")); if (table != null) ((FieldMapping) currentElement()).getMappingInfo().setTableName (table); return true; }
fm.getMappingInfo().setTableName(secondary);
/** * Parse given @JoinColumn annotations. */ private void parseJoinColumns(FieldMapping fm, MappingInfo info, boolean secondaryAllowed, JoinColumn... joins) { if (joins.length == 0) return; List<Column> cols = new ArrayList<Column>(joins.length); int unique = 0; String secondary = null; for (int i = 0; i < joins.length; i++) { cols.add(newColumn(joins[i])); unique |= (joins[i].unique()) ? TRUE : FALSE; secondary = trackSecondaryTable(fm, secondary, joins[i].table(), i); if (!secondaryAllowed && secondary != null) throw new MetaDataException(_loc.get("bad-second", fm)); } setColumns(fm, info, cols, unique); if (secondary != null) fm.getMappingInfo().setTableName(secondary); }
/** * Parse given @XJoinColumn annotations. */ protected void parseXJoinColumns(FieldMapping fm, MappingInfo info, boolean secondaryAllowed, XJoinColumn... joins) { if (joins.length == 0) return; List<Column> cols = new ArrayList<Column>(joins.length); int unique = 0; String secondary = null; for (int i = 0; i < joins.length; i++) { cols.add(newColumn(joins[i])); unique |= (joins[i].unique()) ? TRUE : FALSE; secondary = trackSecondaryTable(fm, secondary, joins[i].table(), i); if (!secondaryAllowed && secondary != null) throw new MetaDataException(_loc.get("bad-second", fm)); } setColumns(fm, info, cols, unique); if (secondary != null) fm.getMappingInfo().setTableName(secondary); }
/** * Set attribute override into proper mapping. */ private void endAttributeOverride() throws SAXException { Object elem = currentElement(); FieldMapping fm; if (elem instanceof ClassMapping) fm = getAttributeOverride((ClassMapping) elem); else fm = getAttributeOverride((FieldMapping) elem); if (_cols != null) { fm.getValueInfo().setColumns(_cols); if (_colTable != null) fm.getMappingInfo().setTableName(_colTable); setUnique(fm); } clearColumnInfo(); _override = null; }
/** * Parse @JoinTable. */ private void parseJoinTable(FieldMapping fm, JoinTable join) { fm.getMappingInfo().setTableName(toTableName(join.schema(), join.name())); parseJoinColumns(fm, fm.getMappingInfo(), false, join.joinColumns()); parseJoinColumns(fm, fm.getElementMapping().getValueInfo(), false, join.inverseJoinColumns()); }
/** * Parse @ContainerTable. */ protected void parseContainerTable(FieldMapping fm, ContainerTable ctbl) { fm.getMappingInfo().setTableName(toTableName(ctbl.schema(), ctbl.name())); parseXJoinColumns(fm, fm.getMappingInfo(), false, ctbl.joinColumns()); if (ctbl.joinForeignKey().specified()) parseForeignKey(fm.getMappingInfo(), ctbl.joinForeignKey()); if (ctbl.joinIndex().specified()) parseIndex(fm.getMappingInfo(), ctbl.joinIndex()); }
fm.getMappingInfo().setTableName(_colTable); setUnique(fm);
vinfo.setJoinDirection(MappingInfo.JOIN_INVERSE); vinfo.setColumns(field.getMappingInfo().getColumns()); field.getMappingInfo().setTableName(null); field.getMappingInfo().setColumns(null);