/** * Get the table name of this key. * * @return the table name of this key */ public String getTable() { return keyMetadata.getTable(); }
private static ConcurrentMap<String, Cache<PersistentEntityKey, Map<String,Object>>> initializeEntityCaches(EmbeddedCacheManager embeddedCacheManager, Set<EntityKeyMetadata> entityTypes) { ConcurrentHashMap<String, Cache<PersistentEntityKey, Map<String, Object>>> entityCaches = newConcurrentHashMap( entityTypes.size() ); for ( EntityKeyMetadata entityKeyMetadata : entityTypes ) { Cache<PersistentEntityKey, Map<String, Object>> entityCache = embeddedCacheManager.getCache( entityKeyMetadata.getTable() ); entityCaches.put( entityKeyMetadata.getTable(), entityCache ); } return entityCaches; }
private static Set<String> getCacheNames(Set<EntityKeyMetadata> entityTypes, Set<AssociationKeyMetadata> associationTypes, Set<IdSourceKeyMetadata> idSourceTypes) { Set<String> cacheNames = new HashSet<String>(); for ( EntityKeyMetadata entityKeyMetadata : entityTypes ) { cacheNames.add( entityKeyMetadata.getTable() ); } for ( AssociationKeyMetadata associationKeyMetadata : associationTypes ) { cacheNames.add( getCacheName( associationKeyMetadata ) ); } for ( IdSourceKeyMetadata idSourceKeyMetadata : idSourceTypes ) { cacheNames.add( idSourceKeyMetadata.getName() ); } return cacheNames; }
private String bucketName(EntityKeyMetadata entityKeyMetadata, String fieldName) { GridFSFields storageFields = tableEntityTypeMapping.get( entityKeyMetadata.getTable() ); OptionsContext optionsContext = propertyOptions( storageFields.getEntityClass(), fieldName ); String gridfsBucketName = optionsContext.getUnique( GridFSBucketOption.class ); if ( gridfsBucketName != null ) { return gridfsBucketName; } // Default return entityKeyMetadata.getTable() + BUCKET_SUFFIX; }
private String bucketName(EntityKeyMetadata entityKeyMetadata, String fieldName) { GridFSFields storageFields = tableEntityTypeMapping.get( entityKeyMetadata.getTable() ); OptionsContext optionsContext = propertyOptions( storageFields.getEntityClass(), fieldName ); String gridfsBucketName = optionsContext.getUnique( GridFSBucketOption.class ); if ( gridfsBucketName != null ) { return gridfsBucketName; } // Default return entityKeyMetadata.getTable() + BUCKET_SUFFIX; }
public void loadContentFromBinaryStorage(Document currentDocument, EntityKeyMetadata metadata) { if ( metadata != null ) { GridFSFields fields = tableEntityTypeMapping.get( metadata.getTable() ); if ( currentDocument != null && fields != null ) { for ( Field field : fields.getFields() ) { String bucketName = bucketName( metadata, field.getName() ); loadContentFromBinaryStorageToField( bucketName, currentDocument, field.getName() ); } } } }
public void storeContentToBinaryStorage(Document currentDocument, EntityKeyMetadata metadata, Object documentId) { if ( currentDocument != null && metadata != null ) { GridFSFields gridFSFields = tableEntityTypeMapping.get( metadata.getTable() ); if ( gridFSFields != null ) { for ( Field field : gridFSFields.getFields() ) { String bucketName = bucketName( metadata, field.getName() ); storeContentFromFieldToBinaryStorage( bucketName, currentDocument, field.getName(), documentId ); } } } }
public void storeContentToBinaryStorage(Document currentDocument, EntityKeyMetadata metadata, Object documentId) { if ( currentDocument != null && metadata != null ) { GridFSFields gridFSFields = tableEntityTypeMapping.get( metadata.getTable() ); if ( gridFSFields != null ) { for ( Field field : gridFSFields.getFields() ) { String bucketName = bucketName( metadata, field.getName() ); storeContentFromFieldToBinaryStorage( bucketName, currentDocument, field.getName(), documentId ); } } } }
private TupleSnapshot createSnapshot(Map<String, Object> next) { if ( entityKeyMetadata == null ) { return mapSnapshot( next ); } Object value = next.values().iterator().next(); if ( value instanceof Node ) { return nodeSnapshot( (Node) value ); } // Projections and addEntities are not allowed in the same query at the same time throw log.addEntityNotAllowedInNativeQueriesUsingProjection( entityKeyMetadata.getTable(), "" ); }
private static ConcurrentMap<String, Cache<PerTableSerializableEntityKey>> initializeEntityCaches(CacheManager embeddedCacheManager, Set<EntityKeyMetadata> entityTypes) { ConcurrentHashMap<String, Cache<PerTableSerializableEntityKey>> entityCaches = newConcurrentHashMap( entityTypes.size() ); for ( EntityKeyMetadata entityKeyMetadata : entityTypes ) { String cacheName = entityKeyMetadata.getTable(); entityCaches.put( cacheName, new Cache<PerTableSerializableEntityKey>( getCache( embeddedCacheManager, cacheName, CacheNames.ENTITY_CACHE ) ) ); } return entityCaches; }
public <K> IgniteCache<K, BinaryObject> getEntityCache(EntityKeyMetadata keyMetadata) { String entityCacheName = getEntityCacheName( keyMetadata.getTable() ); return getCache( entityCacheName, true ); }
@Override public Map<String, Class<?>> getTableEntityTypeMapping() { Map<String, Class<?>> mapping = new HashMap<>(); Map<String, EntityPersister> entityPersisters = factory.getMetamodel().entityPersisters(); for ( Entry<String, EntityPersister> entityPersisterEntry : entityPersisters.entrySet() ) { OgmEntityPersister entityPersister = (OgmEntityPersister) entityPersisterEntry.getValue(); mapping.put( entityPersister.getEntityKeyMetadata().getTable(), entityPersister.getMappedClass() ); } return mapping; }
private void validateEntityCollectionNames(Iterable<EntityKeyMetadata> allEntityKeyMetadata) { for ( EntityKeyMetadata entityKeyMetadata : allEntityKeyMetadata ) { validateAsMongoDBCollectionName( entityKeyMetadata.getTable() ); for ( String column : entityKeyMetadata.getColumnNames() ) { validateAsMongoDBFieldName( column ); } } }
@Override public void forEachTuple(ModelConsumer consumer, TupleTypeContext tupleTypeContext, EntityKeyMetadata entityKeyMetadata) { Select select = QueryBuilder.select().all().from( quote( entityKeyMetadata.getTable() ) ); ResultSet resultSet; try { resultSet = session.execute( select ); } catch (DriverException e) { throw e; } TuplesSupplier supplier = new CassandraTuplesSupplier( resultSet ); consumer.consume( supplier ); }
@Override public Neo4jQueryParsingResult getResult() { String targetAlias = aliasResolver.findAliasForType( targetTypeName ); String label = getKeyMetaData( targetType ).getTable(); StringBuilder queryBuilder = new StringBuilder(); match( queryBuilder, targetAlias, label ); where( queryBuilder, targetAlias ); optionalMatch( queryBuilder, targetAlias ); returns( queryBuilder, targetAlias ); orderBy( queryBuilder ); return new Neo4jQueryParsingResult( targetType, projections, queryBuilder.toString() ); }
@Override public void forEachTuple(ModelConsumer consumer, TupleTypeContext tupleTypeContext, EntityKeyMetadata entityKeyMetadata) { MongoCollection<Document> collection = getCollection( entityKeyMetadata.getTable(), tupleTypeContext.getOptionsContext() ); consumer.consume( new MongoDBTuplesSupplier( collection, entityKeyMetadata, provider.getBinaryStorageManager() ) ); }
@Override public void forEachTuple(ModelConsumer consumer, TupleTypeContext tupleTypeContext, EntityKeyMetadata entityKeyMetadata) { MongoCollection<Document> collection = getCollection( entityKeyMetadata.getTable(), tupleTypeContext.getOptionsContext() ); consumer.consume( new MongoDBTuplesSupplier( collection, entityKeyMetadata, provider.getBinaryStorageManager() ) ); }
private Document insertDocument(EntityKeyMetadata entityKeyMetadata, Tuple tuple, TupleContext tupleContext ) { Document dbObject = objectForInsert( tuple, ( (MongoDBTupleSnapshot) tuple.getSnapshot() ).getDbObject() ); getCollection( entityKeyMetadata.getTable(), tupleContext.getTupleTypeContext().getOptionsContext() ).insertOne( dbObject ); return dbObject; }
private Document insertDocument(EntityKeyMetadata entityKeyMetadata, Tuple tuple, TupleContext tupleContext ) { Document dbObject = objectForInsert( tuple, ( (MongoDBTupleSnapshot) tuple.getSnapshot() ).getDbObject() ); getCollection( entityKeyMetadata.getTable(), tupleContext.getTupleTypeContext().getOptionsContext() ).insertOne( dbObject ); return dbObject; }
@Override public Tuple createTuple(EntityKey key, OperationContext operationContext) { IgniteCache<Object, BinaryObject> entityCache = provider.getEntityCache( key.getMetadata() ); if ( entityCache == null ) { throw log.cacheNotFound( key.getMetadata().getTable() ); } Object id = provider.createKeyObject( key ); return new Tuple( new IgniteTupleSnapshot( id, null, key.getMetadata() ), SnapshotType.INSERT ); }