/** * Returns DbEntity schema name for 1.8 and on. Subclass generates * unqualified name. * * @since 1.2 */ protected String getSchemaName(DbEntity entity) { return entity.getSchema(); }
/** * Returns default sequence name for DbEntity. */ protected String sequenceName(DbEntity entity) { String entName = entity.getName(); String seqName = _SEQUENCE_PREFIX + entName; if (entity.getSchema() != null && entity.getSchema().length() > 0) { seqName = entity.getSchema() + "." + seqName; } return seqName; }
@Override boolean catchException(DbEntity entity, SQLException ex) { LOGGER.info("Error getting relationships for '" + entity.getCatalog() + "." + entity.getSchema() + "', ignoring. " + ex.getMessage(), ex); return true; }
@Override ResultSet getResultSet(DbEntity dbEntity, DatabaseMetaData metaData) throws SQLException { return metaData.getPrimaryKeys(dbEntity.getCatalog(), dbEntity.getSchema(), dbEntity.getName()); }
/** Returns expected primary key sequence name for a DbEntity. */ protected String sequenceName(DbEntity entity) { // use custom generator if possible DbKeyGenerator keyGenerator = entity.getPrimaryKeyGenerator(); if (keyGenerator != null && DbKeyGenerator.ORACLE_TYPE.equals(keyGenerator.getGeneratorType()) && keyGenerator.getGeneratorName() != null) { return keyGenerator.getGeneratorName().toLowerCase(); } else { String entName = entity.getName(); String seqName = _SEQUENCE_PREFIX + entName.toLowerCase(); if (entity.getSchema() != null && entity.getSchema().length() > 0) { seqName = entity.getSchema() + "." + seqName; } return seqName; } }
/** * Returns schema of the parent entity. */ public String getSchema() { return (getParentEntity() != null) ? getParentEntity().getSchema() : null; }
/** * Returns a DDL string to create a unique constraint over a set of columns. * * @since 1.1 */ @Override public String createUniqueConstraint(DbEntity source, Collection<DbAttribute> columns) { if (columns == null || columns.isEmpty()) { throw new CayenneRuntimeException("Can't create UNIQUE constraint - no columns specified."); } String srcName = getTableName(source); StringBuilder buf = new StringBuilder(); buf.append("ALTER TABLE ").append(srcName); buf.append(" ADD CONSTRAINT "); String name = "U_" + source.getName() + "_" + (long) (System.currentTimeMillis() / (Math.random() * 100000)); buf.append(quotingStrategy.quotedIdentifier(source, source.getSchema(), name)); buf.append(" UNIQUE ("); Iterator<DbAttribute> it = columns.iterator(); DbAttribute first = it.next(); buf.append(quotingStrategy.quotedName(first)); while (it.hasNext()) { DbAttribute next = it.next(); buf.append(", "); buf.append(quotingStrategy.quotedName(next)); } buf.append(")"); return buf.toString(); }
void setSchema(String text) { if (text != null && text.trim().length() == 0) { text = null; } DbEntity ent = mediator.getCurrentDbEntity(); if (ent != null && !Util.nullSafeEquals(ent.getSchema(), text)) { ent.setSchema(text); mediator.fireDbEntityEvent(new EntityEvent(this, ent)); } }
@Override ResultSet getResultSet(DbEntity dbEntity, DatabaseMetaData metaData) throws SQLException { return metaData.getExportedKeys(dbEntity.getCatalog(), dbEntity.getSchema(), dbEntity.getName()); }
buf.append(quotingStrategy.quotedIdentifier(sourceEntity, sourceEntity.getSchema(), name)); buf.append(" FOREIGN KEY (");
private Collection<DbEntity> filter() { if(filtersConfig == null) { return container.getDbEntities(); } Collection<DbEntity> existingFiltered = new LinkedList<>(); for (DbEntity entity : container.getDbEntities()) { TableFilter tableFilter = filtersConfig.tableFilter(entity.getCatalog(), entity.getSchema()); if (tableFilter != null && tableFilter.isIncludeTable(entity.getName())) { existingFiltered.add(entity); } } return existingFiltered; } }
@Override public String quotedFullyQualifiedName(DbEntity entity) { return quotedIdentifier(entity.getDataMap(), entity.getCatalog(), entity.getSchema(), entity.getName()); }
/** * Returns expected primary key sequence name for a DbEntity. */ protected String sequenceName(DbEntity entity) { // use custom generator if possible DbKeyGenerator keyGenerator = entity.getPrimaryKeyGenerator(); if (keyGenerator != null && DbKeyGenerator.ORACLE_TYPE.equals(keyGenerator.getGeneratorType()) && keyGenerator.getGeneratorName() != null) { return keyGenerator.getGeneratorName().toLowerCase(); } else { String seqName = getSequencePrefix() + entity.getName().toLowerCase(); return adapter.getQuotingStrategy().quotedIdentifier(entity, entity.getCatalog(), entity.getSchema(), seqName); } }
ForeignKey fk = new ForeignKey(); fk.setPkTableCatalog(target.getCatalog()); fk.setPkTableSchema(target.getSchema()); fk.setPkTableName(target.getName()); fk.setPkColumnName(targetAttribute.getName());
/** * Prints itself as XML to the provided XMLEncoder. * * @since 1.1 */ public void encodeAsXML(XMLEncoder encoder) { encoder.print("<db-entity name=\""); encoder.print(Util.encodeXmlAttribute(getName())); encoder.print('\"'); if (getSchema() != null && getSchema().trim().length() > 0) { encoder.print(" schema=\""); encoder.print(Util.encodeXmlAttribute(getSchema().trim())); encoder.print('\"'); } if (getCatalog() != null && getCatalog().trim().length() > 0) { encoder.print(" catalog=\""); encoder.print(Util.encodeXmlAttribute(getCatalog().trim())); encoder.print('\"'); } encoder.println('>'); encoder.indent(1); encoder.print(getAttributeMap()); if (getPrimaryKeyGenerator() != null) { getPrimaryKeyGenerator().encodeAsXML(encoder); } encoder.indent(-1); encoder.println("</db-entity>"); }
schema.setText(entity.getSchema()); qualifier.setText(new ExpressionConvertor().valueAsString(entity.getQualifier()));
private void searchInDbEntities(Pattern pattern, List<SearchResultEntry> result, DataMap dataMap) { for (DbEntity ent : dataMap.getDbEntities()) { if (match(ent.getName(), pattern)) { result.add(new SearchResultEntry(ent, ent.getName())); } for (DbAttribute attr : ent.getAttributes()) { if (match(attr.getName(), pattern)) { result.add(new SearchResultEntry(attr, ent.getName() + "." + attr.getName())); } } for (DbRelationship rel : ent.getRelationships()) { if (match(rel.getName(), pattern)) { result.add(new SearchResultEntry(rel, ent.getName() + "." + rel.getName())); } } checkCatalogOrSchema(pattern, result, ent, ent.getCatalog()); checkCatalogOrSchema(pattern, result, ent, ent.getSchema()); } }