diff --git a/Expanded Pet Store (v3)/implementation/springboot-petstore-demo/.openapi-generator-ignore b/Expanded Pet Store (v3)/implementation/springboot-petstore-demo/.openapi-generator-ignore
index 7484ee5..ad2c7c2 100644
--- a/Expanded Pet Store (v3)/implementation/springboot-petstore-demo/.openapi-generator-ignore
+++ b/Expanded Pet Store (v3)/implementation/springboot-petstore-demo/.openapi-generator-ignore
@@ -21,3 +21,7 @@
#docs/*.md
# Then explicitly reverse the ignore rule for a single file:
#!docs/README.md
+
+
+# We customize Java version and may add dependencies
+pom.xml
\ No newline at end of file
diff --git a/Expanded Pet Store (v3)/implementation/springboot-petstore-demo/pom.xml b/Expanded Pet Store (v3)/implementation/springboot-petstore-demo/pom.xml
index 10cac49..d8c671a 100644
--- a/Expanded Pet Store (v3)/implementation/springboot-petstore-demo/pom.xml
+++ b/Expanded Pet Store (v3)/implementation/springboot-petstore-demo/pom.xml
@@ -6,7 +6,7 @@
petstore-demo
1.0.0
- 1.7
+ 1.8
${java.version}
${java.version}
2.8.0
diff --git a/Expanded Pet Store (v3)/implementation/springboot-petstore-demo/src/main/java/com/reprezen/demo/springboot/api/PetsApiDelegateImpl.java b/Expanded Pet Store (v3)/implementation/springboot-petstore-demo/src/main/java/com/reprezen/demo/springboot/api/PetsApiDelegateImpl.java
new file mode 100644
index 0000000..213fcf0
--- /dev/null
+++ b/Expanded Pet Store (v3)/implementation/springboot-petstore-demo/src/main/java/com/reprezen/demo/springboot/api/PetsApiDelegateImpl.java
@@ -0,0 +1,57 @@
+package com.reprezen.demo.springboot.api;
+
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.stereotype.Service;
+
+import com.google.common.collect.Maps;
+import com.reprezen.demo.springboot.api.PetsApiDelegate;
+import com.reprezen.demo.springboot.model.NewPet;
+import com.reprezen.demo.springboot.model.Pet;
+
+@Service
+public class PetsApiDelegateImpl implements PetsApiDelegate {
+
+ private final Map pets = Maps.newHashMap();
+ private long nextId = 0l;
+
+ @Override
+ public ResponseEntity addPet(NewPet newPet) {
+ Pet petToAdd = new Pet();
+ petToAdd.id(nextId++).name(newPet.getName()).tag(newPet.getTag());
+ pets.put(petToAdd.getId(), petToAdd);
+ return new ResponseEntity<>(petToAdd, HttpStatus.CREATED);
+ }
+
+ @Override
+ public ResponseEntity deletePet(Long id) {
+ if (!pets.containsKey(id)) {
+ return new ResponseEntity<>(HttpStatus.NOT_FOUND);
+ }
+ pets.remove(id);
+ return new ResponseEntity<>(HttpStatus.NO_CONTENT);
+ }
+
+ @Override
+ public ResponseEntity findPetById(Long id) {
+ if (!pets.containsKey(id)) {
+ return new ResponseEntity<>(HttpStatus.NOT_FOUND);
+ }
+ return new ResponseEntity<>(pets.get(id), HttpStatus.ACCEPTED);
+ }
+
+ @Override
+ public ResponseEntity> findPets(List tags, Integer limitObject) {
+ int limit = limitObject == null ? Integer.MAX_VALUE : limitObject;
+ List filteredPets = pets.values().stream()//
+ .filter(pet -> (tags == null || tags.isEmpty()) ? true : tags.contains(pet.getTag()))//
+ .limit(limit)//
+ .collect(Collectors.toList());
+ return new ResponseEntity<>(filteredPets, HttpStatus.ACCEPTED);
+ }
+
+}
diff --git a/Expanded Pet Store (v3)/pom.xml b/Expanded Pet Store (v3)/pom.xml
index f1ea45e..41070ed 100644
--- a/Expanded Pet Store (v3)/pom.xml
+++ b/Expanded Pet Store (v3)/pom.xml
@@ -29,6 +29,11 @@
com.modelsolv.reprezen.generators.standard
${reprezen.version}
+
+ org.openapitools
+ openapi-generator
+ 3.2.3
+