diff --git a/ccm-cms/src/main/java/org/librecms/ui/contentsections/documents/AbstractMvcDocumentCreateStep.java b/ccm-cms/src/main/java/org/librecms/ui/contentsections/documents/AbstractMvcDocumentCreateStep.java index 3d9c147ed..e8fbd07fd 100644 --- a/ccm-cms/src/main/java/org/librecms/ui/contentsections/documents/AbstractMvcDocumentCreateStep.java +++ b/ccm-cms/src/main/java/org/librecms/ui/contentsections/documents/AbstractMvcDocumentCreateStep.java @@ -18,20 +18,16 @@ */ package org.librecms.ui.contentsections.documents; -import org.libreccm.api.IdentifierParser; import org.libreccm.l10n.GlobalizationHelper; import org.libreccm.l10n.LocalizedString; import org.librecms.contentsection.ContentItem; import org.librecms.contentsection.ContentSection; -import org.librecms.contentsection.ContentSectionRepository; import org.librecms.contentsection.Folder; import org.librecms.contentsection.FolderManager; -import org.librecms.contentsection.FolderRepository; import java.util.Collections; import java.util.LinkedHashMap; import java.util.Map; -import java.util.NavigableMap; import java.util.SortedMap; import java.util.TreeMap; import java.util.stream.Collectors; diff --git a/ccm-cms/src/main/java/org/librecms/ui/contentsections/documents/DocumentController.java b/ccm-cms/src/main/java/org/librecms/ui/contentsections/documents/DocumentController.java index 09d5fd63f..8f253abab 100644 --- a/ccm-cms/src/main/java/org/librecms/ui/contentsections/documents/DocumentController.java +++ b/ccm-cms/src/main/java/org/librecms/ui/contentsections/documents/DocumentController.java @@ -51,6 +51,7 @@ import javax.enterprise.util.AnnotationLiteral; import javax.inject.Inject; import javax.mvc.Controller; import javax.mvc.Models; +import javax.servlet.http.HttpServletRequest; import javax.transaction.Transactional; import javax.ws.rs.Consumes; import javax.ws.rs.DefaultValue; @@ -59,9 +60,8 @@ import javax.ws.rs.GET; import javax.ws.rs.POST; import javax.ws.rs.Path; import javax.ws.rs.PathParam; -import javax.ws.rs.core.Form; +import javax.ws.rs.core.Context; import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.MultivaluedMap; /** * Controller for the UI for managing documents ({@link ContentItem}s.) @@ -259,21 +259,19 @@ public class DocumentController { @POST @Path("/@create/{documentType}") - @Consumes(MediaType.APPLICATION_FORM_URLENCODED) @AuthorizationRequired @Transactional(Transactional.TxType.REQUIRED) public String createDocument( @PathParam("sectionIdentifier") final String sectionIdentifier, @PathParam("documentType") final String documentType, - //final MultivaluedMap formParameters - final Form form + @Context final HttpServletRequest request ) { return createDocument( sectionIdentifier, "", documentType, //formParameters - form.asMap() + request ); } @@ -287,7 +285,7 @@ public class DocumentController { @PathParam("sectionIdentifier") final String sectionIdentifier, @PathParam("folderPath") final String folderPath, @PathParam("documentType") final String documentType, - final MultivaluedMap formParameters + @Context final HttpServletRequest request ) { final CreateStepResult result = findCreateStep( sectionIdentifier, @@ -295,7 +293,7 @@ public class DocumentController { ); if (result.isCreateStepAvailable()) { - return result.getCreateStep().createItem(formParameters); + return result.getCreateStep().createItem(request.getParameterMap()); } else { return result.getErrorTemplate(); } diff --git a/ccm-cms/src/main/java/org/librecms/ui/contentsections/documents/MvcDocumentCreateStep.java b/ccm-cms/src/main/java/org/librecms/ui/contentsections/documents/MvcDocumentCreateStep.java index 65b4845b6..87356055b 100644 --- a/ccm-cms/src/main/java/org/librecms/ui/contentsections/documents/MvcDocumentCreateStep.java +++ b/ccm-cms/src/main/java/org/librecms/ui/contentsections/documents/MvcDocumentCreateStep.java @@ -26,7 +26,6 @@ import org.librecms.contentsection.Folder; import java.util.Map; import java.util.ResourceBundle; -import javax.ws.rs.core.MultivaluedMap; /** * A create step for a document/content item. Implementing classes are MUST be @@ -63,7 +62,7 @@ public interface MvcDocumentCreateStep { * * @return A redirect to the first authoring step of the new document. */ - String createItem(MultivaluedMap formParams); + String createItem(Map formParams); /** * Should be set by the implementing class to indicate if the current user diff --git a/ccm-cms/src/main/java/org/librecms/ui/contenttypes/MvcArticleCreateStep.java b/ccm-cms/src/main/java/org/librecms/ui/contenttypes/MvcArticleCreateStep.java index 8d17cbbec..c90979529 100644 --- a/ccm-cms/src/main/java/org/librecms/ui/contenttypes/MvcArticleCreateStep.java +++ b/ccm-cms/src/main/java/org/librecms/ui/contenttypes/MvcArticleCreateStep.java @@ -28,7 +28,9 @@ import org.librecms.contenttypes.Article; import org.librecms.ui.contentsections.documents.AbstractMvcDocumentCreateStep; import org.librecms.ui.contentsections.documents.CreatesDocumentOfType; +import java.util.Arrays; import java.util.Locale; +import java.util.Map; import java.util.Optional; import javax.enterprise.context.RequestScoped; @@ -37,7 +39,6 @@ import javax.inject.Named; import javax.inject.Inject; import javax.mvc.Models; import javax.transaction.Transactional; -import javax.ws.rs.core.MultivaluedMap; /** * Describes the create step for {@link Article}. @@ -56,10 +57,10 @@ public class MvcArticleCreateStep private static final String FORM_PARAM_SUMMARY = "summary"; - private static final String FORM_PARAM_INITIAL_LOCALE = "initialLocale"; + private static final String FORM_PARAM_INITIAL_LOCALE = "locale"; private static final String FORM_PARAM_SELECTED_WORKFLOW - = "selectedWorkflow"; + = "workflow"; /** * Provides functions for working with content items. @@ -175,10 +176,10 @@ public class MvcArticleCreateStep @AuthorizationRequired @Transactional(Transactional.TxType.REQUIRED) @Override - public String createItem(final MultivaluedMap formParams) { + public String createItem(final Map formParams) { if (!formParams.containsKey(FORM_PARAM_NAME) - || formParams.getFirst(FORM_PARAM_NAME) == null - || formParams.getFirst(FORM_PARAM_NAME).isEmpty()) { + || formParams.get(FORM_PARAM_NAME) == null + || formParams.get(FORM_PARAM_NAME).length == 0) { addMessage( "danger", globalizationHelper.getLocalizedTextsUtil( @@ -188,7 +189,7 @@ public class MvcArticleCreateStep return showCreateStep(); } - name = formParams.getFirst(FORM_PARAM_NAME); + name = formParams.get(FORM_PARAM_NAME)[0]; if (!name.matches("^([a-zA-Z0-9_-]*)$")) { addMessage( "danger", @@ -200,8 +201,8 @@ public class MvcArticleCreateStep } if (!formParams.containsKey(FORM_PARAM_TITLE) - || formParams.getFirst(FORM_PARAM_TITLE) == null - || formParams.getFirst(FORM_PARAM_TITLE).isEmpty()) { + || formParams.get(FORM_PARAM_TITLE) == null + || formParams.get(FORM_PARAM_TITLE).length == 0) { addMessage( "danger", globalizationHelper.getLocalizedTextsUtil( @@ -210,11 +211,11 @@ public class MvcArticleCreateStep ); return showCreateStep(); } - title = formParams.getFirst(FORM_PARAM_TITLE); + title = formParams.get(FORM_PARAM_TITLE)[0]; if (!formParams.containsKey(FORM_PARAM_SUMMARY) - || formParams.getFirst(FORM_PARAM_SUMMARY) == null - || formParams.getFirst(FORM_PARAM_SUMMARY).isEmpty()) { + || formParams.get(FORM_PARAM_SUMMARY) == null + || formParams.get(FORM_PARAM_SUMMARY).length == 0) { addMessage( "danger", globalizationHelper.getLocalizedTextsUtil( @@ -223,11 +224,11 @@ public class MvcArticleCreateStep ); return showCreateStep(); } - summary = formParams.getFirst(FORM_PARAM_SUMMARY); + summary = formParams.get(FORM_PARAM_SUMMARY)[0]; if (!formParams.containsKey(FORM_PARAM_INITIAL_LOCALE) - || formParams.getFirst(FORM_PARAM_INITIAL_LOCALE) == null - || formParams.getFirst(FORM_PARAM_INITIAL_LOCALE).isEmpty()) { + || formParams.get(FORM_PARAM_INITIAL_LOCALE) == null + || formParams.get(FORM_PARAM_INITIAL_LOCALE).length == 0) { addMessage( "danger", globalizationHelper.getLocalizedTextsUtil( @@ -237,12 +238,12 @@ public class MvcArticleCreateStep return showCreateStep(); } final Locale locale = new Locale( - formParams.getFirst(FORM_PARAM_INITIAL_LOCALE) + formParams.get(FORM_PARAM_INITIAL_LOCALE)[0] ); if (!formParams.containsKey(FORM_PARAM_SELECTED_WORKFLOW) - || formParams.getFirst(FORM_PARAM_SELECTED_WORKFLOW) == null - || formParams.getFirst(FORM_PARAM_SELECTED_WORKFLOW).isEmpty()) { + || formParams.get(FORM_PARAM_SELECTED_WORKFLOW) == null + || formParams.get(FORM_PARAM_SELECTED_WORKFLOW).length == 0) { addMessage( "danger", globalizationHelper.getLocalizedTextsUtil( @@ -251,7 +252,7 @@ public class MvcArticleCreateStep ); return showCreateStep(); } - selectedWorkflow = formParams.getFirst(FORM_PARAM_SELECTED_WORKFLOW); + selectedWorkflow = formParams.get(FORM_PARAM_SELECTED_WORKFLOW)[0]; final Optional workflowResult = getContentSection() .getWorkflowTemplates() diff --git a/ccm-cms/src/main/resources/WEB-INF/views/org/librecms/ui/contenttypes/article/create-article.xhtml b/ccm-cms/src/main/resources/WEB-INF/views/org/librecms/ui/contenttypes/article/create-article.xhtml index 80d54de34..13d6d1b94 100644 --- a/ccm-cms/src/main/resources/WEB-INF/views/org/librecms/ui/contenttypes/article/create-article.xhtml +++ b/ccm-cms/src/main/resources/WEB-INF/views/org/librecms/ui/contenttypes/article/create-article.xhtml @@ -10,7 +10,7 @@

#{CmsArticleMessageBundle['createform.title']}

-