Missing piece of PagesController

pull/10/head
Jens Pelzetter 2021-11-15 18:41:35 +01:00
parent 27b18d8888
commit 36b60b8844
1 changed files with 26 additions and 14 deletions

View File

@ -40,7 +40,6 @@ import org.librecms.pages.models.ContentItemModel;
import org.librecms.pages.models.SiteInfoModel; import org.librecms.pages.models.SiteInfoModel;
import java.net.URI; import java.net.URI;
import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
import java.util.HashSet; import java.util.HashSet;
import java.util.List; import java.util.List;
@ -48,7 +47,6 @@ import java.util.Locale;
import java.util.Objects; import java.util.Objects;
import java.util.Optional; import java.util.Optional;
import java.util.Set; import java.util.Set;
import java.util.StringJoiner;
import java.util.function.Predicate; import java.util.function.Predicate;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -338,7 +336,6 @@ public class PagesController {
final Pages pages = getPages(domain); final Pages pages = getPages(domain);
final Category category = getCategory(domain, pages, "/"); final Category category = getCategory(domain, pages, "/");
final Page page = pageManager.findPageForCategory(category); final Page page = pageManager.findPageForCategory(category);
page.getDisplayName();
return themesMvc.getMvcTemplate( return themesMvc.getMvcTemplate(
uriInfo, "pages", page.getDisplayName() uriInfo, "pages", page.getDisplayName()
); );
@ -373,8 +370,6 @@ public class PagesController {
@DefaultValue("") @DefaultValue("")
final String preview final String preview
) { ) {
// ToDo Check!!!
final String domain = uriInfo.getBaseUri().getHost(); final String domain = uriInfo.getBaseUri().getHost();
final Pages pages = getPages(domain); final Pages pages = getPages(domain);
final Category category = getCategory(domain, pages, page); final Category category = getCategory(domain, pages, page);
@ -388,7 +383,10 @@ public class PagesController {
); );
} else { } else {
final String itemPath = String.format( final String itemPath = String.format(
"%s.%s.html", itemName, language "%s.%s.html%s",
itemName,
language,
buildQueryParamsStr(preview, theme)
); );
redirectTo = uriInfo.getPath().replace(itemName, itemPath); redirectTo = uriInfo.getPath().replace(itemName, itemPath);
} }
@ -405,6 +403,8 @@ public class PagesController {
* @param uriInfo * @param uriInfo
* @param page * @param page
* @param itemName * @param itemName
* @param theme
* @param preview
* *
* @return * @return
*/ */
@ -433,11 +433,17 @@ public class PagesController {
final String redirectTo; final String redirectTo;
if (uriInfo.getPath().endsWith("/")) { if (uriInfo.getPath().endsWith("/")) {
redirectTo = String.format( redirectTo = String.format(
"%sindex.%s.html", uriInfo.getPath(), language "%sindex.%s.html%s",
uriInfo.getPath(),
language,
buildQueryParamsStr(preview, theme)
); );
} else { } else {
final String itemPath = String.format( final String itemPath = String.format(
"%s.%s.html", itemName, language "%s.%s.html%s",
itemName,
language,
buildQueryParamsStr(preview, theme)
); );
redirectTo = uriInfo.getPath().replace(itemName, itemPath); redirectTo = uriInfo.getPath().replace(itemName, itemPath);
} }
@ -451,7 +457,7 @@ public class PagesController {
* associated with the category and identified by {@code itemName}. * associated with the category and identified by {@code itemName}.
* *
* @param uriInfo * @param uriInfo
* @param page * @param pagePath
* @param itemName * @param itemName
* @param language * @param language
* @param theme * @param theme
@ -460,14 +466,14 @@ public class PagesController {
* @return * @return
*/ */
@GET @GET
@Path("/{page:[\\w\\-/]+}/{name:[\\w\\-]+}.{lang:\\w+}.html") @Path("/{pagePath:[\\w\\-/]+}/{name:[\\w\\-]+}.{lang:\\w+}.html")
@Produces("text/html") @Produces("text/html")
@Transactional(Transactional.TxType.REQUIRED) @Transactional(Transactional.TxType.REQUIRED)
public String getPageAsHtml( public String getPageAsHtml(
@Context @Context
final UriInfo uriInfo, final UriInfo uriInfo,
@PathParam("page") @PathParam("pagePath")
final String page, final String pagePath,
@PathParam("name") @PathParam("name")
final String itemName, final String itemName,
@PathParam("lang") @PathParam("lang")
@ -480,11 +486,17 @@ public class PagesController {
final String preview final String preview
) { ) {
final Versions versions = generateFromPreviewParam(preview); final Versions versions = generateFromPreviewParam(preview);
contentItemModel.setItemName(itemName); contentItemModel.setItemName(itemName);
contentItemModel.setItemVersion(versions.getContentItemVersion()); contentItemModel.setItemVersion(versions.getContentItemVersion());
final Site site = getSite(uriInfo); final String domain = uriInfo.getBaseUri().getHost();
return themesMvc.getMvcTemplate(uriInfo, "pages", "page"); final Pages pages = getPages(domain);
final Category category = getCategory(domain, pages, pagePath);
final Page page = pageManager.findPageForCategory(category);
return themesMvc.getMvcTemplate(
uriInfo, "pages", page.getDisplayName()
);
} }
private Site getSite(final UriInfo uriInfo) { private Site getSite(final UriInfo uriInfo) {