/** * Get the table name of this key. * * @return the table name of this key */ public String getTable() { return keyMetadata.getTable(); }
/** * This class should be treated as immutable. While we expose this array, * you should never make changes to it! * This is a design tradeoff vs. raw performance and memory usage. * * @return the column names */ public String[] getColumnNames() { return keyMetadata.getColumnNames(); }
public IgniteTupleSnapshot(Object id, BinaryObject binaryObject, EntityKeyMetadata keyMetadata) { this.id = id; this.binaryObject = binaryObject; this.keyMetadata = keyMetadata; Set<String> idColumnNames = new HashSet<>(); for ( String columnName : keyMetadata.getColumnNames() ) { if ( keyMetadata.isKeyColumn( columnName ) ) { idColumnNames.add( columnName ); } } if ( idColumnNames.isEmpty() ) { throw new UnsupportedOperationException( "There is no id column in entity " + keyMetadata.getTable() + ". Hmm..." ); } this.isSimpleId = idColumnNames.size() == 1; this.columnNames = CollectionHelper.asSet( keyMetadata.getColumnNames() ); }
@Override public void writeObject(ObjectOutput output, EntityKeyMetadata metadata) throws IOException { output.writeInt( VERSION ); output.writeUTF( metadata.getTable() ); output.writeObject( metadata.getColumnNames() ); }
@Override public boolean isKeyColumn(String columnName) { return delegate.isKeyColumn( columnName ); }
@Override public void writeObject(ObjectOutput output, EntityKeyMetadata metadata) throws IOException { output.writeInt( VERSION ); output.writeUTF( metadata.getTable() ); output.writeObject( metadata.getColumnNames() ); }
public boolean isKeyColumn(String column) { return keyMetadata != null && keyMetadata.isKeyColumn( column ); }
@Override public String getTable() { return delegate.getTable(); }
@Override public DuplicateInsertPreventionStrategy getDuplicateInsertPreventionStrategy(EntityKeyMetadata entityKeyMetadata) { // Only for non-composite keys (= one column) Neo4j supports unique key constraints; Hence an explicit look-up // is required to detect duplicate insertions when using composite keys return entityKeyMetadata.getColumnNames().length == 1 ? DuplicateInsertPreventionStrategy.NATIVE : DuplicateInsertPreventionStrategy.LOOK_UP; }
private void validateEntityCollectionNames(Iterable<EntityKeyMetadata> allEntityKeyMetadata) { for ( EntityKeyMetadata entityKeyMetadata : allEntityKeyMetadata ) { validateAsMongoDBCollectionName( entityKeyMetadata.getTable() ); for ( String column : entityKeyMetadata.getColumnNames() ) { validateAsMongoDBFieldName( column ); } } }
public IgniteAssociationRowSnapshot(Object id, BinaryObject binaryObject, AssociationKeyMetadata associationMetadata) { this.id = id; this.binaryObject = binaryObject; this.associationMetadata = associationMetadata; this.thirdTableLink = IgniteAssociationSnapshot.isThirdTableAssociation( associationMetadata ); if ( this.thirdTableLink ) { Set<String> cn = new HashSet<>(); Collections.addAll( cn, associationMetadata.getRowKeyColumnNames() ); Collections.addAll( cn, associationMetadata.getAssociatedEntityKeyMetadata().getAssociationKeyColumns() ); this.columnNames = Collections.unmodifiableSet( cn ); this.isSimpleId = true; //vk: not used in this case } else { Set<String> idColumnNames = new HashSet<>(); EntityKeyMetadata entityKeyMetadata = associationMetadata.getAssociatedEntityKeyMetadata().getEntityKeyMetadata(); for ( String columnName : entityKeyMetadata.getColumnNames() ) { if ( entityKeyMetadata.isKeyColumn( columnName ) ) { idColumnNames.add( columnName ); } } if ( idColumnNames.isEmpty() ) { throw new UnsupportedOperationException( "There is no id column in entity " + entityKeyMetadata.getTable() + ". Hmm..." ); } this.columnNames = CollectionHelper.asSet( entityKeyMetadata.getColumnNames() ); this.isSimpleId = idColumnNames.size() == 1; } }
public boolean isKeyColumn(String column) { return keyMetadata != null && keyMetadata.isKeyColumn( column ); }
private String getTableName(EntityKeyMetadata entityKeyMetadata) { return entityKeyMetadata.getTable(); }
@Override public String[] getColumnNames() { return delegate.getColumnNames(); }
private void validateEntityCollectionNames(Iterable<EntityKeyMetadata> allEntityKeyMetadata) { for ( EntityKeyMetadata entityKeyMetadata : allEntityKeyMetadata ) { validateAsMongoDBCollectionName( entityKeyMetadata.getTable() ); for ( String column : entityKeyMetadata.getColumnNames() ) { validateAsMongoDBFieldName( column ); } } }
boolean hasChanges = false; for ( String columnName : currentStateTuple.getColumnNames() ) { if ( key.getMetadata().getAssociatedEntityKeyMetadata().getEntityKeyMetadata().isKeyColumn( columnName ) ) { continue; if ( key.getMetadata().getAssociatedEntityKeyMetadata().getEntityKeyMetadata().isKeyColumn( columnName ) ) { continue; Tuple currentStateTuple = op.getValue(); BinaryObjectBuilder putBoBuilder = provider.createBinaryObjectBuilder( provider.getEntityTypeName( itemMetadata.getTable() ) ); for ( String columnName : op.getKey().getColumnNames() ) { for ( String columnName : itemMetadata.getColumnNames() ) { Object value = currentStateTuple.get( columnName ); if ( value != null ) {
@Override public Object get(String column) { Object result = null; if ( !isEmpty() ) { if ( !thirdTableLink && associationMetadata.getAssociatedEntityKeyMetadata().getEntityKeyMetadata().isKeyColumn( column ) ) { result = isSimpleId ? id : ( (BinaryObject) id ).field( StringHelper.stringAfterPoint( column ) ); } else { result = binaryObject.field( StringHelper.realColumnName( column ) ); } } return result; }
private static String cacheName(EntityKeyMetadata keyMetadata) { return keyMetadata.getTable(); }
private Object[] columnValues(Map<String, Object> node, EntityKeyMetadata metadata) { Object[] values = new Object[metadata.getColumnNames().length]; for ( int i = 0; i < metadata.getColumnNames().length; i++ ) { values[i] = node.get( metadata.getColumnNames()[i] ); } return values; }
String result = compositeIdTypes.get( keyMetadata.getTable() ); if ( result == null ) { String cacheType = getEntityTypeName( keyMetadata.getTable() ); IgniteCache<Object, BinaryObject> cache = getEntityCache( keyMetadata ); CacheConfiguration cacheConfig = cache.getConfiguration( CacheConfiguration.class ); result = StringHelper.stringBeforePoint( keyMetadata.getColumnNames()[0] ); result = capitalize( result ); compositeIdTypes.put( keyMetadata.getTable(), result );