ILIAS  release_5-0 Revision 5.0.0-1144-gc4397b1f87
ilLuceneRPCAdapter Class Reference
+ Inheritance diagram for ilLuceneRPCAdapter:
+ Collaboration diagram for ilLuceneRPCAdapter:

Public Member Functions

 ilLuceneRPCAdapter ()
 
 setMode ($a_mode)
 
 getMode ()
 
 setFiles (&$files)
 
getFiles ()
 
 setHTLMs (&$htlms)
 
getHTLMs ()
 
 setQueryString ($a_str)
 
 getQueryString ()
 
 setPageNumber ($a_number)
 
 getPageNumber ()
 
 setSearchFilter ($a_filter)
 
 getSearchFilter ()
 
 __getClientId ()
 Create a unique client id. More...
 
 send ()
 
 __prepareQueryParams ()
 
 __preparePingParams ()
 
 __prepareIndexFileParams ()
 
 __prepareIndexHTLMParams ()
 
 __prepareFlushIndex ()
 
 setResultIds ($a_ids)
 set result ids More...
 
 getResultIds ()
 get result ids More...
 
- Public Member Functions inherited from ilRPCServerAdapter
 ilRPCServerAdapter ()
 
 setResponseTimeout ($a_response_timeout)
 
send ()
 Send message to remote rpc server and get response. More...
 
 __checkPear ()
 
 __initClient ()
 Create RPC client object. More...
 
 __initMessage ($a_message_name, $params)
 Create RPC message object. More...
 

Data Fields

 $mode = ''
 
 $files = array()
 
 $query_str = ''
 
 $page_number
 
 $filter = ''
 
- Data Fields inherited from ilRPCServerAdapter
 $response_timeout = RPC_TIMEOUT
 
 $log = null
 
 $db = null
 
 $err = null
 
 $settings_obj = null
 
 $rpc_client = null
 
 $rpc_message = null
 

Protected Member Functions

 __prepareSearchParams ()
 Prepare search parameters. More...
 
 __prepareHighlightParams ()
 Prepare search parameters. More...
 
 __prepareRefreshSettingsParams ()
 
 getClientKey ()
 Get client key. More...
 

Detailed Description

Definition at line 35 of file class.ilLuceneRPCAdapter.php.

Member Function Documentation

◆ __getClientId()

ilLuceneRPCAdapter::__getClientId ( )

Create a unique client id.

Since the lucene index can be used from multiple ILIAS-Installations it must be unique over installations

Returns
string client_identifier

Definition at line 105 of file class.ilLuceneRPCAdapter.php.

Referenced by __prepareFlushIndex(), __prepareIndexFileParams(), __prepareIndexHTLMParams(), __preparePingParams(), and __prepareQueryParams().

106  {
107  global $ilias;
108 
109  // TODO: handle problem if nic_key isn't set
110  return $ilias->getSetting('nic_key').'_'.CLIENT_ID;
111  }
+ Here is the caller graph for this function:

◆ __prepareFlushIndex()

ilLuceneRPCAdapter::__prepareFlushIndex ( )

Definition at line 213 of file class.ilLuceneRPCAdapter.php.

References __getClientId(), ilRPCServerAdapter\__initMessage(), and ilRPCServerAdapter\setResponseTimeout().

Referenced by send().

214  {
215  $this->setResponseTimeout(5);
216  $this->__initMessage('Indexer.ilClearIndex',array(new XML_RPC_Value($this->__getClientId(),"string")));
217 
218  return true;
219  }
__initMessage($a_message_name, $params)
Create RPC message object.
setResponseTimeout($a_response_timeout)
__getClientId()
Create a unique client id.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ __prepareHighlightParams()

ilLuceneRPCAdapter::__prepareHighlightParams ( )
protected

Prepare search parameters.

Definition at line 239 of file class.ilLuceneRPCAdapter.php.

References ilRPCServerAdapter\__initMessage(), getClientKey(), getQueryString(), getResultIds(), and ilRPCServerAdapter\setResponseTimeout().

Referenced by send().

