Selaa lähdekoodia

add Docker image

Fabien CHERET 5 vuotta sitten
vanhempi
sitoutus
eff87ba06b

+ 4 - 0
pom.xml

@@ -27,6 +27,10 @@
 			<groupId>org.springframework.boot</groupId>
 			<artifactId>spring-boot-starter-web</artifactId>
 		</dependency>
+		<dependency>
+			<groupId>org.springframework.boot</groupId>
+			<artifactId>spring-boot-starter-data-jpa</artifactId>
+		</dependency>
 		<dependency>
 			<groupId>org.projectlombok</groupId>
 			<artifactId>lombok</artifactId>

+ 1 - 1
src/main/java/eu/fcheret/parkingtoll/model/Layout.java

@@ -47,7 +47,7 @@ public class Layout {
   }
 
   public Long decrementAndGetID(){
-    Long id = null;
+    Long id;
     try {
       id = ids.pop();
     } catch (NoSuchElementException e){

+ 5 - 1
src/main/java/eu/fcheret/parkingtoll/model/ParkingLot.java

@@ -5,6 +5,8 @@ import com.fasterxml.jackson.annotation.JsonProperty;
 import lombok.Data;
 import org.springframework.validation.annotation.Validated;
 
+import javax.persistence.Entity;
+import javax.persistence.Id;
 import javax.validation.Valid;
 import javax.validation.constraints.NotNull;
 import javax.validation.constraints.Size;
@@ -17,8 +19,10 @@ import java.util.stream.Collectors;
  */
 @Validated
 @Data
+@Entity
 public class ParkingLot   {
   @JsonProperty("id")
+  @Id
   private Long id = null;
 
   @JsonProperty("name")
@@ -27,7 +31,7 @@ public class ParkingLot   {
 
   @JsonProperty("layout")
   @Valid @NotNull
-  private List<Layout> layoutList = new ArrayList<Layout>();
+  private List<Layout> layoutList = new ArrayList<>();
 
   @JsonProperty("pricing_policy")
   @Valid @NotNull

+ 9 - 0
src/main/java/eu/fcheret/parkingtoll/persistence/ParkingLotRepository.java

@@ -0,0 +1,9 @@
+package eu.fcheret.parkingtoll.persistence;
+
+import eu.fcheret.parkingtoll.model.ParkingLot;
+import org.springframework.data.repository.CrudRepository;
+import org.springframework.stereotype.Repository;
+
+@Repository
+public interface ParkingLotRepository extends CrudRepository<ParkingLot, Long> {
+}

+ 6 - 1
src/main/java/eu/fcheret/parkingtoll/service/ParkingLotService.java

@@ -8,6 +8,7 @@ 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 eu.fcheret.parkingtoll.persistence.ParkingLotRepository;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -20,14 +21,18 @@ import java.util.stream.Collectors;
 @Service
 public class ParkingLotService {
 
+
     private Dao<ParkingLot> persistenceManager;
+    private ParkingLotRepository parkingLotRepository;
 
     @Autowired
-    public ParkingLotService(Dao<ParkingLot> persistenceManager) {
+    public ParkingLotService(Dao<ParkingLot> persistenceManager, ParkingLotRepository parkingLotRepository) {
         this.persistenceManager = persistenceManager;
+        this.parkingLotRepository = parkingLotRepository;
     }
 
     public ParkingLot createParkingLot(ParkingLot parkingLotItem) {
+        parkingLotRepository.save(parkingLotItem);
         return persistenceManager.save(parkingLotItem);
     }