@Component(value="blBasicPersistenceModule") @Scope(value="prototype") public class BasicPersistenceModule extends java.lang.Object implements PersistenceModule, RecordHelper, org.springframework.context.ApplicationContextAware
| Modifier and Type | Field and Description |
|---|---|
protected org.springframework.context.ApplicationContext |
applicationContext |
protected CriteriaTranslator |
criteriaTranslator |
protected java.text.DecimalFormat |
decimalFormat |
protected FieldPersistenceProvider |
defaultFieldPersistenceProvider |
protected EntityValidatorService |
entityValidatorService |
protected java.util.List<FieldPersistenceProvider> |
fieldPersistenceProviders |
static java.lang.String |
MAIN_ENTITY_NAME_PROPERTY |
protected PersistenceManager |
persistenceManager |
protected java.util.List<PopulateValueRequestValidator> |
populateValidators |
protected RestrictionFactory |
restrictionFactory |
| Constructor and Description |
|---|
BasicPersistenceModule() |
| Modifier and Type | Method and Description |
|---|---|
Entity |
add(PersistencePackage persistencePackage) |
EntityResult |
add(PersistencePackage persistencePackage,
boolean includeRealEntityObject) |
java.io.Serializable |
createPopulatedInstance(java.io.Serializable instance,
Entity entity,
java.util.Map<java.lang.String,FieldMetadata> unfilteredProperties,
java.lang.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(java.lang.Class<?>[] inheritanceLine,
java.util.Map<MergedPropertyType,java.util.Map<java.lang.String,FieldMetadata>> mergedProperties,
java.util.List<Property> properties) |
protected void |
extractPropertiesFromMetadata(java.lang.Class<?>[] inheritanceLine,
java.util.Map<java.lang.String,FieldMetadata> mergedProperties,
java.util.List<Property> properties,
java.lang.Boolean isHiddenOverride,
MergedPropertyType type) |
protected void |
extractPropertiesFromPersistentEntity(java.util.Map<java.lang.String,FieldMetadata> mergedProperties,
java.io.Serializable entity,
java.util.List<Property> props) |
DynamicResultSet |
fetch(PersistencePackage persistencePackage,
CriteriaTransferObject cto) |
protected java.util.Map<java.lang.String,FieldMetadata> |
filterOutCollectionMetadata(java.util.Map<java.lang.String,FieldMetadata> metadata) |
java.lang.String |
formatValue(java.lang.Object value)
Formats a aw value from an entity into its string representation used by the system.
|
protected java.lang.Class<?> |
getBasicBroadleafType(SupportedFieldType fieldType) |
PersistenceModule |
getCompatibleModule(OperationType operationType) |
CriteriaTranslator |
getCriteriaTranslator() |
java.text.DecimalFormat |
getDecimalFormatter() |
FieldPersistenceProvider |
getDefaultFieldPersistenceProvider() |
EntityValidatorService |
getEntityValidatorService() |
FieldManager |
getFieldManager() |
java.util.List<FieldPersistenceProvider> |
getFieldPersistenceProviders() |
java.util.List<FilterMapping> |
getFilterMappings(PersistencePerspective persistencePerspective,
CriteriaTransferObject cto,
java.lang.String ceilingEntityFullyQualifiedClassname,
java.util.Map<java.lang.String,FieldMetadata> mergedUnfilteredProperties) |
java.util.List<FilterMapping> |
getFilterMappings(PersistencePerspective persistencePerspective,
CriteriaTransferObject cto,
java.lang.String ceilingEntityFullyQualifiedClassname,
java.util.Map<java.lang.String,FieldMetadata> mergedUnfilteredProperties,
RestrictionFactory customRestrictionFactory) |
protected java.lang.Class<?> |
getMapFieldType(java.io.Serializable instance,
FieldManager fieldManager,
Property property) |
PersistenceManager |
getPersistenceManager() |
java.util.List<java.io.Serializable> |
getPersistentRecords(java.lang.String ceilingEntity,
java.util.List<FilterMapping> filterMappings,
java.lang.Integer firstResult,
java.lang.Integer maxResults) |
java.lang.Object |
getPrimaryKey(Entity entity,
java.util.Map<java.lang.String,FieldMetadata> mergedUnfilteredProperties) |
Entity |
getRecord(java.lang.Class<?> ceilingEntityClass,
PersistencePerspective persistencePerspective,
java.io.Serializable record) |
Entity |
getRecord(java.util.Map<java.lang.String,FieldMetadata> primaryMergedProperties,
java.io.Serializable record,
java.util.Map<java.lang.String,FieldMetadata> alternateMergedProperties,
java.lang.String pathToTargetObject) |
Entity[] |
getRecords(java.lang.Class<?> ceilingEntityClass,
PersistencePerspective persistencePerspective,
java.util.List<? extends java.io.Serializable> records) |
Entity[] |
getRecords(java.util.Map<java.lang.String,FieldMetadata> primaryMergedProperties,
java.util.List<? extends java.io.Serializable> records) |
Entity[] |
getRecords(java.util.Map<java.lang.String,FieldMetadata> primaryUnfilteredMergedProperties,
java.util.List<? extends java.io.Serializable> records,
java.util.Map<java.lang.String,FieldMetadata> alternateUnfilteredMergedProperties,
java.lang.String pathToTargetObject) |
RestrictionFactory |
getRestrictionFactory() |
java.text.SimpleDateFormat |
getSimpleDateFormatter() |
java.util.Map<java.lang.String,FieldMetadata> |
getSimpleMergedProperties(java.lang.String entityName,
PersistencePerspective persistencePerspective) |
java.lang.String |
getStringValueFromGetter(java.io.Serializable instance,
java.lang.String propertyName)
Returns a string representation of the field on the given instance specified by the property name.
|
java.lang.Integer |
getTotalRecords(java.lang.String ceilingEntity,
java.util.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(java.util.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,
java.lang.Object primaryKey,
boolean includeRealEntity) |
void |
updateMergedProperties(PersistencePackage persistencePackage,
java.util.Map<MergedPropertyType,java.util.Map<java.lang.String,FieldMetadata>> allMergedProperties) |
boolean |
validate(Entity entity,
java.io.Serializable populatedInstance,
java.util.Map<java.lang.String,FieldMetadata> mergedProperties)
Validates the
Entity based on the validators associated with each property |
public static final java.lang.String MAIN_ENTITY_NAME_PROPERTY
protected java.text.DecimalFormat decimalFormat
protected org.springframework.context.ApplicationContext applicationContext
protected PersistenceManager persistenceManager
protected EntityValidatorService entityValidatorService
protected java.util.List<FieldPersistenceProvider> fieldPersistenceProviders
protected java.util.List<PopulateValueRequestValidator> populateValidators
protected FieldPersistenceProvider defaultFieldPersistenceProvider
protected CriteriaTranslator criteriaTranslator
protected RestrictionFactory restrictionFactory
public void setApplicationContext(org.springframework.context.ApplicationContext applicationContext)
throws org.springframework.beans.BeansException
setApplicationContext in interface org.springframework.context.ApplicationContextAwareorg.springframework.beans.BeansExceptionpublic boolean isCompatible(OperationType operationType)
isCompatible in interface PersistenceModulepublic FieldManager getFieldManager()
getFieldManager in interface RecordHelperpublic java.text.DecimalFormat getDecimalFormatter()
getDecimalFormatter in interface DataFormatProviderpublic java.text.SimpleDateFormat getSimpleDateFormatter()
getSimpleDateFormatter in interface DataFormatProviderprotected java.util.Map<java.lang.String,FieldMetadata> filterOutCollectionMetadata(java.util.Map<java.lang.String,FieldMetadata> metadata)
protected java.lang.Class<?> getBasicBroadleafType(SupportedFieldType fieldType)
public java.io.Serializable createPopulatedInstance(java.io.Serializable instance,
Entity entity,
java.util.Map<java.lang.String,FieldMetadata> unfilteredProperties,
java.lang.Boolean setId)
throws ValidationException
RecordHelperPopulates 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
createPopulatedInstance in interface RecordHelperValidationException - if after populating instance via the values in entity then
EntityValidatorService.validate(Entity, Serializable, Map) returns falseEntityValidatorService}protected java.lang.Class<?> getMapFieldType(java.io.Serializable instance,
FieldManager fieldManager,
Property property)
public Entity getRecord(java.util.Map<java.lang.String,FieldMetadata> primaryMergedProperties, java.io.Serializable record, java.util.Map<java.lang.String,FieldMetadata> alternateMergedProperties, java.lang.String pathToTargetObject)
getRecord in interface RecordHelperpublic Entity getRecord(java.lang.Class<?> ceilingEntityClass, PersistencePerspective persistencePerspective, java.io.Serializable record)
getRecord in interface RecordHelperpublic Entity[] getRecords(java.lang.Class<?> ceilingEntityClass, PersistencePerspective persistencePerspective, java.util.List<? extends java.io.Serializable> records)
getRecords in interface RecordHelperpublic java.util.Map<java.lang.String,FieldMetadata> getSimpleMergedProperties(java.lang.String entityName, PersistencePerspective persistencePerspective)
getSimpleMergedProperties in interface RecordHelperpublic Entity[] getRecords(java.util.Map<java.lang.String,FieldMetadata> primaryMergedProperties, java.util.List<? extends java.io.Serializable> records)
getRecords in interface RecordHelperpublic Entity[] getRecords(java.util.Map<java.lang.String,FieldMetadata> primaryUnfilteredMergedProperties, java.util.List<? extends java.io.Serializable> records, java.util.Map<java.lang.String,FieldMetadata> alternateUnfilteredMergedProperties, java.lang.String pathToTargetObject)
getRecords in interface RecordHelperprotected void extractPropertiesFromPersistentEntity(java.util.Map<java.lang.String,FieldMetadata> mergedProperties, java.io.Serializable entity, java.util.List<Property> props)
public java.lang.String getStringValueFromGetter(java.io.Serializable instance,
java.lang.String propertyName)
throws java.lang.IllegalAccessException,
java.lang.reflect.InvocationTargetException,
java.lang.NoSuchMethodException
RecordHelpergetStringValueFromGetter in interface RecordHelperjava.lang.IllegalAccessExceptionjava.lang.reflect.InvocationTargetExceptionjava.lang.NoSuchMethodExceptionpublic java.lang.String formatValue(java.lang.Object value)
DataFormatProviderDataFormatProvider.getDecimalFormatter() to ensure that BigDecimals only show 2 decimal places or dates are formatted
a certain way.formatValue in interface DataFormatProviderprotected EntityResult update(PersistencePackage persistencePackage, java.lang.Object primaryKey, boolean includeRealEntity) throws ServiceException
ServiceExceptionpublic java.lang.Object getPrimaryKey(Entity entity, java.util.Map<java.lang.String,FieldMetadata> mergedUnfilteredProperties)
getPrimaryKey in interface RecordHelperpublic java.util.List<FilterMapping> getFilterMappings(PersistencePerspective persistencePerspective, CriteriaTransferObject cto, java.lang.String ceilingEntityFullyQualifiedClassname, java.util.Map<java.lang.String,FieldMetadata> mergedUnfilteredProperties, RestrictionFactory customRestrictionFactory)
getFilterMappings in interface RecordHelperpublic java.util.List<FilterMapping> getFilterMappings(PersistencePerspective persistencePerspective, CriteriaTransferObject cto, java.lang.String ceilingEntityFullyQualifiedClassname, java.util.Map<java.lang.String,FieldMetadata> mergedUnfilteredProperties)
getFilterMappings in interface RecordHelperpublic void extractProperties(java.lang.Class<?>[] inheritanceLine,
java.util.Map<MergedPropertyType,java.util.Map<java.lang.String,FieldMetadata>> mergedProperties,
java.util.List<Property> properties)
extractProperties in interface PersistenceModuleprotected void extractPropertiesFromMetadata(java.lang.Class<?>[] inheritanceLine,
java.util.Map<java.lang.String,FieldMetadata> mergedProperties,
java.util.List<Property> properties,
java.lang.Boolean isHiddenOverride,
MergedPropertyType type)
public void updateMergedProperties(PersistencePackage persistencePackage, java.util.Map<MergedPropertyType,java.util.Map<java.lang.String,FieldMetadata>> allMergedProperties) throws ServiceException
updateMergedProperties in interface PersistenceModuleServiceExceptionpublic EntityResult update(PersistencePackage persistencePackage, boolean includeRealEntityObject) throws ServiceException
update in interface RecordHelperServiceExceptionpublic Entity update(PersistencePackage persistencePackage) throws ServiceException
update in interface PersistenceModuleServiceExceptionpublic Entity add(PersistencePackage persistencePackage) throws ServiceException
add in interface PersistenceModuleServiceExceptionpublic EntityResult add(PersistencePackage persistencePackage, boolean includeRealEntityObject) throws ServiceException
add in interface RecordHelperServiceExceptionpublic void remove(PersistencePackage persistencePackage) throws ServiceException
remove in interface PersistenceModuleServiceExceptionpublic DynamicResultSet fetch(PersistencePackage persistencePackage, CriteriaTransferObject cto) throws ServiceException
fetch in interface PersistenceModuleServiceExceptionpublic java.lang.Integer getTotalRecords(java.lang.String ceilingEntity,
java.util.List<FilterMapping> filterMappings)
getTotalRecords in interface RecordHelperpublic java.util.List<java.io.Serializable> getPersistentRecords(java.lang.String ceilingEntity,
java.util.List<FilterMapping> filterMappings,
java.lang.Integer firstResult,
java.lang.Integer maxResults)
getPersistentRecords in interface RecordHelperpublic boolean validate(Entity entity, java.io.Serializable populatedInstance, java.util.Map<java.lang.String,FieldMetadata> mergedProperties)
RecordHelperEntity based on the validators associated with each propertyvalidate in interface RecordHelperentity - the instance that is attempted to be saved from. Implementers should set Entity.isValidationFailure()
accordingly as a result of the validationmergedProperties - TODOEntity.isValidationFailure()
after invoking this methodpublic void setPersistenceManager(PersistenceManager persistenceManager)
setPersistenceManager in interface PersistenceModulepublic PersistenceModule getCompatibleModule(OperationType operationType)
getCompatibleModule in interface RecordHelperpublic FieldPersistenceProvider getDefaultFieldPersistenceProvider()
public void setDefaultFieldPersistenceProvider(FieldPersistenceProvider defaultFieldPersistenceProvider)
public java.util.List<FieldPersistenceProvider> getFieldPersistenceProviders()
public void setFieldPersistenceProviders(java.util.List<FieldPersistenceProvider> fieldPersistenceProviders)
public CriteriaTranslator getCriteriaTranslator()
public void setCriteriaTranslator(CriteriaTranslator criteriaTranslator)
public EntityValidatorService getEntityValidatorService()
public void setEntityValidatorService(EntityValidatorService entityValidatorService)
public RestrictionFactory getRestrictionFactory()
public void setRestrictionFactory(RestrictionFactory restrictionFactory)
public PersistenceManager getPersistenceManager()
Copyright © 2018. All Rights Reserved.