240  {
241  $this->setResponseTimeout(5);
242 
243  $objIds = array();
244  foreach($this->getResultIds() as $obj_id)
245  {
246  $objIds[] = new XML_RPC_Value($obj_id,'int');
247  }
248 
249  $this->__initMessage('RPCSearchHandler.highlight',array(
250  new XML_RPC_Value($this->getClientKey(),'string'),
251  new XML_RPC_VAlue($objIds,'array'),
252  new XML_RPC_Value($this->getQueryString(),'string')));
253 
254  return true;
255  }
__initMessage($a_message_name, $params)
Create RPC message object.
setResponseTimeout($a_response_timeout)
getClientKey()
Get client key.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ __prepareIndexFileParams()

ilLuceneRPCAdapter::__prepareIndexFileParams ( )

Definition at line 185 of file class.ilLuceneRPCAdapter.php.

References __getClientId(), ilRPCServerAdapter\__initMessage(), getFiles(), and ilRPCServerAdapter\setResponseTimeout().

Referenced by send().

186  {
187  $this->setResponseTimeout(5);
188  foreach($this->getFiles() as $obj_id => $fname)
189  {
190  $struct[$obj_id] = new XML_RPC_Value($fname,"string");
191  }
192  $params = array(new XML_RPC_Value($this->__getClientId(),"string"),
193  new XML_RPC_Value($struct,"struct"));
194 
195  $this->__initMessage('Indexer.ilFileIndexer',$params);
196 
197  return true;
198  }
__initMessage($a_message_name, $params)
Create RPC message object.
setResponseTimeout($a_response_timeout)
__getClientId()
Create a unique client id.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ __prepareIndexHTLMParams()

ilLuceneRPCAdapter::__prepareIndexHTLMParams ( )

Definition at line 200 of file class.ilLuceneRPCAdapter.php.

References __getClientId(), ilRPCServerAdapter\__initMessage(), getHTLMs(), and ilRPCServerAdapter\setResponseTimeout().

Referenced by send().

201  {
202  $this->setResponseTimeout(5);
203  foreach($this->getHTLMs() as $obj_id => $fname)
204  {
205  $struct[$obj_id] = new XML_RPC_Value($fname,"string");
206  }
207 
208  $this->__initMessage('Indexer.ilHTLMIndexer',array(new XML_RPC_Value($this->__getClientId(),"string"),
209  new XML_RPC_Value($struct,"struct")));
210 
211  return true;
212  }
__initMessage($a_message_name, $params)
Create RPC message object.
setResponseTimeout($a_response_timeout)
__getClientId()
Create a unique client id.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ __preparePingParams()

ilLuceneRPCAdapter::__preparePingParams ( )

Definition at line 177 of file class.ilLuceneRPCAdapter.php.

References __getClientId(), ilRPCServerAdapter\__initMessage(), and ilRPCServerAdapter\setResponseTimeout().

Referenced by send().

178  {
179  $this->setResponseTimeout(5);
180  $this->__initMessage('Searcher.ilPing',array(new XML_RPC_Value($this->__getClientId(),"string")));
181 
182  return true;
183  }
__initMessage($a_message_name, $params)
Create RPC message object.
setResponseTimeout($a_response_timeout)
__getClientId()
Create a unique client id.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ __prepareQueryParams()

ilLuceneRPCAdapter::__prepareQueryParams ( )

Definition at line 162 of file class.ilLuceneRPCAdapter.php.

References __getClientId(), ilRPCServerAdapter\__initMessage(), getQueryString(), getSearchFilter(), and ilRPCServerAdapter\setResponseTimeout().

Referenced by send().

163  {
164  $this->setResponseTimeout(5);
165  $filter = array();
166  foreach($this->getSearchFilter() as $obj_type)
167  {
168  $filter[] = new XML_RPC_Value($obj_type,'string');
169  }
170  $this->__initMessage('Searcher.ilSearch',array(new XML_RPC_Value($this->__getClientId(),"string"),
171  new XML_RPC_Value($this->getQueryString(),"string"),
172  new XML_RPC_Value($filter,'array')));
173 
174  return true;
175  }
__initMessage($a_message_name, $params)
Create RPC message object.
setResponseTimeout($a_response_timeout)
__getClientId()
Create a unique client id.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ __prepareRefreshSettingsParams()

ilLuceneRPCAdapter::__prepareRefreshSettingsParams ( )
protected

Definition at line 257 of file class.ilLuceneRPCAdapter.php.

