diff --git a/ccm-core/src/main/java/com/arsdigita/ui/admin/applications/ApplicationInstanceTreeCdiUtil.java b/ccm-core/src/main/java/com/arsdigita/ui/admin/applications/ApplicationInstanceTreeCdiUtil.java
new file mode 100644
index 000000000..b1458b506
--- /dev/null
+++ b/ccm-core/src/main/java/com/arsdigita/ui/admin/applications/ApplicationInstanceTreeCdiUtil.java
@@ -0,0 +1,73 @@
+/*
+ * 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.ui.admin.applications;
+
+import com.arsdigita.kernel.KernelConfig;
+
+import org.libreccm.configuration.ConfigurationManager;
+import org.libreccm.l10n.GlobalizationHelper;
+import org.libreccm.web.ApplicationRepository;
+import org.libreccm.web.CcmApplication;
+
+import java.io.Serializable;
+import java.util.Locale;
+
+import javax.enterprise.context.RequestScoped;
+import javax.inject.Inject;
+import javax.transaction.Transactional;
+
+/**
+ *
+ * @author Jens Pelzetter
+ */
+@RequestScoped
+class ApplicationInstanceTreeCdiUtil implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @Inject
+ private ApplicationRepository applicationRepo;
+
+ @Inject
+ private ConfigurationManager confManager;
+
+ @Inject
+ private GlobalizationHelper globalizationHelper;
+
+ @Transactional(Transactional.TxType.REQUIRED)
+ public String getTitle(final CcmApplication ofApplication) {
+ final CcmApplication application = applicationRepo
+ .findById(ofApplication.getObjectId())
+ .orElseThrow(
+ () -> new IllegalArgumentException(
+ String.format(
+ "No CcmApplication with ID %d available.",
+ ofApplication.getObjectId()
+ )
+ )
+ );
+
+ final KernelConfig kernelConfig = confManager.findConfiguration(
+ KernelConfig.class);
+ final Locale defaultLocale = kernelConfig.getDefaultLocale();
+
+ final String title;
+ if (application.getTitle().hasValue(globalizationHelper
+ .getNegotiatedLocale())) {
+ title = application.getTitle().getValue(globalizationHelper
+ .getNegotiatedLocale());
+ } else if (application.getTitle().hasValue(defaultLocale)) {
+ title = application.getTitle().getValue(defaultLocale);
+ } else if (application.getTitle().hasValue(Locale.getDefault())) {
+ title = application.getTitle().getValue(Locale.getDefault());
+ } else {
+ title = application.getPrimaryUrl();
+ }
+
+ return title;
+ }
+
+}
diff --git a/ccm-core/src/main/java/com/arsdigita/ui/admin/applications/ApplicationInstanceTreeNode.java b/ccm-core/src/main/java/com/arsdigita/ui/admin/applications/ApplicationInstanceTreeNode.java
index 683ffe322..93231b444 100644
--- a/ccm-core/src/main/java/com/arsdigita/ui/admin/applications/ApplicationInstanceTreeNode.java
+++ b/ccm-core/src/main/java/com/arsdigita/ui/admin/applications/ApplicationInstanceTreeNode.java
@@ -51,28 +51,31 @@ public class ApplicationInstanceTreeNode implements TreeNode {
@Override
public Object getElement() {
- final GlobalizationHelper globalizationHelper = CdiUtil.createCdiUtil()
- .findBean(GlobalizationHelper.class);
- final ConfigurationManager confManager = CdiUtil.createCdiUtil()
+ final CdiUtil cdiUtil = CdiUtil.createCdiUtil();
+// final GlobalizationHelper globalizationHelper = cdiUtil
+// .findBean(GlobalizationHelper.class);
+ final ConfigurationManager confManager = cdiUtil
.findBean(ConfigurationManager.class);
- final KernelConfig kernelConfig = confManager.findConfiguration(
- KernelConfig.class);
- final Locale defaultLocale = kernelConfig.getDefaultLocale();
+// final KernelConfig kernelConfig = confManager.findConfiguration(
+// KernelConfig.class);
+// final Locale defaultLocale = kernelConfig.getDefaultLocale();
+ final ApplicationInstanceTreeCdiUtil util = cdiUtil
+ .findBean(ApplicationInstanceTreeCdiUtil.class);
- final String title;
- if (application.getTitle().hasValue(globalizationHelper
- .getNegotiatedLocale())) {
- title = application.getTitle().getValue(globalizationHelper
- .getNegotiatedLocale());
- } else if (application.getTitle().hasValue(defaultLocale)) {
- title = application.getTitle().getValue(defaultLocale);
- } else if (application.getTitle().hasValue(Locale.getDefault())) {
- title = application.getTitle().getValue(Locale.getDefault());
- } else {
- title = application.getPrimaryUrl();
- }
-
- return title;
+// final String title;
+// if (application.getTitle().hasValue(globalizationHelper
+// .getNegotiatedLocale())) {
+// title = application.getTitle().getValue(globalizationHelper
+// .getNegotiatedLocale());
+// } else if (application.getTitle().hasValue(defaultLocale)) {
+// title = application.getTitle().getValue(defaultLocale);
+// } else if (application.getTitle().hasValue(Locale.getDefault())) {
+// title = application.getTitle().getValue(Locale.getDefault());
+// } else {
+// title = application.getPrimaryUrl();
+// }
+// return title;
+ return util.getTitle(application);
}
public CcmApplication getApplication() {
diff --git a/ccm-core/src/main/java/org/libreccm/categorization/CategoryTreeModelLite.java b/ccm-core/src/main/java/org/libreccm/categorization/CategoryTreeModelLite.java
index a9da4fbaf..8418c2c51 100755
--- a/ccm-core/src/main/java/org/libreccm/categorization/CategoryTreeModelLite.java
+++ b/ccm-core/src/main/java/org/libreccm/categorization/CategoryTreeModelLite.java
@@ -29,7 +29,6 @@ import org.libreccm.l10n.GlobalizationHelper;
import java.util.Iterator;
import java.util.Objects;
-import java.util.stream.Collectors;
/**
* Implements the {@link com.arsdigita.bebop.tree.TreeModel} interface for
@@ -77,8 +76,7 @@ public class CategoryTreeModelLite implements TreeModel {
}
@Override
- public boolean hasChildren(final TreeNode node,
- final PageState state) {
+ public boolean hasChildren(final TreeNode node, final PageState state) {
Objects.requireNonNull(node);
if (node.getKey() == null
@@ -95,9 +93,9 @@ public class CategoryTreeModelLite implements TreeModel {
}
@Override
- public Iterator getChildren(final TreeNode node,
- final PageState state) {
-
+ public Iterator getChildren(
+ final TreeNode node, final PageState state
+ ) {
Objects.requireNonNull(node);
if (node.getKey() == null
|| !(node.getKey() instanceof Long)) {