use of de.alpharogroup.collections.pairs.Triple in project bundle-app-ui by astrapi69.
the class ApplicationDashboardContentPanel method onChooseImportResourceBundle.
/**
* Callback method which import resourcebundles from a folder of file.
*
* @param dir the dir
*/
protected void onChooseImportResourceBundle(final boolean dir) {
final int returnVal = fileChooser.showOpenDialog(ApplicationDashboardContentPanel.this);
if (returnVal == JFileChooser.APPROVE_OPTION) {
final File resourceBundleToImport = fileChooser.getSelectedFile();
getModelObject().setResourceBundleToImport(resourceBundleToImport);
try {
if (dir) {
ApplicationDashboardBean mo = getModelObject();
BundleApplications bundleApplications = SpringApplicationContext.getInstance().getBundleApplicationsService().get(mo.getBundleApplication().getId());
final Locale defaultLocale = SpringApplicationContext.getInstance().getLanguageLocalesService().resolveLocale(bundleApplications.getDefaultLocale());
final PropertiesListResolver resolver1 = new PropertiesListResolver(resourceBundleToImport, defaultLocale);
resolver1.resolve();
final List<KeyValuePair<File, Locale>> propertiesList = resolver1.getPropertiesList();
getModelObject().setFoundProperties(ConvertExtensions.convertAndSort(propertiesList));
// 1. create bundleapp
final BundleApplicationsService bundleApplicationsService = SpringApplicationContext.getInstance().getBundleApplicationsService();
final ResourcebundlesService resourcebundlesService = SpringApplicationContext.getInstance().getResourcebundlesService();
BundleApplications bundleApplication = getModelObject().getBundleApplication();
// 2. get properties files
final List<Triple<File, Locale, KeyValuePair<Boolean, File>>> foundProperties = getModelObject().getFoundProperties();
// 3. save properties files the to the bundleapp
final Set<BundleNames> set = SetExtensions.newHashSet();
for (final Triple<File, Locale, KeyValuePair<Boolean, File>> entry : foundProperties) {
if (BooleanUtils.toBoolean(entry.getRight().getKey())) {
final File propertiesFile = entry.getLeft();
final Locale locale = entry.getMiddle();
final String bundlename = LocaleResolver.resolveBundlename(propertiesFile);
Properties properties = null;
try {
properties = PropertiesExtensions.loadProperties(propertiesFile);
} catch (final IOException e) {
log.error(e.getLocalizedMessage(), e);
}
final BundleNames bundleNames = resourcebundlesService.updateProperties(bundleApplication, properties, bundlename, locale);
set.add(bundleNames);
}
}
bundleApplication = bundleApplicationsService.merge(bundleApplication);
} else {
final Properties importedProperties = PropertiesExtensions.loadProperties(resourceBundleToImport);
getModelObject().setImportedProperties(importedProperties);
final List<KeyValuePair<String, String>> keyValuePairs = PropertiesExtensions.toKeyValuePairs(importedProperties);
Collections.sort(keyValuePairs, NullCheckComparator.<KeyValuePair<String, String>>of(new KeyValuePairKeyComparator<>()));
getModelObject().setImportedKeyValuePairs(keyValuePairs);
MainApplication.get().getApplicationEventBus().post(ApplicationDashboardContentPanel.this.getModelObject());
getCardLayout().show(this, ApplicationDashboardView.IMPORT_RB.name());
}
} catch (final IOException e) {
log.error(e.getLocalizedMessage(), e);
}
}
}
use of de.alpharogroup.collections.pairs.Triple in project bundle-app-ui by astrapi69.
the class ImportWizardPanel method startDbImport.
private void startDbImport() {
// 1. create bundleapp
final BundleApplicationsService bundleApplicationsService = SpringApplicationContext.getInstance().getBundleApplicationsService();
final ResourcebundlesService resourcebundlesService = SpringApplicationContext.getInstance().getResourcebundlesService();
BundleApplications bundleApplication = bundleApplicationsService.find(getModelObject().getBundleAppName());
// 2. get properties files
final List<Triple<File, Locale, KeyValuePair<Boolean, File>>> foundProperties = getModelObject().getFoundProperties();
// 3. save properties files the to the bundleapp
for (final Triple<File, Locale, KeyValuePair<Boolean, File>> entry : foundProperties) {
if (BooleanUtils.toBoolean(entry.getRight().getKey())) {
final File propertiesFile = entry.getLeft();
final Locale locale = entry.getMiddle();
final String bundlename = LocaleResolver.resolveBundlename(propertiesFile);
Properties properties = null;
try {
properties = PropertiesExtensions.loadProperties(propertiesFile);
} catch (final IOException e) {
log.error("Loading Properties file " + propertiesFile.getAbsolutePath() + " failed.", e);
}
resourcebundlesService.updateProperties(bundleApplication, properties, bundlename, locale);
}
}
}
use of de.alpharogroup.collections.pairs.Triple in project bundle-app-ui by astrapi69.
the class OverviewOfAllResourceBundlesPanel method getTableModelList.
private List<Triple<String, String, BundleNames>> getTableModelList() {
if (tableModelList == null) {
tableModelList = new ArrayList<>();
BundleApplications bundleApplication = getModelObject().getBundleApplication();
getModelObject().setBundleNames(SpringApplicationContext.getInstance().getBundleApplicationsService().find(bundleApplication));
final Set<BundleNames> set = getModelObject().getBundleNames();
if (CollectionExtensions.isNotEmpty(set)) {
for (final BundleNames bundleNames : set) {
tableModelList.add(Triple.<String, String, BundleNames>builder().left(bundleNames.getBaseName().getName()).middle(bundleNames.getLocale().getLocale()).right(bundleNames).build());
}
}
Collections.sort(tableModelList, NullCheckComparator.<Triple<String, String, BundleNames>>of((o1, o2) -> o1.getLeft().compareTo(o2.getLeft())));
}
return tableModelList;
}
Aggregations