References ilRPCServerAdapter\__initMessage(), getClientKey(), and ilRPCServerAdapter\setResponseTimeout().

Referenced by send().

258  {
259  $this->setResponseTimeout(5);
260 
261  $this->__initMessage('RPCAdministration.refreshSettings',array(
262  new XML_RPC_Value($this->getClientKey(),'string')));
263  return true;
264  }
__initMessage($a_message_name, $params)
Create RPC message object.
setResponseTimeout($a_response_timeout)
getClientKey()
Get client key.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ __prepareSearchParams()

ilLuceneRPCAdapter::__prepareSearchParams ( )
protected

Prepare search parameters.

Definition at line 225 of file class.ilLuceneRPCAdapter.php.

References ilRPCServerAdapter\__initMessage(), getClientKey(), getPageNumber(), getQueryString(), and ilRPCServerAdapter\setResponseTimeout().

Referenced by send().

226  {
227  $this->setResponseTimeout(5);
228  $this->__initMessage('RPCSearchHandler.search',array(
229  new XML_RPC_Value($this->getClientKey(),'string'),
230  new XML_RPC_Value($this->getQueryString(),'string'),
231  new XML_RPC_Value($this->getPageNumber(),'int')));
232 
233  return true;
234  }
__initMessage($a_message_name, $params)
Create RPC message object.
setResponseTimeout($a_response_timeout)
getClientKey()
Get client key.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getClientKey()

ilLuceneRPCAdapter::getClientKey ( )
protected

Get client key.

Returns
string client key

Definition at line 290 of file class.ilLuceneRPCAdapter.php.

References $ilSetting.

Referenced by __prepareHighlightParams(), __prepareRefreshSettingsParams(), and __prepareSearchParams().

291  {
292  global $ilSetting;
293 
294  return CLIENT_ID.'_'.$ilSetting->get('inst_id',0);
295  }
global $ilSetting
Definition: privfeed.php:40
+ Here is the caller graph for this function:

◆ getFiles()

& ilLuceneRPCAdapter::getFiles ( )

Definition at line 61 of file class.ilLuceneRPCAdapter.php.

Referenced by __prepareIndexFileParams().

62  {
63  return $this->files ? $this->files : array();
64  }
+ Here is the caller graph for this function:

◆ getHTLMs()

& ilLuceneRPCAdapter::getHTLMs ( )

Definition at line 69 of file class.ilLuceneRPCAdapter.php.

Referenced by __prepareIndexHTLMParams().

70  {
71  return $this->htlms;
72  }
+ Here is the caller graph for this function:

◆ getMode()

ilLuceneRPCAdapter::getMode ( )

Definition at line 53 of file class.ilLuceneRPCAdapter.php.

References $mode.

Referenced by send().

54  {
55  return $this->mode;
56  }
+ Here is the caller graph for this function:

◆ getPageNumber()

ilLuceneRPCAdapter::getPageNumber ( )

Definition at line 86 of file class.ilLuceneRPCAdapter.php.

References $page_number.

Referenced by __prepareSearchParams().

+ Here is the caller graph for this function:

◆ getQueryString()

ilLuceneRPCAdapter::getQueryString ( )

Definition at line 78 of file class.ilLuceneRPCAdapter.php.

References $query_str.

Referenced by __prepareHighlightParams(), __prepareQueryParams(), and __prepareSearchParams().

79  {
80  return $this->query_str;
81  }
+ Here is the caller graph for this function:

◆ getResultIds()

ilLuceneRPCAdapter::getResultIds ( )

get result ids

Returns

Definition at line 280 of file class.ilLuceneRPCAdapter.php.

Referenced by __prepareHighlightParams().

281  {
282  return $this->result_ids ? $this->result_ids : array();
283  }
+ Here is the caller graph for this function:

◆ getSearchFilter()

ilLuceneRPCAdapter::getSearchFilter ( )

Definition at line 95 of file class.ilLuceneRPCAdapter.php.

Referenced by __prepareQueryParams().

96  {
97  return $this->filter ? $this->filter : array();
98  }
+ Here is the caller graph for this function:

◆ ilLuceneRPCAdapter()

ilLuceneRPCAdapter::ilLuceneRPCAdapter ( )

