Revision: 1185
Author:
emili...@gmail.com
Date: Wed May 6 12:09:39 2015 UTC
Log: new search method
https://code.google.com/p/vosao/source/detail?r=1185
Modified:
/trunk/kernel/src/main/java/org/vosao/velocity/impl/VelocityServiceImpl.java
=======================================
---
/trunk/kernel/src/main/java/org/vosao/velocity/impl/VelocityServiceImpl.java
Sun Jun 29 18:07:07 2014 UTC
+++
/trunk/kernel/src/main/java/org/vosao/velocity/impl/VelocityServiceImpl.java
Wed May 6 12:09:39 2015 UTC
@@ -45,6 +45,8 @@
import org.vosao.entity.helper.PageHelper;
import org.vosao.enums.UserRole;
import org.vosao.i18n.Messages;
+import org.vosao.search.SearchResultFilter;
+import org.vosao.service.front.impl.SectionSearchFilter;
import org.vosao.service.vo.CommentVO;
import org.vosao.service.vo.FileVO;
import org.vosao.service.vo.UserVO;
@@ -230,17 +232,29 @@
@Override
public String renderStructureContent(String path,
String structureTemplateName) {
+
PageEntity page = getBusiness().getPageBusiness().getByUrl(path);
+ StructureTemplateEntity template = null;
+
if (page != null) {
if (!page.isStructured()) {
return Messages.get("page.not_structural");
}
- StructureTemplateEntity template = getDao()
- .getStructureTemplateDao().getByName(structureTemplateName);
+ List <StructureTemplateEntity> result = getDao()
+ .getStructureTemplateDao().selectByStructure(page.getStructureId());
+
+ for (StructureTemplateEntity temp : result) {
+ if (temp.getName().equals(structureTemplateName)) {
+ template = temp;
+ break;
+ }
+ }
+
if (template == null) {
return Messages.get("structureTemplate.not_found",
structureTemplateName);
}
+
return getBusiness().getPageBusiness()
.createStructuredPageRenderDecorator(page,
getBusiness().getLanguage(),
@@ -346,5 +360,25 @@
return CommentVO.create(getDao().getCommentDao().getRecent(limit));
}
+ @Override
+ public List<PageEntity> searchFilter(List<String> sections, String query,
int start,
+ int count) {
+
+
logger.info("into searchFilter");
+ String language = getBusiness().getLanguage();
+ SearchResultFilter filter = null;
+ if (sections != null) filter = new SectionSearchFilter(sections);
+
+ List<PageEntity> pages = getBusiness().getSearchEngine().search(
+ filter,
+ query.toLowerCase(),
+ start,
+ count,
+ language);
+
+
logger.info("out of searchFilter");
+ return pages;
+ }
+
}