Skip to content
Snippets Groups Projects
Commit 48d176ad authored by Makhtar DIAGNE's avatar Makhtar DIAGNE
Browse files

[DLAB-3453] Update operation in order to extend it

parent 21f06a25
No related branches found
No related tags found
1 merge request!1Feature/design/1
...@@ -39,7 +39,6 @@ package fr.gouv.vitamui.commons.api.domain; ...@@ -39,7 +39,6 @@ package fr.gouv.vitamui.commons.api.domain;
import java.time.OffsetDateTime; import java.time.OffsetDateTime;
import fr.gouv.vitamui.commons.api.enums.OperationStatus; import fr.gouv.vitamui.commons.api.enums.OperationStatus;
import fr.gouv.vitamui.commons.api.enums.OperationType;
/** /**
* Interface describing a basic operation. * Interface describing a basic operation.
...@@ -52,9 +51,9 @@ public interface IOperationDto { ...@@ -52,9 +51,9 @@ public interface IOperationDto {
void setId(String id); void setId(String id);
OperationType getType(); String getType();
void setType(OperationType type); void setType(String type);
Integer getTenantIdentifier(); Integer getTenantIdentifier();
......
...@@ -44,7 +44,6 @@ import javax.validation.constraints.NotNull; ...@@ -44,7 +44,6 @@ import javax.validation.constraints.NotNull;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import fr.gouv.vitamui.commons.api.enums.OperationStatus; import fr.gouv.vitamui.commons.api.enums.OperationStatus;
import fr.gouv.vitamui.commons.api.enums.OperationType;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
...@@ -63,7 +62,7 @@ public class OperationDto extends IdDto implements IOperationDto { ...@@ -63,7 +62,7 @@ public class OperationDto extends IdDto implements IOperationDto {
private static final long serialVersionUID = -3962480065920989325L; private static final long serialVersionUID = -3962480065920989325L;
@NotNull @NotNull
private OperationType type; private String type;
@NotNull @NotNull
private Integer tenantIdentifier; private Integer tenantIdentifier;
......
...@@ -36,12 +36,30 @@ ...@@ -36,12 +36,30 @@
*/ */
package fr.gouv.vitamui.commons.api.enums; package fr.gouv.vitamui.commons.api.enums;
import lombok.Getter;
@Getter
public enum OperationStatus { public enum OperationStatus {
WAITING, CANCELED (10),
PAUSED, WAITING(4),
RUNNING, PAUSED(3),
FAILED, RUNNING(2),
CANCELED, FAILED(0),
COMPLETED; COMPLETED(0);
/**
* Value allowing to order status (can be used when an update of the.
*/
private final int priority;
/**
* Constructor.
* @param priority Priority of the status
*/
private OperationStatus(int priority) {
this.priority = priority;
}
} }
...@@ -62,7 +62,7 @@ import lombok.ToString; ...@@ -62,7 +62,7 @@ import lombok.ToString;
public class Operation extends IdDocument { public class Operation extends IdDocument {
@NotNull @NotNull
private OperationType type; private String type;
private String author; private String author;
......
...@@ -53,7 +53,7 @@ public class OperationFactory { ...@@ -53,7 +53,7 @@ public class OperationFactory {
public static OperationDto createOperation(String author, Integer tenantIdentifier, OperationType type) { public static OperationDto createOperation(String author, Integer tenantIdentifier, OperationType type) {
final OperationDto operation = createOperation(type); final OperationDto operation = createOperation(type);
return initOperation(operation, author, tenantIdentifier, type); return initOperation(operation, author, tenantIdentifier, type.toString());
} }
protected static OperationDto createOperation(OperationType type) { protected static OperationDto createOperation(OperationType type) {
...@@ -66,7 +66,7 @@ public class OperationFactory { ...@@ -66,7 +66,7 @@ public class OperationFactory {
} }
protected static OperationDto initOperation(OperationDto operation, String author, Integer tenantIdentifier, protected static OperationDto initOperation(OperationDto operation, String author, Integer tenantIdentifier,
OperationType type) { String type) {
operation.setStatus(OperationStatus.RUNNING); operation.setStatus(OperationStatus.RUNNING);
operation.setTenantIdentifier(tenantIdentifier); operation.setTenantIdentifier(tenantIdentifier);
operation.setCreationDate(OffsetDateTime.now()); operation.setCreationDate(OffsetDateTime.now());
......
...@@ -49,7 +49,6 @@ import javax.validation.ValidatorFactory; ...@@ -49,7 +49,6 @@ import javax.validation.ValidatorFactory;
import fr.gouv.vitamui.commons.api.converter.Converter; import fr.gouv.vitamui.commons.api.converter.Converter;
import fr.gouv.vitamui.commons.api.domain.OperationDto; import fr.gouv.vitamui.commons.api.domain.OperationDto;
import fr.gouv.vitamui.commons.api.enums.OperationType;
import fr.gouv.vitamui.commons.mongo.converter.OperationConverter; import fr.gouv.vitamui.commons.mongo.converter.OperationConverter;
import fr.gouv.vitamui.commons.mongo.dao.CustomSequenceRepository; import fr.gouv.vitamui.commons.mongo.dao.CustomSequenceRepository;
import fr.gouv.vitamui.commons.mongo.dao.OperationRepository; import fr.gouv.vitamui.commons.mongo.dao.OperationRepository;
...@@ -60,7 +59,7 @@ public class OperationService extends VitamUICrudService<OperationDto, Operation ...@@ -60,7 +59,7 @@ public class OperationService extends VitamUICrudService<OperationDto, Operation
protected final OperationRepository<Operation> repository; protected final OperationRepository<Operation> repository;
private final Map<OperationType, Converter> customConverters = new HashMap<>(); private final Map<String, Converter> customConverters = new HashMap<>();
private final Converter<OperationDto, Operation> defaultConverter; private final Converter<OperationDto, Operation> defaultConverter;
...@@ -126,7 +125,7 @@ public class OperationService extends VitamUICrudService<OperationDto, Operation ...@@ -126,7 +125,7 @@ public class OperationService extends VitamUICrudService<OperationDto, Operation
return getConverter(dto.getType()).convertDtoToEntity(dto); return getConverter(dto.getType()).convertDtoToEntity(dto);
} }
protected Converter<OperationDto, Operation> getConverter(final OperationType type) { protected Converter<OperationDto, Operation> getConverter(final String type) {
if (!customConverters.containsKey(type)) { if (!customConverters.containsKey(type)) {
return defaultConverter; return defaultConverter;
} }
...@@ -138,7 +137,7 @@ public class OperationService extends VitamUICrudService<OperationDto, Operation ...@@ -138,7 +137,7 @@ public class OperationService extends VitamUICrudService<OperationDto, Operation
* @param type Type of the operation. * @param type Type of the operation.
* @param converter Converter linked to the type. * @param converter Converter linked to the type.
*/ */
public void addConverter(final OperationType type, final Converter<? extends OperationDto, ? extends Operation> converter) { public void addConverter(final String type, final Converter<? extends OperationDto, ? extends Operation> converter) {
customConverters.put(type, converter); customConverters.put(type, converter);
} }
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment