org.broadleafcommerce.openadmin.server.service.persistence.module
Class BasicPersistenceModule
java.lang.Object
org.broadleafcommerce.openadmin.server.service.persistence.module.BasicPersistenceModule
- All Implemented Interfaces:
- DataFormatProvider, PersistenceModule, RecordHelper, org.springframework.beans.factory.Aware, org.springframework.context.ApplicationContextAware
- Direct Known Subclasses:
- AdornedTargetListPersistenceModule, MapStructurePersistenceModule
@Component(value="blBasicPersistenceModule")
@Scope(value="prototype")
public class BasicPersistenceModule
- extends Object
- implements PersistenceModule, RecordHelper, org.springframework.context.ApplicationContextAware, DataFormatProvider
- Author:
- jfischer
|
Method Summary |
Entity |
add(PersistencePackage persistencePackage)
|
EntityResult |
add(PersistencePackage persistencePackage,
boolean includeRealEntityObject)
|
Serializable |
createPopulatedInstance(Serializable instance,
Entity entity,
Map<String,FieldMetadata> unfilteredProperties,
Boolean setId)
Populates a Hibernate entity instance based on the values from entity (the DTO representation of
instance) and the metadata from mergedProperties. |
void |
extractProperties(Class<?>[] inheritanceLine,
Map<MergedPropertyType,Map<String,FieldMetadata>> mergedProperties,
List<Property> properties)
|
protected void |
extractPropertiesFromMetadata(Class<?>[] inheritanceLine,
Map<String,FieldMetadata> mergedProperties,
List<Property> properties,
Boolean isHiddenOverride,
MergedPropertyType type)
|
protected void |
extractPropertiesFromPersistentEntity(Map<String,FieldMetadata> mergedProperties,
Serializable entity,
List<Property> props)
|
DynamicResultSet |
fetch(PersistencePackage persistencePackage,
CriteriaTransferObject cto)
|
protected Map<String,FieldMetadata> |
filterOutCollectionMetadata(Map<String,FieldMetadata> metadata)
|
protected Class<?> |
getBasicBroadleafType(SupportedFieldType fieldType)
|
PersistenceModule |
getCompatibleModule(OperationType operationType)
|
CriteriaTranslator |
getCriteriaTranslator()
|
DecimalFormat |
getDecimalFormatter()
|
FieldPersistenceProvider |
getDefaultFieldPersistenceProvider()
|
EntityValidatorService |
getEntityValidatorService()
|
FieldManager |
getFieldManager()
|
List<FieldPersistenceProvider> |
getFieldPersistenceProviders()
|
List<FilterMapping> |
getFilterMappings(PersistencePerspective persistencePerspective,
CriteriaTransferObject cto,
String ceilingEntityFullyQualifiedClassname,
Map<String,FieldMetadata> mergedUnfilteredProperties)
|
List<FilterMapping> |
getFilterMappings(PersistencePerspective persistencePerspective,
CriteriaTransferObject cto,
String ceilingEntityFullyQualifiedClassname,
Map<String,FieldMetadata> mergedUnfilteredProperties,
RestrictionFactory customRestrictionFactory)
|
protected Class<?> |
getMapFieldType(Serializable instance,
FieldManager fieldManager,
Property property)
|
PersistenceManager |
getPersistenceManager()
|
List<Serializable> |
getPersistentRecords(String ceilingEntity,
List<FilterMapping> filterMappings,
Integer firstResult,
Integer maxResults)
|
Object |
getPrimaryKey(Entity entity,
Map<String,FieldMetadata> mergedUnfilteredProperties)
|
Entity |
getRecord(Class<?> ceilingEntityClass,
PersistencePerspective persistencePerspective,
Serializable record)
|
Entity |
getRecord(Map<String,FieldMetadata> primaryMergedProperties,
Serializable record,
Map<String,FieldMetadata> alternateMergedProperties,
String pathToTargetObject)
|
Entity[] |
getRecords(Class<?> ceilingEntityClass,
PersistencePerspective persistencePerspective,
List<? extends Serializable> records)
|
Entity[] |
getRecords(Map<String,FieldMetadata> primaryMergedProperties,
List<? extends Serializable> records)
|
Entity[] |
getRecords(Map<String,FieldMetadata> primaryUnfilteredMergedProperties,
List<? extends Serializable> records,
Map<String,FieldMetadata> alternateUnfilteredMergedProperties,
String pathToTargetObject)
|
RestrictionFactory |
getRestrictionFactory()
|
SimpleDateFormat |
getSimpleDateFormatter()
|
Map<String,FieldMetadata> |
getSimpleMergedProperties(String entityName,
PersistencePerspective persistencePerspective)
|
Integer |
getTotalRecords(String ceilingEntity,
List<FilterMapping> filterMappings)
|
boolean |
isCompatible(OperationType operationType)
|
void |
remove(PersistencePackage persistencePackage)
|
void |
setApplicationContext(org.springframework.context.ApplicationContext applicationContext)
|
void |
setCriteriaTranslator(CriteriaTranslator criteriaTranslator)
|
void |
setDefaultFieldPersistenceProvider(FieldPersistenceProvider defaultFieldPersistenceProvider)
|
void |
setEntityValidatorService(EntityValidatorService entityValidatorService)
|
void |
setFieldPersistenceProviders(List<FieldPersistenceProvider> fieldPersistenceProviders)
|
void |
setPersistenceManager(PersistenceManager persistenceManager)
|
void |
setRestrictionFactory(RestrictionFactory restrictionFactory)
|
Entity |
update(PersistencePackage persistencePackage)
|
EntityResult |
update(PersistencePackage persistencePackage,
boolean includeRealEntityObject)
|
protected EntityResult |
update(PersistencePackage persistencePackage,
Object primaryKey,
boolean includeRealEntity)
|
void |
updateMergedProperties(PersistencePackage persistencePackage,
Map<MergedPropertyType,Map<String,FieldMetadata>> allMergedProperties)
|
boolean |
validate(Entity entity,
Serializable populatedInstance,
Map<String,FieldMetadata> mergedProperties)
Validates the Entity based on the validators associated with each property |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
MAIN_ENTITY_NAME_PROPERTY
public static final String MAIN_ENTITY_NAME_PROPERTY
- See Also:
- Constant Field Values
decimalFormat
protected DecimalFormat decimalFormat
applicationContext
protected org.springframework.context.ApplicationContext applicationContext
persistenceManager
protected PersistenceManager persistenceManager
entityValidatorService
protected EntityValidatorService entityValidatorService
fieldPersistenceProviders
protected List<FieldPersistenceProvider> fieldPersistenceProviders
defaultFieldPersistenceProvider
protected FieldPersistenceProvider defaultFieldPersistenceProvider
criteriaTranslator
protected CriteriaTranslator criteriaTranslator
restrictionFactory
protected RestrictionFactory restrictionFactory
BasicPersistenceModule
public BasicPersistenceModule()
setApplicationContext
public void setApplicationContext(org.springframework.context.ApplicationContext applicationContext)
throws org.springframework.beans.BeansException
- Specified by:
setApplicationContext in interface org.springframework.context.ApplicationContextAware
- Throws:
org.springframework.beans.BeansException
isCompatible
public boolean isCompatible(OperationType operationType)
- Specified by:
isCompatible in interface PersistenceModule
getFieldManager
public FieldManager getFieldManager()
- Specified by:
getFieldManager in interface RecordHelper
getDecimalFormatter
public DecimalFormat getDecimalFormatter()
- Specified by:
getDecimalFormatter in interface DataFormatProvider- Specified by:
getDecimalFormatter in interface RecordHelper
getSimpleDateFormatter
public SimpleDateFormat getSimpleDateFormatter()
- Specified by:
getSimpleDateFormatter in interface DataFormatProvider
filterOutCollectionMetadata
protected Map<String,FieldMetadata> filterOutCollectionMetadata(Map<String,FieldMetadata> metadata)
getBasicBroadleafType
protected Class<?> getBasicBroadleafType(SupportedFieldType fieldType)
createPopulatedInstance
public Serializable createPopulatedInstance(Serializable instance,
Entity entity,
Map<String,FieldMetadata> unfilteredProperties,
Boolean setId)
throws ValidationException
- Description copied from interface:
RecordHelper
Populates a Hibernate entity instance based on the values from entity (the DTO representation of
instance) and the metadata from mergedProperties.
While populating instance, validation is also performed using the EntityValidatorService. If this
validation fails, then the instance is left unchanged and a ValidationExcpetion is thrown. In the common
case, this exception bubbles up to the DynamicRemoteService which catches the exception and communicates
appropriately to the invoker
- Specified by:
createPopulatedInstance in interface RecordHelper
- Returns:
- instance populated with the property values from entity according to the metadata specified
in mergedProperties
- Throws:
ValidationException - if after populating instance via the values in entity then
EntityValidatorService.validate(Entity, Serializable, Map) returns false- See Also:
EntityValidatorService}
getMapFieldType
protected Class<?> getMapFieldType(Serializable instance,
FieldManager fieldManager,
Property property)
getRecord
public Entity getRecord(Map<String,FieldMetadata> primaryMergedProperties,
Serializable record,
Map<String,FieldMetadata> alternateMergedProperties,
String pathToTargetObject)
- Specified by:
getRecord in interface RecordHelper
getRecord
public Entity getRecord(Class<?> ceilingEntityClass,
PersistencePerspective persistencePerspective,
Serializable record)
- Specified by:
getRecord in interface RecordHelper
getRecords
public Entity[] getRecords(Class<?> ceilingEntityClass,
PersistencePerspective persistencePerspective,
List<? extends Serializable> records)
- Specified by:
getRecords in interface RecordHelper
getSimpleMergedProperties
public Map<String,FieldMetadata> getSimpleMergedProperties(String entityName,
PersistencePerspective persistencePerspective)
- Specified by:
getSimpleMergedProperties in interface RecordHelper
getRecords
public Entity[] getRecords(Map<String,FieldMetadata> primaryMergedProperties,
List<? extends Serializable> records)
- Specified by:
getRecords in interface RecordHelper
getRecords
public Entity[] getRecords(Map<String,FieldMetadata> primaryUnfilteredMergedProperties,
List<? extends Serializable> records,
Map<String,FieldMetadata> alternateUnfilteredMergedProperties,
String pathToTargetObject)
- Specified by:
getRecords in interface RecordHelper
extractPropertiesFromPersistentEntity
protected void extractPropertiesFromPersistentEntity(Map<String,FieldMetadata> mergedProperties,
Serializable entity,
List<Property> props)
update
protected EntityResult update(PersistencePackage persistencePackage,
Object primaryKey,
boolean includeRealEntity)
throws ServiceException
- Throws:
ServiceException
getPrimaryKey
public Object getPrimaryKey(Entity entity,
Map<String,FieldMetadata> mergedUnfilteredProperties)
- Specified by:
getPrimaryKey in interface RecordHelper
getFilterMappings
public List<FilterMapping> getFilterMappings(PersistencePerspective persistencePerspective,
CriteriaTransferObject cto,
String ceilingEntityFullyQualifiedClassname,
Map<String,FieldMetadata> mergedUnfilteredProperties,
RestrictionFactory customRestrictionFactory)
- Specified by:
getFilterMappings in interface RecordHelper
getFilterMappings
public List<FilterMapping> getFilterMappings(PersistencePerspective persistencePerspective,
CriteriaTransferObject cto,
String ceilingEntityFullyQualifiedClassname,
Map<String,FieldMetadata> mergedUnfilteredProperties)
- Specified by:
getFilterMappings in interface RecordHelper
extractProperties
public void extractProperties(Class<?>[] inheritanceLine,
Map<MergedPropertyType,Map<String,FieldMetadata>> mergedProperties,
List<Property> properties)
- Specified by:
extractProperties in interface PersistenceModule
extractPropertiesFromMetadata
protected void extractPropertiesFromMetadata(Class<?>[] inheritanceLine,
Map<String,FieldMetadata> mergedProperties,
List<Property> properties,
Boolean isHiddenOverride,
MergedPropertyType type)
updateMergedProperties
public void updateMergedProperties(PersistencePackage persistencePackage,
Map<MergedPropertyType,Map<String,FieldMetadata>> allMergedProperties)
throws ServiceException
- Specified by:
updateMergedProperties in interface PersistenceModule
- Throws:
ServiceException
update
public EntityResult update(PersistencePackage persistencePackage,
boolean includeRealEntityObject)
throws ServiceException
- Specified by:
update in interface RecordHelper
- Throws:
ServiceException
update
public Entity update(PersistencePackage persistencePackage)
throws ServiceException
- Specified by:
update in interface PersistenceModule
- Throws:
ServiceException
add
public Entity add(PersistencePackage persistencePackage)
throws ServiceException
- Specified by:
add in interface PersistenceModule
- Throws:
ServiceException
add
public EntityResult add(PersistencePackage persistencePackage,
boolean includeRealEntityObject)
throws ServiceException
- Specified by:
add in interface RecordHelper
- Throws:
ServiceException
remove
public void remove(PersistencePackage persistencePackage)
throws ServiceException
- Specified by:
remove in interface PersistenceModule
- Throws:
ServiceException
fetch
public DynamicResultSet fetch(PersistencePackage persistencePackage,
CriteriaTransferObject cto)
throws ServiceException
- Specified by:
fetch in interface PersistenceModule
- Throws:
ServiceException
getTotalRecords
public Integer getTotalRecords(String ceilingEntity,
List<FilterMapping> filterMappings)
- Specified by:
getTotalRecords in interface RecordHelper
getPersistentRecords
public List<Serializable> getPersistentRecords(String ceilingEntity,
List<FilterMapping> filterMappings,
Integer firstResult,
Integer maxResults)
- Specified by:
getPersistentRecords in interface RecordHelper
validate
public boolean validate(Entity entity,
Serializable populatedInstance,
Map<String,FieldMetadata> mergedProperties)
- Description copied from interface:
RecordHelper
- Validates the
Entity based on the validators associated with each property
- Specified by:
validate in interface RecordHelper
- Parameters:
entity - the instance that is attempted to be saved from. Implementers should set Entity.isValidationFailure()
accordingly as a result of the validationmergedProperties - TODO
- Returns:
- whether or not the entity passed validation. This yields the same result as calling !
Entity.isValidationFailure()
after invoking this method
setPersistenceManager
public void setPersistenceManager(PersistenceManager persistenceManager)
- Specified by:
setPersistenceManager in interface PersistenceModule
getCompatibleModule
public PersistenceModule getCompatibleModule(OperationType operationType)
- Specified by:
getCompatibleModule in interface RecordHelper
getDefaultFieldPersistenceProvider
public FieldPersistenceProvider getDefaultFieldPersistenceProvider()
setDefaultFieldPersistenceProvider
public void setDefaultFieldPersistenceProvider(FieldPersistenceProvider defaultFieldPersistenceProvider)
getFieldPersistenceProviders
public List<FieldPersistenceProvider> getFieldPersistenceProviders()
setFieldPersistenceProviders
public void setFieldPersistenceProviders(List<FieldPersistenceProvider> fieldPersistenceProviders)
getCriteriaTranslator
public CriteriaTranslator getCriteriaTranslator()
setCriteriaTranslator
public void setCriteriaTranslator(CriteriaTranslator criteriaTranslator)
getEntityValidatorService
public EntityValidatorService getEntityValidatorService()
setEntityValidatorService
public void setEntityValidatorService(EntityValidatorService entityValidatorService)
getRestrictionFactory
public RestrictionFactory getRestrictionFactory()
setRestrictionFactory
public void setRestrictionFactory(RestrictionFactory restrictionFactory)
getPersistenceManager
public PersistenceManager getPersistenceManager()
Copyright © 2013. All Rights Reserved.