package ee.telekom.workflow.core.error;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import ee.telekom.workflow.util.ExceptionUtil;
@Service
@Transactional
public class ExecutionErrorServiceImpl implements ExecutionErrorService{
@Autowired
private ExecutionErrorDao dao;
@Override
public void handleError( long woinRefNum, Long woitRefNum, Exception exception ){
ExecutionError error = new ExecutionError();
error.setWoinRefNum( woinRefNum );
error.setWoitRefNum( woitRefNum );
String errorText = StringUtils.abbreviate( ExceptionUtil.getErrorText( exception ), 500 );
error.setErrorText( StringUtils.isNotBlank( errorText ) ? errorText : "-" );
error.setErrorDetails( ExceptionUtil.getErrorDetails( exception ) );
dao.create( error );
}
@Override
public ExecutionError findByWoinRefNum( long woinRefNum ){
return dao.findByWoinRefNum( woinRefNum );
}
@Override
public void delete( long refNum ){
dao.delete( refNum );
}
}