Skip to content

Commit

Permalink
HSEARCH-4132 Store transient identifier to report
Browse files Browse the repository at this point in the history
  • Loading branch information
fax4ever authored and yrodiere committed Mar 8, 2021
1 parent eab1ec6 commit 10cd573
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 5 deletions.
Expand Up @@ -8,6 +8,7 @@

import java.util.Arrays;
import java.util.Objects;
import javax.persistence.Transient;

import org.hibernate.search.mapper.pojo.route.DocumentRoutesDescriptor;
import org.hibernate.search.util.common.serialization.spi.SerializationUtils;
Expand All @@ -24,14 +25,19 @@ public enum Type {
private byte[] serializedRoutes;
private Type type;

@Transient
private Object identifier;

public OutboxEvent() {
}

public OutboxEvent(Type type, String entityName, String serializedId, DocumentRoutesDescriptor routesDescriptor) {
public OutboxEvent(String entityName, String serializedId, DocumentRoutesDescriptor routesDescriptor, Type type,
Object identifier) {
this.entityName = entityName;
this.serializedId = serializedId;
this.serializedRoutes = SerializationUtils.serialize( routesDescriptor );
this.type = type;
this.identifier = identifier;
}

public Integer getId() {
Expand Down Expand Up @@ -74,6 +80,14 @@ public void setType(Type type) {
this.type = type;
}

public Object getIdentifier() {
return identifier;
}

public void setIdentifier(Object identifier) {
this.identifier = identifier;
}

@Override
public boolean equals(Object o) {
if ( this == o ) {
Expand Down
Expand Up @@ -27,18 +27,18 @@ public OutboxTableSendingPlan(Session session) {

@Override
public void add(String entityName, Object identifier, String serializedId, DocumentRoutesDescriptor routes) {
events.add( new OutboxEvent( OutboxEvent.Type.ADD, entityName, serializedId, routes ) );
events.add( new OutboxEvent( entityName, serializedId, routes, OutboxEvent.Type.ADD, identifier ) );
}

@Override
public void addOrUpdate(String entityName, Object identifier, String serializedId,
DocumentRoutesDescriptor routes) {
events.add( new OutboxEvent( OutboxEvent.Type.ADD_OR_UPDATE, entityName, serializedId, routes ) );
events.add( new OutboxEvent( entityName, serializedId, routes, OutboxEvent.Type.ADD_OR_UPDATE, identifier ) );
}

@Override
public void delete(String entityName, Object identifier, String serializedId, DocumentRoutesDescriptor routes) {
events.add( new OutboxEvent( OutboxEvent.Type.DELETE, entityName, serializedId, routes ) );
events.add( new OutboxEvent( entityName, serializedId, routes, OutboxEvent.Type.DELETE, identifier ) );
}

@Override
Expand All @@ -57,7 +57,7 @@ public <R> CompletableFuture<MultiEntityOperationExecutionReport<R>> sendAndRepo
catch (RuntimeException e) {
builder.throwable( e );
builder.failingEntityReference(
entityReferenceFactory, event.getEntityName(), event.getSerializedId() );
entityReferenceFactory, event.getEntityName(), event.getIdentifier() );
}
}
session.flush();
Expand Down

0 comments on commit 10cd573

Please sign in to comment.