public AuditSyncManager(IRevisionInfoGenerator revisionInfoGenerator) { //ORIG: auditSyncs = new ConcurrentHashMap<ITransaction, AuditSync>(); TODO Simon see if it's OK auditSyncs = new Dictionary <ITransaction, AuditSync>(); this.revisionInfoGenerator = revisionInfoGenerator; }
public AuditSyncManager(IRevisionInfoGenerator revisionInfoGenerator) { //ORIG: auditSyncs = new ConcurrentHashMap<ITransaction, AuditSync>(); TODO Simon see if it's OK auditSyncs = new Dictionary<ITransaction, AuditSync>(); this.revisionInfoGenerator = revisionInfoGenerator; }
public AuditProcess(IRevisionInfoGenerator revisionInfoGenerator, ISessionImplementor session) { this.revisionInfoGenerator = revisionInfoGenerator; this.session = session; workUnits = new LinkedList <IAuditWorkUnit>(); undoQueue = new Queue <IAuditWorkUnit>(); usedIds = new Dictionary <Tuple <string, object>, IAuditWorkUnit>(); entityChangeNotifier = new EntityChangeNotifier(revisionInfoGenerator, session); }
public AuditProcess(IRevisionInfoGenerator revisionInfoGenerator, ISessionImplementor session) { this.revisionInfoGenerator = revisionInfoGenerator; this.session = session; workUnits = new LinkedList<IAuditWorkUnit>(); undoQueue = new Queue<IAuditWorkUnit>(); usedIds = new Dictionary<Pair<string, object>, IAuditWorkUnit>(); entityChangeNotifier = new EntityChangeNotifier(revisionInfoGenerator, session); }
public AuditSync(AuditSyncManager manager, IEventSource session, IRevisionInfoGenerator revisionInfoGenerator) { this.manager = manager; this.session = session; this.revisionInfoGenerator = revisionInfoGenerator; transaction = session.Transaction; workUnits = new LinkedList<IAuditWorkUnit>(); undoQueue = new Queue<IAuditWorkUnit>(); usedIds = new Dictionary<Pair<String, Object>, IAuditWorkUnit>(); }
public AuditSync(AuditSyncManager manager, IEventSource session, IRevisionInfoGenerator revisionInfoGenerator) { this.manager = manager; this.session = session; this.revisionInfoGenerator = revisionInfoGenerator; transaction = session.Transaction; workUnits = new LinkedList <IAuditWorkUnit>(); undoQueue = new Queue <IAuditWorkUnit>(); usedIds = new Dictionary <Pair <String, Object>, IAuditWorkUnit>(); }
public RevisionInfoConfigurationResult(IRevisionInfoGenerator revisionInfoGenerator, XmlDocument revisionInfoXmlMapping, RevisionInfoQueryCreator revisionInfoQueryCreator, XmlElement revisionInfoRelationMapping, RevisionInfoNumberReader revisionInfoNumberReader, String revisionInfoEntityName) { this.RevisionInfoGenerator = revisionInfoGenerator; this.RevisionInfoXmlMapping = revisionInfoXmlMapping; this.RevisionInfoQueryCreator = revisionInfoQueryCreator; this.RevisionInfoRelationMapping = revisionInfoRelationMapping; this.RevisionInfoNumberReader = revisionInfoNumberReader; this.RevisionInfoEntityName = revisionInfoEntityName; }
public RevisionInfoConfigurationResult(IRevisionInfoGenerator revisionInfoGenerator, XDocument revisionInfoXmlMapping, RevisionInfoQueryCreator revisionInfoQueryCreator, XElement revisionInfoRelationMapping, RevisionInfoNumberReader revisionInfoNumberReader, ModifiedEntityNamesReader modifiedEntityNamesReader, string revisionInfoEntityName, System.Type revisionInfoClass, PropertyData revisionInfoTimestampData) { RevisionInfoGenerator = revisionInfoGenerator; RevisionInfoXmlMapping = revisionInfoXmlMapping; RevisionInfoQueryCreator = revisionInfoQueryCreator; RevisionInfoRelationMapping = revisionInfoRelationMapping; RevisionInfoNumberReader = revisionInfoNumberReader; ModifiedEntityNamesReader = modifiedEntityNamesReader; RevisionInfoEntityName = revisionInfoEntityName; RevisionInfoClass = revisionInfoClass; RevisionInfoTimestampData = revisionInfoTimestampData; }
public AuditProcessManager(IRevisionInfoGenerator revisionInfoGenerator) { _auditProcesses = new ConcurrentDictionary <ITransaction, AuditProcess>(); _revisionInfoGenerator = revisionInfoGenerator; }
public EntityChangeNotifier(IRevisionInfoGenerator revisionInfoGenerator, ISessionImplementor sessionImplementor) { _revisionInfoGenerator = revisionInfoGenerator; _sessionImplementor = sessionImplementor; }
//@SuppressWarnings({"unchecked"}) public RevisionInfoConfigurationResult configure(NHibernate.Cfg.Configuration cfg) { ICollection <PersistentClass> classes = cfg.ClassMappings; bool revisionEntityFound = false; IRevisionInfoGenerator revisionInfoGenerator = null; System.Type revisionInfoClass = null; foreach (PersistentClass pc in classes) { System.Type clazz; try { clazz = System.Type.GetType(pc.ClassName, true); } catch (System.Exception e) { throw new MappingException(e); } RevisionEntityAttribute revisionEntity = (RevisionEntityAttribute)Attribute.GetCustomAttribute(clazz, typeof(RevisionEntityAttribute)); if (revisionEntity != null) { if (revisionEntityFound) { throw new MappingException("Only one entity may be decorated with [RevisionEntity]!"); } // Checking if custom revision entity isn't audited if (Attribute.GetCustomAttribute(clazz, typeof(AuditedAttribute)) != null) { throw new MappingException("An entity decorated with [RevisionEntity] cannot be audited!"); } revisionEntityFound = true; bool revisionNumberFound = false; bool revisionTimestampFound = false; searchForRevisionInfoCfg(clazz, ref revisionNumberFound, ref revisionTimestampFound); if (!revisionNumberFound) { throw new MappingException("An entity decorated with [RevisionEntity] must have a field decorated " + "with [RevisionNumber]!"); } if (!revisionTimestampFound) { throw new MappingException("An entity decorated with [RevisionEntity] must have a field decorated " + "with [RevisionTimestamp]!"); } revisionInfoEntityName = pc.EntityName; revisionInfoClass = pc.MappedClass; revisionInfoTimestampType = pc.GetProperty(revisionInfoTimestampData.Name).Type; revisionInfoGenerator = new DefaultRevisionInfoGenerator(revisionInfoEntityName, revisionInfoClass, /*revisionEntity.value, */ revisionInfoTimestampData /*, isTimestampAsDate()*/); } } // In case of a custom revision info generator, the mapping will be null. XmlDocument revisionInfoXmlMapping = null; if (revisionInfoGenerator == null) { revisionInfoClass = typeof(DefaultRevisionEntity); revisionInfoGenerator = new DefaultRevisionInfoGenerator(revisionInfoEntityName, revisionInfoClass, revisionInfoTimestampData); revisionInfoXmlMapping = generateDefaultRevisionInfoXmlMapping(); } return(new RevisionInfoConfigurationResult( revisionInfoGenerator, revisionInfoXmlMapping, new RevisionInfoQueryCreator(revisionInfoEntityName, revisionInfoIdData.Name, revisionInfoTimestampData.Name), generateRevisionInfoRelationMapping(), new RevisionInfoNumberReader(revisionInfoClass, revisionInfoIdData), revisionInfoEntityName)); }
public AuditProcessManager(IRevisionInfoGenerator revisionInfoGenerator) { _auditProcesses = new ThreadSafeDictionary <ITransaction, AuditProcess>(new Dictionary <ITransaction, AuditProcess>()); _revisionInfoGenerator = revisionInfoGenerator; }
public AuditProcessManager(IRevisionInfoGenerator revisionInfoGenerator) { auditProcesses = new ThreadSafeDictionary<ITransaction, AuditProcess>(new Dictionary<ITransaction, AuditProcess>()); this.revisionInfoGenerator = revisionInfoGenerator; }