blob: 15cf64c8b1a3f10e5f2334e3e119b187105ced2c [file] [log] [blame]
/**
* 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.selfreference.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.selfreference.TestsSelfreferenceTranslator;
import org.eclipse.osbp.runtime.common.i18n.ITranslator;
import org.slf4j.Logger;
@SuppressWarnings("all")
public class SelfreferenceDtosTranslator implements ITranslator {
private static Logger log = org.slf4j.LoggerFactory.getLogger("translations by translator");
private static SelfreferenceDtosTranslator instance = null;
private static Locale lastLocale = null;
private static TestsSelfreferenceTranslator testsSelfreferenceTranslator = null;
private PropertyChangeSupport pcs = new java.beans.PropertyChangeSupport(this);
private HashMap<String, String> translations = new HashMap<String,String>() {{
}};
public static SelfreferenceDtosTranslator getInstance(final Locale locale) {
if(instance == null) {
instance = new org.eclipse.osbp.dsl.entity.xtext.tests.selfreference.dtos.SelfreferenceDtosTranslator();
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() {
testsSelfreferenceTranslator.mergeTranslations();
translations.putAll(testsSelfreferenceTranslator.getTranslations());
if (log.isDebugEnabled()) log.debug("merge TestsSelfreferenceTranslator in org.eclipse.osbp.dsl.entity.xtext.tests.selfreference.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.selfreference.dtos is null.");
return;
}
if (locale.equals(lastLocale)) {
if (log.isDebugEnabled()) log.debug("locale for org.eclipse.osbp.dsl.entity.xtext.tests.selfreference.dtos already set to "+locale.getDisplayLanguage());
return;
}
if (log.isDebugEnabled()) log.debug("locale for org.eclipse.osbp.dsl.entity.xtext.tests.selfreference.dtos set to "+locale.getDisplayLanguage());
lastLocale = locale;
// call the imported translators change locale method
if (testsSelfreferenceTranslator == null) {
testsSelfreferenceTranslator = testsSelfreferenceTranslator.getInstance(locale);
} else {
testsSelfreferenceTranslator.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());
}
}
}