| /** |
| * Copyright (c) 2011, 2015 - Lunifera GmbH (Gross Enzersdorf), Loetz GmbH&Co.KG (Heidelberg) |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * Florian Pirchner - Initial implementation |
| */ |
| package org.eclipse.osbp.dsl.entity.xtext.tests.model.testcarstore2.dtos; |
| |
| import java.beans.PropertyChangeListener; |
| import java.beans.PropertyChangeSupport; |
| import java.util.HashMap; |
| import java.util.Locale; |
| import org.eclipse.osbp.dsl.entity.xtext.tests.model.testcarstore2.ModelTestcarstore2Translator; |
| import org.eclipse.osbp.runtime.common.i18n.ITranslator; |
| import org.slf4j.Logger; |
| |
| @SuppressWarnings("all") |
| public class Testcarstore2DtosTranslator implements ITranslator { |
| private static Logger log = org.slf4j.LoggerFactory.getLogger("translations by translator"); |
| |
| private static Testcarstore2DtosTranslator instance = null; |
| |
| private static Locale lastLocale = null; |
| |
| private static ModelTestcarstore2Translator modelTestcarstore2Translator = null; |
| |
| private PropertyChangeSupport pcs = new java.beans.PropertyChangeSupport(this); |
| |
| private HashMap<String, String> translations = new HashMap<String,String>() {{ |
| }}; |
| |
| public static Testcarstore2DtosTranslator getInstance(final Locale locale) { |
| if(instance == null) { |
| instance = new org.eclipse.osbp.dsl.entity.xtext.tests.model.testcarstore2.dtos.Testcarstore2DtosTranslator(); |
| if (lastLocale == null) { |
| instance.changeLocale(locale); |
| } |
| } |
| return instance; |
| } |
| |
| public void addPropertyChangeListener(final PropertyChangeListener listener) { |
| this.pcs.addPropertyChangeListener(listener); |
| } |
| |
| public void removePropertyChangeListener(final PropertyChangeListener listener) { |
| this.pcs.removePropertyChangeListener(listener); |
| } |
| |
| public void mergeTranslations() { |
| modelTestcarstore2Translator.mergeTranslations(); |
| translations.putAll(modelTestcarstore2Translator.getTranslations()); |
| if (log.isDebugEnabled()) log.debug("merge ModelTestcarstore2Translator in org.eclipse.osbp.dsl.entity.xtext.tests.model.testcarstore2.dtos"); |
| |
| } |
| |
| public HashMap<String, String> getTranslations() { |
| return translations; |
| } |
| |
| public void changeLocale(final Locale locale) { |
| // avoid unnecessary settings |
| if (locale == null) { |
| if (log.isDebugEnabled()) log.debug("locale for org.eclipse.osbp.dsl.entity.xtext.tests.model.testcarstore2.dtos is null."); |
| return; |
| } |
| if (locale.equals(lastLocale)) { |
| if (log.isDebugEnabled()) log.debug("locale for org.eclipse.osbp.dsl.entity.xtext.tests.model.testcarstore2.dtos already set to "+locale.getDisplayLanguage()); |
| return; |
| } |
| if (log.isDebugEnabled()) log.debug("locale for org.eclipse.osbp.dsl.entity.xtext.tests.model.testcarstore2.dtos set to "+locale.getDisplayLanguage()); |
| lastLocale = locale; |
| // call the imported translators change locale method |
| if (modelTestcarstore2Translator == null) { |
| modelTestcarstore2Translator = modelTestcarstore2Translator.getInstance(locale); |
| } else { |
| modelTestcarstore2Translator.changeLocale(locale); |
| } |
| try { |
| java.util.ResourceBundle resource = java.util.ResourceBundle.getBundle("i18n.I18N", locale, getClass().getClassLoader()); |
| } catch (java.util.MissingResourceException mre) { |
| System.err.println(getClass().getCanonicalName()+" - "+mre.getLocalizedMessage()); |
| } |
| |
| } |
| } |