public void updateIndex(Object key, Object value) { if (value != null) { if (!Thread.currentThread().isInterrupted()) { EntityIndexBinding entityIndexBinding = searchIntegrator.getIndexBindings().get(new PojoIndexedTypeIdentifier(value.getClass())); if (entityIndexBinding == null) { // it might be possible to receive not-indexes types return; } ConversionContext conversionContext = new ContextualExceptionBridgeHelper(); DocumentBuilderIndexedEntity docBuilder = entityIndexBinding.getDocumentBuilder(); final String idInString = keyTransformationHandler.keyToString(key); UpdateLuceneWork updateTask = docBuilder.createUpdateWork( null, docBuilder.getTypeIdentifier(), value, idInString, idInString, DefaultInstanceInitializer.DEFAULT_INITIALIZER, conversionContext ); try { defaultBatchBackend.enqueueAsyncWork(updateTask); } catch (InterruptedException e) { Thread.currentThread().interrupt(); } } } } }
public void updateIndex(Object key, Object value) { if (value != null) { if (!Thread.currentThread().isInterrupted()) { EntityIndexBinding entityIndexBinding = searchIntegrator.getIndexBindings().get(new PojoIndexedTypeIdentifier(value.getClass())); if (entityIndexBinding == null) { // it might be possible to receive not-indexes types return; } ConversionContext conversionContext = new ContextualExceptionBridgeHelper(); DocumentBuilderIndexedEntity docBuilder = entityIndexBinding.getDocumentBuilder(); final String idInString = keyTransformationHandler.keyToString(key); UpdateLuceneWork updateTask = docBuilder.createUpdateWork( null, docBuilder.getTypeIdentifier(), value, idInString, idInString, DefaultInstanceInitializer.DEFAULT_INITIALIZER, conversionContext ); try { defaultBatchBackend.enqueueAsyncWork(updateTask); } catch (InterruptedException e) { Thread.currentThread().interrupt(); } } } } }
createUpdateWork( tenantId, typeIdentifier,
createUpdateWork( tenantId, typeIdentifier,
private LuceneWork createUpdateWork(Serializable id, Object entity) { Class<?> clazz = entity.getClass(); IndexedTypeIdentifier typeId = new PojoIndexedTypeIdentifier( clazz ); ExtendedSearchIntegrator searchFactory = sfHolder.getSearchFactory(); EntityIndexBinding entityIndexBinding = searchFactory.getIndexBinding( typeId ); DocumentBuilderIndexedEntity docBuilder = entityIndexBinding.getDocumentBuilder(); return docBuilder.createUpdateWork( null, typeId, entity, id, id.toString(), DefaultInstanceInitializer.DEFAULT_INITIALIZER, new ContextualExceptionBridgeHelper() ); }