Skip to content
Snippets Groups Projects
Commit 656b9f02 authored by Mirco Nasuti's avatar Mirco Nasuti
Browse files

manage same titles for models and articles + reindent

parent d458f3b9
No related branches found
No related tags found
No related merge requests found
...@@ -100,25 +100,55 @@ public class ArticlesApi { ...@@ -100,25 +100,55 @@ public class ArticlesApi {
User user = mipApplication.getUser(); User user = mipApplication.getUser();
String originalTitle = article.getTitle();
article.setCreatedAt(new Date()); article.setCreatedAt(new Date());
if (article.getStatus().equals("published")) { if (article.getStatus().equals("published")) {
article.setPublishedAt(new Date()); article.setPublishedAt(new Date());
} }
Slugify slg = null;
try {
slg = new Slugify();
} catch (IOException e) {
e.printStackTrace();
}
String slug = slg.slugify(article.getTitle());
article.setSlug(slug);
article.setCreatedBy(user); article.setCreatedBy(user);
Session session = HibernateUtil.getSessionFactory().getCurrentSession(); Session session = HibernateUtil.getSessionFactory().getCurrentSession();
try{ try{
session.beginTransaction(); session.beginTransaction();
Long count;
int i = 0;
do {
Slugify slg = null;
try {
slg = new Slugify();
} catch (IOException e) {
e.printStackTrace();
}
String slug = slg.slugify(article.getTitle());
article.setSlug(slug);
count = (Long) session
.createQuery("select count(*) from Article where slug= :slug")
.setString("slug", slug)
.uniqueResult();
if(count > 0)
{
String title = article.getTitle();
if(i > 0)
{
title = title.substring(0, title.length()-4);
}
i++;
article.setTitle(title + " (" + i + ")");
}
} while(count > 0);
count = (Long) session
.createQuery("select count(*) from Article where title= :title")
.setString("title", originalTitle)
.uniqueResult();
if(count < 1)
{
article.setTitle(originalTitle);
}
session.save(article); session.save(article);
session.getTransaction().commit(); session.getTransaction().commit();
} catch (Exception e) } catch (Exception e)
...@@ -144,9 +174,10 @@ public class ArticlesApi { ...@@ -144,9 +174,10 @@ public class ArticlesApi {
Article article = null; Article article = null;
try{ try{
session.beginTransaction(); session.beginTransaction();
Query query = session.createQuery("FROM Article WHERE slug= :slug"); article = (Article) session
query.setString("slug", slug); .createQuery("FROM Article WHERE slug= :slug")
article = (Article) query.uniqueResult(); .setString("slug", slug)
.uniqueResult();
session.getTransaction().commit(); session.getTransaction().commit();
} catch (Exception e) } catch (Exception e)
{ {
...@@ -171,6 +202,31 @@ public class ArticlesApi { ...@@ -171,6 +202,31 @@ public class ArticlesApi {
Session session = HibernateUtil.getSessionFactory().getCurrentSession(); Session session = HibernateUtil.getSessionFactory().getCurrentSession();
try{ try{
session.beginTransaction(); session.beginTransaction();
String oldTitle = (String) session
.createQuery("select title from Article where slug= :slug")
.setString("slug", slug)
.uniqueResult();
if(!oldTitle.equals(article.getTitle())) {
Long count;
int i = 0;
do {
String title = article.getTitle();
count = (Long) session
.createQuery("select count(*) from Article where title= :title")
.setString("title", title)
.uniqueResult();
if (count > 0 && !oldTitle.equals(title)) {
if (i > 0) {
title = title.substring(0, title.length() - 4);
}
i++;
article.setTitle(title + " (" + i + ")");
}
} while (count > 0 && !oldTitle.equals(article.getTitle()));
}
session.update(article); session.update(article);
session.getTransaction().commit(); session.getTransaction().commit();
} catch (Exception e) } catch (Exception e)
......
...@@ -8,7 +8,6 @@ package org.hbp.mip.controllers; ...@@ -8,7 +8,6 @@ package org.hbp.mip.controllers;
import io.swagger.annotations.*; import io.swagger.annotations.*;
import org.hbp.mip.model.Dataset; import org.hbp.mip.model.Dataset;
import org.hbp.mip.utils.HibernateUtil; import org.hbp.mip.utils.HibernateUtil;
import org.hibernate.Query;
import org.hibernate.Session; import org.hibernate.Session;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PathVariable;
...@@ -34,9 +33,10 @@ public class DatasetsApi { ...@@ -34,9 +33,10 @@ public class DatasetsApi {
Dataset dataset = null; Dataset dataset = null;
try{ try{
session.beginTransaction(); session.beginTransaction();
Query query = session.createQuery("from Dataset where code= :code"); dataset = (Dataset) session
query.setString("code", code); .createQuery("from Dataset where code= :code")
dataset = (Dataset) query.uniqueResult(); .setString("code", code)
.uniqueResult();
session.getTransaction().commit(); session.getTransaction().commit();
} catch (Exception e) } catch (Exception e)
{ {
......
...@@ -34,9 +34,10 @@ public class GroupsApi { ...@@ -34,9 +34,10 @@ public class GroupsApi {
Group group = null; Group group = null;
try{ try{
session.beginTransaction(); session.beginTransaction();
org.hibernate.Query query = session.createQuery("FROM Group WHERE code= :code"); group = (Group) session
query.setString("code", rootCode); .createQuery("FROM Group WHERE code= :code")
group = (Group) query.uniqueResult(); .setString("code", rootCode)
.uniqueResult();
session.getTransaction().commit(); session.getTransaction().commit();
} catch (Exception e) } catch (Exception e)
{ {
......
...@@ -103,15 +103,8 @@ public class ModelsApi { ...@@ -103,15 +103,8 @@ public class ModelsApi {
User user = mipApplication.getUser(); User user = mipApplication.getUser();
Slugify slg = null; String originalTitle = model.getTitle();
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.setTitle(model.getConfig().getTitle().get("text"));
model.setValid(true); model.setValid(true);
model.setCreatedBy(user); model.setCreatedBy(user);
...@@ -121,6 +114,45 @@ public class ModelsApi { ...@@ -121,6 +114,45 @@ public class ModelsApi {
try { try {
session.beginTransaction(); session.beginTransaction();
Long count;
int i = 0;
do {
Slugify slg = null;
try {
slg = new Slugify();
} catch (IOException e) {
e.printStackTrace();
}
String slug = slg.slugify(model.getTitle());
model.setSlug(slug);
count = (Long) session
.createQuery("select count(*) from Model where slug= :slug")
.setString("slug", slug)
.uniqueResult();
if(count > 0)
{
String title = model.getTitle();
if(i > 0)
{
title = title.substring(0, title.length()-4);
}
i++;
model.setTitle(title + " (" + i + ")");
}
} while (count > 0);
count = (Long) session
.createQuery("select count(*) from Article where title= :title")
.setString("title", originalTitle)
.uniqueResult();
if(count < 1)
{
model.setTitle(originalTitle);
}
session.save(model); session.save(model);
session.getTransaction().commit(); session.getTransaction().commit();
} catch (Exception e) } catch (Exception e)
...@@ -148,8 +180,10 @@ public class ModelsApi { ...@@ -148,8 +180,10 @@ public class ModelsApi {
try { try {
session.beginTransaction(); session.beginTransaction();
query = session.createQuery("FROM Model WHERE slug= :slug").setString("slug", slug); model = (Model) session
model = (Model) query.uniqueResult(); .createQuery("FROM Model WHERE slug= :slug")
.setString("slug", slug)
.uniqueResult();
session.getTransaction().commit(); session.getTransaction().commit();
} catch (Exception e) } catch (Exception e)
...@@ -167,8 +201,10 @@ public class ModelsApi { ...@@ -167,8 +201,10 @@ public class ModelsApi {
try { try {
session.beginTransaction(); session.beginTransaction();
query = session.createQuery("FROM Query WHERE id= :id").setLong("id", model.getQuery().getId()); q = (org.hbp.mip.model.Query) session
q = (org.hbp.mip.model.Query) query.uniqueResult(); .createQuery("FROM Query WHERE id= :id")
.setLong("id", model.getQuery().getId())
.uniqueResult();
session.getTransaction().commit(); session.getTransaction().commit();
} catch (Exception e) } catch (Exception e)
{ {
...@@ -240,6 +276,31 @@ public class ModelsApi { ...@@ -240,6 +276,31 @@ public class ModelsApi {
Session session = HibernateUtil.getSessionFactory().getCurrentSession(); Session session = HibernateUtil.getSessionFactory().getCurrentSession();
try{ try{
session.beginTransaction(); session.beginTransaction();
String oldTitle = (String) session
.createQuery("select title from Article where slug= :slug")
.setString("slug", slug)
.uniqueResult();
if(!oldTitle.equals(model.getTitle())) {
Long count;
int i = 0;
do {
String title = model.getTitle();
count = (Long) session
.createQuery("select count(*) from Article where title= :title")
.setString("title", title)
.uniqueResult();
if (count > 0 && !oldTitle.equals(title)) {
if (i > 0) {
title = title.substring(0, title.length() - 4);
}
i++;
model.setTitle(title + " (" + i + ")");
}
} while (count > 0 && !oldTitle.equals(model.getTitle()));
}
session.update(model); session.update(model);
session.getTransaction().commit(); session.getTransaction().commit();
} catch (Exception e) } catch (Exception e)
......
...@@ -33,9 +33,10 @@ public class UsersApi { ...@@ -33,9 +33,10 @@ public class UsersApi {
User user = null; User user = null;
try{ try{
session.beginTransaction(); session.beginTransaction();
org.hibernate.Query query = session.createQuery("from User where username= :username"); user = (User) session
query.setString("username", username); .createQuery("from User where username= :username")
user = (User) query.uniqueResult(); .setString("username", username)
.uniqueResult();
session.getTransaction().commit(); session.getTransaction().commit();
} catch (Exception e) } catch (Exception e)
{ {
......
...@@ -39,7 +39,9 @@ public class VariablesApi { ...@@ -39,7 +39,9 @@ public class VariablesApi {
List variables = new LinkedList<>(); List variables = new LinkedList<>();
try{ try{
session.beginTransaction(); session.beginTransaction();
variables = session.createQuery("from Variable").list(); variables = session
.createQuery("from Variable")
.list();
session.getTransaction().commit(); session.getTransaction().commit();
} catch (Exception e) } catch (Exception e)
{ {
...@@ -64,9 +66,10 @@ public class VariablesApi { ...@@ -64,9 +66,10 @@ public class VariablesApi {
Variable variable = null; Variable variable = null;
try{ try{
session.beginTransaction(); session.beginTransaction();
org.hibernate.Query query = session.createQuery("from Variable where code= :code"); variable = (Variable) session
query.setString("code", code); .createQuery("from Variable where code= :code")
variable = (Variable) query.uniqueResult(); .setString("code", code)
.uniqueResult();
session.getTransaction().commit(); session.getTransaction().commit();
} catch (Exception e) } catch (Exception e)
{ {
...@@ -93,7 +96,10 @@ public class VariablesApi { ...@@ -93,7 +96,10 @@ public class VariablesApi {
List values = new LinkedList<>(); List values = new LinkedList<>();
try{ try{
session.beginTransaction(); session.beginTransaction();
values = session.createQuery("select values from Variable where code= :code").setString("code", code).list(); values = session
.createQuery("select values from Variable where code= :code")
.setString("code", code)
.list();
session.getTransaction().commit(); session.getTransaction().commit();
} catch (Exception e) } catch (Exception e)
{ {
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment