source: vlo/branches/vlo-3.0/vlo-commons/src/main/java/eu/clarin/cmdi/vlo/config/DefaultVloConfigFactory.java @ 4509

Last change on this file since 4509 was 4509, checked in by twagoo, 10 years ago

Written marshaller/unmarshaller for VloConfig?

File size: 1.7 KB
Line 
1/*
2 * Copyright (C) 2014 CLARIN
3 *
4 * This program is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation, either version 3 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
16 */
17package eu.clarin.cmdi.vlo.config;
18
19import java.io.InputStream;
20import javax.xml.bind.JAXBException;
21import javax.xml.transform.stream.StreamSource;
22
23/**
24 *
25 * @author twagoo
26 */
27public class DefaultVloConfigFactory implements VloConfigFactory {
28
29    public static final String DEFAULT_CONFIG_RESOURCE = "/VloConfig.xml";
30    private final VloConfigMarshaller marshaller;
31
32    public DefaultVloConfigFactory() {
33        try {
34            this.marshaller = new VloConfigMarshaller();
35        } catch (JAXBException ex) {
36            throw new RuntimeException("Could not instantiate configuration marshaller while constructing configuration factory", ex);
37        }
38    }
39
40    public VloConfig newConfig() {
41        InputStream configResourceStream = getClass().getResourceAsStream(DEFAULT_CONFIG_RESOURCE);
42        try {
43            return marshaller.unmarshal(new StreamSource(configResourceStream));
44        } catch (JAXBException ex) {
45            throw new RuntimeException("Could not read default configuration due to deserialization error", ex);
46        }
47    }
48}
Note: See TracBrowser for help on using the repository browser.