]> SALOME platform Git repositories - tools/siman.git/blob - Workspace/Siman-Common/src/org/splat/service/SearchService.java
Salome HOME
3bd9edc939b26b87471eaf371194893315abcf7e
[tools/siman.git] / Workspace / Siman-Common / src / org / splat / service / SearchService.java
1 /*****************************************************************************
2  * Company         OPEN CASCADE
3  * Application     SIMAN
4  * File            $Id$ 
5  * Creation date   05.10.2012
6  * @author         $Author$
7  * @version        $Revision$
8  *****************************************************************************/
9
10 package org.splat.service;
11
12 import java.util.List;
13
14 import org.splat.dal.bo.som.KnowledgeElement;
15 import org.splat.dal.bo.som.Study;
16 import org.splat.service.dto.ImportedStudyDTO;
17 import org.splat.service.dto.KnowledgeSearchFilterDTO;
18 import org.splat.service.dto.Proxy;
19 import org.splat.service.dto.StudySearchFilterDTO;
20
21 /**
22  * Search service interface.
23  * 
24  * @author <a href="mailto:roman.kozlov@opencascade.com">Roman Kozlov (RKV)</a>
25  */
26 public interface SearchService {
27
28         /**
29          * Get a list of studies which are currently not presented in the lucene index.
30          * 
31          * @return list of ImportedStudy DTO
32          */
33         List<ImportedStudyDTO> selectStudies();
34
35         /**
36          * Refresh lucene index for studies.
37          * 
38          * @param ridlist
39          *            list of studies id's
40          */
41         void reindexStudies(String[] ridlist);
42
43         /**
44          * Find knowledge elements with given properties.
45          * 
46          * @param filter
47          *            search filter parameters
48          * @return the list of found knowledge elements as proxiy results of lucene search
49          */
50         List<Proxy> selectKnowledgeElementsWhere(
51                         final KnowledgeSearchFilterDTO filter);
52
53         /**
54          * Find knowledge elements with given properties.
55          * 
56          * @param kprop
57          *            search filter parameters
58          * @return the list of found knowledge elements as proxiy results of lucene search
59          */
60         List<Proxy> selectKnowledgeElementsWhere(
61                         KnowledgeElement.Properties... kprop);
62
63         /**
64          * Find studies with given properties.
65          * 
66          * @param filter
67          *            search filter parameters
68          * @return the list of found studies as proxy results
69          */
70         List<Proxy> selectStudiesWhere(final StudySearchFilterDTO filter);
71
72         /**
73          * Refresh lucene index for a study.
74          * 
75          * @param study
76          *            the study to reindex
77          */
78         void indexStudy(Study study);
79 }