Salome HOME
Title of the chart is set from input file.
[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.Study;
15 import org.splat.service.dto.ImportedStudyDTO;
16 import org.splat.service.dto.KnowledgeSearchFilterDTO;
17 import org.splat.service.dto.Proxy;
18 import org.splat.service.dto.StudySearchFilterDTO;
19
20 /**
21  * Search service interface.
22  * 
23  * @author <a href="mailto:roman.kozlov@opencascade.com">Roman Kozlov (RKV)</a>
24  */
25 public interface SearchService {
26
27         /**
28          * Get a list of studies which are currently not presented in the lucene index.
29          * 
30          * @return list of ImportedStudy DTO
31          */
32         List<ImportedStudyDTO> selectStudies();
33
34         /**
35          * Refresh lucene index for studies.
36          * 
37          * @param ridlist
38          *            list of studies id's
39          */
40         void reindexStudies(String[] ridlist);
41
42         /**
43          * Find knowledge elements with given properties.
44          * 
45          * @param filter
46          *            search filter parameters
47          * @return the list of found knowledge elements as proxiy results of lucene search
48          */
49         List<Proxy> selectKnowledgeElementsWhere(
50                         final KnowledgeSearchFilterDTO filter);
51
52         /**
53          * Find studies with given properties.
54          * 
55          * @param filter
56          *            search filter parameters
57          * @return the list of found studies as proxy results
58          */
59         List<Proxy> selectStudiesWhere(final StudySearchFilterDTO filter);
60
61         /**
62          * Refresh lucene index for a study.
63          * 
64          * @param study
65          *            the study to reindex
66          */
67         void indexStudy(Study study);
68 }