From f8ef994da09596866ebba1a0a0f5be832c0e82c3 Mon Sep 17 00:00:00 2001 From: Jens Pelzetter Date: Thu, 18 Nov 2021 19:35:05 +0100 Subject: [PATCH] Model for page properties. --- .../org/librecms/pages/PagesController.java | 6 +++ .../pages/models/PagePropertiesModel.java | 46 +++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 ccm-cms/src/main/java/org/librecms/pages/models/PagePropertiesModel.java diff --git a/ccm-cms/src/main/java/org/librecms/pages/PagesController.java b/ccm-cms/src/main/java/org/librecms/pages/PagesController.java index c71a03869..12e8109cc 100644 --- a/ccm-cms/src/main/java/org/librecms/pages/PagesController.java +++ b/ccm-cms/src/main/java/org/librecms/pages/PagesController.java @@ -37,6 +37,7 @@ import org.librecms.contentsection.ContentItemManager; import org.librecms.contentsection.ContentItemVersion; import org.librecms.pages.models.CategoryModel; import org.librecms.pages.models.ContentItemModel; +import org.librecms.pages.models.PagePropertiesModel; import org.librecms.pages.models.SiteInfoModel; import java.net.URI; @@ -191,6 +192,9 @@ public class PagesController { @Inject private PageManager pageManager; + @Inject + private PagePropertiesModel pagePropertiesModel; + @Inject private PagesRepository pagesRepo; @@ -336,6 +340,7 @@ public class PagesController { final Pages pages = getPages(domain); final Category category = getCategory(domain, pages, "/"); final Page page = pageManager.findPageForCategory(category); + pagePropertiesModel.setProperties(page.getProperties()); return themesMvc.getMvcTemplate( uriInfo, "pages", page.getDisplayName() ); @@ -494,6 +499,7 @@ public class PagesController { final Pages pages = getPages(domain); final Category category = getCategory(domain, pages, pagePath); final Page page = pageManager.findPageForCategory(category); + pagePropertiesModel.setProperties(page.getProperties()); return themesMvc.getMvcTemplate( uriInfo, "pages", page.getDisplayName() ); diff --git a/ccm-cms/src/main/java/org/librecms/pages/models/PagePropertiesModel.java b/ccm-cms/src/main/java/org/librecms/pages/models/PagePropertiesModel.java new file mode 100644 index 000000000..c23aeca67 --- /dev/null +++ b/ccm-cms/src/main/java/org/librecms/pages/models/PagePropertiesModel.java @@ -0,0 +1,46 @@ +/* + * Copyright (C) 2021 LibreCCM Foundation. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301 USA + */ +package org.librecms.pages.models; + +import java.util.Collections; +import java.util.HashMap; +import java.util.Map; + +import javax.enterprise.context.RequestScoped; +import javax.inject.Named; + +/** + * + * @author Jens Pelzetter + */ +@RequestScoped +@Named("CmsPagePropertiesModel") +public class PagePropertiesModel { + + private Map properties; + + public Map getProperties() { + return Collections.unmodifiableMap(properties); + } + + public void setProperties(final Map properties) { + this.properties = new HashMap<>(properties); + } + +}