public class AdvancedPageCustomPersistenceHandler
extends org.broadleafcommerce.cms.admin.server.handler.PageTemplateCustomPersistenceHandler
PageTemplateCustomPersistenceHandler will drive the dynamic form fields for a
Page based on the ThemeFile associated with the Page instead of the PageTemplate.| Modifier and Type | Field and Description |
|---|---|
protected org.broadleafcommerce.common.sandbox.SandBoxHelper |
helper |
protected com.broadleafcommerce.theme.service.PageTypeService |
pageTypeService |
protected com.broadleafcommerce.enterprise.workflow.admin.service.behavior.RevertWorkflowManager |
revertWorkflowManager |
dynamicFieldUtil, em, pageService, sandBoxService| Constructor and Description |
|---|
AdvancedPageCustomPersistenceHandler() |
| Modifier and Type | Method and Description |
|---|---|
protected org.broadleafcommerce.openadmin.dto.Entity |
addOrUpdate(org.broadleafcommerce.openadmin.dto.PersistencePackage persistencePackage,
org.broadleafcommerce.openadmin.server.dao.DynamicEntityDao dynamicEntityDao,
org.broadleafcommerce.openadmin.server.service.persistence.module.RecordHelper helper) |
protected List<String> |
buildTemplateFieldNames(org.broadleafcommerce.cms.page.domain.Page page) |
protected org.broadleafcommerce.openadmin.dto.Property[] |
collapseContentZoneAndContentItemFields(org.broadleafcommerce.openadmin.dto.Property[] entityProperties) |
protected org.broadleafcommerce.cms.field.domain.FieldGroup |
createFieldGroup(com.broadleafcommerce.theme.domain.page.PageType pageType)
Creates a FieldGroup based on the given ThemeFile
|
protected org.broadleafcommerce.openadmin.dto.PersistencePackage |
createPersistencePackage(org.broadleafcommerce.cms.page.domain.Page page,
String name,
String value,
Long pageFieldId) |
protected String |
extractPageTypeFromCto(org.broadleafcommerce.openadmin.dto.CriteriaTransferObject cto) |
org.broadleafcommerce.openadmin.dto.DynamicResultSet |
fetch(org.broadleafcommerce.openadmin.dto.PersistencePackage persistencePackage,
org.broadleafcommerce.openadmin.dto.CriteriaTransferObject cto,
org.broadleafcommerce.openadmin.server.dao.DynamicEntityDao dynamicEntityDao,
org.broadleafcommerce.openadmin.server.service.persistence.module.RecordHelper helper) |
org.broadleafcommerce.openadmin.dto.Entity |
fetchDynamicEntityWithPageType(Serializable root,
List<String> dirtyFields,
boolean includeId,
String pageTypeId) |
org.broadleafcommerce.openadmin.dto.Entity |
fetchEntityWithPageType(String pageId,
List<String> dirtyFields,
String pageTypeId) |
protected List<org.broadleafcommerce.cms.field.domain.FieldGroup> |
getFieldGroups(org.broadleafcommerce.cms.page.domain.Page page,
org.broadleafcommerce.cms.page.domain.PageTemplate template)
When we're dealing with AdvancedCMS Pages, we care about the associated
ThemeFile on the Page
to drive the dynamic form instead of the pageTemplate field. |
protected List<org.broadleafcommerce.cms.field.domain.FieldGroup> |
getFieldGroups(org.broadleafcommerce.openadmin.dto.PersistencePackage pp,
org.broadleafcommerce.openadmin.server.dao.DynamicEntityDao dynamicEntityDao)
When the customCriteria on the persistence package specifies the "constructForm-pageType" crieteria,
we want to use the String at position 3 in the array to drive a
PageType lookup instead of a
PageTemplate lookup, which is how it behaves when AdvancedCMS is not loaded. |
protected List<org.broadleafcommerce.cms.field.domain.FieldGroup> |
getFieldGroupsWithPageType(org.broadleafcommerce.cms.page.domain.Page page,
org.broadleafcommerce.cms.page.domain.PageTemplate template,
String pageTypeId) |
protected void |
handleAbandonedDynamicFields(org.broadleafcommerce.openadmin.dto.PersistencePackage persistencePackage,
org.broadleafcommerce.cms.page.domain.Page page,
Map<String,org.broadleafcommerce.cms.page.domain.PageField> pageFieldMap) |
protected void |
handleCurrentDynamicFields(org.broadleafcommerce.openadmin.dto.PersistencePackage persistencePackage,
org.broadleafcommerce.cms.page.domain.Page page,
List<String> templateFieldNames,
Map<String,String> dirtyFieldsOrigVals,
List<String> dirtyFields,
Map<String,org.broadleafcommerce.cms.page.domain.PageField> pageFieldMap,
org.broadleafcommerce.openadmin.dto.Property[] entityProperties) |
protected Long[] |
parseFKLookupIds(org.broadleafcommerce.openadmin.dto.Property prop)
The lookup could contain a "|"; we need to parse it
|
protected void |
populateFKLookupValues(org.broadleafcommerce.openadmin.server.dao.DynamicEntityDao dynamicEntityDao,
org.broadleafcommerce.openadmin.dto.Entity entity) |
protected org.broadleafcommerce.openadmin.dto.Property[] |
removePropertyFromArray(org.broadleafcommerce.openadmin.dto.Property contentItemProperty,
org.broadleafcommerce.openadmin.dto.Property[] entityProperties) |
protected void |
revertExistingUserEdits(org.broadleafcommerce.cms.page.domain.Page page) |
protected void |
validate(org.broadleafcommerce.cms.page.domain.Page page,
org.broadleafcommerce.openadmin.dto.PersistencePackage persistencePackage,
org.broadleafcommerce.openadmin.server.dao.DynamicEntityDao dynamicEntityDao,
org.broadleafcommerce.openadmin.server.service.persistence.module.RecordHelper helper) |
add, canHandleAdd, canHandleFetch, canHandleInspect, canHandleRemove, canHandleUpdate, fetchDynamicEntity, fetchEntityBasedOnId, getFieldContainerClassName, getSandBox, inspect, processFieldGroups, processIncludeId, updategetClassForName, getMetadata, getOrder, getPolymorphicClasses, getResultSet, isAdornedListOperation, isAssignableFrom, isBasicOperation, isMapOperation, meetsCustomCriteria, remove, willHandleSecurityprotected com.broadleafcommerce.theme.service.PageTypeService pageTypeService
protected org.broadleafcommerce.common.sandbox.SandBoxHelper helper
protected com.broadleafcommerce.enterprise.workflow.admin.service.behavior.RevertWorkflowManager revertWorkflowManager
public AdvancedPageCustomPersistenceHandler()
protected List<org.broadleafcommerce.cms.field.domain.FieldGroup> getFieldGroups(org.broadleafcommerce.openadmin.dto.PersistencePackage pp, org.broadleafcommerce.openadmin.server.dao.DynamicEntityDao dynamicEntityDao)
PageType lookup instead of a
PageTemplate lookup, which is how it behaves when AdvancedCMS is not loaded.getFieldGroups in class org.broadleafcommerce.cms.admin.server.handler.PageTemplateCustomPersistenceHandlerprotected List<org.broadleafcommerce.cms.field.domain.FieldGroup> getFieldGroups(org.broadleafcommerce.cms.page.domain.Page page, org.broadleafcommerce.cms.page.domain.PageTemplate template)
ThemeFile on the Page
to drive the dynamic form instead of the pageTemplate field.getFieldGroups in class org.broadleafcommerce.cms.admin.server.handler.PageTemplateCustomPersistenceHandlerprotected org.broadleafcommerce.cms.field.domain.FieldGroup createFieldGroup(com.broadleafcommerce.theme.domain.page.PageType pageType)
file - public org.broadleafcommerce.openadmin.dto.DynamicResultSet fetch(org.broadleafcommerce.openadmin.dto.PersistencePackage persistencePackage,
org.broadleafcommerce.openadmin.dto.CriteriaTransferObject cto,
org.broadleafcommerce.openadmin.server.dao.DynamicEntityDao dynamicEntityDao,
org.broadleafcommerce.openadmin.server.service.persistence.module.RecordHelper helper)
throws org.broadleafcommerce.common.exception.ServiceException
fetch in interface org.broadleafcommerce.openadmin.server.service.handler.CustomPersistenceHandlerfetch in class org.broadleafcommerce.cms.admin.server.handler.PageTemplateCustomPersistenceHandlerorg.broadleafcommerce.common.exception.ServiceExceptionprotected String extractPageTypeFromCto(org.broadleafcommerce.openadmin.dto.CriteriaTransferObject cto)
public org.broadleafcommerce.openadmin.dto.Entity fetchEntityWithPageType(String pageId, List<String> dirtyFields, String pageTypeId) throws Exception
Exceptionpublic org.broadleafcommerce.openadmin.dto.Entity fetchDynamicEntityWithPageType(Serializable root, List<String> dirtyFields, boolean includeId, String pageTypeId) throws Exception
Exceptionprotected List<org.broadleafcommerce.cms.field.domain.FieldGroup> getFieldGroupsWithPageType(org.broadleafcommerce.cms.page.domain.Page page, org.broadleafcommerce.cms.page.domain.PageTemplate template, String pageTypeId)
protected org.broadleafcommerce.openadmin.dto.Entity addOrUpdate(org.broadleafcommerce.openadmin.dto.PersistencePackage persistencePackage,
org.broadleafcommerce.openadmin.server.dao.DynamicEntityDao dynamicEntityDao,
org.broadleafcommerce.openadmin.server.service.persistence.module.RecordHelper helper)
throws org.broadleafcommerce.common.exception.ServiceException
addOrUpdate in class org.broadleafcommerce.cms.admin.server.handler.PageTemplateCustomPersistenceHandlerorg.broadleafcommerce.common.exception.ServiceExceptionprotected void handleAbandonedDynamicFields(org.broadleafcommerce.openadmin.dto.PersistencePackage persistencePackage,
org.broadleafcommerce.cms.page.domain.Page page,
Map<String,org.broadleafcommerce.cms.page.domain.PageField> pageFieldMap)
throws org.broadleafcommerce.common.exception.ServiceException
org.broadleafcommerce.common.exception.ServiceExceptionprotected void handleCurrentDynamicFields(org.broadleafcommerce.openadmin.dto.PersistencePackage persistencePackage,
org.broadleafcommerce.cms.page.domain.Page page,
List<String> templateFieldNames,
Map<String,String> dirtyFieldsOrigVals,
List<String> dirtyFields,
Map<String,org.broadleafcommerce.cms.page.domain.PageField> pageFieldMap,
org.broadleafcommerce.openadmin.dto.Property[] entityProperties)
throws org.broadleafcommerce.common.exception.ServiceException
org.broadleafcommerce.common.exception.ServiceExceptionprotected void revertExistingUserEdits(org.broadleafcommerce.cms.page.domain.Page page)
protected org.broadleafcommerce.openadmin.dto.PersistencePackage createPersistencePackage(org.broadleafcommerce.cms.page.domain.Page page,
String name,
String value,
Long pageFieldId)
throws org.broadleafcommerce.common.exception.ServiceException
org.broadleafcommerce.common.exception.ServiceExceptionprotected List<String> buildTemplateFieldNames(org.broadleafcommerce.cms.page.domain.Page page)
protected void validate(org.broadleafcommerce.cms.page.domain.Page page,
org.broadleafcommerce.openadmin.dto.PersistencePackage persistencePackage,
org.broadleafcommerce.openadmin.server.dao.DynamicEntityDao dynamicEntityDao,
org.broadleafcommerce.openadmin.server.service.persistence.module.RecordHelper helper)
throws org.broadleafcommerce.common.exception.ServiceException
org.broadleafcommerce.common.exception.ServiceExceptionprotected Long[] parseFKLookupIds(org.broadleafcommerce.openadmin.dto.Property prop)
prop - protected void populateFKLookupValues(org.broadleafcommerce.openadmin.server.dao.DynamicEntityDao dynamicEntityDao,
org.broadleafcommerce.openadmin.dto.Entity entity)
throws ClassNotFoundException
populateFKLookupValues in class org.broadleafcommerce.cms.admin.server.handler.PageTemplateCustomPersistenceHandlerClassNotFoundExceptionprotected org.broadleafcommerce.openadmin.dto.Property[] collapseContentZoneAndContentItemFields(org.broadleafcommerce.openadmin.dto.Property[] entityProperties)
protected org.broadleafcommerce.openadmin.dto.Property[] removePropertyFromArray(org.broadleafcommerce.openadmin.dto.Property contentItemProperty,
org.broadleafcommerce.openadmin.dto.Property[] entityProperties)
Copyright © 2020. All rights reserved.