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