package com.constellio.data.dao.services.recovery;
import java.util.List;
import com.constellio.data.conf.DataLayerConfiguration;
import com.constellio.data.dao.services.bigVault.solr.BigVaultServerTransaction;
import com.constellio.data.dao.services.recovery.transactionWriter.RecoveryTransactionWriter;
import com.constellio.data.dao.services.transactionLog.TransactionLogReadWriteServices;
import com.constellio.data.extensions.DataLayerSystemExtensions;
import com.constellio.data.io.services.facades.IOServices;
public class RecoveryTransactionReadWriteServices extends TransactionLogReadWriteServices {
boolean writeZZRecords;
public RecoveryTransactionReadWriteServices(IOServices ioServices, DataLayerConfiguration configuration) {
super(ioServices, configuration, new AcceptAllExtension());
writeZZRecords = configuration.isWriteZZRecords();
}
@Override
public String toLogEntry(BigVaultServerTransaction transaction) {
return new RecoveryTransactionWriter(writeZZRecords, new AcceptAllExtension()).toLogEntry(transaction);
}
public String toLogEntry(List<Object> documents) {
return new RecoveryTransactionWriter(writeZZRecords, new AcceptAllExtension()).addAllSolrDocuments(documents);
}
private static class AcceptAllExtension extends DataLayerSystemExtensions {
@Override
public boolean isDocumentFieldLoggedInTransactionLog(String field, String schema, String collection,
boolean defaultValue) {
return true;
}
}
}