/** * @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); } }
@Override public TransactionMetadata resolve(MethodInvocation methodInvocation, TransactionMetadata defaults) { Optional<JpaUnit> jpaUnitOptional = JpaUnitResolver.INSTANCE .apply(methodInvocation.getMethod()); if (jpaUnitOptional.isPresent() || JpaTransactionHandler.class.equals(defaults.getHandler())) { TransactionMetadata result = new TransactionMetadata(); result.setHandler(JpaTransactionHandler.class); result.setExceptionHandler(JpaExceptionHandler.class); if (jpaUnitOptional.isPresent() && !Strings.isNullOrEmpty(jpaUnitOptional.get().value())) { result.setResource(jpaUnitOptional.get().value()); } else { String defaultUnit = application.getConfiguration().get(JpaConfig.class).getDefaultUnit(); if (!Strings.isNullOrEmpty(defaultUnit)) { result.setResource(defaultUnit); } else { throw SeedException.createNew(JpaErrorCode.NO_JPA_UNIT_SPECIFIED_FOR_TRANSACTION) .put("method", methodInvocation.getMethod().toString()); } } return result; } return null; } }
/** * @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/available-locales")
@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 {