org.broadleafcommerce.openadmin.server.dao
Class DynamicEntityDaoImpl
java.lang.Object
org.broadleafcommerce.openadmin.server.dao.DynamicEntityDaoImpl
- All Implemented Interfaces:
- DynamicEntityDao
@Component(value="blDynamicEntityDao")
@Scope(value="prototype")
public class DynamicEntityDaoImpl
- extends Object
- implements DynamicEntityDao
- Author:
- jfischer
|
Method Summary |
protected void |
addClassToTree(Class<?> clazz,
ClassTree tree)
|
protected void |
applyForeignKeyPrecedence(ForeignKey foreignField,
ForeignKey[] additionalForeignFields,
Map<String,FieldMetadata> mergedProperties)
|
protected void |
applyIncludesAndExcludes(String[] includeFields,
String[] excludeFields,
String prefix,
Boolean isParentExcluded,
Map<String,FieldMetadata> mergedProperties)
|
protected void |
buildBasicProperty(Field field,
Class<?> targetClass,
ForeignKey foreignField,
ForeignKey[] additionalForeignFields,
String[] additionalNonPersistentProperties,
MergedPropertyType mergedPropertyType,
Map<String,FieldMetadata> presentationAttributes,
List<org.hibernate.mapping.Property> componentProperties,
Map<String,FieldMetadata> fields,
String idProperty,
Boolean populateManyToOneFields,
String[] includeFields,
String[] excludeFields,
String configurationKey,
String ceilingEntityFullyQualifiedClassname,
List<Class<?>> parentClasses,
String prefix,
Boolean isParentExcluded,
String propertyName,
org.hibernate.type.Type type,
boolean propertyForeignKey,
int additionalForeignKeyIndexPosition)
|
protected void |
buildComponentProperties(Class<?> targetClass,
ForeignKey foreignField,
ForeignKey[] additionalForeignFields,
String[] additionalNonPersistentProperties,
MergedPropertyType mergedPropertyType,
Map<String,FieldMetadata> fields,
String idProperty,
Boolean populateManyToOneFields,
String[] includeFields,
String[] excludeFields,
String configurationKey,
String ceilingEntityFullyQualifiedClassname,
String propertyName,
org.hibernate.type.Type type,
Class<?> returnedClass,
List<Class<?>> parentClasses,
Boolean isParentExcluded,
String prefix)
|
protected void |
buildEntityProperties(Map<String,FieldMetadata> fields,
ForeignKey foreignField,
ForeignKey[] additionalForeignFields,
String[] additionalNonPersistentProperties,
Boolean populateManyToOneFields,
String[] includeFields,
String[] excludeFields,
String configurationKey,
String ceilingEntityFullyQualifiedClassname,
String propertyName,
Class<?> returnedClass,
Class<?> targetClass,
List<Class<?>> parentClasses,
String prefix,
Boolean isParentExcluded)
|
protected void |
buildProperties(Class<?> targetClass,
ForeignKey foreignField,
ForeignKey[] additionalForeignFields,
String[] additionalNonPersistentProperties,
MergedPropertyType mergedPropertyType,
Map<String,FieldMetadata> presentationAttributes,
List<org.hibernate.mapping.Property> componentProperties,
Map<String,FieldMetadata> fields,
List<String> propertyNames,
List<org.hibernate.type.Type> propertyTypes,
String idProperty,
Boolean populateManyToOneFields,
String[] includeFields,
String[] excludeFields,
String configurationKey,
String ceilingEntityFullyQualifiedClassname,
List<Class<?>> parentClasses,
String prefix,
Boolean isParentExcluded)
|
protected void |
buildPropertiesFromPolymorphicEntities(Class<?>[] entities,
ForeignKey foreignField,
String[] additionalNonPersistentProperties,
ForeignKey[] additionalForeignFields,
MergedPropertyType mergedPropertyType,
Boolean populateManyToOneFields,
String[] includeFields,
String[] excludeFields,
String configurationKey,
String ceilingEntityFullyQualifiedClassname,
Map<String,FieldMetadata> mergedProperties,
List<Class<?>> parentClasses,
String prefix,
Boolean isParentExcluded)
|
void |
clear()
|
protected void |
createClassTreeFromAnnotation(Class<?> clazz,
ClassTree myTree)
|
org.hibernate.Criteria |
createCriteria(Class<?> entityClass)
|
void |
detach(Serializable entity)
|
Object |
find(Class<?> entityClass,
Object key)
|
protected int |
findAdditionalForeignKeyIndex(ForeignKey[] additionalForeignFields,
String prefix,
String propertyName)
|
void |
flush()
|
Field[] |
getAllFields(Class<?> targetClass)
|
Class<?>[] |
getAllPolymorphicEntitiesFromCeiling(Class<?> ceilingClass)
|
Class<?>[] |
getAllPolymorphicEntitiesFromCeiling(Class<?> ceilingClass,
boolean includeUnqualifiedPolymorphicEntities)
|
protected String |
getCacheKey(ForeignKey foreignField,
String[] additionalNonPersistentProperties,
ForeignKey[] additionalForeignFields,
MergedPropertyType mergedPropertyType,
Boolean populateManyToOneFields,
Class<?> clazz,
String configurationKey,
Boolean isParentExcluded)
|
ClassTree |
getClassTree(Class<?>[] polymorphicClasses)
|
ClassTree |
getClassTreeFromCeiling(Class<?> ceilingClass)
|
FieldMetadataProvider |
getDefaultFieldMetadataProvider()
|
DynamicDaoHelper |
getDynamicDaoHelper()
|
EJB3ConfigurationDao |
getEjb3ConfigurationDao()
|
EntityConfiguration |
getEntityConfiguration()
|
FieldManager |
getFieldManager()
|
List<FieldMetadataProvider> |
getFieldMetadataProviders()
|
Map<String,Object> |
getIdMetadata(Class<?> entityClass)
|
Map<String,FieldMetadata> |
getMergedProperties(String ceilingEntityFullyQualifiedClassname,
Class<?>[] entities,
ForeignKey foreignField,
String[] additionalNonPersistentProperties,
ForeignKey[] additionalForeignFields,
MergedPropertyType mergedPropertyType,
Boolean populateManyToOneFields,
String[] includeFields,
String[] excludeFields,
String configurationKey,
String prefix)
|
protected Map<String,FieldMetadata> |
getMergedPropertiesRecursively(String ceilingEntityFullyQualifiedClassname,
Class<?>[] entities,
ForeignKey foreignField,
String[] additionalNonPersistentProperties,
ForeignKey[] additionalForeignFields,
MergedPropertyType mergedPropertyType,
Boolean populateManyToOneFields,
String[] includeFields,
String[] excludeFields,
String configurationKey,
List<Class<?>> parentClasses,
String prefix,
Boolean isParentExcluded)
|
Metadata |
getMetadata()
|
org.hibernate.mapping.PersistentClass |
getPersistentClass(String targetClassName)
Get the Hibernate PersistentClass instance associated with the fully-qualified
class name. |
protected Map<String,FieldMetadata> |
getPropertiesForEntityClass(Class<?> targetClass,
ForeignKey foreignField,
String[] additionalNonPersistentProperties,
ForeignKey[] additionalForeignFields,
MergedPropertyType mergedPropertyType,
Boolean populateManyToOneFields,
String[] includeFields,
String[] excludeFields,
String configurationKey,
String ceilingEntityFullyQualifiedClassname,
List<Class<?>> parentClasses,
String prefix,
Boolean isParentExcluded)
|
Map<String,FieldMetadata> |
getPropertiesForPrimitiveClass(String propertyName,
String friendlyPropertyName,
Class<?> targetClass,
Class<?> parentClass,
MergedPropertyType mergedPropertyType)
|
List<String> |
getPropertyNames(Class<?> entityClass)
|
List<org.hibernate.type.Type> |
getPropertyTypes(Class<?> entityClass)
|
org.hibernate.SessionFactory |
getSessionFactory()
|
Map<String,FieldMetadata> |
getSimpleMergedProperties(String entityName,
PersistencePerspective persistencePerspective)
|
javax.persistence.EntityManager |
getStandardEntityManager()
|
protected boolean |
isExcludeClassFromPolymorphism(Class<?> clazz)
|
|
merge(T entity)
|
protected String |
pad(String s,
int length,
char pad)
|
|
persist(T entity)
|
void |
refresh(Serializable entity)
|
void |
remove(Serializable entity)
|
Serializable |
retrieve(Class<?> entityClass,
Object primaryKey)
|
void |
setDefaultFieldMetadataProvider(FieldMetadataProvider defaultFieldMetadataProvider)
|
void |
setDynamicDaoHelper(DynamicDaoHelper dynamicDaoHelper)
|
void |
setEjb3ConfigurationDao(EJB3ConfigurationDao ejb3ConfigurationDao)
|
void |
setEntityConfiguration(EntityConfiguration entityConfiguration)
|
protected boolean |
setExcludedBasedOnShowIfProperty(FieldMetadata fieldMetadata)
|
void |
setFieldMetadataProviders(List<FieldMetadataProvider> fieldMetadataProviders)
|
void |
setMetadata(Metadata metadata)
|
void |
setStandardEntityManager(javax.persistence.EntityManager entityManager)
|
Class<?>[] |
sortEntities(Class<?> ceilingClass,
List<Class<?>> entities)
|
protected boolean |
testForeignProperty(ForeignKey foreignField,
String prefix,
String propertyName)
|
Boolean |
testPropertyInclusion(FieldMetadata presentationAttribute)
|
protected Boolean |
testPropertyRecursion(String prefix,
List<Class<?>> parentClasses,
String propertyName,
Class<?> targetClass,
String ceilingEntityFullyQualifiedClassname)
|
protected boolean |
useCache()
|
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
METADATA_CACHE
protected static final Map<String,Map<String,FieldMetadata>> METADATA_CACHE
standardEntityManager
protected javax.persistence.EntityManager standardEntityManager
metadata
protected Metadata metadata
ejb3ConfigurationDao
protected EJB3ConfigurationDao ejb3ConfigurationDao
entityConfiguration
protected EntityConfiguration entityConfiguration
fieldMetadataProviders
protected List<FieldMetadataProvider> fieldMetadataProviders
defaultFieldMetadataProvider
protected FieldMetadataProvider defaultFieldMetadataProvider
appConfigurationRemoteService
protected AppConfigurationService appConfigurationRemoteService
dynamicDaoHelper
protected DynamicDaoHelper dynamicDaoHelper
cacheEntityMetaDataTtl
@Value(value="${cache.entity.dao.metadata.ttl}")
protected int cacheEntityMetaDataTtl
lastCacheFlushTime
protected long lastCacheFlushTime
DynamicEntityDaoImpl
public DynamicEntityDaoImpl()
createCriteria
public org.hibernate.Criteria createCriteria(Class<?> entityClass)
- Specified by:
createCriteria in interface DynamicEntityDao
persist
public <T> T persist(T entity)
- Specified by:
persist in interface DynamicEntityDao
find
public Object find(Class<?> entityClass,
Object key)
- Specified by:
find in interface DynamicEntityDao
merge
public <T> T merge(T entity)
- Specified by:
merge in interface DynamicEntityDao
flush
public void flush()
- Specified by:
flush in interface DynamicEntityDao
detach
public void detach(Serializable entity)
- Specified by:
detach in interface DynamicEntityDao
refresh
public void refresh(Serializable entity)
- Specified by:
refresh in interface DynamicEntityDao
retrieve
public Serializable retrieve(Class<?> entityClass,
Object primaryKey)
- Specified by:
retrieve in interface DynamicEntityDao
remove
public void remove(Serializable entity)
- Specified by:
remove in interface DynamicEntityDao
clear
public void clear()
- Specified by:
clear in interface DynamicEntityDao
getPersistentClass
public org.hibernate.mapping.PersistentClass getPersistentClass(String targetClassName)
- Description copied from interface:
DynamicEntityDao
- Get the Hibernate PersistentClass instance associated with the fully-qualified
class name. Will return null if no persistent class is associated with this name.
- Specified by:
getPersistentClass in interface DynamicEntityDao
- Returns:
- The PersistentClass instance
useCache
protected boolean useCache()
getAllPolymorphicEntitiesFromCeiling
public Class<?>[] getAllPolymorphicEntitiesFromCeiling(Class<?> ceilingClass)
- Specified by:
getAllPolymorphicEntitiesFromCeiling in interface DynamicEntityDao
getAllPolymorphicEntitiesFromCeiling
public Class<?>[] getAllPolymorphicEntitiesFromCeiling(Class<?> ceilingClass,
boolean includeUnqualifiedPolymorphicEntities)
- Specified by:
getAllPolymorphicEntitiesFromCeiling in interface DynamicEntityDao
sortEntities
public Class<?>[] sortEntities(Class<?> ceilingClass,
List<Class<?>> entities)
addClassToTree
protected void addClassToTree(Class<?> clazz,
ClassTree tree)
createClassTreeFromAnnotation
protected void createClassTreeFromAnnotation(Class<?> clazz,
ClassTree myTree)
getClassTree
public ClassTree getClassTree(Class<?>[] polymorphicClasses)
- Specified by:
getClassTree in interface DynamicEntityDao
getClassTreeFromCeiling
public ClassTree getClassTreeFromCeiling(Class<?> ceilingClass)
- Specified by:
getClassTreeFromCeiling in interface DynamicEntityDao
getSimpleMergedProperties
public Map<String,FieldMetadata> getSimpleMergedProperties(String entityName,
PersistencePerspective persistencePerspective)
- Specified by:
getSimpleMergedProperties in interface DynamicEntityDao
getMergedProperties
public Map<String,FieldMetadata> getMergedProperties(String ceilingEntityFullyQualifiedClassname,
Class<?>[] entities,
ForeignKey foreignField,
String[] additionalNonPersistentProperties,
ForeignKey[] additionalForeignFields,
MergedPropertyType mergedPropertyType,
Boolean populateManyToOneFields,
String[] includeFields,
String[] excludeFields,
String configurationKey,
String prefix)
- Specified by:
getMergedProperties in interface DynamicEntityDao
getMergedPropertiesRecursively
protected Map<String,FieldMetadata> getMergedPropertiesRecursively(String ceilingEntityFullyQualifiedClassname,
Class<?>[] entities,
ForeignKey foreignField,
String[] additionalNonPersistentProperties,
ForeignKey[] additionalForeignFields,
MergedPropertyType mergedPropertyType,
Boolean populateManyToOneFields,
String[] includeFields,
String[] excludeFields,
String configurationKey,
List<Class<?>> parentClasses,
String prefix,
Boolean isParentExcluded)
applyForeignKeyPrecedence
protected void applyForeignKeyPrecedence(ForeignKey foreignField,
ForeignKey[] additionalForeignFields,
Map<String,FieldMetadata> mergedProperties)
applyIncludesAndExcludes
protected void applyIncludesAndExcludes(String[] includeFields,
String[] excludeFields,
String prefix,
Boolean isParentExcluded,
Map<String,FieldMetadata> mergedProperties)
pad
protected String pad(String s,
int length,
char pad)
getCacheKey
protected String getCacheKey(ForeignKey foreignField,
String[] additionalNonPersistentProperties,
ForeignKey[] additionalForeignFields,
MergedPropertyType mergedPropertyType,
Boolean populateManyToOneFields,
Class<?> clazz,
String configurationKey,
Boolean isParentExcluded)
buildPropertiesFromPolymorphicEntities
protected void buildPropertiesFromPolymorphicEntities(Class<?>[] entities,
ForeignKey foreignField,
String[] additionalNonPersistentProperties,
ForeignKey[] additionalForeignFields,
MergedPropertyType mergedPropertyType,
Boolean populateManyToOneFields,
String[] includeFields,
String[] excludeFields,
String configurationKey,
String ceilingEntityFullyQualifiedClassname,
Map<String,FieldMetadata> mergedProperties,
List<Class<?>> parentClasses,
String prefix,
Boolean isParentExcluded)
getAllFields
public Field[] getAllFields(Class<?> targetClass)
- Specified by:
getAllFields in interface DynamicEntityDao
getPropertiesForPrimitiveClass
public Map<String,FieldMetadata> getPropertiesForPrimitiveClass(String propertyName,
String friendlyPropertyName,
Class<?> targetClass,
Class<?> parentClass,
MergedPropertyType mergedPropertyType)
- Specified by:
getPropertiesForPrimitiveClass in interface DynamicEntityDao
getSessionFactory
public org.hibernate.SessionFactory getSessionFactory()
- Specified by:
getSessionFactory in interface DynamicEntityDao
getIdMetadata
public Map<String,Object> getIdMetadata(Class<?> entityClass)
- Specified by:
getIdMetadata in interface DynamicEntityDao
getPropertyNames
public List<String> getPropertyNames(Class<?> entityClass)
- Specified by:
getPropertyNames in interface DynamicEntityDao
getPropertyTypes
public List<org.hibernate.type.Type> getPropertyTypes(Class<?> entityClass)
- Specified by:
getPropertyTypes in interface DynamicEntityDao
getPropertiesForEntityClass
protected Map<String,FieldMetadata> getPropertiesForEntityClass(Class<?> targetClass,
ForeignKey foreignField,
String[] additionalNonPersistentProperties,
ForeignKey[] additionalForeignFields,
MergedPropertyType mergedPropertyType,
Boolean populateManyToOneFields,
String[] includeFields,
String[] excludeFields,
String configurationKey,
String ceilingEntityFullyQualifiedClassname,
List<Class<?>> parentClasses,
String prefix,
Boolean isParentExcluded)
buildProperties
protected void buildProperties(Class<?> targetClass,
ForeignKey foreignField,
ForeignKey[] additionalForeignFields,
String[] additionalNonPersistentProperties,
MergedPropertyType mergedPropertyType,
Map<String,FieldMetadata> presentationAttributes,
List<org.hibernate.mapping.Property> componentProperties,
Map<String,FieldMetadata> fields,
List<String> propertyNames,
List<org.hibernate.type.Type> propertyTypes,
String idProperty,
Boolean populateManyToOneFields,
String[] includeFields,
String[] excludeFields,
String configurationKey,
String ceilingEntityFullyQualifiedClassname,
List<Class<?>> parentClasses,
String prefix,
Boolean isParentExcluded)
testPropertyInclusion
public Boolean testPropertyInclusion(FieldMetadata presentationAttribute)
setExcludedBasedOnShowIfProperty
protected boolean setExcludedBasedOnShowIfProperty(FieldMetadata fieldMetadata)
testPropertyRecursion
protected Boolean testPropertyRecursion(String prefix,
List<Class<?>> parentClasses,
String propertyName,
Class<?> targetClass,
String ceilingEntityFullyQualifiedClassname)
buildBasicProperty
protected void buildBasicProperty(Field field,
Class<?> targetClass,
ForeignKey foreignField,
ForeignKey[] additionalForeignFields,
String[] additionalNonPersistentProperties,
MergedPropertyType mergedPropertyType,
Map<String,FieldMetadata> presentationAttributes,
List<org.hibernate.mapping.Property> componentProperties,
Map<String,FieldMetadata> fields,
String idProperty,
Boolean populateManyToOneFields,
String[] includeFields,
String[] excludeFields,
String configurationKey,
String ceilingEntityFullyQualifiedClassname,
List<Class<?>> parentClasses,
String prefix,
Boolean isParentExcluded,
String propertyName,
org.hibernate.type.Type type,
boolean propertyForeignKey,
int additionalForeignKeyIndexPosition)
testForeignProperty
protected boolean testForeignProperty(ForeignKey foreignField,
String prefix,
String propertyName)
findAdditionalForeignKeyIndex
protected int findAdditionalForeignKeyIndex(ForeignKey[] additionalForeignFields,
String prefix,
String propertyName)
buildEntityProperties
protected void buildEntityProperties(Map<String,FieldMetadata> fields,
ForeignKey foreignField,
ForeignKey[] additionalForeignFields,
String[] additionalNonPersistentProperties,
Boolean populateManyToOneFields,
String[] includeFields,
String[] excludeFields,
String configurationKey,
String ceilingEntityFullyQualifiedClassname,
String propertyName,
Class<?> returnedClass,
Class<?> targetClass,
List<Class<?>> parentClasses,
String prefix,
Boolean isParentExcluded)
buildComponentProperties
protected void buildComponentProperties(Class<?> targetClass,
ForeignKey foreignField,
ForeignKey[] additionalForeignFields,
String[] additionalNonPersistentProperties,
MergedPropertyType mergedPropertyType,
Map<String,FieldMetadata> fields,
String idProperty,
Boolean populateManyToOneFields,
String[] includeFields,
String[] excludeFields,
String configurationKey,
String ceilingEntityFullyQualifiedClassname,
String propertyName,
org.hibernate.type.Type type,
Class<?> returnedClass,
List<Class<?>> parentClasses,
Boolean isParentExcluded,
String prefix)
getStandardEntityManager
public javax.persistence.EntityManager getStandardEntityManager()
- Specified by:
getStandardEntityManager in interface DynamicEntityDao
setStandardEntityManager
public void setStandardEntityManager(javax.persistence.EntityManager entityManager)
- Specified by:
setStandardEntityManager in interface DynamicEntityDao
getEjb3ConfigurationDao
public EJB3ConfigurationDao getEjb3ConfigurationDao()
setEjb3ConfigurationDao
public void setEjb3ConfigurationDao(EJB3ConfigurationDao ejb3ConfigurationDao)
getFieldManager
public FieldManager getFieldManager()
- Specified by:
getFieldManager in interface DynamicEntityDao
getEntityConfiguration
public EntityConfiguration getEntityConfiguration()
- Specified by:
getEntityConfiguration in interface DynamicEntityDao
setEntityConfiguration
public void setEntityConfiguration(EntityConfiguration entityConfiguration)
- Specified by:
setEntityConfiguration in interface DynamicEntityDao
getMetadata
public Metadata getMetadata()
- Specified by:
getMetadata in interface DynamicEntityDao
setMetadata
public void setMetadata(Metadata metadata)
- Specified by:
setMetadata in interface DynamicEntityDao
getFieldMetadataProviders
public List<FieldMetadataProvider> getFieldMetadataProviders()
setFieldMetadataProviders
public void setFieldMetadataProviders(List<FieldMetadataProvider> fieldMetadataProviders)
getDefaultFieldMetadataProvider
public FieldMetadataProvider getDefaultFieldMetadataProvider()
- Specified by:
getDefaultFieldMetadataProvider in interface DynamicEntityDao
setDefaultFieldMetadataProvider
public void setDefaultFieldMetadataProvider(FieldMetadataProvider defaultFieldMetadataProvider)
isExcludeClassFromPolymorphism
protected boolean isExcludeClassFromPolymorphism(Class<?> clazz)
getDynamicDaoHelper
public DynamicDaoHelper getDynamicDaoHelper()
setDynamicDaoHelper
public void setDynamicDaoHelper(DynamicDaoHelper dynamicDaoHelper)
Copyright © 2013. All Rights Reserved.