Fixes on notification service NotifyIntegrationEventHandler
This commit is contained in:
parent
101a0aace9
commit
21b5201bf2
|
@ -5,3 +5,6 @@ validation.largerthanmax=Value must be less than {value}
|
||||||
validation.invalidid=Not valid id
|
validation.invalidid=Not valid id
|
||||||
General_ItemNotFound=Item {0} of type {1} not found
|
General_ItemNotFound=Item {0} of type {1} not found
|
||||||
Validation_Required={0} is required
|
Validation_Required={0} is required
|
||||||
|
Validation_OverPosting=Too much info
|
||||||
|
Validation_MaxLength={0} too long
|
||||||
|
Validation_UnexpectedValue=Unexpected value in field {0}
|
|
@ -67,6 +67,7 @@ public class NotifyIntegrationEventHandlerImpl implements NotifyIntegrationEvent
|
||||||
if (event.getUserId() == null) {
|
if (event.getUserId() == null) {
|
||||||
throw new MyValidationException(this.errors.getModelValidation().getCode(), "userId", messageSource.getMessage("Validation_Required", new Object[]{"userId"}, LocaleContextHolder.getLocale()));
|
throw new MyValidationException(this.errors.getModelValidation().getCode(), "userId", messageSource.getMessage("Validation_Required", new Object[]{"userId"}, LocaleContextHolder.getLocale()));
|
||||||
}
|
}
|
||||||
|
logger.debug("Handling NotifyIntegrationEvent");
|
||||||
|
|
||||||
NotificationPersist model = new NotificationPersist();
|
NotificationPersist model = new NotificationPersist();
|
||||||
model.setType(event.getNotificationType());
|
model.setType(event.getNotificationType());
|
||||||
|
@ -132,8 +133,6 @@ public class NotifyIntegrationEventHandlerImpl implements NotifyIntegrationEvent
|
||||||
} finally {
|
} finally {
|
||||||
currentPrincipalResolver.pop();
|
currentPrincipalResolver.pop();
|
||||||
}
|
}
|
||||||
|
|
||||||
transaction.commit();
|
|
||||||
} catch (OptimisticLockException ex) {
|
} catch (OptimisticLockException ex) {
|
||||||
// we get this if/when someone else already modified the notifications. We want to essentially ignore this, and keep working
|
// we get this if/when someone else already modified the notifications. We want to essentially ignore this, and keep working
|
||||||
logger.debug("Concurrency exception getting queue outbox. Skipping: {} ", ex.getMessage());
|
logger.debug("Concurrency exception getting queue outbox. Skipping: {} ", ex.getMessage());
|
||||||
|
|
|
@ -34,6 +34,7 @@ import gr.cite.tools.fieldset.BaseFieldSet;
|
||||||
import gr.cite.tools.fieldset.FieldSet;
|
import gr.cite.tools.fieldset.FieldSet;
|
||||||
import gr.cite.tools.logging.LoggerService;
|
import gr.cite.tools.logging.LoggerService;
|
||||||
import gr.cite.tools.logging.MapLogEntry;
|
import gr.cite.tools.logging.MapLogEntry;
|
||||||
|
import jakarta.transaction.Transactional;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.context.ApplicationContext;
|
import org.springframework.context.ApplicationContext;
|
||||||
|
@ -96,10 +97,11 @@ public class NotificationServiceImpl implements NotificationService {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@Transactional
|
||||||
public Notification persist(NotificationPersist model, FieldSet fields) throws MyForbiddenException, MyValidationException, MyApplicationException, MyNotFoundException, InvalidApplicationException {
|
public Notification persist(NotificationPersist model, FieldSet fields) throws MyForbiddenException, MyValidationException, MyApplicationException, MyNotFoundException, InvalidApplicationException {
|
||||||
logger.debug(new MapLogEntry("persisting notification").And("model", model).And("fields", fields));
|
logger.debug(new MapLogEntry("persisting notification").And("model", model).And("fields", fields));
|
||||||
|
|
||||||
this.authorizationService.authorizeForce(Permission.EditNotification);
|
// this.authorizationService.authorizeForce(Permission.EditNotification);
|
||||||
|
|
||||||
Boolean isUpdate = this.conventionService.isValidGuid(model.getId());
|
Boolean isUpdate = this.conventionService.isValidGuid(model.getId());
|
||||||
|
|
||||||
|
@ -120,6 +122,14 @@ public class NotificationServiceImpl implements NotificationService {
|
||||||
data.setContactTypeHint(model.getContactTypeHint());
|
data.setContactTypeHint(model.getContactTypeHint());
|
||||||
data.setType(model.getType());
|
data.setType(model.getType());
|
||||||
data.setUserId(model.getUserId());
|
data.setUserId(model.getUserId());
|
||||||
|
data.setNotifyState(model.getNotifyState());
|
||||||
|
data.setTrackingProcess(model.getTrackingProcess());
|
||||||
|
data.setNotifiedWith(model.getNotifiedWith());
|
||||||
|
data.setTrackingData(model.getTrackingData());
|
||||||
|
data.setTrackingState(model.getTrackingState());
|
||||||
|
data.setNotifiedAt(model.getNotifiedAt());
|
||||||
|
data.setRetryCount(model.getRetryCount());
|
||||||
|
data.setData(model.getData());
|
||||||
data.setUpdatedAt(Instant.now());
|
data.setUpdatedAt(Instant.now());
|
||||||
|
|
||||||
if (isUpdate) this.entityManager.merge(data);
|
if (isUpdate) this.entityManager.merge(data);
|
||||||
|
|
Loading…
Reference in New Issue