Package pl.net.bluesoft.rnd.pt.dict.global

Source Code of pl.net.bluesoft.rnd.pt.dict.global.GlobalDictionariesActivator

package pl.net.bluesoft.rnd.pt.dict.global;

import pl.net.bluesoft.rnd.pt.dict.global.i18n.GlobalDictionaryI18NProvider;
import pl.net.bluesoft.rnd.pt.dict.global.xml.Dictionary;
import pl.net.bluesoft.rnd.pt.dict.global.xml.ProcessDictionaries;

import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
import java.util.Properties;

/**
* @author: amichalak@bluesoft.net.pl
*/
public class GlobalDictionariesActivator extends AbstractPluginActivator {
    private static final String PROVIDER_ID = GlobalDictionariesActivator.class.getName();

    private List<String> dictionaryNames;

    @Override
    protected void init() throws Exception {
        this.dictionaryNames = new ArrayList<String>();
        InputStream is = loadResourceAsStream("global-dictionaries.xml");
        if (is == null) {
            throw new IllegalArgumentException("Global dictionaries XML not found!");
        }
        Properties properties = loadProperties("plugin.properties");
        ProcessDictionaries dictionaries = (ProcessDictionaries) DictionaryLoader.getInstance().unmarshall(is);
        for (Dictionary dictionary : dictionaries.getDictionaries()) {
            String dictionaryId = dictionary.getDictionaryId();
            dictionaryNames.add(dictionaryId);
            registry.registerI18NProvider(new GlobalDictionaryI18NProvider(dictionaryId, registry, properties), getDictionaryProviderId(dictionaryId));
        }
    }

    @Override
    protected void destroy() throws Exception {
        for (String name : dictionaryNames) {
            registry.unregisterI18NProvider(getDictionaryProviderId(name));
        }
    }

    private String getDictionaryProviderId(String dictionaryId) {
        return PROVIDER_ID + "_" + dictionaryId;
    }
}
TOP

Related Classes of pl.net.bluesoft.rnd.pt.dict.global.GlobalDictionariesActivator

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.