Moved details to new package (wtf duplicated)
This commit is contained in:
parent
3f86cb9151
commit
cce8d4fcc0
@ -2,7 +2,7 @@ package ru.dragonestia.picker.api.repository;
|
|||||||
|
|
||||||
import ru.dragonestia.picker.api.exception.InvalidNodeIdentifierException;
|
import ru.dragonestia.picker.api.exception.InvalidNodeIdentifierException;
|
||||||
import ru.dragonestia.picker.api.exception.NodeAlreadyExistException;
|
import ru.dragonestia.picker.api.exception.NodeAlreadyExistException;
|
||||||
import ru.dragonestia.picker.api.repository.details.NodeDetails;
|
import ru.dragonestia.picker.api.model.node.NodeDetails;
|
||||||
import ru.dragonestia.picker.api.repository.response.type.RNode;
|
import ru.dragonestia.picker.api.repository.response.type.RNode;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
package ru.dragonestia.picker.api.repository;
|
package ru.dragonestia.picker.api.repository;
|
||||||
|
|
||||||
import ru.dragonestia.picker.api.exception.*;
|
import ru.dragonestia.picker.api.exception.*;
|
||||||
import ru.dragonestia.picker.api.repository.details.RoomDetails;
|
import ru.dragonestia.picker.api.model.room.RoomDetails;
|
||||||
import ru.dragonestia.picker.api.repository.response.type.RNode;
|
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.RRoom;
|
||||||
|
|
||||||
|
|||||||
@ -3,14 +3,13 @@ package ru.dragonestia.picker.api.repository;
|
|||||||
import ru.dragonestia.picker.api.exception.NodeNotFoundException;
|
import ru.dragonestia.picker.api.exception.NodeNotFoundException;
|
||||||
import ru.dragonestia.picker.api.exception.RoomAreFullException;
|
import ru.dragonestia.picker.api.exception.RoomAreFullException;
|
||||||
import ru.dragonestia.picker.api.exception.RoomNotFoundException;
|
import ru.dragonestia.picker.api.exception.RoomNotFoundException;
|
||||||
import ru.dragonestia.picker.api.repository.details.RoomDetails;
|
import ru.dragonestia.picker.api.model.room.RoomDetails;
|
||||||
|
import ru.dragonestia.picker.api.model.user.UserDetails;
|
||||||
import ru.dragonestia.picker.api.repository.response.type.RRoom;
|
import ru.dragonestia.picker.api.repository.response.type.RRoom;
|
||||||
import ru.dragonestia.picker.api.repository.response.type.RUser;
|
import ru.dragonestia.picker.api.repository.response.type.RUser;
|
||||||
import ru.dragonestia.picker.api.repository.details.UserDetails;
|
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Optional;
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
public interface UserRepository {
|
public interface UserRepository {
|
||||||
|
|||||||
@ -1,5 +0,0 @@
|
|||||||
package ru.dragonestia.picker.api.repository.details;
|
|
||||||
|
|
||||||
public enum NodeDetails {
|
|
||||||
PERSIST
|
|
||||||
}
|
|
||||||
@ -1,5 +0,0 @@
|
|||||||
package ru.dragonestia.picker.api.repository.details;
|
|
||||||
|
|
||||||
public enum UserDetails {
|
|
||||||
COUNT_ROOMS
|
|
||||||
}
|
|
||||||
@ -1,8 +1,8 @@
|
|||||||
package ru.dragonestia.picker.api.repository.response.type;
|
package ru.dragonestia.picker.api.repository.response.type;
|
||||||
|
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
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 ru.dragonestia.picker.api.repository.response.type.type.PickingMode;
|
||||||
import ru.dragonestia.picker.api.repository.details.NodeDetails;
|
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
package ru.dragonestia.picker.api.repository.response.type;
|
package ru.dragonestia.picker.api.repository.response.type;
|
||||||
|
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import ru.dragonestia.picker.api.repository.details.RoomDetails;
|
import ru.dragonestia.picker.api.model.room.RoomDetails;
|
||||||
|
|
||||||
import java.beans.Transient;
|
import java.beans.Transient;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
package ru.dragonestia.picker.api.repository.response.type;
|
package ru.dragonestia.picker.api.repository.response.type;
|
||||||
|
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import ru.dragonestia.picker.api.repository.details.UserDetails;
|
import ru.dragonestia.picker.api.model.user.UserDetails;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|||||||
@ -0,0 +1,24 @@
|
|||||||
|
package ru.dragonestia.picker.api.repository.type;
|
||||||
|
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import ru.dragonestia.picker.api.util.IdentifierValidator;
|
||||||
|
|
||||||
|
import java.security.InvalidParameterException;
|
||||||
|
|
||||||
|
public final class NodeIdentifier extends ValueObject<String> {
|
||||||
|
|
||||||
|
private NodeIdentifier(String value) {
|
||||||
|
super(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void validate(String value) {
|
||||||
|
if (IdentifierValidator.forNode(value)) return;
|
||||||
|
|
||||||
|
throw new InvalidParameterException("Invalid node identifier");
|
||||||
|
}
|
||||||
|
|
||||||
|
public static NodeIdentifier of(@NotNull String value) {
|
||||||
|
return new NodeIdentifier(value);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,24 @@
|
|||||||
|
package ru.dragonestia.picker.api.repository.type;
|
||||||
|
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import ru.dragonestia.picker.api.util.IdentifierValidator;
|
||||||
|
|
||||||
|
import java.security.InvalidParameterException;
|
||||||
|
|
||||||
|
public class RoomIdentifier extends ValueObject<String> {
|
||||||
|
|
||||||
|
private RoomIdentifier(String value) {
|
||||||
|
super(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void validate(String value) {
|
||||||
|
if(IdentifierValidator.forRoom(value)) return;
|
||||||
|
|
||||||
|
throw new InvalidParameterException("Invalid room identifier");
|
||||||
|
}
|
||||||
|
|
||||||
|
public static RoomIdentifier of(@NotNull String value) {
|
||||||
|
return new RoomIdentifier(value);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,18 @@
|
|||||||
|
package ru.dragonestia.picker.api.repository.type;
|
||||||
|
|
||||||
|
abstract class ValueObject<T> {
|
||||||
|
|
||||||
|
private final T value;
|
||||||
|
|
||||||
|
ValueObject(T value) {
|
||||||
|
validate(value);
|
||||||
|
|
||||||
|
this.value = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected abstract void validate(T value);
|
||||||
|
|
||||||
|
public T getValue() {
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user