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)) {