use of de.alpharogroup.db.resource.bundles.service.api.ResourcebundlesService 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.db.resource.bundles.service.api.ResourcebundlesService 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.db.resource.bundles.service.api.ResourcebundlesService in project bundle-app-ui by astrapi69.
the class OverviewResourceBundleAddEntryPanel method onAddEntry.
protected void onAddEntry(final ActionEvent e) {
final String key = txtKey.getText();
final String value = txtValue.getText();
BundleApplications bundleApplication = getModelObject().getBundleApplication();
final String baseName = getModelObject().getSelectedBundleName().getBaseName().getName();
final Locale locale = LocaleResolver.resolveLocale(getModelObject().getSelectedBundleName().getLocale().getLocale());
final PropertiesKeysService propertiesKeysService = SpringApplicationContext.getInstance().getPropertiesKeysService();
final ResourcebundlesService resourcebundlesService = SpringApplicationContext.getInstance().getResourcebundlesService();
final boolean update = true;
Resourcebundles resourcebundle = resourcebundlesService.getResourcebundle(bundleApplication, baseName, locale, key);
if (resourcebundle != null) {
if (update) {
resourcebundle.setValue(value);
}
} else {
final PropertiesKeys pkey = propertiesKeysService.getOrCreateNewPropertiesKeys(key);
resourcebundle = Resourcebundles.builder().bundleName(getModelObject().getSelectedBundleName()).key(pkey).value(value).build();
ResourceBundlesDomainObjectFactory.getInstance().newResourcebundles(getModelObject().getSelectedBundleName(), pkey, value);
}
resourcebundle = resourcebundlesService.merge(resourcebundle);
reloadTableModel();
MainFrame.getInstance().getModelObject().getSelectedBundleApplication().setSelectedResourcebundle(null);
txtKey.setText("");
txtValue.setText("");
revalidate();
}
use of de.alpharogroup.db.resource.bundles.service.api.ResourcebundlesService in project bundle-app-ui by astrapi69.
the class OverviewResourceBundleAddEntryPanel method onInitializeComponents.
@Override
protected void onInitializeComponents() {
super.onInitializeComponents();
lblKey = new javax.swing.JLabel();
lblHeaderOverview = new javax.swing.JLabel();
lblValue = new javax.swing.JLabel();
srcBundles = new javax.swing.JScrollPane();
tableModel = new StringResourcebundlesTableModel();
tableModel.addList(getTableModelList());
tblBundles = new GenericJXTable<>(tableModel);
btnToDashboard = new javax.swing.JButton();
btnExport = new javax.swing.JButton();
btnDelete = new javax.swing.JButton();
final TableColumn editValueColumn = tblBundles.getColumn("Edit");
editValueColumn.setCellRenderer(new TableCellButtonRenderer(null, null) {
private static final long serialVersionUID = 1L;
@Override
public Component getTableCellRendererComponent(final JTable table, final Object value, final boolean isSelected, final boolean hasFocus, final int row, final int column) {
if (isSelected) {
setForeground(newSelectionForeground(table));
setBackground(newSelectionBackround(table));
} else {
setForeground(newForeground(table));
setBackground(newBackround(table));
}
final String text = "Edit";
setText(text);
return this;
}
});
editValueColumn.setCellEditor(new TableCellButtonEditor(new JCheckBox()) {
private static final long serialVersionUID = 1L;
@Override
public Object getCellEditorValue() {
final Resourcebundles selected = (Resourcebundles) this.getValue();
MainFrame.getInstance().getModelObject().getSelectedBundleApplication().setSelectedResourcebundle(selected);
txtKey.setText(selected.getKey().getName());
txtValue.setText(selected.getValue());
final String text = "Edit";
return text;
}
@Override
public Component getTableCellEditorComponent(final JTable table, final Object value, final boolean isSelected, final int row, final int column) {
setRow(row);
setColumn(column);
setValue(value);
if (isSelected) {
getButton().setForeground(table.getSelectionForeground());
getButton().setBackground(table.getSelectionBackground());
} else {
getButton().setForeground(table.getForeground());
getButton().setBackground(table.getBackground());
}
final String text = "Edit";
getButton().setText(text);
setClicked(true);
return getButton();
}
});
// ============================================================================================
final TableColumn deleteValueColumn = tblBundles.getColumn("Delete");
deleteValueColumn.setCellRenderer(new TableCellButtonRenderer(null, null) {
private static final long serialVersionUID = 1L;
@Override
public Component getTableCellRendererComponent(final JTable table, final Object value, final boolean isSelected, final boolean hasFocus, final int row, final int column) {
if (isSelected) {
setForeground(newSelectionForeground(table));
setBackground(newSelectionBackround(table));
} else {
setForeground(newForeground(table));
setBackground(newBackround(table));
}
final String text = "Delete";
setText(text);
return this;
}
});
deleteValueColumn.setCellEditor(new TableCellButtonEditor(new JCheckBox()) {
private static final long serialVersionUID = 1L;
@Override
public Object getCellEditorValue() {
final Resourcebundles selected = (Resourcebundles) this.getValue();
final ResourcebundlesService resourcebundlesService = SpringApplicationContext.getInstance().getResourcebundlesService();
resourcebundlesService.delete(selected);
if (selected.equals(MainFrame.getInstance().getModelObject().getSelectedBundleApplication().getSelectedResourcebundle())) {
txtKey.setText("");
txtValue.setText("");
MainFrame.getInstance().getModelObject().getSelectedBundleApplication().setSelectedResourcebundle(null);
}
reloadTableModel();
revalidate();
final String text = "Delete";
return text;
}
@Override
public Component getTableCellEditorComponent(final JTable table, final Object value, final boolean isSelected, final int row, final int column) {
setRow(row);
setColumn(column);
setValue(value);
if (isSelected) {
getButton().setForeground(table.getSelectionForeground());
getButton().setBackground(table.getSelectionBackground());
} else {
getButton().setForeground(table.getForeground());
getButton().setBackground(table.getBackground());
}
final String text = "Delete";
getButton().setText(text);
setClicked(true);
return getButton();
}
});
// ============================================================================================
btnAddEntry = new javax.swing.JButton();
txtKey = new javax.swing.JTextField();
txtValue = new javax.swing.JTextField();
lblKey.setText("Key");
lblHeaderOverview.setText("Overview of resource bundle " + getModelObject().getSelectedBundleName().getBaseName().getName());
lblValue.setText("Value");
srcBundles.setViewportView(tblBundles);
btnAddEntry.setText("Add new entry");
btnAddEntry.addActionListener(e -> onAddEntry(e));
btnToDashboard.setText("Return to Dashboard");
btnToDashboard.addActionListener(ReturnToDashboardAction.of());
btnExport.setText("Export");
btnExport.addActionListener(e -> onExport(e));
btnDelete.setText("Delete");
btnDelete.addActionListener(e -> onDelete(e));
}
use of de.alpharogroup.db.resource.bundles.service.api.ResourcebundlesService in project bundle-app-ui by astrapi69.
the class OverviewResourceBundleAddEntryPanel method reloadTableModelList.
private void reloadTableModelList() {
tableModelList = new ArrayList<>();
final ResourcebundlesService resourcebundlesService = SpringApplicationContext.getInstance().getResourcebundlesService();
BundleApplications bundleApplication = getModelObject().getBundleApplication();
final String baseName = getModelObject().getSelectedBundleName().getBaseName().getName();
final Locale locale = LocaleResolver.resolveLocale(getModelObject().getSelectedBundleName().getLocale().getLocale());
final List<Resourcebundles> list = resourcebundlesService.findResourceBundles(bundleApplication, baseName, locale);
for (final Resourcebundles resourcebundle : list) {
tableModelList.add(Quattro.<String, String, Resourcebundles, Resourcebundles>builder().topLeft(resourcebundle.getKey().getName()).topRight(resourcebundle.getValue()).bottomLeft(resourcebundle).bottomRight(resourcebundle).build());
}
Collections.sort(tableModelList, NullCheckComparator.<Quattro<String, String, Resourcebundles, Resourcebundles>>of((o1, o2) -> o1.getTopLeft().compareTo(o2.getTopLeft())));
}
Aggregations