@Override public void put(IndexedTypeIdentifier type, V value) { //technically there's a race condition here but we only do //writes during initialization, which is sequential. //Writing the names first makes this safe even for parallel //initializations. name2keyMapping.put( type.getName(), type ); map.put( type, value ); }
@Override public NestingContext createNestingContext(IndexedTypeIdentifier indexedEntityType) { ContextCreationStrategy strategy = strategies.get( indexedEntityType.getName() ); if ( strategy == null ) { strategy = ElasticsearchEntityHelper.isMappedToElasticsearch( searchIntegrator, indexedEntityType ) ? ContextCreationStrategy.ES : ContextCreationStrategy.NO_OP; strategies.putIfAbsent( indexedEntityType.getName(), strategy ); } return strategy.create(); } }
public static <V> IndexedTypeMap<V> singletonMapping(IndexedTypeIdentifier key, V value) { Objects.requireNonNull( key ); Objects.requireNonNull( value ); return new DelegatingIndexedTypeMap<>( Collections.singletonMap( key, value ), Collections.singletonMap( key.getName(), key ) ); }
@Override public String toString() { IndexedTypeIdentifier entityClass = this.getEntityType(); if ( entityClass == null ) { return "FlushLuceneWork: global"; } else { return "FlushLuceneWork: " + entityClass.getName(); } } }
public Builder analyzerDiscriminator(Discriminator discriminator, XMember discriminatorGetter) { if ( this.discriminator != null ) { throw new SearchException( "Multiple AnalyzerDiscriminator defined in the same class hierarchy: " + this.indexedType .getName() ); } this.discriminator = discriminator; this.discriminatorGetter = discriminatorGetter; return this; }
public static final void appendFailureMessage(StringBuilder message, LuceneWork workThatFailed) { IndexedTypeIdentifier entityClass = workThatFailed.getEntityType(); String entityClassName = entityClass == null ? null : entityClass.getName(); message.append( "\tEntity " ) .append( entityClassName ) .append( " " ) .append( " Id " ).append( workThatFailed.getIdInString() ) .append( " " ).append( " Work Type " ) .append( " " ).append( workThatFailed.getClass().getName() ) .append( "\n" ); }
@Override public Set<String> getIndexedClassNames() { Set<String> indexedClasses = new HashSet<String>(); for ( IndexedTypeIdentifier clazz : extendedIntegrator.getIndexBindings().keySet() ) { indexedClasses.add( clazz.getName() ); } return indexedClasses; }
private void assertFacetingFieldExists() { if ( fieldName == null ) { throw new IllegalArgumentException( "null is an invalid field name" ); } EntityIndexBinding indexBinding = factory.getIndexBinding( entityType ); if ( indexBinding == null ) { throw log.attemptToCreateFacetingRequestForUnindexedEntity( entityType.getName() ); } }
private IndexWorkBuilder indexDocument(URLEncodedString id, Document document, IndexedTypeIdentifier entityType) { JsonObject source = convertDocumentToJson( document, entityType ); URLEncodedString typeName = URLEncodedString.fromString( entityType.getName() ); return workFactory.index( indexName, typeName, id, source ); }
public EntityIndexBinding getSafeIndexBindingForEntity(IndexedTypeIdentifier type) { if ( type == null ) { throw log.nullIsInvalidIndexedType(); } EntityIndexBinding entityIndexBinding = getIndexBinding( type ); if ( entityIndexBinding == null ) { throw log.notAnIndexedType( type.getName() ); } return entityIndexBinding; }
@Override public String toString() { String tenant = getTenantId() == null ? "" : " [" + getTenantId() + "] "; return "PurgeAllLuceneWork" + tenant + ": " + this.getEntityType().getName(); }
private IndexWorkBuilder indexDocument(URLEncodedString id, Document document, IndexedTypeIdentifier entityType) { JsonObject source = convertDocumentToJson( document, entityType ); URLEncodedString typeName = URLEncodedString.fromString( entityType.getName() ); return workFactory.index( indexName, typeName, id, source ); }
@Override public String toString() { String tenant = getTenantId() == null ? "" : " [" + getTenantId() + "] "; return "AddLuceneWork" + tenant + ": " + this.getEntityType().getName() + "#" + this.getIdInString(); }
@Override public String toString() { String tenant = getTenantId() == null ? "" : " [" + getTenantId() + "] "; return "UpdateLuceneWork" + tenant + ": " + this.getEntityType().getName() + "#" + this.getIdInString(); }
@Override public String toString() { String tenant = getTenantId() == null ? "" : " [" + getTenantId() + "] "; return "DeleteLuceneWork" + tenant + ": " + this.getEntityType().getName() + "#" + this.getIdInString(); }
@Override public String toString() { String tenant = getTenantId() == null ? "" : " [" + getTenantId() + "] "; return "DeleteLuceneWork" + tenant + ": " + this.getEntityType().getName() + "#" + this.getIdInString(); }
private Class<?> getRootEntityType(SessionFactoryImplementor sessionFactory, IndexedTypeIdentifier indexedTypeIdentifier) { MetamodelImplementor metamodel = sessionFactory.getMetamodel(); String entityName = indexedTypeIdentifier.getName(); String rootEntityName = metamodel.entityPersister( entityName ).getRootEntityName(); return metamodel.entityPersister( rootEntityName ).getMappedClass(); }
private String objectIdInString(IndexedTypeIdentifier typeKey, Serializable id, ConversionContext conversionContext) { EntityIndexBinding indexBindingForEntity = typesRegistry.get( typeKey ); if ( indexBindingForEntity == null ) { throw new SearchException( "Unable to find entity type metadata while deserializing: " + typeKey.getName() ); } DocumentBuilderIndexedEntity documentBuilder = indexBindingForEntity.getDocumentBuilder(); return documentBuilder.objectToString( documentBuilder.getIdFieldName(), id, conversionContext ); }
public static boolean areDocIdAndEntityIdIdentical(EntityInfo entityInfo, SessionImplementor session) { SessionFactoryImplementor sessionFactoryImplementor = session.getSessionFactory(); ClassMetadata cm = sessionFactoryImplementor.getMetamodel().entityPersister( entityInfo.getType().getName() ).getClassMetadata(); String hibernateIdentifierProperty = cm.getIdentifierPropertyName(); return entityInfo.getIdName().equals( hibernateIdentifierProperty ); } }
public String objectToString(String fieldName, Object value, ConversionContext conversionContext) { if ( fieldName == null ) { throw new AssertionFailure( "Field name should not be null" ); } final FieldBridge bridge = fieldName.equals( getIdFieldName() ) ? getIdBridge() : getBridge( getTypeMetadata(), fieldName ); if ( bridge != null ) { return objectToString( fieldName, bridge, value, conversionContext ); } throw new SearchException( "Unable to find field " + fieldName + " in " + getTypeIdentifier().getName() ); }