diff --git a/ccm-cms/src/main/java/com/arsdigita/cms/ui/lifecycle/ItemLifecycleAdminController.java b/ccm-cms/src/main/java/com/arsdigita/cms/ui/lifecycle/ItemLifecycleAdminController.java index 8dc1c1ffc..65929f7bf 100644 --- a/ccm-cms/src/main/java/com/arsdigita/cms/ui/lifecycle/ItemLifecycleAdminController.java +++ b/ccm-cms/src/main/java/com/arsdigita/cms/ui/lifecycle/ItemLifecycleAdminController.java @@ -144,7 +144,8 @@ class ItemLifecycleAdminController implements Serializable { } @Transactional(Transactional.TxType.REQUIRED) - public LifecycleDefinition getDefaultLifecycle(final ContentItem item) { + public Optional getDefaultLifecycle( + final ContentItem item) { final ContentItem contentItem = itemRepo .findById(item.getObjectId()) @@ -156,9 +157,14 @@ class ItemLifecycleAdminController implements Serializable { .getContentType() .getDefaultLifecycle(); - return lifecycleDefRepo - .findById(definition.getDefinitionId()) - .get(); + if (definition == null) { + return Optional.empty(); + } else { + return Optional + .of(lifecycleDefRepo + .findById(definition.getDefinitionId()) + .get()); + } } @Transactional(Transactional.TxType.REQUIRED) diff --git a/ccm-cms/src/main/java/com/arsdigita/cms/ui/lifecycle/ItemLifecycleSelectForm.java b/ccm-cms/src/main/java/com/arsdigita/cms/ui/lifecycle/ItemLifecycleSelectForm.java index 3f21f34ae..151b2de1d 100755 --- a/ccm-cms/src/main/java/com/arsdigita/cms/ui/lifecycle/ItemLifecycleSelectForm.java +++ b/ccm-cms/src/main/java/com/arsdigita/cms/ui/lifecycle/ItemLifecycleSelectForm.java @@ -41,7 +41,6 @@ import com.arsdigita.bebop.parameters.IntegerParameter; import com.arsdigita.bebop.parameters.NumberInRangeValidationListener; import com.arsdigita.cms.CMS; import com.arsdigita.cms.ui.BaseForm; -import com.arsdigita.cms.ui.ContentItemPage; import com.arsdigita.cms.ui.item.ContentItemRequestLocal; import com.arsdigita.cms.ui.item.ItemWorkflowRequestLocal; import com.arsdigita.cms.ui.workflow.WorkflowRequestLocal; @@ -67,16 +66,9 @@ import org.libreccm.workflow.WorkflowRepository; import org.librecms.CmsConstants; import org.librecms.contentsection.ContentItem; import org.librecms.contentsection.ContentItemManager; -import org.librecms.contentsection.ContentItemRepository; import org.librecms.contentsection.ContentSection; import org.librecms.contentsection.privileges.ItemPrivileges; -import org.librecms.lifecycle.Lifecycle; import org.librecms.lifecycle.LifecycleDefinition; -import org.librecms.lifecycle.LifecycleDefinitionRepository; -import org.librecms.lifecycle.LifecycleManager; -import org.librecms.lifecycle.Phase; -import org.librecms.lifecycle.PhaseDefinition; -import org.librecms.lifecycle.PhaseRepository; import org.librecms.workflow.CmsTask; import org.librecms.workflow.CmsTaskManager; import org.librecms.workflow.CmsTaskType; @@ -88,6 +80,7 @@ import java.math.BigDecimal; import java.util.Calendar; import java.util.List; import java.util.Locale; +import java.util.Optional; import java.util.TimeZone; import java.util.TooManyListenersException; @@ -320,19 +313,17 @@ class ItemLifecycleSelectForm extends BaseForm { // associated lifecycle. final LifecycleDefinition definition = controller - .getDefinitionOfLifecycle(item); + .getDefinitionOfLifecycle(item); // final LifecycleDefinition definition = item // .getLifecycle() // .getDefinition(); cycleSelect.setValue(state, definition.getDefinitionId()); } else { // Set the default lifecycle (if it exists). - final LifecycleDefinition definition = controller - .getDefaultLifecycle(item); - - if (definition != null) { - cycleSelect.setValue(state, definition.getDefinitionId()); - } + controller + .getDefaultLifecycle(item) + .ifPresent(definition -> cycleSelect.setValue(state, + definition)); } // Set the default start date. @@ -390,8 +381,8 @@ class ItemLifecycleSelectForm extends BaseForm { final ContentItem item = itemRequestLocal.getContentItem(state); final CdiUtil cdiUtil = CdiUtil.createCdiUtil(); final ItemLifecycleAdminController controller = cdiUtil - .findBean(ItemLifecycleAdminController.class); - + .findBean(ItemLifecycleAdminController.class); + final Publisher publisher = new Publisher(state); if (CMSConfig.getConfig().isThreadPublishing()) { final Runnable threadAction = new Runnable() { @@ -730,10 +721,10 @@ class ItemLifecycleSelectForm extends BaseForm { final CdiUtil cdiUtil = CdiUtil.createCdiUtil(); final ItemLifecycleAdminController controller = cdiUtil - .findBean(ItemLifecycleAdminController.class); - + .findBean(ItemLifecycleAdminController.class); + controller.publish(itemUuid, defID, endDate, workflowUuid, user); - + // final ContentItemRepository itemRepo = cdiUtil.findBean( // ContentItemRepository.class); // final ContentItemManager itemManager = cdiUtil.findBean( diff --git a/ccm-cms/src/main/resources/org/librecms/CmsResources.properties b/ccm-cms/src/main/resources/org/librecms/CmsResources.properties index 22b16eea3..f005039f6 100644 --- a/ccm-cms/src/main/resources/org/librecms/CmsResources.properties +++ b/ccm-cms/src/main/resources/org/librecms/CmsResources.properties @@ -452,7 +452,7 @@ cms.ui.item.lifecycle=Lifecycle cms.ui.item.lifecycle.start_date=Start date cms.ui.item.lifecycle.end_date=End date cms.ui.item.lifecycle.start_time=Start time -cms.ui.item.lifecycle.end_time\ =End time +cms.ui.item.lifecycle.end_time=End time cms.ui.item.notification_period=Notify in advance cms.ui.item.days=days cms.ui.item.hours=hours diff --git a/ccm-cms/src/main/resources/org/librecms/CmsResources_de.properties b/ccm-cms/src/main/resources/org/librecms/CmsResources_de.properties index ae0ce3345..5daf1cb89 100644 --- a/ccm-cms/src/main/resources/org/librecms/CmsResources_de.properties +++ b/ccm-cms/src/main/resources/org/librecms/CmsResources_de.properties @@ -449,7 +449,7 @@ cms.ui.item.lifecycle=Ver\u00f6ffentlichungszyklus cms.ui.item.lifecycle.start_date=Beginnt am cms.ui.item.lifecycle.end_date=Endet am cms.ui.item.lifecycle.start_time=Beginnt um -cms.ui.item.lifecycle.end_time\ =Endet um +cms.ui.item.lifecycle.end_time=Endet um cms.ui.item.notification_period=Vorab Benachrichtigung cms.ui.item.days=Tage cms.ui.item.hours=Stunden diff --git a/ccm-cms/src/main/resources/org/librecms/CmsResources_fr.properties b/ccm-cms/src/main/resources/org/librecms/CmsResources_fr.properties index c532ef513..9fb29c1c8 100644 --- a/ccm-cms/src/main/resources/org/librecms/CmsResources_fr.properties +++ b/ccm-cms/src/main/resources/org/librecms/CmsResources_fr.properties @@ -408,7 +408,7 @@ cms.ui.item.lifecycle=Lifecycle cms.ui.item.lifecycle.start_date=Start date cms.ui.item.lifecycle.end_date=End date cms.ui.item.lifecycle.start_time=Start time -cms.ui.item.lifecycle.end_time\ =End time +cms.ui.item.lifecycle.end_time=End time cms.ui.item.notification_period=Notify in advance cms.ui.item.days=days cms.ui.item.hours=hours