Definition at line 44 of file class.ilLuceneRPCAdapter.php.

45  {
46  parent::ilRPCServerAdapter();
47  }

◆ send()

ilLuceneRPCAdapter::send ( )

Definition at line 115 of file class.ilLuceneRPCAdapter.php.

References ilRPCServerAdapter\__initClient(), __prepareFlushIndex(), __prepareHighlightParams(), __prepareIndexFileParams(), __prepareIndexHTLMParams(), __preparePingParams(), __prepareQueryParams(), __prepareRefreshSettingsParams(), __prepareSearchParams(), and getMode().

116  {
117  $this->__initClient();
118  switch($this->getMode())
119  {
120  case 'ping':
121  $this->__preparePingParams();
122  break;
123 
124  case 'file':
125  $this->__prepareIndexFileParams();
126  break;
127 
128  case 'query':
129  $this->__prepareQueryParams();
130  break;
131 
132  case 'htlm':
133  $this->__prepareIndexHTLMParams();
134  break;
135 
136  case 'flush':
137  $this->__prepareFlushIndex();
138  break;
139 
140  // BEGIN PATCH Lucene search
141  case 'search':
142  $this->__prepareSearchParams();
143  break;
144 
145  case 'highlight':
146  $this->__prepareHighlightParams();
147  break;
148 
149  case 'refreshSettings':
151  break;
152  // END PATCH Lucene Search
153 
154  default:
155  $this->log->write('ilLuceneRPCHandler(): No valid mode given');
156  return false;
157 
158  }
159  return parent::send();
160  }
__prepareHighlightParams()
Prepare search parameters.
__initClient()
Create RPC client object.
__prepareSearchParams()
Prepare search parameters.
+ Here is the call graph for this function:

◆ setFiles()

ilLuceneRPCAdapter::setFiles ( $files)

Definition at line 57 of file class.ilLuceneRPCAdapter.php.

References $files.

58  {
59  $this->files =& $files;
60  }

◆ setHTLMs()

ilLuceneRPCAdapter::setHTLMs ( $htlms)

Definition at line 65 of file class.ilLuceneRPCAdapter.php.

66  {
67  $this->htlms = $htlms;
68  }

◆ setMode()

ilLuceneRPCAdapter::setMode (   $a_mode)

Definition at line 49 of file class.ilLuceneRPCAdapter.php.

50  {
51  $this->mode = $a_mode;
52  }

◆ setPageNumber()

ilLuceneRPCAdapter::setPageNumber (   $a_number)

Definition at line 82 of file class.ilLuceneRPCAdapter.php.

83  {
84  $this->page_number = $a_number;
85  }

◆ setQueryString()

ilLuceneRPCAdapter::setQueryString (   $a_str)

Definition at line 74 of file class.ilLuceneRPCAdapter.php.

75  {
76  $this->query_str = $a_str;
77  }

◆ setResultIds()

ilLuceneRPCAdapter::setResultIds (   $a_ids)

set result ids

Parameters
arrayarray of obj ids
Returns

Definition at line 271 of file class.ilLuceneRPCAdapter.php.

272  {
273  $this->result_ids = $a_ids;
274  }

◆ setSearchFilter()

ilLuceneRPCAdapter::setSearchFilter (   $a_filter)

Definition at line 91 of file class.ilLuceneRPCAdapter.php.

92  {
93  $this->filter = $a_filter;
94  }

Field Documentation

◆ $files

ilLuceneRPCAdapter::$files = array()

Definition at line 38 of file class.ilLuceneRPCAdapter.php.

Referenced by setFiles().

◆ $filter

ilLuceneRPCAdapter::$filter = ''

Definition at line 41 of file class.ilLuceneRPCAdapter.php.

◆ $mode

ilLuceneRPCAdapter::$mode = ''

Definition at line 37 of file class.ilLuceneRPCAdapter.php.

Referenced by getMode().

◆ $page_number

ilLuceneRPCAdapter::$page_number

Definition at line 40 of file class.ilLuceneRPCAdapter.php.

Referenced by getPageNumber().

◆ $query_str

ilLuceneRPCAdapter::$query_str = ''

Definition at line 39 of file class.ilLuceneRPCAdapter.php.

Referenced by getQueryString().


The documentation for this class was generated from the following file: