diff --git a/ccm-cms/src/main/java/com/arsdigita/cms/ui/folder/FolderEditForm.java b/ccm-cms/src/main/java/com/arsdigita/cms/ui/folder/FolderEditForm.java
index cb0e8abce..99cd04a80 100755
--- a/ccm-cms/src/main/java/com/arsdigita/cms/ui/folder/FolderEditForm.java
+++ b/ccm-cms/src/main/java/com/arsdigita/cms/ui/folder/FolderEditForm.java
@@ -35,12 +35,12 @@ class FolderEditForm extends FolderBaseForm {
private static Logger LOGGER = LogManager.getLogger(FolderEditForm.class);
- private final FolderRequestLocal m_folder;
+ private final FolderRequestLocal folderRequestLocal;
public FolderEditForm(final FolderRequestLocal folder) {
super("folder-edit");
- m_folder = folder;
+ folderRequestLocal = folder;
// XXX need to do name uniqueness valdation on m_fragment here
// as well.
@@ -68,7 +68,7 @@ class FolderEditForm extends FolderBaseForm {
public final void init(final FormSectionEvent e) {
final PageState state = e.getPageState();
- final Category folder = m_folder.getFolder(state);
+ final Category folder = folderRequestLocal.getFolder(state);
m_title.setValue(state, folder.getDisplayName());
m_fragment.setValue(state, folder.getName());
@@ -80,7 +80,7 @@ class FolderEditForm extends FolderBaseForm {
throws FormProcessException {
final PageState state = e.getPageState();
- final Category folder = m_folder.getFolder(state);
+ final Category folder = folderRequestLocal.getFolder(state);
folder.setDisplayName((String) m_title.getValue(state));
folder.setName((String) m_fragment.getValue(state));
diff --git a/ccm-cms/src/main/java/com/arsdigita/cms/ui/folder/FolderEditorForm.java b/ccm-cms/src/main/java/com/arsdigita/cms/ui/folder/FolderEditorForm.java
index c66e77b7c..16de2c954 100755
--- a/ccm-cms/src/main/java/com/arsdigita/cms/ui/folder/FolderEditorForm.java
+++ b/ccm-cms/src/main/java/com/arsdigita/cms/ui/folder/FolderEditorForm.java
@@ -63,12 +63,10 @@ public class FolderEditorForm extends FolderForm {
final Folder folder = getCurrentFolder(state);
data.put(NAME, folder.getName());
final CdiUtil cdiUtil = CdiUtil.createCdiUtil();
- final ConfigurationManager confManager = cdiUtil.findBean(
- ConfigurationManager.class);
- final KernelConfig kernelConfig = confManager.findConfiguration(
- KernelConfig.class);
- data.put(TITLE,
- folder.getTitle().getValue(kernelConfig.getDefaultLocale()));
+ final FolderEditorFormController controller = cdiUtil.findBean(
+ FolderEditorFormController.class
+ );
+ data.put(TITLE, controller.getFolderTitle(folder));
}
/**
diff --git a/ccm-cms/src/main/java/com/arsdigita/cms/ui/folder/FolderEditorFormController.java b/ccm-cms/src/main/java/com/arsdigita/cms/ui/folder/FolderEditorFormController.java
new file mode 100644
index 000000000..9ad21a482
--- /dev/null
+++ b/ccm-cms/src/main/java/com/arsdigita/cms/ui/folder/FolderEditorFormController.java
@@ -0,0 +1,50 @@
+/*
+ * 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.folder;
+
+import com.arsdigita.kernel.KernelConfig;
+
+import org.libreccm.configuration.ConfigurationManager;
+import org.librecms.contentsection.Folder;
+import org.librecms.contentsection.FolderRepository;
+
+import java.util.Objects;
+
+import javax.enterprise.context.RequestScoped;
+import javax.inject.Inject;
+import javax.transaction.Transactional;
+
+/**
+ *
+ * @author Jens Pelzetter
+ */
+@RequestScoped
+public class FolderEditorFormController {
+
+ @Inject
+ private ConfigurationManager confManager;
+
+ @Inject
+ private FolderRepository folderRepository;
+
+ @Transactional(Transactional.TxType.REQUIRED)
+ public String getFolderTitle(final Folder ofFolder) {
+ final Folder folder = folderRepository
+ .findById(Objects.requireNonNull(ofFolder).getObjectId())
+ .orElseThrow(
+ () -> new IllegalArgumentException(
+ String.format("No folder with ID %d available.",
+ ofFolder.getObjectId())
+ )
+ );
+
+ final KernelConfig kernelConfig = confManager.findConfiguration(
+ KernelConfig.class
+ );
+ return folder.getTitle().getValue(kernelConfig.getDefaultLocale());
+ }
+
+}
diff --git a/ccm-cms/src/main/java/com/arsdigita/cms/ui/lifecycle/LifecycleAdminPaneController.java b/ccm-cms/src/main/java/com/arsdigita/cms/ui/lifecycle/LifecycleAdminPaneController.java
index 51a6980cf..b11197a58 100644
--- a/ccm-cms/src/main/java/com/arsdigita/cms/ui/lifecycle/LifecycleAdminPaneController.java
+++ b/ccm-cms/src/main/java/com/arsdigita/cms/ui/lifecycle/LifecycleAdminPaneController.java
@@ -100,51 +100,51 @@ class LifecycleAdminPaneController {
item.put(
LifecycleListModelBuilder.LIFECYCLE_DEF_LABEL,
lifecycleDefinition
- .getLabel()
- .getValue(KernelConfig.getConfig().getDefaultLocale())
+ .getLabel()
+ .getValue(KernelConfig.getConfig().getDefaultLocale())
);
return item;
}
-
+
@Transactional(Transactional.TxType.REQUIRED)
public List getLifecycleProperties(
final LifecycleDefinition ofLifecycleDefinition
) {
final LifecycleDefinition definition = lifecycleDefRepo
- .findById(ofLifecycleDefinition.getDefinitionId())
- .orElseThrow(
- () -> new IllegalArgumentException(
- String.format(
- "No LifecycleDefinition with ID %d found.",
- ofLifecycleDefinition.getDefinitionId()
+ .findById(ofLifecycleDefinition.getDefinitionId())
+ .orElseThrow(
+ () -> new IllegalArgumentException(
+ String.format(
+ "No LifecycleDefinition with ID %d found.",
+ ofLifecycleDefinition.getDefinitionId()
+ )
)
- )
- );
-
+ );
+
final KernelConfig kernelConfig = confManager
- .findConfiguration(KernelConfig.class);
+ .findConfiguration(KernelConfig.class);
final Locale defaultLocale = kernelConfig.getDefaultLocale();
-
+
final List properties = new ArrayList<>();
properties.add(
new Property(
new GlobalizedMessage(
- "cms.ui.lifecycle.name",
+ "cms.ui.lifecycle.name",
CmsConstants.CMS_BUNDLE
),
definition.getLabel().getValue(defaultLocale)
)
);
- properties.add(
+ properties.add(
new Property(
new GlobalizedMessage(
- "cms.ui.lifecycle.description",
+ "cms.ui.lifecycle.description",
CmsConstants.CMS_BUNDLE
),
definition.getDescription().getValue(defaultLocale)
)
);
- return properties;
+ return properties;
}
/**
@@ -362,7 +362,46 @@ class LifecycleAdminPaneController {
phaseDefinition.setDefaultDuration(duration);
phaseDefRepo.save(phaseDefinition);
+ }
+ @Transactional(Transactional.TxType.REQUIRED)
+ public String getLifecycleDefinitionName(
+ final LifecycleDefinition ofCycle
+ ) {
+ final LifecycleDefinition cycle = lifecycleDefRepo.findById(
+ Objects.requireNonNull(ofCycle).getDefinitionId()
+ ).orElseThrow(
+ () -> new IllegalArgumentException(
+ String.format(
+ "No LifecycleDefinition with ID %d available",
+ ofCycle.getDefinitionId()
+ )
+ )
+ );
+ final KernelConfig kernelConfig = confManager.findConfiguration(
+ KernelConfig.class
+ );
+ return cycle.getLabel().getValue(kernelConfig.getDefaultLocale());
+ }
+
+ @Transactional(Transactional.TxType.REQUIRED)
+ public String getLifecycleDefinitionDescription(
+ final LifecycleDefinition ofCycle
+ ) {
+ final LifecycleDefinition cycle = lifecycleDefRepo.findById(
+ Objects.requireNonNull(ofCycle).getDefinitionId()
+ ).orElseThrow(
+ () -> new IllegalArgumentException(
+ String.format(
+ "No LifecycleDefinition with ID %d available",
+ ofCycle.getDefinitionId()
+ )
+ )
+ );
+ final KernelConfig kernelConfig = confManager.findConfiguration(
+ KernelConfig.class
+ );
+ return cycle.getDescription().getValue(kernelConfig.getDefaultLocale());
}
}
diff --git a/ccm-cms/src/main/java/com/arsdigita/cms/ui/lifecycle/LifecycleEditForm.java b/ccm-cms/src/main/java/com/arsdigita/cms/ui/lifecycle/LifecycleEditForm.java
index 325a56b11..7ddbfce34 100755
--- a/ccm-cms/src/main/java/com/arsdigita/cms/ui/lifecycle/LifecycleEditForm.java
+++ b/ccm-cms/src/main/java/com/arsdigita/cms/ui/lifecycle/LifecycleEditForm.java
@@ -59,8 +59,17 @@ class LifecycleEditForm extends BaseLifecycleForm {
final LifecycleDefinition cycle = selectedDefinition
.getLifecycleDefinition(state);
- getLifecycleName().setValue(state, cycle.getLabel());
- getLifecycleDescription().setValue(state, cycle.getDescription());
+ final CdiUtil cdiUtil = CdiUtil.createCdiUtil();
+ final LifecycleAdminPaneController controller = cdiUtil.findBean(
+ LifecycleAdminPaneController.class
+ );
+
+ getLifecycleName().setValue(
+ state, controller.getLifecycleDefinitionName(cycle)
+ );
+ getLifecycleDescription().setValue(
+ state, controller.getLifecycleDefinitionDescription(cycle)
+ );
}
}