com.backendless.transaction.UnitOfWorkUpsertImpl Maven / Gradle / Ivy
package com.backendless.transaction;
import com.backendless.exceptions.ExceptionMessage;
import com.backendless.persistence.BackendlessSerializer;
import java.util.List;
import java.util.Map;
public class UnitOfWorkUpsertImpl implements UnitOfWorkUpsert
{
private final List operations;
private final OpResultIdGenerator opResultIdGenerator;
private final Map clazzes;
UnitOfWorkUpsertImpl( List operations, OpResultIdGenerator opResultIdGenerator,
Map clazzes )
{
this.operations = operations;
this.opResultIdGenerator = opResultIdGenerator;
this.clazzes = clazzes;
}
@Override
public OpResult upsert( E instance )
{
Map entityMap = SerializationHelper.serializeEntityToMap( instance );
String tableName = BackendlessSerializer.getSimpleName( instance.getClass() );
clazzes.put( tableName, instance.getClass() );
return upsert( tableName, entityMap );
}
@Override
public OpResult upsert( String tableName, Map objectMap )
{
if( objectMap == null )
throw new IllegalArgumentException( ExceptionMessage.NULL_MAP );
TransactionHelper.makeReferenceToValueFromOpResult( objectMap );
String operationResultId = opResultIdGenerator.generateOpResultId( OperationType.UPSERT, tableName );
OperationUpsert OperationUpsert = new OperationUpsert( OperationType.UPSERT, tableName, operationResultId, objectMap );
operations.add( OperationUpsert );
return TransactionHelper.makeOpResult( tableName, operationResultId, OperationType.UPSERT );
}
@Override
public OpResult bulkUpsert( List instances )
{
List © 2015 - 2025 Weber Informatics LLC | Privacy Policy