Skip to content
Snippets Groups Projects
Commit a2ab6923 authored by ginquin's avatar ginquin
Browse files

modificado servicio de articulos para buscar por titulo

parent a5713a44
No related branches found
No related tags found
No related merge requests found
......@@ -2,6 +2,7 @@ package es.uva.inf.tfg.ginquin.smellswisdom.controller;
import java.util.List;
import org.zkoss.lang.Strings;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.select.SelectorComposer;
import org.zkoss.zk.ui.select.annotation.Listen;
......@@ -30,6 +31,9 @@ public class BusquedaDesignSmellsController extends SelectorComposer<Component>
@Wire
Listbox articlesListBox;
@Wire
Textbox descripcionBusqueda;
@Wire
Textbox articleTitle;
@Wire
......@@ -69,6 +73,26 @@ public class BusquedaDesignSmellsController extends SelectorComposer<Component>
refreshArticlesView();
}
@Listen("onClick=#bBuscar; onOK=#bBuscar; onOK=#descripcionBusqueda")
public void doSearchArticle() {
String keyWord = descripcionBusqueda.getValue().toUpperCase();
List<Article> allArticles=null;
//si no se ha introducido nada
if (Strings.isBlank(keyWord)) {
allArticles = articleService.getArticles();
}
// filtra los articulos por titulo.
if (!Strings.isBlank(keyWord)) {
allArticles= articleService.searchArticles(keyWord);
}
articlesListModel = new ListModelList<Article>(allArticles);
articlesListBox.setModel(articlesListModel);
}
@Listen("onClick=#cancelDetail")
public void doCancelarOperacion() {
//articulo seleccionado a null.
......
......
......@@ -17,4 +17,11 @@ public interface ArticleService {
* @return articulo.
*/
Article getArticle(Integer article_id);
/**
* Obtiene los articulos que coincidan con la palabra clave.
* @param keyWord palabra clave de búsqueda.
* @return lista de articulos que coinciden.
*/
List<Article> searchArticles(String keyWord);
}
......@@ -30,4 +30,19 @@ public class ArticleDao {
return em.find(Article.class, article_id);
}
@Transactional
public List<Article> searchGlobalArticles(String keyWord) {
String consulta = "";
//recupera los articulos por título.
consulta = "SELECT ar From Article ar where UPPER(ar.title) LIKE '%"
+ keyWord + "%'" ;
Query query = em.createQuery(consulta);
List<Article> result = query.getResultList();
return result;
}
}
......@@ -29,6 +29,14 @@ public class ArticleServiceImpl implements ArticleService{
return dao.getArticle(article_id);
}
@Override
public List<Article> searchArticles(String keyWord) {
// TODO Auto-generated method stub
return dao.searchGlobalArticles(keyWord);
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment