Package org.hibernate.envers.configuration.internal.metadata.reader

Examples of org.hibernate.envers.configuration.internal.metadata.reader.ClassAuditingData


      final PersistentClass pc = classes.next();

      // Collecting information from annotations on the persistent class pc
      final AnnotationsMetadataReader annotationsMetadataReader =
          new AnnotationsMetadataReader( globalCfg, reflectionManager, pc );
      final ClassAuditingData auditData = annotationsMetadataReader.getAuditData();

      classesAuditingData.addClassAuditingData( pc, auditData );
    }

    // Now that all information is read we can update the calculated fields.
    classesAuditingData.updateCalculatedFields();

    final AuditMetadataGenerator auditMetaGen = new AuditMetadataGenerator(
        cfg, globalCfg, verEntCfg, auditStrategy,
        classLoaderService, revisionInfoRelationMapping, auditEntityNameRegister
    );

    // First pass
    for ( Map.Entry<PersistentClass, ClassAuditingData> pcDatasEntry : classesAuditingData.getAllClassAuditedData() ) {
      final PersistentClass pc = pcDatasEntry.getKey();
      final ClassAuditingData auditData = pcDatasEntry.getValue();

      final EntityXmlMappingData xmlMappingData = new EntityXmlMappingData();
      if ( auditData.isAudited() ) {
        if ( !StringTools.isEmpty( auditData.getAuditTable().value() ) ) {
          verEntCfg.addCustomAuditTableName( pc.getEntityName(), auditData.getAuditTable().value() );
        }

        auditMetaGen.generateFirstPass( pc, auditData, xmlMappingData, true );
      }
      else {
View Full Code Here


   * </ul>
   */
  public void updateCalculatedFields() {
    for ( Map.Entry<PersistentClass, ClassAuditingData> classAuditingDataEntry : persistentClassToAuditingData.entrySet() ) {
      final PersistentClass pc = classAuditingDataEntry.getKey();
      final ClassAuditingData classAuditingData = classAuditingDataEntry.getValue();
      for ( String propertyName : classAuditingData.getPropertyNames() ) {
        final PropertyAuditingData propertyAuditingData = classAuditingData.getPropertyAuditingData( propertyName );
        // If a property had the @AuditMappedBy annotation, setting the referenced fields to be always insertable.
        if ( propertyAuditingData.getAuditMappedBy() != null ) {
          final String referencedEntityName = MappingTools.getReferencedEntityName(
              pc.getProperty( propertyName ).getValue()
          );

          final ClassAuditingData referencedClassAuditingData = entityNameToAuditingData.get( referencedEntityName );

          forcePropertyInsertable(
              referencedClassAuditingData, propertyAuditingData.getAuditMappedBy(),
              pc.getEntityName(), referencedEntityName
          );
View Full Code Here

      final PersistentClass pc = classes.next();

      // Collecting information from annotations on the persistent class pc
      final AnnotationsMetadataReader annotationsMetadataReader =
          new AnnotationsMetadataReader( globalCfg, reflectionManager, pc );
      final ClassAuditingData auditData = annotationsMetadataReader.getAuditData();

      classesAuditingData.addClassAuditingData( pc, auditData );
    }

    // Now that all information is read we can update the calculated fields.
    classesAuditingData.updateCalculatedFields();

    final AuditMetadataGenerator auditMetaGen = new AuditMetadataGenerator(
        cfg, globalCfg, verEntCfg, auditStrategy,
        classLoaderService, revisionInfoRelationMapping, auditEntityNameRegister
    );

    // First pass
    for ( Map.Entry<PersistentClass, ClassAuditingData> pcDatasEntry : classesAuditingData.getAllClassAuditedData() ) {
      final PersistentClass pc = pcDatasEntry.getKey();
      final ClassAuditingData auditData = pcDatasEntry.getValue();

      final EntityXmlMappingData xmlMappingData = new EntityXmlMappingData();
      if ( auditData.isAudited() ) {
        if ( !StringTools.isEmpty( auditData.getAuditTable().value() ) ) {
          verEntCfg.addCustomAuditTableName( pc.getEntityName(), auditData.getAuditTable().value() );
        }

        auditMetaGen.generateFirstPass( pc, auditData, xmlMappingData, true );
      }
      else {
View Full Code Here

   * </ul>
   */
  public void updateCalculatedFields() {
    for ( Map.Entry<PersistentClass, ClassAuditingData> classAuditingDataEntry : persistentClassToAuditingData.entrySet() ) {
      final PersistentClass pc = classAuditingDataEntry.getKey();
      final ClassAuditingData classAuditingData = classAuditingDataEntry.getValue();
      for ( String propertyName : classAuditingData.getPropertyNames() ) {
        final PropertyAuditingData propertyAuditingData = classAuditingData.getPropertyAuditingData( propertyName );
        // If a property had the @AuditMappedBy annotation, setting the referenced fields to be always insertable.
        if ( propertyAuditingData.getAuditMappedBy() != null ) {
          final String referencedEntityName = MappingTools.getReferencedEntityName(
              pc.getProperty( propertyName ).getValue()
          );

          final ClassAuditingData referencedClassAuditingData = entityNameToAuditingData.get( referencedEntityName );

          forcePropertyInsertable(
              referencedClassAuditingData, propertyAuditingData.getAuditMappedBy(),
              pc.getEntityName(), referencedEntityName
          );
View Full Code Here

TOP

Related Classes of org.hibernate.envers.configuration.internal.metadata.reader.ClassAuditingData

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.