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

Revision 6785, 2.8 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;
31
32import java.util.UUID;
33
34import org.eclipse.jetty.server.Server;
35import org.springframework.beans.factory.annotation.Autowired;
36
37import serpro.mailarchiver.service.Settings;
38import serpro.mailarchiver.service.Utils;
39import serpro.mailarchiver.service.web.ServiceFault;
40import serpro.mailarchiver.util.Logger;
41
42public class MailArchiver {
43
44    private static final Logger log = Logger.getLocalLogger();
45
46    @Autowired
47    private Settings settings;
48
49    @Autowired
50    private Utils utils;
51
52    @Autowired
53    private Server jetty;
54
55    public void init() throws Exception {
56        log.info("Iniciando jetty");
57        jetty.start();
58        log.info("Jetty em execução");
59
60        utils.bootstrapJdoMetadata();
61
62        String dbid = settings.get("dbid");
63        if(dbid == null) {
64            dbid = UUID.randomUUID().toString().replace('-', '_');
65            if(Character.isDigit(dbid.charAt(0))) {
66                String head = dbid.substring(0, 1);
67                String tail = dbid.substring(1);
68                dbid = ((char)('g' + Integer.parseInt(head))) + tail;
69            }
70            settings.put("dbid", dbid);
71            log.info("Generating database ID: %s", dbid);
72        }
73        else {
74            log.info("Database ID: %s", dbid);
75        }
76
77        System.out.println("Database ID:" + dbid);
78
79        utils.bootstrapServices();
80
81        jetty.join();
82        log.info("Jetty finalizado");
83    }
84
85    public void destroy() {
86        log.info("Finalizando mailArchiver");
87    }
88}
Note: See TracBrowser for help on using the repository browser.