Fabien CHERET пре 5 година
родитељ
комит
51b6f7bbcc
25 измењених фајлова са 70 додато и 82 уклоњено
  1. 2 2
      Dockerfile
  2. 6 0
      README.md
  3. 1 1
      docs/post.md
  4. 1 1
      docs/putid.md
  5. 1 3
      src/main/java/eu/fcheret/parkingtoll/ParkingTollApplication.java
  6. 4 4
      src/main/java/eu/fcheret/parkingtoll/api/ParkingLotApiController.java
  7. 1 1
      src/main/java/eu/fcheret/parkingtoll/exceptions/DepartureIsBeforeArrivalException.java
  8. 1 1
      src/main/java/eu/fcheret/parkingtoll/exceptions/NoSuchCarInParkingException.java
  9. 1 1
      src/main/java/eu/fcheret/parkingtoll/exceptions/ParkingIsFullException.java
  10. 1 1
      src/main/java/eu/fcheret/parkingtoll/exceptions/ParkingNotFoundException.java
  11. 1 1
      src/main/java/eu/fcheret/parkingtoll/exceptions/ParkingTypeDoesNotExistException.java
  12. 1 1
      src/main/java/eu/fcheret/parkingtoll/model/CarSlot.java
  13. 1 3
      src/main/java/eu/fcheret/parkingtoll/model/FareProcessor.java
  14. 2 4
      src/main/java/eu/fcheret/parkingtoll/model/Layout.java
  15. 1 3
      src/main/java/eu/fcheret/parkingtoll/model/ParkingLot.java
  16. 2 3
      src/main/java/eu/fcheret/parkingtoll/model/PricingPolicy.java
  17. 1 1
      src/main/java/eu/fcheret/parkingtoll/persistence/Dao.java
  18. 3 3
      src/main/java/eu/fcheret/parkingtoll/persistence/InMemoryPersistenceManager.java
  19. 10 10
      src/main/java/eu/fcheret/parkingtoll/service/ParkingLotService.java
  20. 8 10
      src/test/java/eu/fcheret/parkingtoll/controller/ParkingLotApiControllerTest.java
  21. 2 7
      src/test/java/eu/fcheret/parkingtoll/model/LayoutTest.java
  22. 1 3
      src/test/java/eu/fcheret/parkingtoll/model/ParkingLotTest.java
  23. 2 2
      src/test/java/eu/fcheret/parkingtoll/model/PricingPolicyTest.java
  24. 5 8
      src/test/java/eu/fcheret/parkingtoll/persistence/InMemoryPersistenceManagerTest.java
  25. 11 8
      src/test/java/eu/fcheret/parkingtoll/service/ParkingLotServiceTest.java

+ 2 - 2
Dockerfile

