From 80c20c2c857dcd7beb509abe91defe13e4bab8e7 Mon Sep 17 00:00:00 2001 From: Hugo BLANQUART <hugo.blanquart.etu@univ-lille.fr> Date: Thu, 5 Mar 2020 11:05:53 +0100 Subject: [PATCH] mvn before pizza --- .../java/fr/ulille/iut/pizzaland/ApiV1.java | 35 +++++++++++++++++-- 1 file changed, 33 insertions(+), 2 deletions(-) diff --git a/src/main/java/fr/ulille/iut/pizzaland/ApiV1.java b/src/main/java/fr/ulille/iut/pizzaland/ApiV1.java index b565c83..34ff935 100644 --- a/src/main/java/fr/ulille/iut/pizzaland/ApiV1.java +++ b/src/main/java/fr/ulille/iut/pizzaland/ApiV1.java @@ -5,12 +5,43 @@ import org.glassfish.jersey.server.ResourceConfig; import java.util.logging.Logger; import javax.ws.rs.ApplicationPath; +import fr.ulille.iut.pizzaland.beans.Ingredient; +import fr.ulille.iut.pizzaland.dao.IngredientDao; + +import java.io.FileReader; +import java.io.IOException; +import java.nio.file.Paths; +import java.util.ArrayList; +import java.util.List; + +import javax.json.bind.Jsonb; +import javax.json.bind.JsonbBuilder; @ApplicationPath("api/v1/") public class ApiV1 extends ResourceConfig { - private static final Logger LOGGER = Logger.getLogger(ApiV1.class.getName()); + private static final Logger LOGGER = Logger.getLogger(ApiV1.class.getName()); - public ApiV1() { + public ApiV1() { packages("fr.ulille.iut.pizzaland"); + String environment = System.getenv("PIZZAENV"); + + if ( environment != null && environment.equals("withdb") ) { + LOGGER.info("Loading with database"); + Jsonb jsonb = JsonbBuilder.create(); + try { + FileReader reader = new FileReader( getClass().getClassLoader().getResource("ingredients.json").getFile() ); + List<Ingredient> ingredients = JsonbBuilder.create().fromJson(reader, new ArrayList<Ingredient>(){}.getClass().getGenericSuperclass()); + + IngredientDao ingredientDao = BDDFactory.buildDao(IngredientDao.class); + ingredientDao.dropTable(); + ingredientDao.createTable(); + for ( Ingredient ingredient: ingredients) { + ingredientDao.insert(ingredient.getName()); + } + } catch ( Exception ex ) { + throw new IllegalStateException(ex); + } + } + } } -- GitLab