diff --git a/pom.xml b/pom.xml index 9217a46420d18631f4ec2da30a9b01307a76efba..d6f9ca36e899e2aa3b4e0226b5ad02fef1cfddc8 100644 --- a/pom.xml +++ b/pom.xml @@ -142,6 +142,11 @@ <artifactId>gson</artifactId> <version>2.5</version> </dependency> + <dependency> + <groupId>com.github.slugify</groupId> + <artifactId>slugify</artifactId> + <version>2.1.4</version> + </dependency> </dependencies> <build> diff --git a/src/main/java/org/hbp/mip/controllers/ArticlesApi.java b/src/main/java/org/hbp/mip/controllers/ArticlesApi.java index fa754bf084b520bea235c55c05b855531c467b97..dc67e1c1e79d0e9daf619f54c26770b298f0cc05 100644 --- a/src/main/java/org/hbp/mip/controllers/ArticlesApi.java +++ b/src/main/java/org/hbp/mip/controllers/ArticlesApi.java @@ -5,6 +5,7 @@ package org.hbp.mip.controllers; +import com.github.slugify.Slugify; import io.swagger.annotations.*; import org.hbp.mip.MIPApplication; import org.hbp.mip.model.Article; @@ -17,6 +18,7 @@ import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; +import java.io.IOException; import java.util.Date; import java.util.LinkedList; import java.util.List; @@ -102,7 +104,16 @@ public class ArticlesApi { if (article.getStatus().equals("published")) { article.setPublishedAt(new Date()); } - article.setSlug(article.getTitle().toLowerCase().replaceAll(" ","_")); + + Slugify slg = null; + try { + slg = new Slugify(); + } catch (IOException e) { + e.printStackTrace(); + } + String slug = slg.slugify(article.getTitle()); + + article.setSlug(slug); article.setCreatedBy(user); Session session = HibernateUtil.getSessionFactory().getCurrentSession(); diff --git a/src/main/java/org/hbp/mip/controllers/ModelsApi.java b/src/main/java/org/hbp/mip/controllers/ModelsApi.java index f930e7a556b1a70eb7c05c83fe9990217fb50bd7..ba4ae5e8fa3fe75c59eaa9c86965571ded3a4666 100644 --- a/src/main/java/org/hbp/mip/controllers/ModelsApi.java +++ b/src/main/java/org/hbp/mip/controllers/ModelsApi.java @@ -4,6 +4,7 @@ package org.hbp.mip.controllers; +import com.github.slugify.Slugify; import io.swagger.annotations.*; import org.hbp.mip.MIPApplication; import org.hbp.mip.model.*; @@ -16,6 +17,7 @@ import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; +import java.io.IOException; import java.util.Date; import java.util.LinkedList; import java.util.List; @@ -101,7 +103,15 @@ public class ModelsApi { User user = mipApplication.getUser(); - model.setSlug(model.getConfig().getTitle().get("text").toLowerCase()); + Slugify slg = null; + try { + slg = new Slugify(); + } catch (IOException e) { + e.printStackTrace(); + } + String slug = slg.slugify(model.getConfig().getTitle().get("text")); + + model.setSlug(slug); model.setTitle(model.getConfig().getTitle().get("text")); model.setValid(true); model.setCreatedBy(user);