@@ -1,4 +1,4 @@
-from openjdk:11-jdk-alpine
+from openjdk:11
 VOLUME /tmp
 COPY target/*.jar app.jar
-ENTRYPOINT {"java","-jar","/app.jar"}
+ENTRYPOINT ["java","-jar","/app.jar"]

+ 6 - 0
README.md

@@ -21,6 +21,12 @@ or
 
 `java -jar target/parkingtoll-0.0.1-SNAPSHOT.jar`
 
+or 
+
+`docker build -t fcheret/parkingtoll .`
+
+`docker run -p 8080:8080 fcheret/parkingtoll`
+
 The server application will spawn on http://localhost:8080
 
 ### Used technologies

+ 1 - 1
docs/post.md

@@ -107,7 +107,7 @@ example:
             "codes": [
                 "NotNull.parkingLot.pricingPolicy",
                 "NotNull.pricingPolicy",
-                "NotNull.eu.fibane.parkingtoll.model.PricingPolicy",
+                "NotNull.PricingPolicy",
                 "NotNull"
             ],
             "arguments": [

+ 1 - 1
docs/putid.md

@@ -102,7 +102,7 @@ integer($int64) |
             "codes": [
                 "NotNull.parkingLot.pricingPolicy",
                 "NotNull.pricingPolicy",
-                "NotNull.eu.fibane.parkingtoll.model.PricingPolicy",
+                "NotNull.PricingPolicy",
                 "NotNull"
             ],
             "arguments": [

+ 1 - 3
src/main/java/eu/fibane/parkingtoll/ParkingTollApplication.java → src/main/java/eu/fcheret/parkingtoll/ParkingTollApplication.java

@@ -1,7 +1,5 @@
-package eu.fibane.parkingtoll;
+package eu.fcheret.parkingtoll;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 

+ 4 - 4
src/main/java/eu/fibane/parkingtoll/api/ParkingLotApiController.java → src/main/java/eu/fcheret/parkingtoll/api/ParkingLotApiController.java

@@ -1,8 +1,8 @@
-package eu.fibane.parkingtoll.api;
+package eu.fcheret.parkingtoll.api;
 
-import eu.fibane.parkingtoll.service.ParkingLotService;
-import eu.fibane.parkingtoll.model.CarSlot;
-import eu.fibane.parkingtoll.model.ParkingLot;
+import eu.fcheret.parkingtoll.model.CarSlot;
+import eu.fcheret.parkingtoll.model.ParkingLot;
+import eu.fcheret.parkingtoll.service.ParkingLotService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;

+ 1 - 1
src/main/java/eu/fibane/parkingtoll/exceptions/DepartureIsBeforeArrivalException.java → src/main/java/eu/fcheret/parkingtoll/exceptions/DepartureIsBeforeArrivalException.java

@@ -1,4 +1,4 @@
-package eu.fibane.parkingtoll.exceptions;
+package eu.fcheret.parkingtoll.exceptions;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;

+ 1 - 1
src/main/java/eu/fibane/parkingtoll/exceptions/NoSuchCarInParkingException.java → src/main/java/eu/fcheret/parkingtoll/exceptions/NoSuchCarInParkingException.java

@@ -1,4 +1,4 @@
-package eu.fibane.parkingtoll.exceptions;
+package eu.fcheret.parkingtoll.exceptions;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;

+ 1 - 1
src/main/java/eu/fibane/parkingtoll/exceptions/ParkingIsFullException.java → src/main/java/eu/fcheret/parkingtoll/exceptions/ParkingIsFullException.java

@@ -1,4 +1,4 @@
-package eu.fibane.parkingtoll.exceptions;
+package eu.fcheret.parkingtoll.exceptions;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;

+ 1 - 1
src/main/java/eu/fibane/parkingtoll/exceptions/ParkingNotFoundException.java → src/main/java/eu/fcheret/parkingtoll/exceptions/ParkingNotFoundException.java

@@ -1,4 +1,4 @@
-package eu.fibane.parkingtoll.exceptions;
+package eu.fcheret.parkingtoll.exceptions;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;

+ 1 - 1
src/main/java/eu/fibane/parkingtoll/exceptions/ParkingTypeDoesNotExistException.java → src/main/java/eu/fcheret/parkingtoll/exceptions/ParkingTypeDoesNotExistException.java

@@ -1,4 +1,4 @@
-package eu.fibane.parkingtoll.exceptions;
+package eu.fcheret.parkingtoll.exceptions;
 
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.ResponseStatus;

+ 1 - 1
src/main/java/eu/fibane/parkingtoll/model/CarSlot.java → src/main/java/eu/fcheret/parkingtoll/model/CarSlot.java

@@ -1,4 +1,4 @@
-package eu.fibane.parkingtoll.model;
+package eu.fcheret.parkingtoll.model;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import lombok.Data;

+ 1 - 3
src/main/java/eu/fibane/parkingtoll/model/FareProcessor.java → src/main/java/eu/fcheret/parkingtoll/model/FareProcessor.java

@@ -1,11 +1,9 @@
-package eu.fibane.parkingtoll.model;
+package eu.fcheret.parkingtoll.model;
 
 import com.fasterxml.jackson.annotation.JsonSubTypes;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
-import com.fasterxml.jackson.annotation.JsonTypeInfo.Id;
 
 import java.math.BigDecimal;
-import java.time.Instant;
 
 @JsonTypeInfo(use = JsonTypeInfo.Id.NAME,
         property = "type")

+ 2 - 4
src/main/java/eu/fibane/parkingtoll/model/Layout.java → src/main/java/eu/fcheret/parkingtoll/model/Layout.java

@@ -1,15 +1,13 @@
-package eu.fibane.parkingtoll.model;
+package eu.fcheret.parkingtoll.model;
 
 import com.fasterxml.jackson.annotation.JsonIgnore;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.fasterxml.jackson.annotation.JsonTypeName;
-import eu.fibane.parkingtoll.exceptions.NoSuchCarInParkingException;
-import eu.fibane.parkingtoll.exceptions.ParkingIsFullException;
+import eu.fcheret.parkingtoll.exceptions.ParkingIsFullException;
 import lombok.Data;
 import org.springframework.validation.annotation.Validated;
 
 import javax.validation.constraints.NotNull;
-import java.time.Instant;
 import java.util.Deque;
 import java.util.HashMap;
 import java.util.Map;

+ 1 - 3
src/main/java/eu/fibane/parkingtoll/model/ParkingLot.java → src/main/java/eu/fcheret/parkingtoll/model/ParkingLot.java

@@ -1,9 +1,7 @@
-package eu.fibane.parkingtoll.model;
+package eu.fcheret.parkingtoll.model;
 
 import com.fasterxml.jackson.annotation.JsonIgnore;
 import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonSubTypes;
-import com.fasterxml.jackson.annotation.JsonSubTypes.Type;
 import lombok.Data;
 import org.springframework.validation.annotation.Validated;
 

+ 2 - 3
src/main/java/eu/fibane/parkingtoll/model/PricingPolicy.java → src/main/java/eu/fcheret/parkingtoll/model/PricingPolicy.java

@@ -1,8 +1,7 @@
-package eu.fibane.parkingtoll.model;
+package eu.fcheret.parkingtoll.model;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonSubTypes;
-import eu.fibane.parkingtoll.exceptions.DepartureIsBeforeArrivalException;
+import eu.fcheret.parkingtoll.exceptions.DepartureIsBeforeArrivalException;
 import lombok.Data;
 import org.springframework.validation.annotation.Validated;
 

+ 1 - 1
src/main/java/eu/fibane/parkingtoll/persistence/Dao.java → src/main/java/eu/fcheret/parkingtoll/persistence/Dao.java

@@ -1,4 +1,4 @@
-package eu.fibane.parkingtoll.persistence;
+package eu.fcheret.parkingtoll.persistence;
 
 import java.util.Collection;
 

+ 3 - 3
src/main/java/eu/fibane/parkingtoll/persistence/InMemoryPersistenceManager.java → src/main/java/eu/fcheret/parkingtoll/persistence/InMemoryPersistenceManager.java

@@ -1,7 +1,7 @@
-package eu.fibane.parkingtoll.persistence;
+package eu.fcheret.parkingtoll.persistence;
 
-import eu.fibane.parkingtoll.exceptions.ParkingNotFoundException;
-import eu.fibane.parkingtoll.model.ParkingLot;
+import eu.fcheret.parkingtoll.exceptions.ParkingNotFoundException;
+import eu.fcheret.parkingtoll.model.ParkingLot;
 import org.springframework.stereotype.Repository;
 
 import java.util.Collection;

+ 10 - 10
src/main/java/eu/fibane/parkingtoll/service/ParkingLotService.java → src/main/java/eu/fcheret/parkingtoll/service/ParkingLotService.java

@@ -1,13 +1,13 @@
-package eu.fibane.parkingtoll.service;
-
-import eu.fibane.parkingtoll.persistence.Dao;
-import eu.fibane.parkingtoll.exceptions.NoSuchCarInParkingException;
-import eu.fibane.parkingtoll.exceptions.ParkingIsFullException;
-import eu.fibane.parkingtoll.exceptions.ParkingNotFoundException;
-import eu.fibane.parkingtoll.exceptions.ParkingTypeDoesNotExistException;
-import eu.fibane.parkingtoll.model.CarSlot;
-import eu.fibane.parkingtoll.model.Layout;
-import eu.fibane.parkingtoll.model.ParkingLot;
+package eu.fcheret.parkingtoll.service;
+
+import eu.fcheret.parkingtoll.exceptions.NoSuchCarInParkingException;
+import eu.fcheret.parkingtoll.exceptions.ParkingIsFullException;
+import eu.fcheret.parkingtoll.exceptions.ParkingNotFoundException;
+import eu.fcheret.parkingtoll.exceptions.ParkingTypeDoesNotExistException;
+import eu.fcheret.parkingtoll.model.CarSlot;
+import eu.fcheret.parkingtoll.model.Layout;
+import eu.fcheret.parkingtoll.model.ParkingLot;
+import eu.fcheret.parkingtoll.persistence.Dao;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 

+ 8 - 10
src/test/java/eu/fibane/parkingtoll/controller/ParkingLotApiControllerTest.java → src/test/java/eu/fcheret/parkingtoll/controller/ParkingLotApiControllerTest.java

@@ -1,12 +1,11 @@
-package eu.fibane.parkingtoll.controller;
-
-import eu.fibane.parkingtoll.api.ParkingLotApiController;
-import eu.fibane.parkingtoll.model.CarSlot;
-import eu.fibane.parkingtoll.model.ParkingLot;
-import eu.fibane.parkingtoll.model.ParkingLotTest;
-import eu.fibane.parkingtoll.model.PricingPolicy;
-import eu.fibane.parkingtoll.service.ParkingLotService;
-import org.apache.catalina.session.PersistentManager;
+package eu.fcheret.parkingtoll.controller;
+
+import eu.fcheret.parkingtoll.api.ParkingLotApiController;
+import eu.fcheret.parkingtoll.model.CarSlot;
+import eu.fcheret.parkingtoll.model.ParkingLot;
+import eu.fcheret.parkingtoll.model.ParkingLotTest;
+import eu.fcheret.parkingtoll.model.PricingPolicy;
+import eu.fcheret.parkingtoll.service.ParkingLotService;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.mockito.InjectMocks;
@@ -31,7 +30,6 @@ import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyLong;
 import static org.mockito.Mockito.*;
-import static org.mockito.Mockito.when;
 
 @SpringBootTest
 public class ParkingLotApiControllerTest {

+ 2 - 7
src/test/java/eu/fibane/parkingtoll/model/LayoutTest.java → src/test/java/eu/fcheret/parkingtoll/model/LayoutTest.java

@@ -1,13 +1,8 @@
-package eu.fibane.parkingtoll.model;
+package eu.fcheret.parkingtoll.model;
 
-import eu.fibane.parkingtoll.exceptions.NoSuchCarInParkingException;
-import eu.fibane.parkingtoll.exceptions.ParkingIsFullException;
-import org.junit.jupiter.api.BeforeEach;
+import eu.fcheret.parkingtoll.exceptions.ParkingIsFullException;
 import org.junit.jupiter.api.Test;
 
-import java.time.Duration;
-import java.time.Instant;
-
 import static org.junit.jupiter.api.Assertions.*;
 
 class LayoutTest {

+ 1 - 3
src/test/java/eu/fibane/parkingtoll/model/ParkingLotTest.java → src/test/java/eu/fcheret/parkingtoll/model/ParkingLotTest.java

@@ -1,7 +1,5 @@
-package eu.fibane.parkingtoll.model;
+package eu.fcheret.parkingtoll.model;
 
-import eu.fibane.parkingtoll.exceptions.ParkingIsFullException;
-import eu.fibane.parkingtoll.exceptions.ParkingTypeDoesNotExistException;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 

+ 2 - 2
src/test/java/eu/fibane/parkingtoll/model/PricingPolicyTest.java → src/test/java/eu/fcheret/parkingtoll/model/PricingPolicyTest.java

@@ -1,6 +1,6 @@
-package eu.fibane.parkingtoll.model;
+package eu.fcheret.parkingtoll.model;
 
-import eu.fibane.parkingtoll.exceptions.DepartureIsBeforeArrivalException;
+import eu.fcheret.parkingtoll.exceptions.DepartureIsBeforeArrivalException;
 import org.junit.jupiter.api.Test;
 
 import java.math.BigDecimal;

+ 5 - 8
src/test/java/eu/fibane/parkingtoll/persistence/InMemoryPersistenceManagerTest.java → src/test/java/eu/fcheret/parkingtoll/persistence/InMemoryPersistenceManagerTest.java

@@ -1,16 +1,13 @@
-package eu.fibane.parkingtoll.persistence;
+package eu.fcheret.parkingtoll.persistence;
 
-import eu.fibane.parkingtoll.exceptions.ParkingNotFoundException;
-import eu.fibane.parkingtoll.model.Layout;
-import eu.fibane.parkingtoll.model.ParkingLot;
-import eu.fibane.parkingtoll.model.ParkingLotTest;
+import eu.fcheret.parkingtoll.exceptions.ParkingNotFoundException;
+import eu.fcheret.parkingtoll.model.Layout;
+import eu.fcheret.parkingtoll.model.ParkingLot;
+import eu.fcheret.parkingtoll.model.ParkingLotTest;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
 import java.security.SecureRandom;
-import java.time.Duration;
-import java.time.Instant;
-import java.time.temporal.ChronoUnit;
 import java.util.ArrayList;
 import java.util.List;
 

+ 11 - 8
src/test/java/eu/fibane/parkingtoll/service/ParkingLotServiceTest.java → src/test/java/eu/fcheret/parkingtoll/service/ParkingLotServiceTest.java

@@ -1,11 +1,14 @@
-package eu.fibane.parkingtoll.service;
-
-import eu.fibane.parkingtoll.exceptions.NoSuchCarInParkingException;
-import eu.fibane.parkingtoll.exceptions.ParkingIsFullException;
-import eu.fibane.parkingtoll.exceptions.ParkingNotFoundException;
-import eu.fibane.parkingtoll.exceptions.ParkingTypeDoesNotExistException;
-import eu.fibane.parkingtoll.model.*;
-import eu.fibane.parkingtoll.persistence.InMemoryPersistenceManager;
+package eu.fcheret.parkingtoll.service;
+
+import eu.fcheret.parkingtoll.exceptions.NoSuchCarInParkingException;
+import eu.fcheret.parkingtoll.exceptions.ParkingIsFullException;
+import eu.fcheret.parkingtoll.exceptions.ParkingNotFoundException;
+import eu.fcheret.parkingtoll.exceptions.ParkingTypeDoesNotExistException;
+import eu.fcheret.parkingtoll.model.CarSlot;
+import eu.fcheret.parkingtoll.model.ParkingLot;
+import eu.fcheret.parkingtoll.model.ParkingLotTest;
+import eu.fcheret.parkingtoll.model.PricingPolicy;
+import eu.fcheret.parkingtoll.persistence.InMemoryPersistenceManager;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.mockito.InjectMocks;