diff --git a/app/src/main/java/ru/dragonestia/picker/config/JacksonConfig.java b/app/src/main/java/ru/dragonestia/picker/config/JacksonConfig.java new file mode 100644 index 0000000..66445c4 --- /dev/null +++ b/app/src/main/java/ru/dragonestia/picker/config/JacksonConfig.java @@ -0,0 +1,22 @@ +package ru.dragonestia.picker.config; + +import com.fasterxml.jackson.annotation.JsonAutoDetect; +import com.fasterxml.jackson.databind.ObjectMapper; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Configuration +public class JacksonConfig { + + @Bean + ObjectMapper objectMapper() { + var mapper = new ObjectMapper(); + mapper.setVisibility(mapper.getSerializationConfig().getDefaultVisibilityChecker() + .withFieldVisibility(JsonAutoDetect.Visibility.ANY) + .withGetterVisibility(JsonAutoDetect.Visibility.NONE) + .withSetterVisibility(JsonAutoDetect.Visibility.NONE) + .withCreatorVisibility(JsonAutoDetect.Visibility.NONE)); + + return mapper; + } +} diff --git a/app/src/main/java/ru/dragonestia/picker/config/TestConfig.java b/app/src/main/java/ru/dragonestia/picker/config/TestConfig.java index 2204764..ef18da4 100644 --- a/app/src/main/java/ru/dragonestia/picker/config/TestConfig.java +++ b/app/src/main/java/ru/dragonestia/picker/config/TestConfig.java @@ -10,7 +10,7 @@ import org.springframework.context.annotation.Profile; import org.springframework.lang.NonNull; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; -import ru.dragonestia.picker.api.repository.response.type.type.PickingMode; +import ru.dragonestia.picker.api.model.node.PickingMethod; import ru.dragonestia.picker.interceptor.DebugInterceptor; import ru.dragonestia.picker.model.Room; import ru.dragonestia.picker.model.Node; @@ -42,9 +42,9 @@ public class TestConfig implements WebMvcConfigurer { @Bean void createNodes() { - createNodeWithContent(new Node("game-servers", PickingMode.ROUND_ROBIN, false)); - createNodeWithContent(new Node("game-lobbies", PickingMode.LEAST_PICKED, false)); - createNodeWithContent(new Node("hub", PickingMode.SEQUENTIAL_FILLING, false)); + createNodeWithContent(new Node("game-servers", PickingMethod.ROUND_ROBIN, false)); + createNodeWithContent(new Node("game-lobbies", PickingMethod.LEAST_PICKED, false)); + createNodeWithContent(new Node("hub", PickingMethod.SEQUENTIAL_FILLING, false)); } @SneakyThrows diff --git a/app/src/main/java/ru/dragonestia/picker/controller/NodeController.java b/app/src/main/java/ru/dragonestia/picker/controller/NodeController.java index 6f352c4..0270522 100644 --- a/app/src/main/java/ru/dragonestia/picker/controller/NodeController.java +++ b/app/src/main/java/ru/dragonestia/picker/controller/NodeController.java @@ -7,7 +7,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; import ru.dragonestia.picker.api.exception.NodeNotFoundException; -import ru.dragonestia.picker.api.repository.response.type.type.PickingMode; +import ru.dragonestia.picker.api.model.node.PickingMethod; import ru.dragonestia.picker.api.repository.response.NodeDetailsResponse; import ru.dragonestia.picker.api.repository.response.NodeListResponse; import ru.dragonestia.picker.model.Node; @@ -41,7 +41,7 @@ public class NodeController { @PostMapping ResponseEntity registerNode( @Parameter(description = "Node identifier") @RequestParam(name = "nodeId") String nodeId, - @Parameter(description = "Picking mode method") @RequestParam(name = "method") PickingMode method, + @Parameter(description = "Picking method method") @RequestParam(name = "method") PickingMethod method, @Parameter(description = "Save node") @RequestParam(name = "persist", required = false, defaultValue = "false") boolean persist ) { nodeService.create(new Node(nodeId, method, persist)); diff --git a/app/src/main/java/ru/dragonestia/picker/model/Node.java b/app/src/main/java/ru/dragonestia/picker/model/Node.java index 7c04fd6..7182eb0 100644 --- a/app/src/main/java/ru/dragonestia/picker/model/Node.java +++ b/app/src/main/java/ru/dragonestia/picker/model/Node.java @@ -1,10 +1,10 @@ package ru.dragonestia.picker.model; import lombok.NonNull; -import ru.dragonestia.picker.api.repository.response.type.RNode; -import ru.dragonestia.picker.api.repository.response.type.type.PickingMode; +import ru.dragonestia.picker.api.model.node.PickingMethod; +import ru.dragonestia.picker.api.model.node.ResponseNode; -public record Node(@NonNull String id, @NonNull PickingMode mode, boolean persist) { +public record Node(@NonNull String id, @NonNull PickingMethod method, boolean persist) { @Override public int hashCode() { @@ -21,7 +21,7 @@ public record Node(@NonNull String id, @NonNull PickingMode mode, boolean persis return false; } - public RNode toResponseObject() { - return new RNode(id, mode); + public ResponseNode toResponseObject() { + return new ResponseNode(id, method); } } diff --git a/app/src/main/java/ru/dragonestia/picker/repository/impl/NodeRepositoryImpl.java b/app/src/main/java/ru/dragonestia/picker/repository/impl/NodeRepositoryImpl.java index f1bbf98..2a34b35 100644 --- a/app/src/main/java/ru/dragonestia/picker/repository/impl/NodeRepositoryImpl.java +++ b/app/src/main/java/ru/dragonestia/picker/repository/impl/NodeRepositoryImpl.java @@ -31,7 +31,7 @@ public class NodeRepositoryImpl implements NodeRepository { } nodeMap.put(node.id(), node); - var picker = pickerRepository.create(node.id(), node.mode()); + var picker = pickerRepository.create(node.id(), node.method()); nodeId2PickerModeCache.put(node.id(), picker); } diff --git a/app/src/main/java/ru/dragonestia/picker/repository/impl/PickerRepository.java b/app/src/main/java/ru/dragonestia/picker/repository/impl/PickerRepository.java index ef52297..536a0c3 100644 --- a/app/src/main/java/ru/dragonestia/picker/repository/impl/PickerRepository.java +++ b/app/src/main/java/ru/dragonestia/picker/repository/impl/PickerRepository.java @@ -2,7 +2,7 @@ package ru.dragonestia.picker.repository.impl; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Component; -import ru.dragonestia.picker.api.repository.response.type.type.PickingMode; +import ru.dragonestia.picker.api.model.node.PickingMethod; import ru.dragonestia.picker.model.Room; import ru.dragonestia.picker.model.User; import ru.dragonestia.picker.repository.UserRepository; @@ -20,7 +20,7 @@ public class PickerRepository { private final UserRepository userRepository; private final Map pickers = new ConcurrentHashMap<>(); - public RoomPicker create(String nodeId, PickingMode mode) { + public RoomPicker create(String nodeId, PickingMethod mode) { var picker = of(mode); pickers.put(nodeId, picker); return picker; @@ -38,7 +38,7 @@ public class PickerRepository { return pickers.get(nodeId).pick(users); } - private RoomPicker of(PickingMode mode) { + private RoomPicker of(PickingMethod mode) { switch (mode) { case SEQUENTIAL_FILLING -> { return new SequentialFillingPicker(userRepository); diff --git a/app/src/main/java/ru/dragonestia/picker/repository/impl/picker/LeastPickedPicker.java b/app/src/main/java/ru/dragonestia/picker/repository/impl/picker/LeastPickedPicker.java index a5c9ef5..cca8b1b 100644 --- a/app/src/main/java/ru/dragonestia/picker/repository/impl/picker/LeastPickedPicker.java +++ b/app/src/main/java/ru/dragonestia/picker/repository/impl/picker/LeastPickedPicker.java @@ -1,6 +1,6 @@ package ru.dragonestia.picker.repository.impl.picker; -import ru.dragonestia.picker.api.repository.response.type.type.PickingMode; +import ru.dragonestia.picker.api.model.node.PickingMethod; import ru.dragonestia.picker.model.Room; import ru.dragonestia.picker.model.User; import ru.dragonestia.picker.repository.UserRepository; @@ -55,7 +55,7 @@ public class LeastPickedPicker implements RoomPicker { } @Override - public PickingMode getPickingMode() { - return PickingMode.LEAST_PICKED; + public PickingMethod getPickingMode() { + return PickingMethod.LEAST_PICKED; } } diff --git a/app/src/main/java/ru/dragonestia/picker/repository/impl/picker/RoomPicker.java b/app/src/main/java/ru/dragonestia/picker/repository/impl/picker/RoomPicker.java index e89c0fb..b3df329 100644 --- a/app/src/main/java/ru/dragonestia/picker/repository/impl/picker/RoomPicker.java +++ b/app/src/main/java/ru/dragonestia/picker/repository/impl/picker/RoomPicker.java @@ -1,10 +1,10 @@ package ru.dragonestia.picker.repository.impl.picker; -import ru.dragonestia.picker.api.repository.response.type.type.PickingMode; +import ru.dragonestia.picker.api.model.node.PickingMethod; import ru.dragonestia.picker.model.Room; import ru.dragonestia.picker.model.User; public interface RoomPicker extends Picker { - PickingMode getPickingMode(); + PickingMethod getPickingMode(); } diff --git a/app/src/main/java/ru/dragonestia/picker/repository/impl/picker/RoundRobinPicker.java b/app/src/main/java/ru/dragonestia/picker/repository/impl/picker/RoundRobinPicker.java index d9bdcaa..fad91ea 100644 --- a/app/src/main/java/ru/dragonestia/picker/repository/impl/picker/RoundRobinPicker.java +++ b/app/src/main/java/ru/dragonestia/picker/repository/impl/picker/RoundRobinPicker.java @@ -1,6 +1,6 @@ package ru.dragonestia.picker.repository.impl.picker; -import ru.dragonestia.picker.api.repository.response.type.type.PickingMode; +import ru.dragonestia.picker.api.model.node.PickingMethod; import ru.dragonestia.picker.model.Room; import ru.dragonestia.picker.model.User; import ru.dragonestia.picker.repository.UserRepository; @@ -51,7 +51,7 @@ public class RoundRobinPicker implements RoomPicker { } @Override - public PickingMode getPickingMode() { - return PickingMode.ROUND_ROBIN; + public PickingMethod getPickingMode() { + return PickingMethod.ROUND_ROBIN; } } diff --git a/app/src/main/java/ru/dragonestia/picker/repository/impl/picker/SequentialFillingPicker.java b/app/src/main/java/ru/dragonestia/picker/repository/impl/picker/SequentialFillingPicker.java index bc5b51f..180b12a 100644 --- a/app/src/main/java/ru/dragonestia/picker/repository/impl/picker/SequentialFillingPicker.java +++ b/app/src/main/java/ru/dragonestia/picker/repository/impl/picker/SequentialFillingPicker.java @@ -1,6 +1,6 @@ package ru.dragonestia.picker.repository.impl.picker; -import ru.dragonestia.picker.api.repository.response.type.type.PickingMode; +import ru.dragonestia.picker.api.model.node.PickingMethod; import ru.dragonestia.picker.model.Room; import ru.dragonestia.picker.model.User; import ru.dragonestia.picker.repository.UserRepository; @@ -48,7 +48,7 @@ public class SequentialFillingPicker implements RoomPicker { } @Override - public PickingMode getPickingMode() { - return PickingMode.SEQUENTIAL_FILLING; + public PickingMethod getPickingMode() { + return PickingMethod.SEQUENTIAL_FILLING; } } diff --git a/app/src/main/java/ru/dragonestia/picker/service/NodeService.java b/app/src/main/java/ru/dragonestia/picker/service/NodeService.java index a0d9203..2631a46 100644 --- a/app/src/main/java/ru/dragonestia/picker/service/NodeService.java +++ b/app/src/main/java/ru/dragonestia/picker/service/NodeService.java @@ -3,7 +3,7 @@ package ru.dragonestia.picker.service; import ru.dragonestia.picker.api.exception.InvalidNodeIdentifierException; import ru.dragonestia.picker.api.exception.NodeAlreadyExistException; import ru.dragonestia.picker.api.model.node.NodeDetails; -import ru.dragonestia.picker.api.repository.response.type.RNode; +import ru.dragonestia.picker.api.model.node.ResponseNode; import ru.dragonestia.picker.model.Node; import java.util.List; @@ -18,7 +18,7 @@ public interface NodeService { List all(); - List getAllNodesWithDetailsResponse(Set details); + List getAllNodesWithDetailsResponse(Set details); Optional find(String nodeId); } diff --git a/app/src/main/java/ru/dragonestia/picker/service/impl/NodeServiceImpl.java b/app/src/main/java/ru/dragonestia/picker/service/impl/NodeServiceImpl.java index 3fb8b10..88f1888 100644 --- a/app/src/main/java/ru/dragonestia/picker/service/impl/NodeServiceImpl.java +++ b/app/src/main/java/ru/dragonestia/picker/service/impl/NodeServiceImpl.java @@ -5,7 +5,7 @@ import org.springframework.stereotype.Service; import ru.dragonestia.picker.api.exception.InvalidNodeIdentifierException; import ru.dragonestia.picker.api.exception.NodeAlreadyExistException; import ru.dragonestia.picker.api.model.node.NodeDetails; -import ru.dragonestia.picker.api.repository.response.type.RNode; +import ru.dragonestia.picker.api.model.node.ResponseNode; import ru.dragonestia.picker.model.Node; import ru.dragonestia.picker.repository.NodeRepository; import ru.dragonestia.picker.service.NodeService; @@ -48,8 +48,8 @@ public class NodeServiceImpl implements NodeService { } @Override - public List getAllNodesWithDetailsResponse(Set details) { - var response = new LinkedList(); + public List getAllNodesWithDetailsResponse(Set details) { + var response = new LinkedList(); for (var node: all()) { response.add(detailsExtractor.extract(node, details)); } diff --git a/app/src/main/java/ru/dragonestia/picker/util/DetailsExtractor.java b/app/src/main/java/ru/dragonestia/picker/util/DetailsExtractor.java index 3fad006..71e4aa7 100644 --- a/app/src/main/java/ru/dragonestia/picker/util/DetailsExtractor.java +++ b/app/src/main/java/ru/dragonestia/picker/util/DetailsExtractor.java @@ -3,9 +3,9 @@ package ru.dragonestia.picker.util; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Component; import ru.dragonestia.picker.api.model.node.NodeDetails; +import ru.dragonestia.picker.api.model.node.ResponseNode; import ru.dragonestia.picker.api.model.room.RoomDetails; import ru.dragonestia.picker.api.model.user.UserDetails; -import ru.dragonestia.picker.api.repository.response.type.RNode; import ru.dragonestia.picker.api.repository.response.type.RRoom; import ru.dragonestia.picker.api.repository.response.type.RUser; import ru.dragonestia.picker.model.Node; @@ -25,7 +25,7 @@ public class DetailsExtractor { private final RoomRepository roomRepository; private final UserRepository userRepository; - public RNode extract(Node node, Set details) { + public ResponseNode extract(Node node, Set details) { var response = node.toResponseObject(); for (var detail: details) { diff --git a/client-api/src/main/java/ru/dragonestia/picker/api/model/node/INode.java b/client-api/src/main/java/ru/dragonestia/picker/api/model/node/INode.java new file mode 100644 index 0000000..d5d6c6a --- /dev/null +++ b/client-api/src/main/java/ru/dragonestia/picker/api/model/node/INode.java @@ -0,0 +1,15 @@ +package ru.dragonestia.picker.api.model.node; + +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +public interface INode { + + @NotNull String getIdentifier(); + + @NotNull PickingMethod getPickingMethod(); + + @Nullable Boolean isPersist(); + + @Nullable String getDetail(@NotNull NodeDetails detail); +} diff --git a/client-api/src/main/java/ru/dragonestia/picker/api/model/node/NodeDefinition.java b/client-api/src/main/java/ru/dragonestia/picker/api/model/node/NodeDefinition.java new file mode 100644 index 0000000..f81adaf --- /dev/null +++ b/client-api/src/main/java/ru/dragonestia/picker/api/model/node/NodeDefinition.java @@ -0,0 +1,49 @@ +package ru.dragonestia.picker.api.model.node; + +import org.jetbrains.annotations.Contract; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; +import ru.dragonestia.picker.api.repository.type.NodeIdentifier; + +public class NodeDefinition implements INode { + + private final String identifier; + private PickingMethod pickingMethod = PickingMethod.SEQUENTIAL_FILLING; + private boolean persist = false; + + public NodeDefinition(@NotNull NodeIdentifier identifier) { + this.identifier = identifier.getValue(); + } + + @Override + public @NotNull String getIdentifier() { + return identifier; + } + + @Override + public @NotNull PickingMethod getPickingMethod() { + return pickingMethod; + } + + @Contract("_ -> this") + public @NotNull NodeDefinition setPickingMethod(@NotNull PickingMethod pickingMethod) { + this.pickingMethod = pickingMethod; + return this; + } + + @Override + public @Nullable Boolean isPersist() { + return persist; + } + + @Contract("_ -> this") + public @NotNull NodeDefinition setPersist(boolean value) { + persist = value; + return this; + } + + @Override + public @Nullable String getDetail(@NotNull NodeDetails detail) { + throw new UnsupportedOperationException(); + } +} diff --git a/client-api/src/main/java/ru/dragonestia/picker/api/model/node/PickingMethod.java b/client-api/src/main/java/ru/dragonestia/picker/api/model/node/PickingMethod.java new file mode 100644 index 0000000..55b245b --- /dev/null +++ b/client-api/src/main/java/ru/dragonestia/picker/api/model/node/PickingMethod.java @@ -0,0 +1,7 @@ +package ru.dragonestia.picker.api.model.node; + +public enum PickingMethod { + SEQUENTIAL_FILLING, + ROUND_ROBIN, + LEAST_PICKED +} diff --git a/client-api/src/main/java/ru/dragonestia/picker/api/model/node/ResponseNode.java b/client-api/src/main/java/ru/dragonestia/picker/api/model/node/ResponseNode.java new file mode 100644 index 0000000..8bcee10 --- /dev/null +++ b/client-api/src/main/java/ru/dragonestia/picker/api/model/node/ResponseNode.java @@ -0,0 +1,76 @@ +package ru.dragonestia.picker.api.model.node; + +import io.swagger.v3.oas.annotations.media.Schema; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.beans.Transient; +import java.util.HashMap; +import java.util.Map; + +@Schema(title = "Node") +public class ResponseNode implements INode { + + @Schema(description = "Node identifier", example = "test-node") + private String id; + + @Schema(description = "Picking method for users between rooms", example = "LEAST_PICKED") + private PickingMethod method; + + @Schema(description = "Additional data requested (Key-Value)") + private Map details; + + public ResponseNode() {} + + public ResponseNode(@NotNull String id, @NotNull PickingMethod pickingMethod) { + this.id = id; + this.method = pickingMethod; + this.details = new HashMap<>(); + } + + @Override + public @NotNull String getIdentifier() { + return id; + } + + @Override + public @NotNull PickingMethod getPickingMethod() { + return method; + } + + @Transient + @Override + public @Nullable Boolean isPersist() { + var val = getDetail(NodeDetails.PERSIST); + return val == null? null : "true".equals(val); + } + + @Override + public @Nullable String getDetail(@NotNull NodeDetails detail) { + return details.get(detail); + } + + public void putDetail(@NotNull NodeDetails detail, @NotNull String value) { + details.put(detail, value); + } + + @Override + public int hashCode() { + return id.hashCode(); + } + + @Override + public boolean equals(Object object) { + if (object == this) return true; + if (object == null) return false; + if (object instanceof ResponseNode other) { + return id.equals(other.id); + } + return false; + } + + @Override + public String toString() { + return "[NodeDefinition id='%s' pickingMethod=%s]".formatted(id, method); + } +} diff --git a/client-api/src/main/java/ru/dragonestia/picker/api/repository/response/NodeDetailsResponse.java b/client-api/src/main/java/ru/dragonestia/picker/api/repository/response/NodeDetailsResponse.java index e9ffdb0..572dac4 100644 --- a/client-api/src/main/java/ru/dragonestia/picker/api/repository/response/NodeDetailsResponse.java +++ b/client-api/src/main/java/ru/dragonestia/picker/api/repository/response/NodeDetailsResponse.java @@ -1,7 +1,8 @@ package ru.dragonestia.picker.api.repository.response; import io.swagger.v3.oas.annotations.media.Schema; +import ru.dragonestia.picker.api.model.node.ResponseNode; import ru.dragonestia.picker.api.repository.response.type.RNode; @Schema(title = "Node details", hidden = true) -public record NodeDetailsResponse(RNode node) {} +public record NodeDetailsResponse(ResponseNode node) {} diff --git a/client-api/src/main/java/ru/dragonestia/picker/api/repository/response/NodeListResponse.java b/client-api/src/main/java/ru/dragonestia/picker/api/repository/response/NodeListResponse.java index 9b3c02f..b5ddda0 100644 --- a/client-api/src/main/java/ru/dragonestia/picker/api/repository/response/NodeListResponse.java +++ b/client-api/src/main/java/ru/dragonestia/picker/api/repository/response/NodeListResponse.java @@ -1,9 +1,9 @@ package ru.dragonestia.picker.api.repository.response; import io.swagger.v3.oas.annotations.media.Schema; -import ru.dragonestia.picker.api.repository.response.type.RNode; +import ru.dragonestia.picker.api.model.node.ResponseNode; import java.util.List; @Schema(title = "List of nodes", hidden = true) -public record NodeListResponse(List nodes) {} +public record NodeListResponse(List nodes) {} diff --git a/client-api/src/main/java/ru/dragonestia/picker/api/repository/response/type/RNode.java b/client-api/src/main/java/ru/dragonestia/picker/api/repository/response/type/RNode.java deleted file mode 100644 index 2a82d92..0000000 --- a/client-api/src/main/java/ru/dragonestia/picker/api/repository/response/type/RNode.java +++ /dev/null @@ -1,64 +0,0 @@ -package ru.dragonestia.picker.api.repository.response.type; - -import io.swagger.v3.oas.annotations.media.Schema; -import ru.dragonestia.picker.api.model.node.NodeDetails; -import ru.dragonestia.picker.api.repository.response.type.type.PickingMode; - -import java.util.HashMap; -import java.util.Map; - -@Schema(title = "Node") -public class RNode { - - @Schema(description = "Node identifier", example = "test-node") - private String id; - - @Schema(description = "Picking mode method for users between rooms", example = "LEAST_PICKED") - private PickingMode mode; - - @Schema(description = "Additional data requested (Key-Value)") - private Map details; - - private RNode() {} - - public RNode(String id, PickingMode mode) { - this.id = id; - this.mode = mode; - this.details = new HashMap<>(); - } - - public String getId() { - return id; - } - - public PickingMode getMode() { - return mode; - } - - public void putDetail(NodeDetails detail, String value) { - details.put(detail, value); - } - - public String getDetails(NodeDetails detail) { - return details.get(detail); - } - - public Map getDetails() { - return details; - } - - @Override - public int hashCode() { - return id.hashCode(); - } - - @Override - public boolean equals(Object object) { - if (object == this) return true; - if (object == null) return false; - if (object instanceof RNode other) { - return id.equals(other.id); - } - return false; - } -} diff --git a/client-api/src/main/java/ru/dragonestia/picker/api/repository/response/type/RRoom.java b/client-api/src/main/java/ru/dragonestia/picker/api/repository/response/type/RRoom.java index 0b1bfdd..02848a2 100644 --- a/client-api/src/main/java/ru/dragonestia/picker/api/repository/response/type/RRoom.java +++ b/client-api/src/main/java/ru/dragonestia/picker/api/repository/response/type/RRoom.java @@ -1,6 +1,7 @@ package ru.dragonestia.picker.api.repository.response.type; import io.swagger.v3.oas.annotations.media.Schema; +import ru.dragonestia.picker.api.model.node.ResponseNode; import ru.dragonestia.picker.api.model.room.RoomDetails; import java.beans.Transient; @@ -40,8 +41,8 @@ public class RRoom { this.details = new HashMap<>(); } - public RRoom(String id, RNode node, int limit, String payload) { - this(id, node.getId(), limit, payload); + public RRoom(String id, ResponseNode node, int limit, String payload) { + this(id, node.getIdentifier(), limit, payload); } public String getId() { diff --git a/client-api/src/main/java/ru/dragonestia/picker/api/repository/response/type/type/PickingMode.java b/client-api/src/main/java/ru/dragonestia/picker/api/repository/response/type/type/PickingMode.java deleted file mode 100644 index 455ac7d..0000000 --- a/client-api/src/main/java/ru/dragonestia/picker/api/repository/response/type/type/PickingMode.java +++ /dev/null @@ -1,17 +0,0 @@ -package ru.dragonestia.picker.api.repository.response.type.type; - -public enum PickingMode { - SEQUENTIAL_FILLING("Sequential filling"), - ROUND_ROBIN("Round Robin"), - LEAST_PICKED("Least Picked"); - - private final String name; - - PickingMode(String name) { - this.name = name; - } - - public String getName() { - return name; - } -}