01: //The contents of this file are subject to the Mozilla Public License Version 1.1
02: //(the "License"); you may not use this file except in compliance with the
03: //License. You may obtain a copy of the License at http://www.mozilla.org/MPL/
04: //
05: //Software distributed under the License is distributed on an "AS IS" basis,
06: //WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
07: //for the specific language governing rights and
08: //limitations under the License.
09: //
10: //The Original Code is "The Columba Project"
11: //
12: //The Initial Developers of the Original Code are Frederik Dietz and Timo Stich.
13: //Portions created by Frederik Dietz and Timo Stich are Copyright (C) 2003.
14: //
15: //All Rights Reserved.
16:
17: package org.columba.mail.folder.command;
18:
19: import org.columba.api.command.ICommandReference;
20: import org.columba.api.command.IWorkerStatusController;
21: import org.columba.core.command.Command;
22: import org.columba.mail.command.IMailFolderCommandReference;
23: import org.columba.mail.folder.AbstractLocalFolder;
24: import org.columba.mail.folder.search.DefaultSearchEngine;
25:
26: /**
27: * Sync search engine.
28: *
29: *
30: * @author fdietz
31: */
32: public class SyncSearchEngineCommand extends Command {
33: private AbstractLocalFolder parentFolder;
34:
35: public SyncSearchEngineCommand(ICommandReference reference) {
36: super (reference);
37: }
38:
39: public void execute(IWorkerStatusController worker)
40: throws Exception {
41: // get source folder
42: parentFolder = (AbstractLocalFolder) ((IMailFolderCommandReference) getReference())
43: .getSourceFolder();
44:
45: // resync search engine
46: // -> this is only needed for Lucene right now
47: DefaultSearchEngine engine = parentFolder.getSearchEngine();
48: engine.sync();
49: }
50: }
|