source: contrib/MailArchiver/sources/src/serpro/mailarchiver/view/admin/SearchController.java @ 6785

Revision 6785, 2.5 KB checked in by rafaelraymundo, 12 years ago (diff)

Ticket #2946 - Liberado codigo do MailArchiver?. Documentação na subpasta DOCS.

Line 
1/**
2 * MailArchiver is an application that provides services for storing and managing e-mail messages through a Web Services SOAP interface.
3 * Copyright (C) 2012  Marcio Andre Scholl Levien and Fernando Alberto Reuter Wendt and Jose Ronaldo Nogueira Fonseca Junior
4 *
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU Affero General Public License as
7 * published by the Free Software Foundation, either version 3 of the
8 * License, or (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 * GNU Affero General Public License for more details.
14 *
15 * You should have received a copy of the GNU Affero General Public License
16 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
17 */
18
19/******************************************************************************\
20*
21*  This product was developed by
22*
23*        SERVIÇO FEDERAL DE PROCESSAMENTO DE DADOS (SERPRO),
24*
25*  a government company established under Brazilian law (5.615/70),
26*  at Department of Development of Porto Alegre.
27*
28\******************************************************************************/
29
30package serpro.mailarchiver.view.admin;
31
32import java.io.IOException;
33
34import static com.eventrouter.MessagePublisher.*;
35import com.eventrouter.annotation.Subscribe;
36
37import serpro.mailarchiver.view.BaseController;
38
39class SearchController extends BaseController {
40
41    SearchController(String displayId) {
42        super(displayId);
43    }
44
45    @Override
46    public SearchController init() {
47        return this;
48    }
49
50    @Subscribe({"/mailarchiver/action/do_search"})
51    private void luceneSearch(String queryExpression) throws IOException {
52
53        //TODO: exibir ampulheta
54
55        String[] oids = AdminConsoleApp.getInstance().getSession().getIndex().search(queryExpression);
56
57        switch(oids.length) {
58            case 0:
59                publish("/mailarchiver/notification/humanized", "", "Nenhum resultado encontrado");
60                break;
61
62            case 1:
63                publish("/mailarchiver/notification/humanized", "", "1 resultado encontrado");
64                break;
65
66            default:
67                publish("/mailarchiver/notification/humanized", "", oids.length + " resultados encontrados");
68        }
69
70        publish("/mailarchiver/fill_search_results", oids);
71    }
72}
Note: See TracBrowser for help on using the repository browser.