package org.constellation.database.api.i18n; import java.lang.reflect.InvocationTargetException; import java.util.Map; import org.apache.commons.beanutils.BeanUtils; import org.constellation.configuration.CstlConfigurationRuntimeException; import org.constellation.database.api.jooq.tables.pojos.Data; import org.constellation.database.api.jooq.tables.pojos.DataI18n; import com.google.common.collect.ImmutableMap; /** * Wrap {@link Data} and {@link DataI18n}. * @author Olivier NOUGUIER. * */ @SuppressWarnings("serial") public class DataWithI18N extends Data { private Map<String, DataI18n> dataI18ns; public DataWithI18N(Data data, ImmutableMap<String, DataI18n> dataI18ns) { copyFrom(data); this.dataI18ns = dataI18ns; } public void setDataI18n(Map<String, DataI18n> dataI18ns) { this.dataI18ns = dataI18ns; } public Map<String, DataI18n> getDataI18n() { return dataI18ns; } private void copyFrom(Data data) { try { BeanUtils.copyProperties(this, data); } catch (IllegalAccessException | InvocationTargetException e) { throw new CstlConfigurationRuntimeException(e); } } }