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, update
getClassForName, getMetadata, getOrder, getPolymorphicClasses, getResultSet, isAdornedListOperation, isAssignableFrom, isBasicOperation, isMapOperation, meetsCustomCriteria, remove, willHandleSecurity
protected 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.PageTemplateCustomPersistenceHandler
protected 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.PageTemplateCustomPersistenceHandler
protected 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.CustomPersistenceHandler
fetch
in class org.broadleafcommerce.cms.admin.server.handler.PageTemplateCustomPersistenceHandler
org.broadleafcommerce.common.exception.ServiceException
protected String extractPageTypeFromCto(org.broadleafcommerce.openadmin.dto.CriteriaTransferObject cto)
public org.broadleafcommerce.openadmin.dto.Entity fetchEntityWithPageType(String pageId, List<String> dirtyFields, String pageTypeId) throws Exception
Exception
public org.broadleafcommerce.openadmin.dto.Entity fetchDynamicEntityWithPageType(Serializable root, List<String> dirtyFields, boolean includeId, String pageTypeId) throws Exception
Exception
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 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.PageTemplateCustomPersistenceHandler
org.broadleafcommerce.common.exception.ServiceException
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) throws org.broadleafcommerce.common.exception.ServiceException
org.broadleafcommerce.common.exception.ServiceException
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) throws org.broadleafcommerce.common.exception.ServiceException
org.broadleafcommerce.common.exception.ServiceException
protected 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.ServiceException
protected 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.ServiceException
protected 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.PageTemplateCustomPersistenceHandler
ClassNotFoundException
protected 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.