diff --git a/ccm-cms/src/main/java/com/arsdigita/cms/ui/pages/PageModelAdminPageController.java b/ccm-cms/src/main/java/com/arsdigita/cms/ui/pages/PageModelAdminPageController.java
new file mode 100644
index 000000000..ca58c393e
--- /dev/null
+++ b/ccm-cms/src/main/java/com/arsdigita/cms/ui/pages/PageModelAdminPageController.java
@@ -0,0 +1,51 @@
+/*
+ * To change this license header, choose License Headers in Project Properties.
+ * To change this template file, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package com.arsdigita.cms.ui.pages;
+
+import org.libreccm.l10n.GlobalizationHelper;
+import org.libreccm.pagemodel.PageModel;
+import org.libreccm.pagemodel.PageModelRepository;
+import org.librecms.pages.Pages;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.enterprise.context.RequestScoped;
+import javax.inject.Inject;
+import javax.transaction.Transactional;
+
+/**
+ *
+ * @author Jens Pelzetter
+ */
+@RequestScoped
+public class PageModelAdminPageController {
+
+ @Inject
+ private GlobalizationHelper globalizationHelper;
+
+ @Inject
+ private PageModelRepository pageModelRepository;
+
+ @Transactional(Transactional.TxType.REQUIRED)
+ public Map findDraftPageModelsByApplication(
+ final Pages pages
+ ) {
+ final List pageModels = pageModelRepository
+ .findDraftByApplication(pages);
+ final Map result = new HashMap<>();
+ for (final PageModel pageModel : pageModels) {
+ result.put("pageModelId", pageModel.getPageModelId());
+ final String title = globalizationHelper
+ .getValueFromLocalizedString(pageModel.getTitle());
+ result.put("title", title);
+ }
+
+ return result;
+ }
+
+}
diff --git a/ccm-cms/src/main/java/com/arsdigita/cms/ui/pages/PagesAdminPage.java b/ccm-cms/src/main/java/com/arsdigita/cms/ui/pages/PagesAdminPage.java
index 68de2aa86..2bccfc5c0 100644
--- a/ccm-cms/src/main/java/com/arsdigita/cms/ui/pages/PagesAdminPage.java
+++ b/ccm-cms/src/main/java/com/arsdigita/cms/ui/pages/PagesAdminPage.java
@@ -50,7 +50,6 @@ import org.libreccm.categorization.Category;
import org.libreccm.categorization.CategoryRepository;
import org.libreccm.cdi.utils.CdiUtil;
import org.libreccm.core.UnexpectedErrorException;
-import org.libreccm.l10n.GlobalizationHelper;
import org.libreccm.pagemodel.PageModel;
import org.libreccm.pagemodel.PageModelRepository;
import org.librecms.CmsConstants;
@@ -58,7 +57,7 @@ import org.librecms.pages.PageManager;
import org.librecms.pages.PageRepository;
import org.librecms.pages.Pages;
-import java.util.List;
+import java.util.Map;
import java.util.Optional;
import java.util.TooManyListenersException;
@@ -163,7 +162,7 @@ public class PagesAdminPage extends CMSApplicationPage {
pagesContextBar = new PagesContextBar();
super.add(pagesContextBar);
-
+
final TabbedPane tabbedPane = new TabbedPane();
tabbedPane.addTab(new Label(new GlobalizedMessage(
"cms.ui.pages.tab.pages", CmsConstants.CMS_BUNDLE)),
@@ -261,22 +260,31 @@ public class PagesAdminPage extends CMSApplicationPage {
"cms.ui.pages.assigned_page_model.inherit",
CmsConstants.CMS_BUNDLE))));
- final CdiUtil cdiUtil = CdiUtil.createCdiUtil();
- final PageModelRepository pageModelRepo = cdiUtil
- .findBean(PageModelRepository.class);
- final List pageModels = pageModelRepo
- .findDraftByApplication(pagesInstance);
- final GlobalizationHelper globalizationHelper = cdiUtil
- .findBean(GlobalizationHelper.class);
-
- for (final PageModel pageModel : pageModels) {
- target.addOption(new Option(
- Long.toString(pageModel.getPageModelId()),
- new Text(globalizationHelper.getValueFromLocalizedString(
- pageModel
- .getTitle()))));
- }
-
+// final CdiUtil cdiUtil = CdiUtil.createCdiUtil();
+// final PageModelRepository pageModelRepo = cdiUtil.findBean(
+// PageModelRepository.class
+// );
+// final List pageModels = pageModelRepo
+// .findDraftByApplication(pagesInstance);
+// final GlobalizationHelper globalizationHelper = cdiUtil
+// .findBean(GlobalizationHelper.class);
+// for (final PageModel pageModel : pageModels) {
+// target.addOption(
+// new Option(
+// Long.toString(pageModel.getPageModelId()),
+// new Text(
+// globalizationHelper.getValueFromLocalizedString(
+// pageModel.getTitle()
+// )
+// )
+// )
+// );
+// }
+ final PageModelAdminPageController controller = CdiUtil.createCdiUtil()
+ .findBean(PageModelAdminPageController.class);
+ final Map options = controller
+ .findDraftPageModelsByApplication(pagesInstance);
+ for (final Map.Entry container = new HashMap<>();
container.put("key", containerModel.getKey());
- container.put("styles", containerModel.getStyles().toCss());
+ if (containerModel.getStyles() != null) {
+ container.put("styles", containerModel.getStyles().toCss());
+ }
for (final ComponentModel componentModel : containerModel
.getComponents()) {