/** * @author pierre.thirouin@ext.mpsa.com */ @JpaUnit("seed-i18n-domain") @Transactional public class KeyDataExporter extends BaseDataExporter<KeyDTO> { @Inject private KeyRepository keyRepository; @Inject private FluentAssembler fluentAssembler; @Override public Stream<KeyDTO> exportData() { return fluentAssembler.assemble(keyRepository.get(Specification.any())).toStreamOf(KeyDTO.class); } }
/** * @author pierre.thirouin@ext.mpsa.com * Date: 20/03/14 */ @JpaUnit("seed-i18n-domain") @Transactional public class LocaleDataExporter extends BaseDataExporter<LocaleDTO> { @Inject private LocaleRepository localeRepository; @Inject private FluentAssembler fluentAssembler; @Override public Stream<LocaleDTO> exportData() { return fluentAssembler.assemble(localeRepository.get(Specification.any())) .with(ModelMapper.class) .toStreamOf(LocaleDTO.class); } }
@JpaUnit("seed-i18n-domain") @Transactional class LocaleJpaFinder implements LocaleFinder {
@JpaUnit("seed-i18n-domain") @Transactional public class LocaleDataImporter extends BaseDataImporter<LocaleDTO> {
@JpaUnit("seed-i18n-domain") @Transactional class StatisticJpaFinder implements StatisticFinder {
@JpaUnit("seed-i18n-domain") @Transactional @Path("/seed-i18n/statistic")
@JpaUnit("seed-i18n-domain") @Transactional class TranslationJpaFinder extends BaseRangeFinder<TranslationRepresentation, Map<String, Object>> implements TranslationFinder {
@JpaUnit("seed-i18n-domain") @Transactional class KeyJpaFinder extends BaseRangeFinder<KeyRepresentation, Map<String, Object>> implements KeyFinder {
@JpaUnit("seed-i18n-domain") @Transactional @Override public void overrideConfiguration(String fragmentName, String moduleName, Map<String, Object> sourceConfiguration) { if (W20_CORE_FRAGMENT.equals(fragmentName) && CULTURE_MODULE.equals(moduleName)) { // "available" : ["en-US", "fr-FR"] if (!sourceConfiguration.containsKey(AVAILABLE_CULTURES)) { Set<String> closestAvailableLocales = new HashSet<>(); for (String availableLocale : localeService.getAvailableLocales()) { closestAvailableLocales.add(getClosestW20Locale(availableLocale)); } sourceConfiguration.put(AVAILABLE_CULTURES, closestAvailableLocales); } // "default" : "ietf-code-of-default-language" if (!sourceConfiguration.containsKey(DEFAULT_CULTURE)) { String defaultLocale = localeService.getDefaultLocale(); if (defaultLocale != null) { sourceConfiguration.put(DEFAULT_CULTURE, getClosestW20Locale(defaultLocale)); } else { sourceConfiguration.put(DEFAULT_CULTURE, EN_LANGUAGE_TAG); } } } }
@JpaUnit("seed-i18n-domain") @Transactional public class KeyDataImporter extends BaseDataImporter<KeyDTO> {
@JpaUnit("seed-i18n-domain") @Transactional @Path("/seed-i18n/keys/{key}")
@JpaUnit("seed-i18n-domain") @Transactional @Path("/seed-i18n/translations/{locale}")
@JpaUnit("seed-i18n-domain") @Transactional class ICULocalizationService implements LocalizationService {
@JpaUnit("seed-i18n-domain") @Transactional class ICULocaleService implements LocaleService {
@JpaUnit("seed-i18n-domain") @Transactional @Path("/seed-i18n/keys")
@JpaUnit("seed-i18n-domain") @Transactional @Path("/seed-i18n/default-locale")
@JpaUnit("seed-i18n-domain") @Transactional public class IOResource {
@JpaUnit("seed-i18n-domain") @Transactional class TranslationServiceImpl implements TranslationService {
@JpaUnit("seed-i18n-domain") @Transactional @Override public int importKeysWithTranslations(InputStream inputStream) { List<CSVRepresentation> CSVRepresentations = parser.parse(inputStream, CSVRepresentation.class); for (CSVRepresentation dto : CSVRepresentations) { Key key = fluentAssembler.merge(dto).into(Key.class).fromRepository().orFromFactory(); keyRepository.add(key); } return CSVRepresentations.size(); } }
@JpaUnit("seed-i18n-domain") @Transactional @Override public Template load(String name) { List<LocaleRepresentation> availableLocales = localeFinder.findAvailableLocales(); SuperCsvTemplate superCsvTemplate = new SuperCsvTemplate(name); superCsvTemplate.addColumn(new Column(KEY, KEY, new Optional(), new Optional())); for (LocaleRepresentation availableLocale : availableLocales) { superCsvTemplate.addColumn(new Column(availableLocale.getCode(), availableLocale.getCode(), new Optional(), new Optional())); } return superCsvTemplate; }