From cd8e6c9b198b69eb823ab390c53873a6706f4921 Mon Sep 17 00:00:00 2001 From: jensp Date: Mon, 10 Apr 2017 17:02:48 +0000 Subject: [PATCH] CCM NG/ccm-cms: AssetForm localisation git-svn-id: https://svn.libreccm.org/ccm/ccm_ng@4666 8810af33-2d31-482b-a856-94f89814c4df --- .../cms/ui/assets/AssetFolderBrowser.java | 85 ++-- .../assets/AssetFolderBrowserTableModel.java | 2 - .../arsdigita/cms/ui/assets/AssetForm.java | 25 +- .../arsdigita/cms/ui/assets/AssetPane.java | 387 +++++++++--------- .../ui/assets/forms/LegalMetadataForm.java | 4 - .../org/librecms/CmsResources.properties | 11 +- .../org/librecms/CmsResources_de.properties | 11 +- .../org/librecms/CmsResources_fr.properties | 11 +- 8 files changed, 279 insertions(+), 257 deletions(-) diff --git a/ccm-cms/src/main/java/com/arsdigita/cms/ui/assets/AssetFolderBrowser.java b/ccm-cms/src/main/java/com/arsdigita/cms/ui/assets/AssetFolderBrowser.java index a7177cc5c..8250ab6aa 100644 --- a/ccm-cms/src/main/java/com/arsdigita/cms/ui/assets/AssetFolderBrowser.java +++ b/ccm-cms/src/main/java/com/arsdigita/cms/ui/assets/AssetFolderBrowser.java @@ -50,6 +50,8 @@ import org.librecms.CmsConstants; import org.librecms.contentsection.ContentSection; import org.librecms.contentsection.ContentSectionManager; +import static org.librecms.CmsConstants.*; + /** * Browse folder and assets. * @@ -71,9 +73,9 @@ public class AssetFolderBrowser extends Table { private TableColumn nameColumn; private TableColumn deleteColumn; private final StringParameter sortTypeParameter = new StringParameter( - "sortType"); + "sortType"); private final StringParameter sortDirectionParameter = new StringParameter( - "sortDir"); + "sortDir"); private Paginator paginator; private long folderSize; @@ -93,12 +95,18 @@ public class AssetFolderBrowser extends Table { setModelBuilder(new AssetFolderBrowserTableModelBuilder()); final GlobalizedMessage[] headers = { - globalize("cms.ui.folder.name"), - globalize("cms.ui.folder.title"), - globalize("cms.ui.folder.type"), - globalize("cms.ui.folder.creation_date"), - globalize("cms.ui.folder.last_modified"), - globalize("cms.ui.folder.action")}; + new GlobalizedMessage("cms.ui.folder.name", + CMS_FOLDER_BUNDLE), + new GlobalizedMessage("cms.ui.folder.title", + CMS_FOLDER_BUNDLE), + new GlobalizedMessage("cms.ui.folder.type", + CMS_FOLDER_BUNDLE), + new GlobalizedMessage("cms.ui.folder.creation_date", + CMS_FOLDER_BUNDLE), + new GlobalizedMessage("cms.ui.folder.last_modified", + CMS_FOLDER_BUNDLE), + new GlobalizedMessage("cms.ui.folder.action", + CMS_FOLDER_BUNDLE)}; setModelBuilder(new AssetFolderBrowserTableModelBuilder()); setColumnModel(new DefaultTableColumnModel(headers)); @@ -106,23 +114,23 @@ public class AssetFolderBrowser extends Table { setClassAttr("dataTable"); getHeader().setDefaultRenderer( - new com.arsdigita.cms.ui.util.DefaultTableCellRenderer()); + new com.arsdigita.cms.ui.util.DefaultTableCellRenderer()); nameColumn = getColumn(AssetFolderBrowserTableModel.COL_NAME); nameColumn.setCellRenderer(new NameCellRenderer()); nameColumn.setHeaderRenderer(new HeaderCellRenderer(SORT_KEY_NAME)); getColumn(AssetFolderBrowserTableModel.COL_CREATION_DATE) - .setHeaderRenderer( - new HeaderCellRenderer(SORT_KEY_CREATION_DATE)); + .setHeaderRenderer( + new HeaderCellRenderer(SORT_KEY_CREATION_DATE)); getColumn(AssetFolderBrowserTableModel.COL_CREATION_DATE) - .setCellRenderer(new DateCellRenderer()); + .setCellRenderer(new DateCellRenderer()); getColumn(AssetFolderBrowserTableModel.COL_LAST_MODIFIED) - .setHeaderRenderer(new HeaderCellRenderer( - SORT_KEY_LAST_MODIFIED_DATE)); + .setHeaderRenderer(new HeaderCellRenderer( + SORT_KEY_LAST_MODIFIED_DATE)); getColumn(AssetFolderBrowserTableModel.COL_LAST_MODIFIED) - .setCellRenderer(new DateCellRenderer()); + .setCellRenderer(new DateCellRenderer()); deleteColumn = getColumn(AssetFolderBrowserTableModel.COL_DELETEABLE); deleteColumn.setCellRenderer(new ActionCellRenderer()); @@ -134,7 +142,8 @@ public class AssetFolderBrowser extends Table { folderDeleter = new ItemDeleter(); addTableActionListener(folderDeleter); - setEmptyView(new Label(globalize("cms.ui.folder.no_assets"))); + setEmptyView(new Label(new GlobalizedMessage("cms.ui.folder.no_assets", + CMS_FOLDER_BUNDLE))); } @Override @@ -143,8 +152,8 @@ public class AssetFolderBrowser extends Table { super.register(page); page.addComponentStateParam( - this, - getFolderSelectionModel().getStateParameter()); + this, + getFolderSelectionModel().getStateParameter()); page.addComponentStateParam(this, sortTypeParameter); page.addComponentStateParam(this, sortDirectionParameter); } @@ -173,16 +182,6 @@ public class AssetFolderBrowser extends Table { return (String) state.getValue(sortDirectionParameter); } - /** - * Getting the GlobalizedMessage using a CMS Class targetBundle. - * - * @param key The resource key - */ - private GlobalizedMessage globalize(final String key) { - return new GlobalizedMessage(key, CmsConstants.CMS_FOLDER_BUNDLE); - - } - private class HeaderCellRenderer extends DefaultTableCellRenderer { private final String headerKey; @@ -205,7 +204,7 @@ public class AssetFolderBrowser extends Table { final String sortKey = (String) state.getValue(sortTypeParameter); final boolean isCurrentKey = sortKey.equals(key); final String currentSortDirection = (String) state - .getValue(sortDirectionParameter); + .getValue(sortDirectionParameter); final String imageUrlStub; if (SORT_ACTION_UP.equals(currentSortDirection)) { @@ -222,7 +221,7 @@ public class AssetFolderBrowser extends Table { // by default, everything sorts "up" unless it // is the current key and it is already pointing up if (SORT_ACTION_UP.equals(currentSortDirection) - && isCurrentKey) { + && isCurrentKey) { sortDirectionAction = SORT_ACTION_DOWN; } else { sortDirectionAction = SORT_ACTION_UP; @@ -273,14 +272,14 @@ public class AssetFolderBrowser extends Table { final String name = (String) value; final ContentSection section = CMS.getContext(). - getContentSection(); + getContentSection(); final ContentSectionManager sectionManager = CdiUtil. - createCdiUtil() - .findBean(ContentSectionManager.class); + createCdiUtil() + .findBean(ContentSectionManager.class); final boolean isFolder = ((AssetFolderBrowserTableModel) table .getTableModel(state)) - .isFolder(); + .isFolder(); final long objectId = getObjectId(key); if (isFolder) { @@ -294,7 +293,7 @@ public class AssetFolderBrowser extends Table { column); } else { return new ControlLink(new Text(name)); - + // return new Link(new Text(name), // itemResolver.generateItemURL(state, // objectId, @@ -345,13 +344,13 @@ public class AssetFolderBrowser extends Table { return new Label(" ", false); } else { final ControlLink link = new ControlLink( - new Label( - new GlobalizedMessage("cms.ui.folder.delete", - CmsConstants.CMS_FOLDER_BUNDLE))); + new Label( + new GlobalizedMessage("cms.ui.folder.delete", + CmsConstants.CMS_FOLDER_BUNDLE))); link.setConfirmation( - new GlobalizedMessage( - "cms.ui.folder.delete_confirmation_assets", - CmsConstants.CMS_FOLDER_BUNDLE)); + new GlobalizedMessage( + "cms.ui.folder.delete_confirmation_assets", + CmsConstants.CMS_FOLDER_BUNDLE)); return link; } } @@ -373,7 +372,7 @@ public class AssetFolderBrowser extends Table { final CdiUtil cdiUtil = CdiUtil.createCdiUtil(); final AssetFolderBrowserController controller = cdiUtil.findBean( - AssetFolderBrowserController.class); + AssetFolderBrowserController.class); controller.deleteObject((String) event.getRowKey()); ((Table) event.getSource()).clearSelection(state); @@ -398,7 +397,7 @@ public class AssetFolderBrowser extends Table { getFolderSelectionModel().setSelectedKey(state, getObjectId(rowKey)); } else if (rowKey.startsWith( - CmsConstants.FOLDER_BROWSER_KEY_PREFIX_ASSET)) { + CmsConstants.FOLDER_BROWSER_KEY_PREFIX_ASSET)) { getSelectedAssetModel().setSelectedKey(state, getObjectId(rowKey)); assetPane.editAssetMode(state); diff --git a/ccm-cms/src/main/java/com/arsdigita/cms/ui/assets/AssetFolderBrowserTableModel.java b/ccm-cms/src/main/java/com/arsdigita/cms/ui/assets/AssetFolderBrowserTableModel.java index dbef141e4..cf416e1dc 100644 --- a/ccm-cms/src/main/java/com/arsdigita/cms/ui/assets/AssetFolderBrowserTableModel.java +++ b/ccm-cms/src/main/java/com/arsdigita/cms/ui/assets/AssetFolderBrowserTableModel.java @@ -98,8 +98,6 @@ class AssetFolderBrowserTableModel implements TableModel { } else { return String.format("asset-%d", currentRow.getObjectId()); } - -// return currentRow.getObjectId(); } public boolean isFolder() { diff --git a/ccm-cms/src/main/java/com/arsdigita/cms/ui/assets/AssetForm.java b/ccm-cms/src/main/java/com/arsdigita/cms/ui/assets/AssetForm.java index 66ce3a45f..b4cef2215 100644 --- a/ccm-cms/src/main/java/com/arsdigita/cms/ui/assets/AssetForm.java +++ b/ccm-cms/src/main/java/com/arsdigita/cms/ui/assets/AssetForm.java @@ -23,7 +23,6 @@ import com.arsdigita.bebop.ColumnPanel; import com.arsdigita.bebop.Form; import com.arsdigita.bebop.FormProcessException; import com.arsdigita.bebop.Label; -import com.arsdigita.bebop.Page; import com.arsdigita.bebop.PageState; import com.arsdigita.bebop.SaveCancelSection; import com.arsdigita.bebop.SingleSelectionModel; @@ -38,7 +37,6 @@ import com.arsdigita.bebop.form.Option; import com.arsdigita.bebop.form.SingleSelect; import com.arsdigita.bebop.form.Submit; import com.arsdigita.bebop.form.TextField; -import com.arsdigita.bebop.parameters.StringParameter; import com.arsdigita.globalization.GlobalizedMessage; import com.arsdigita.kernel.KernelConfig; @@ -71,7 +69,6 @@ public abstract class AssetForm extends Form implements FormInitListener, private final AssetPane assetPane; private final SingleSelectionModel selectionModel; -// private final StringParameter selectedLocaleParameter; private BoxPanel showLocalePanel; private SingleSelect showLocaleSelect; @@ -89,13 +86,12 @@ public abstract class AssetForm extends Form implements FormInitListener, this.assetPane = assetPane; selectionModel = assetPane.getSelectedAssetModel(); -// selectedLocaleParameter = new StringParameter("selected-locale"); initComponents(); } private void initComponents() { - + showLocalePanel = new BoxPanel(BoxPanel.HORIZONTAL); final Label showLocaleLabel = new Label(new PrintListener() { @@ -106,11 +102,11 @@ public abstract class AssetForm extends Form implements FormInitListener, final Label target = (Label) event.getTarget(); if (selectedAsset.isPresent()) { target.setLabel(new GlobalizedMessage( - "cms.ui.assest.show_locale", + "cms.ui.asset.show_locale", CmsConstants.CMS_BUNDLE)); } else { target.setLabel(new GlobalizedMessage( - "cms.ui.assest.initial_locale", + "cms.ui.asset.initial_locale", CmsConstants.CMS_BUNDLE)); } } @@ -183,7 +179,7 @@ public abstract class AssetForm extends Form implements FormInitListener, }; final Label addLocaleLabel = new Label( - new GlobalizedMessage("cms.ui.assest.add_locale", + new GlobalizedMessage("cms.ui.asset.add_locale", CmsConstants.CMS_BUNDLE)); addLocaleSelect = new SingleSelect("add-locale-select"); try { @@ -248,15 +244,6 @@ public abstract class AssetForm extends Form implements FormInitListener, //Nothing here } -// @Override -// public void register(final Page page) { -// super.register(page); -// -// page.addComponentStateParam(this, selectedLocaleParameter); -// -// page.setVisibleDefault(showLocalePanel, true); -// page.setVisibleDefault(addLocalePanel, true); -// } protected String getTitle(final PageState state) { return (String) title.getValue(state); } @@ -287,8 +274,6 @@ public abstract class AssetForm extends Form implements FormInitListener, final Optional selectedAsset = getSelectedAsset(state); if (selectedAsset.isPresent()) { -// showLocalePanel.setVisible(state, true); -// addLocalePanel.setVisible(state, true); showLocaleSelect.setValue(state, KernelConfig @@ -307,8 +292,6 @@ public abstract class AssetForm extends Form implements FormInitListener, .getConfig() .getDefaultLocale() .toString()); -// showLocalePanel.setVisible(state, false); -// addLocalePanel.setVisible(state, false); } initForm(state, selectedAsset); diff --git a/ccm-cms/src/main/java/com/arsdigita/cms/ui/assets/AssetPane.java b/ccm-cms/src/main/java/com/arsdigita/cms/ui/assets/AssetPane.java index 92bd3e9e7..9932b2d4b 100644 --- a/ccm-cms/src/main/java/com/arsdigita/cms/ui/assets/AssetPane.java +++ b/ccm-cms/src/main/java/com/arsdigita/cms/ui/assets/AssetPane.java @@ -124,11 +124,11 @@ public class AssetPane extends LayoutPanel implements Resettable { private final FolderRequestLocal folderRequestLocal; private final SingleSelectionModel selectedAssetModel; private final ArrayParameter sourcesParameter = new ArrayParameter( - new StringParameter(SOURCES_PARAM)); + new StringParameter(SOURCES_PARAM)); private final StringParameter actionParameter = new StringParameter( - ACTION_PARAM); + ACTION_PARAM); private final StringParameter selectedAssetTypeParam = new StringParameter( - "selected_asset_type"); + "selected_asset_type"); private AssetFolderBrowser folderBrowser; private Form browserForm; @@ -150,8 +150,8 @@ public class AssetPane extends LayoutPanel implements Resettable { @Override protected Folder getRootFolder(final PageState state) { final ContentSection section = CMS - .getContext() - .getContentSection(); + .getContext() + .getContentSection(); return section.getRootAssetsFolder(); } @@ -162,8 +162,8 @@ public class AssetPane extends LayoutPanel implements Resettable { @Override protected Long getRootFolderID(final PageState state) { final ContentSection section = CMS - .getContext() - .getContentSection(); + .getContext() + .getContentSection(); return section.getRootAssetsFolder().getObjectId(); } @@ -171,14 +171,14 @@ public class AssetPane extends LayoutPanel implements Resettable { folderRequestLocal = new FolderRequestLocal(folderSelectionModel); selectedAssetModel = new ParameterSingleSelectionModel<>( - new LongParameter("selected-asset")); + new LongParameter("selected-asset")); final SegmentedPanel left = new SegmentedPanel(); setLeft(left); final Label heading = new Label( - new GlobalizedMessage("cms.ui.folder_browser", - CmsConstants.CMS_BUNDLE)); + new GlobalizedMessage("cms.ui.folder_browser", + CmsConstants.CMS_BUNDLE)); left.addSegment(heading, tree); // final Text placeholder = new Text("Placeholder"); @@ -196,15 +196,15 @@ public class AssetPane extends LayoutPanel implements Resettable { browserForm.setMethod(Form.GET); folderBrowser = new AssetFolderBrowser(this); final Paginator paginator = new Paginator( - new AssetFolderBrowserPaginationModelBuilder(folderBrowser), - CMSConfig.getConfig().getFolderBrowseListSize()); + new AssetFolderBrowserPaginationModelBuilder(folderBrowser), + CMSConfig.getConfig().getFolderBrowseListSize()); folderBrowser.setPaginator(paginator); final CheckboxGroup checkboxGroup = new CheckboxGroup(sourcesParameter); browserForm.add(checkboxGroup); final TableColumn checkboxCol = new TableColumn(); checkboxCol.setHeaderValue( - new GlobalizedMessage("empty_text", CmsConstants.CMS_BUNDLE)); + new GlobalizedMessage("empty_text", CmsConstants.CMS_BUNDLE)); checkboxCol.setCellRenderer(new TableCellRenderer() { @Override @@ -229,31 +229,31 @@ public class AssetPane extends LayoutPanel implements Resettable { browserForm.add(folderBrowser); final SimpleContainer actionFormContainer = new SimpleContainer(); actionFormContainer.add(new Label( - new GlobalizedMessage( - "cms.ui.folder.edit_selection", - CmsConstants.CMS_FOLDER_BUNDLE))); + new GlobalizedMessage( + "cms.ui.folder.edit_selection", + CmsConstants.CMS_FOLDER_BUNDLE))); actionSelect = new SingleSelect(actionParameter); actionSelect.addOption( - new Option(COPY, - new Label(new GlobalizedMessage( - "cms.ui.folder.copy.action", - CmsConstants.CMS_FOLDER_BUNDLE)))); + new Option(COPY, + new Label(new GlobalizedMessage( + "cms.ui.folder.copy.action", + CmsConstants.CMS_FOLDER_BUNDLE)))); actionSelect.addOption( - new Option(MOVE, - new Label(new GlobalizedMessage( - "cms.ui.folder.move.action", - CmsConstants.CMS_FOLDER_BUNDLE)))); + new Option(MOVE, + new Label(new GlobalizedMessage( + "cms.ui.folder.move.action", + CmsConstants.CMS_FOLDER_BUNDLE)))); actionFormContainer.add(actionSelect); actionSubmit = new Submit( - "Go", - new GlobalizedMessage("cms.ui.folder.go", - CmsConstants.CMS_FOLDER_BUNDLE)); + "Go", + new GlobalizedMessage("cms.ui.folder.go", + CmsConstants.CMS_FOLDER_BUNDLE)); actionFormContainer.add(actionSubmit); browserForm.addProcessListener(new FormProcessListener() { @Override public void process(final FormSectionEvent event) - throws FormProcessException { + throws FormProcessException { final PageState state = event.getPageState(); @@ -269,7 +269,7 @@ public class AssetPane extends LayoutPanel implements Resettable { @Override public void process(final FormSectionEvent event) - throws FormProcessException { + throws FormProcessException { final PageState state = event.getPageState(); @@ -290,12 +290,12 @@ public class AssetPane extends LayoutPanel implements Resettable { }); targetSelector.addValidationListener( - new TargetSelectorValidationListener()); + new TargetSelectorValidationListener()); targetSelector.addSubmissionListener(new FormSubmissionListener() { @Override public void submitted(final FormSectionEvent event) - throws FormProcessException { + throws FormProcessException { final PageState state = event.getPageState(); @@ -303,8 +303,8 @@ public class AssetPane extends LayoutPanel implements Resettable { reset(state); browseMode(state); throw new FormProcessException(new GlobalizedMessage( - "cms.ui.folder.cancelled", - CmsConstants.CMS_FOLDER_BUNDLE)); + "cms.ui.folder.cancelled", + CmsConstants.CMS_FOLDER_BUNDLE)); } } @@ -326,13 +326,13 @@ public class AssetPane extends LayoutPanel implements Resettable { final Label target = (Label) event.getTarget(); final long selectedId = Long.parseLong(selectionModel - .getSelectedKey(state).toString()); + .getSelectedKey(state).toString()); final long currentFolderId = folderSelectionModel - .getSelectedObject(state).getObjectId(); + .getSelectedObject(state).getObjectId(); target.setLabel(String.format( - "selectedId = %d; currentFolderId = %d", - selectedId, - currentFolderId)); + "selectedId = %d; currentFolderId = %d", + selectedId, + currentFolderId)); } }); @@ -345,19 +345,19 @@ public class AssetPane extends LayoutPanel implements Resettable { actionsSegment.add(actions); final FolderCreateForm folderCreateForm = new FolderCreateForm( - "fcreat", folderSelectionModel); + "fcreat", folderSelectionModel); folderCreateForm.addSubmissionListener(new FormSubmissionListener() { @Override public void submitted(final FormSectionEvent event) - throws FormProcessException { + throws FormProcessException { final PageState state = event.getPageState(); if (event.getSource() == folderCreateForm - && folderCreateForm.isCancelled(state)) { + && folderCreateForm.isCancelled(state)) { browseMode(state); throw new FormProcessException(new GlobalizedMessage( - "cms.ui.cancelled", CmsConstants.CMS_BUNDLE)); + "cms.ui.cancelled", CmsConstants.CMS_BUNDLE)); } } @@ -367,7 +367,7 @@ public class AssetPane extends LayoutPanel implements Resettable { @Override public void process(final FormSectionEvent event) - throws FormProcessException { + throws FormProcessException { final PageState state = event.getPageState(); final Object source = event.getSource(); @@ -378,24 +378,24 @@ public class AssetPane extends LayoutPanel implements Resettable { }); newFolderSegment = panel.addSegment( - new Label(new GlobalizedMessage("cms.ui.new_folder", - CmsConstants.CMS_BUNDLE)), - folderCreateForm); + new Label(new GlobalizedMessage("cms.ui.new_folder", + CmsConstants.CMS_BUNDLE)), + folderCreateForm); final FolderEditorForm folderEditorForm = new FolderEditorForm( - "fedit", folderSelectionModel); + "fedit", folderSelectionModel); folderEditorForm.addSubmissionListener(new FormSubmissionListener() { @Override public void submitted(final FormSectionEvent event) - throws FormProcessException { + throws FormProcessException { final PageState state = event.getPageState(); if (event.getSource() == folderEditorForm - && folderEditorForm.isCancelled(state)) { + && folderEditorForm.isCancelled(state)) { browseMode(state); throw new FormProcessException(new GlobalizedMessage( - "cms.ui.cancelled", CmsConstants.CMS_BUNDLE)); + "cms.ui.cancelled", CmsConstants.CMS_BUNDLE)); } } @@ -404,7 +404,7 @@ public class AssetPane extends LayoutPanel implements Resettable { @Override public void process(final FormSectionEvent event) - throws FormProcessException { + throws FormProcessException { final PageState state = event.getPageState(); final Object source = event.getSource(); @@ -415,13 +415,13 @@ public class AssetPane extends LayoutPanel implements Resettable { }); editFolderSegment = panel.addSegment( - new Label(new GlobalizedMessage("cms.ui.edit_folder", - CmsConstants.CMS_BUNDLE)), - folderEditorForm); + new Label(new GlobalizedMessage("cms.ui.edit_folder", + CmsConstants.CMS_BUNDLE)), + folderEditorForm); final ActionLink createFolderAction = new ActionLink( - new Label(new GlobalizedMessage("cms.ui.new_folder", - CmsConstants.CMS_BUNDLE))); + new Label(new GlobalizedMessage("cms.ui.new_folder", + CmsConstants.CMS_BUNDLE))); createFolderAction.addActionListener(new ActionListener() { @Override @@ -437,8 +437,8 @@ public class AssetPane extends LayoutPanel implements Resettable { actions.addAction(createFolderAction); final ActionLink editFolderAction = new ActionLink( - new Label(new GlobalizedMessage("cms.ui.edit_folder", - CmsConstants.CMS_BUNDLE))); + new Label(new GlobalizedMessage("cms.ui.edit_folder", + CmsConstants.CMS_BUNDLE))); editFolderAction.addActionListener(new ActionListener() { @Override @@ -456,9 +456,9 @@ public class AssetPane extends LayoutPanel implements Resettable { final Form newAssetForm = new Form("new-asset-form", new BoxPanel(BoxPanel.HORIZONTAL)); newAssetForm.add(new Label(new GlobalizedMessage( - "cms.ui.assets.new", CmsConstants.CMS_BUNDLE))); + "cms.ui.assets.new", CmsConstants.CMS_BUNDLE))); final SingleSelect newAssetTypeSelect = new SingleSelect( - selectedAssetTypeParam); + selectedAssetTypeParam); try { newAssetTypeSelect.addPrintListener(new PrintListener() { @@ -466,19 +466,19 @@ public class AssetPane extends LayoutPanel implements Resettable { public void prepare(final PrintEvent event) { final CdiUtil cdiUtil = CdiUtil.createCdiUtil(); final AssetTypesManager typesManager = cdiUtil - .findBean(AssetTypesManager.class); + .findBean(AssetTypesManager.class); final SingleSelect target = (SingleSelect) event.getTarget(); target.clearOptions(); for (final AssetTypeInfo type : typesManager - .getAvailableAssetTypes()) { + .getAvailableAssetTypes()) { final String labelKey = type.getLabelKey(); final String labelBundle = type.getLabelBundle(); final ResourceBundle bundle = ResourceBundle - .getBundle(labelBundle); + .getBundle(labelBundle); final String label = bundle.getString(labelKey); target.addOption(new Option( - type.getAssetClass().getName(), - new Text(label))); + type.getAssetClass().getName(), + new Text(label))); } } @@ -488,12 +488,12 @@ public class AssetPane extends LayoutPanel implements Resettable { } newAssetForm.add(newAssetTypeSelect); newAssetForm.add(new Submit(new GlobalizedMessage( - "cms.ui.assets.new.create", CmsConstants.CMS_BUNDLE))); + "cms.ui.assets.new.create", CmsConstants.CMS_BUNDLE))); newAssetForm.addProcessListener(new FormProcessListener() { @Override public void process(final FormSectionEvent event) - throws FormProcessException { + throws FormProcessException { editAssetMode(event.getPageState()); } @@ -502,13 +502,14 @@ public class AssetPane extends LayoutPanel implements Resettable { actionsSegment.add(newAssetForm); final MetaForm editAssetForm = new MetaForm("editAsset") { + @Override public Form buildForm(final PageState state) { final boolean newAsset; final Long selectedAssetId = selectedAssetModel - .getSelectedKey(state); + .getSelectedKey(state); newAsset = selectedAssetId == null; final CdiUtil cdiUtil = CdiUtil.createCdiUtil(); @@ -516,64 +517,82 @@ public class AssetPane extends LayoutPanel implements Resettable { final String selectedAssetType; if (newAsset) { selectedAssetType = (String) newAssetTypeSelect - .getValue(state); + .getValue(state); } else { final AssetRepository assetRepo = cdiUtil - .findBean(AssetRepository.class); + .findBean(AssetRepository.class); final Asset asset = assetRepo.findById(selectedAssetModel - .getSelectedKey(state)) - .orElseThrow(() -> new IllegalArgumentException( - String.format("No asset with ID %d in the " - + "database.", - selectedAssetModel - .getSelectedKey(state)))); + .getSelectedKey(state)) + .orElseThrow(() -> new IllegalArgumentException( + String.format("No asset with ID %d in the " + + "database.", + selectedAssetModel + .getSelectedKey(state)))); selectedAssetType = asset.getClass().getName(); } final AssetTypesManager typesManager = cdiUtil - .findBean(AssetTypesManager.class); + .findBean(AssetTypesManager.class); final AssetTypeInfo typeInfo = typesManager - .getAssetTypeInfo(selectedAssetType); + .getAssetTypeInfo(selectedAssetType); final Class assetForm = typeInfo - .getAssetForm(); + .getAssetForm(); try { return assetForm - .getConstructor(AssetPane.class) - .newInstance(AssetPane.this); + .getConstructor(AssetPane.class) + .newInstance(AssetPane.this); } catch (NoSuchMethodException - | SecurityException - | InstantiationException - | IllegalAccessException - | InvocationTargetException ex) { + | SecurityException + | InstantiationException + | IllegalAccessException + | InvocationTargetException ex) { throw new UnexpectedErrorException(String.format( - "Failed to create form '%s' for editing assets " - + "of type '%s'.", - assetForm.getName(), - selectedAssetType)); + "Failed to create form '%s' for editing assets " + + "of type '%s'.", + assetForm.getName(), + selectedAssetType)); } } + }; editAssetSegment = panel.addSegment(); editAssetSegment.addHeader( - new Label(new PrintListener() { - @Override - public void prepare(final PrintEvent event) { + new Label(new PrintListener() { - final PageState state = event.getPageState(); - final Label target = (Label) event.getTarget(); + @Override + public void prepare(final PrintEvent event) { - if (selectedAssetModel.isSelected(state)) { - target.setLabel(new GlobalizedMessage( - "cms.ui.admin.assets.edit", - CmsConstants.CMS_BUNDLE)); - } else { - target.setLabel(new GlobalizedMessage( - "cms.ui.admin.assets.create", - CmsConstants.CMS_BUNDLE)); - } + final PageState state = event.getPageState(); + final Label target = (Label) event.getTarget(); + + final CdiUtil cdiUtil = CdiUtil.createCdiUtil(); + final AssetTypesManager typesManager = cdiUtil + .findBean(AssetTypesManager.class); + + if (selectedAssetModel.isSelected(state)) { + target.setLabel( + new GlobalizedMessage( + "cms.ui.admin.assets.edit", + CmsConstants.CMS_BUNDLE)); + } else { + final String assetType = (String) newAssetTypeSelect + .getValue(state); + final AssetTypeInfo typeInfo = typesManager + .getAssetTypeInfo(assetType); + final ResourceBundle bundle = ResourceBundle.getBundle( + typeInfo.getLabelBundle()); + final String typeLabel = bundle + .getString(typeInfo.getLabelKey()); + + target.setLabel(new GlobalizedMessage( + "cms.ui.admin.assets.create", + CmsConstants.CMS_BUNDLE, + new Object[]{typeLabel})); } - })); + } + + })); editAssetSegment.add(editAssetForm); return panel; @@ -710,7 +729,7 @@ public class AssetPane extends LayoutPanel implements Resettable { final CdiUtil cdiUtil = CdiUtil.createCdiUtil(); final AssetFolderBrowserController controller = cdiUtil.findBean( - AssetFolderBrowserController.class); + AssetFolderBrowserController.class); controller.moveObjects(target, objectIds); } @@ -719,7 +738,7 @@ public class AssetPane extends LayoutPanel implements Resettable { final CdiUtil cdiUtil = CdiUtil.createCdiUtil(); final AssetFolderBrowserController controller = cdiUtil.findBean( - AssetFolderBrowserController.class); + AssetFolderBrowserController.class); controller.copyObjects(target, objectIds); } @@ -734,14 +753,14 @@ public class AssetPane extends LayoutPanel implements Resettable { if (!selectionModel.isSelected(state)) { final String folder = state - .getRequest() - .getParameter(SET_FOLDER); + .getRequest() + .getParameter(SET_FOLDER); if (folder == null) { final Category root = CMS - .getContext() - .getContentSection() - .getRootAssetsFolder(); + .getContext() + .getContentSection() + .getRootAssetsFolder(); final Long folderId = root.getObjectId(); selectionModel.setSelectedKey(state, folderId); @@ -761,18 +780,18 @@ public class AssetPane extends LayoutPanel implements Resettable { final PageState state = event.getPageState(); final Category root = CMS - .getContext() - .getContentSection() - .getRootAssetsFolder(); + .getContext() + .getContentSection() + .getRootAssetsFolder(); if (!root.equals(folderRequestLocal.getFolder(state))) { // Expand the ancestor nodes of the currently // selected node. final CdiUtil cdiUtil = CdiUtil.createCdiUtil(); final FolderTreeModelController controller = cdiUtil.findBean( - FolderTreeModelController.class); + FolderTreeModelController.class); final List ancestorIds = controller.findAncestorIds( - folderRequestLocal.getFolder(state)); + folderRequestLocal.getFolder(state)); ancestorIds.forEach(id -> tree.expand(id.toString(), state)); } @@ -794,8 +813,8 @@ public class AssetPane extends LayoutPanel implements Resettable { @Override protected Long getRootFolderID(final PageState state) { final ContentSection section = CMS - .getContext() - .getContentSection(); + .getContext() + .getContentSection(); return section.getRootAssetsFolder().getObjectId(); } @@ -813,37 +832,37 @@ public class AssetPane extends LayoutPanel implements Resettable { final Label label = (Label) event.getTarget(); final int numberOfItems = getSources(state).length; final Category folder = (Category) folderSelectionModel - .getSelectedObject(state); + .getSelectedObject(state); final CdiUtil cdiUtil = CdiUtil.createCdiUtil(); final CategoryManager categoryManager = cdiUtil - .findBean(CategoryManager.class); + .findBean(CategoryManager.class); final String targetFolderPath; if (targetFolderModel.getSelectedObject(state) == null) { targetFolderPath = ""; } else { targetFolderPath = categoryManager.getCategoryPath( - targetFolderModel.getSelectedObject(state)); + targetFolderModel.getSelectedObject(state)); } if (isMove(state)) { label.setLabel(new GlobalizedMessage( - "cms.ui.folder.move", - CmsConstants.CMS_FOLDER_BUNDLE, - new Object[]{ - numberOfItems, - categoryManager.getCategoryPath(folder), - targetFolderPath - })); + "cms.ui.folder.move", + CmsConstants.CMS_FOLDER_BUNDLE, + new Object[]{ + numberOfItems, + categoryManager.getCategoryPath(folder), + targetFolderPath + })); } else if (isCopy(state)) { label.setLabel(new GlobalizedMessage( - "cms.ui.folder.copy", - CMS_BUNDLE, - new Object[]{ - numberOfItems, - categoryManager.getCategoryPath(folder), - targetFolderPath - })); + "cms.ui.folder.copy", + CMS_BUNDLE, + new Object[]{ + numberOfItems, + categoryManager.getCategoryPath(folder), + targetFolderPath + })); } } @@ -872,18 +891,18 @@ public class AssetPane extends LayoutPanel implements Resettable { if (folder != null) { final CdiUtil cdiUtil = CdiUtil.createCdiUtil(); final FolderManager folderManager = cdiUtil.findBean( - FolderManager.class); + FolderManager.class); if (!folderManager.getParentFolder(folder).isPresent()) { folderTree.expand(Long.toString(folder.getObjectId()), state); } else { final List parents = folderManager - .getParentFolders(folder); + .getParentFolders(folder); parents - .stream() - .map(parent -> Long.toString(parent.getObjectId())) - .forEach(folderId -> folderTree.expand(folderId, - state)); + .stream() + .map(parent -> Long.toString(parent.getObjectId())) + .forEach(folderId -> folderTree.expand(folderId, + state)); } } } @@ -908,7 +927,7 @@ public class AssetPane extends LayoutPanel implements Resettable { private class FolderTreeCellRenderer implements TreeCellRenderer { private final RequestLocal invalidFoldersRequestLocal - = new RequestLocal(); + = new RequestLocal(); /** * Render the folders appropriately. The selected folder is a bold @@ -932,18 +951,18 @@ public class AssetPane extends LayoutPanel implements Resettable { if (invalidFoldersRequestLocal.get(state) == null) { final CdiUtil cdiUtil = CdiUtil.createCdiUtil(); final AssetFolderBrowserController controller = cdiUtil - .findBean(AssetFolderBrowserController.class); + .findBean(AssetFolderBrowserController.class); invalidFolders = controller.createInvalidTargetsList( - Arrays.asList(getSources(state))); + Arrays.asList(getSources(state))); invalidFoldersRequestLocal.set(state, invalidFolders); } else { invalidFolders = (List) invalidFoldersRequestLocal - .get(state); + .get(state); } final Label label = new Label(value.toString()); if (invalidFolders.contains(String.format( - FOLDER_BROWSER_KEY_PREFIX_FOLDER + "%s", key))) { + FOLDER_BROWSER_KEY_PREFIX_FOLDER + "%s", key))) { return label; } @@ -959,11 +978,11 @@ public class AssetPane extends LayoutPanel implements Resettable { } private class TargetSelectorValidationListener - implements FormValidationListener { + implements FormValidationListener { @Override public void validate(final FormSectionEvent event) - throws FormProcessException { + throws FormProcessException { final PageState state = event.getPageState(); @@ -975,24 +994,24 @@ public class AssetPane extends LayoutPanel implements Resettable { final FormData data = event.getFormData(); if (target == null) { data.addError(new GlobalizedMessage( - "cms.ui.folder.need_select_target_folder", - CmsConstants.CMS_FOLDER_BUNDLE)); + "cms.ui.folder.need_select_target_folder", + CmsConstants.CMS_FOLDER_BUNDLE)); //If the target is null, we can skip the rest of the checks return; } if (target.equals(folderSelectionModel.getSelectedObject(state))) { data.addError(new GlobalizedMessage( - "cms.ui.folder.not_within_same_folder", - CmsConstants.CMS_FOLDER_BUNDLE)); + "cms.ui.folder.not_within_same_folder", + CmsConstants.CMS_FOLDER_BUNDLE)); } // check create item permission final CdiUtil cdiUtil = CdiUtil.createCdiUtil(); final PermissionChecker permissionChecker = cdiUtil.findBean( - PermissionChecker.class); + PermissionChecker.class); if (!permissionChecker.isPermitted( - ItemPrivileges.CREATE_NEW, target)) { + ItemPrivileges.CREATE_NEW, target)) { data.addError("cms.ui.folder.no_permission_for_item", CmsConstants.CMS_FOLDER_BUNDLE); } @@ -1013,34 +1032,34 @@ public class AssetPane extends LayoutPanel implements Resettable { final CdiUtil cdiUtil = CdiUtil.createCdiUtil(); final FolderRepository folderRepo = cdiUtil - .findBean(FolderRepository.class); + .findBean(FolderRepository.class); final AssetRepository assetRepo = cdiUtil - .findBean(AssetRepository.class); + .findBean(AssetRepository.class); final AssetManager assetManager = cdiUtil - .findBean(AssetManager.class); + .findBean(AssetManager.class); final AssetFolderBrowserController controller = cdiUtil - .findBean(AssetFolderBrowserController.class); + .findBean(AssetFolderBrowserController.class); final FolderManager folderManager = cdiUtil - .findBean(FolderManager.class); + .findBean(FolderManager.class); final PermissionChecker permissionChecker = cdiUtil.findBean( - PermissionChecker.class); + PermissionChecker.class); final CcmObject object; final String name; if (objectId.startsWith(FOLDER_BROWSER_KEY_PREFIX_FOLDER)) { final long folderId = Long.parseLong(objectId.substring( - FOLDER_BROWSER_KEY_PREFIX_FOLDER.length())); + FOLDER_BROWSER_KEY_PREFIX_FOLDER.length())); final Folder folder = folderRepo.findById(folderId).orElseThrow( - () -> new IllegalArgumentException(String.format( - "No folder with id %d in database.", folderId))); + () -> new IllegalArgumentException(String.format( + "No folder with id %d in database.", folderId))); name = folder.getName(); //Check if folder or subfolder contains in use assets if (isMove(state)) { final FolderManager.FolderIsMovable movable = folderManager - .folderIsMovable(folder, target); + .folderIsMovable(folder, target); switch (movable) { case DIFFERENT_SECTIONS: addErrorMessage(data, @@ -1072,23 +1091,23 @@ public class AssetPane extends LayoutPanel implements Resettable { break; default: throw new UnexpectedErrorException(String.format( - "Unknown state '%s' for '%s'.", - movable, - FolderManager.FolderIsMovable.class. - getName())); + "Unknown state '%s' for '%s'.", + movable, + FolderManager.FolderIsMovable.class. + getName())); } } object = folder; } else if (objectId.startsWith(FOLDER_BROWSER_KEY_PREFIX_ASSET)) { final long assetId = Long.parseLong(objectId.substring( - FOLDER_BROWSER_KEY_PREFIX_ASSET.length())); + FOLDER_BROWSER_KEY_PREFIX_ASSET.length())); final Asset asset = assetRepo - .findById(assetId) - .orElseThrow(() -> new IllegalArgumentException( - String.format( - "No asset with id %d in the database.", - assetId))); + .findById(assetId) + .orElseThrow(() -> new IllegalArgumentException( + String.format( + "No asset with id %d in the database.", + assetId))); name = asset.getDisplayName(); @@ -1099,11 +1118,11 @@ public class AssetPane extends LayoutPanel implements Resettable { object = asset; } else { throw new IllegalArgumentException(String.format( - "Provided objectId '%s' does not start with '%s' " - + "or '%s'.", - objectId, - FOLDER_BROWSER_KEY_PREFIX_FOLDER, - FOLDER_BROWSER_KEY_PREFIX_ASSET)); + "Provided objectId '%s' does not start with '%s' " + + "or '%s'.", + objectId, + FOLDER_BROWSER_KEY_PREFIX_FOLDER, + FOLDER_BROWSER_KEY_PREFIX_ASSET)); } final long count = controller.countObjects(target, name); @@ -1115,7 +1134,7 @@ public class AssetPane extends LayoutPanel implements Resettable { if (!(permissionChecker.isPermitted( ItemPrivileges.DELETE, object)) - && isMove(state)) { + && isMove(state)) { addErrorMessage(data, "cms.ui.folder.no_permission_for_item", object.getDisplayName()); @@ -1142,8 +1161,8 @@ public class AssetPane extends LayoutPanel implements Resettable { @Override protected Folder getRootFolder(final PageState state) { final ContentSection section = CMS - .getContext() - .getContentSection(); + .getContext() + .getContentSection(); return section.getRootAssetsFolder(); } @@ -1157,9 +1176,9 @@ public class AssetPane extends LayoutPanel implements Resettable { if (key instanceof String) { final Long keyAsLong; if (((String) key).startsWith( - FOLDER_BROWSER_KEY_PREFIX_FOLDER)) { + FOLDER_BROWSER_KEY_PREFIX_FOLDER)) { keyAsLong = Long.parseLong(((String) key).substring( - FOLDER_BROWSER_KEY_PREFIX_FOLDER.length())); + FOLDER_BROWSER_KEY_PREFIX_FOLDER.length())); } else { keyAsLong = Long.parseLong((String) key); } diff --git a/ccm-cms/src/main/java/com/arsdigita/cms/ui/assets/forms/LegalMetadataForm.java b/ccm-cms/src/main/java/com/arsdigita/cms/ui/assets/forms/LegalMetadataForm.java index 294179e37..b47b1be6b 100644 --- a/ccm-cms/src/main/java/com/arsdigita/cms/ui/assets/forms/LegalMetadataForm.java +++ b/ccm-cms/src/main/java/com/arsdigita/cms/ui/assets/forms/LegalMetadataForm.java @@ -22,18 +22,14 @@ import com.arsdigita.bebop.FormProcessException; import com.arsdigita.bebop.Label; import com.arsdigita.bebop.PageState; import com.arsdigita.bebop.form.TextArea; -import com.arsdigita.bebop.form.TextField; import com.arsdigita.cms.ui.assets.AssetForm; import com.arsdigita.cms.ui.assets.AssetPane; import com.arsdigita.globalization.GlobalizedMessage; -import com.arsdigita.kernel.KernelConfig; import org.librecms.CmsConstants; -import org.librecms.assets.Bookmark; import org.librecms.assets.LegalMetadata; import org.librecms.contentsection.Asset; -import java.util.Locale; import java.util.Objects; import java.util.Optional; diff --git a/ccm-cms/src/main/resources/org/librecms/CmsResources.properties b/ccm-cms/src/main/resources/org/librecms/CmsResources.properties index 8c28191a6..9294f987b 100644 --- a/ccm-cms/src/main/resources/org/librecms/CmsResources.properties +++ b/ccm-cms/src/main/resources/org/librecms/CmsResources.properties @@ -249,6 +249,15 @@ cms.ui.folder.no_assets=No assets cms.ui.assets.new=Create new asset cms.ui.assets.new.create=Create asset cms.ui.asset.title=Title -cms.ui.admin.assets.create=Create new asset +cms.ui.admin.assets.create=Create new asset of type '{0}' cms.ui.assets.bookmark.description=Description cms.ui.assets.bookmark.url=URL +cms.ui.assets.bookmark.url.malformed=The provided URL is malformed. +cms.ui.assets.legalmetadata.rightsholder=Rights holder +cms.ui.assets.legalmetadata.rights=Rights +cms.ui.assets.legalmetadata.publisher=Publisher +cms.ui.assets.legalmetadata.creator=Creator +cms.ui.asset.show_locale=Show data for language +cms.ui.asset.initial_locale=Language +cms.ui.asset.add_locale=Add data for language +cms.ui.admin.assets.edit=Edit asset diff --git a/ccm-cms/src/main/resources/org/librecms/CmsResources_de.properties b/ccm-cms/src/main/resources/org/librecms/CmsResources_de.properties index b9eb95e88..a7a8418db 100644 --- a/ccm-cms/src/main/resources/org/librecms/CmsResources_de.properties +++ b/ccm-cms/src/main/resources/org/librecms/CmsResources_de.properties @@ -248,6 +248,15 @@ cms.ui.folder.no_assets=Keine Medien oder Datens\u00e4tze vorhanden cms.ui.assets.new=Neues Asset anlegen cms.ui.assets.new.create=Asset anlegen cms.ui.asset.title=Titel -cms.ui.admin.assets.create=Neues Asset anlegen +cms.ui.admin.assets.create=Neues Asset vom Typ '{0}' anlegen cms.ui.assets.bookmark.description=Beschreibung cms.ui.assets.bookmark.url=URL +cms.ui.assets.bookmark.url.malformed=Die angegebene URL ist nicht wohlgeformt. +cms.ui.assets.legalmetadata.rightsholder=Rechteinhaber +cms.ui.assets.legalmetadata.rights=Rechte +cms.ui.assets.legalmetadata.publisher=Publisher +cms.ui.assets.legalmetadata.creator=K\u00fcnstler +cms.ui.asset.show_locale=Zeige Daten f\u00fcr Sprache +cms.ui.asset.initial_locale=Sprache +cms.ui.asset.add_locale=Daten f\u00fcr folgende Sprache hinzuf\u00fcgen +cms.ui.admin.assets.edit=Asset bearbeiten diff --git a/ccm-cms/src/main/resources/org/librecms/CmsResources_fr.properties b/ccm-cms/src/main/resources/org/librecms/CmsResources_fr.properties index 4d6ac5875..5cc9e3dff 100644 --- a/ccm-cms/src/main/resources/org/librecms/CmsResources_fr.properties +++ b/ccm-cms/src/main/resources/org/librecms/CmsResources_fr.properties @@ -207,6 +207,15 @@ cms.ui.folder.no_assets=No assets cms.ui.assets.new=Create new asset cms.ui.assets.new.create=Create asset cms.ui.asset.title=Title -cms.ui.admin.assets.create=Create new asset +cms.ui.admin.assets.create=Create new asset of type '{0}' cms.ui.assets.bookmark.description=Description cms.ui.assets.bookmark.url=URL +cms.ui.assets.bookmark.url.malformed=The provided URL is malformed. +cms.ui.assets.legalmetadata.rightsholder=Right holder +cms.ui.assets.legalmetadata.rights=Rights +cms.ui.assets.legalmetadata.publisher=Publisher +cms.ui.assets.legalmetadata.creator=Creator +cms.ui.asset.show_locale=Show data for language +cms.ui.asset.initial_locale=Language +cms.ui.asset.add_locale=Add data for language +cms.ui.admin.assets.edit=Edit asset