/** * Handle the rolled back state, returning saved data. * Subclasses should return the collection returned from this method. * * @param previous previous savepoints set in the transaction */ public Collection<SavepointFieldManager> rollback(Collection<OpenJPASavepoint> previous) { Map<StateManagerImpl, SavepointFieldManager> saved; if (previous.isEmpty()) saved = _saved; else { // merge all changes into one collection, allowing for later // SavepointFieldManagers to replace previous ones. saved = new HashMap<StateManagerImpl, SavepointFieldManager>(); for (OpenJPASavepoint savepoint : previous) saved.putAll(savepoint.getStates()); saved.putAll(_saved); } _saved = null; return saved.values (); } }
/** * Handle the rolled back state, returning saved data. * Subclasses should return the collection returned from this method. * * @param previous previous savepoints set in the transaction */ public Collection<SavepointFieldManager> rollback(Collection<OpenJPASavepoint> previous) { Map<StateManagerImpl, SavepointFieldManager> saved; if (previous.isEmpty()) saved = _saved; else { // merge all changes into one collection, allowing for later // SavepointFieldManagers to replace previous ones. saved = new HashMap<StateManagerImpl, SavepointFieldManager>(); for (OpenJPASavepoint savepoint : previous) saved.putAll(savepoint.getStates()); saved.putAll(_saved); } _saved = null; return saved.values (); } }
/** * Handle the rolled back state, returning saved data. * Subclasses should return the collection returned from this method. * * @param previous previous savepoints set in the transaction */ public Collection<SavepointFieldManager> rollback(Collection<OpenJPASavepoint> previous) { Map<StateManagerImpl, SavepointFieldManager> saved; if (previous.isEmpty()) saved = _saved; else { // merge all changes into one collection, allowing for later // SavepointFieldManagers to replace previous ones. saved = new HashMap<StateManagerImpl, SavepointFieldManager>(); for (OpenJPASavepoint savepoint : previous) saved.putAll(savepoint.getStates()); saved.putAll(_saved); } _saved = null; return saved.values (); } }
/** * Handle the rolled back state, returning saved data. * Subclasses should return the collection returned from this method. * * @param previous previous savepoints set in the transaction */ public Collection<SavepointFieldManager> rollback(Collection<OpenJPASavepoint> previous) { Map<StateManagerImpl, SavepointFieldManager> saved; if (previous.isEmpty()) saved = _saved; else { // merge all changes into one collection, allowing for later // SavepointFieldManagers to replace previous ones. saved = new HashMap<StateManagerImpl, SavepointFieldManager>(); for (OpenJPASavepoint savepoint : previous) saved.putAll(savepoint.getStates()); saved.putAll(_saved); } _saved = null; return saved.values (); } }
/** * Handle the rolled back state, returning saved data. * Subclasses should return the collection returned from this method. * * @param previous previous savepoints set in the transaction */ public Collection rollback(Collection previous) { Map saved; if (previous.isEmpty()) saved = _saved; else { // merge all changes into one collection, allowing for later // SavepointFieldManagers to replace previous ones. saved = new HashMap(); for (Iterator i = previous.iterator(); i.hasNext();) saved.putAll(((OpenJPASavepoint) i.next()).getStates()); saved.putAll(_saved); } _saved = null; return saved.values (); } }
/** * Saves the source of the given event for auditing. * @param op an auditable operation * @param event the event */ protected void save(AuditableOperation op, LifecycleEvent event) { StateManagerImpl sm = getImpl(event.getSource()); if (sm != null && !_audits.containsKey(sm) && isAuditable(op, sm)) { Broker broker = sm.getBroker(); OpenJPASavepoint savepoint = newSavepoint("", broker); savepoint.save(Collections.singleton(sm)); Map<StateManagerImpl, SavepointFieldManager> states = savepoint.getStates(); Map.Entry<StateManagerImpl, SavepointFieldManager> e = states.entrySet().iterator().next(); PersistenceCapable copy = e.getValue().getCopy(); copy.pcReplaceStateManager(null); _audits.put(sm, copy); } }
/** * Saves the source of the given event for auditing. * @param op an auditable operation * @param event the event */ protected void save(AuditableOperation op, LifecycleEvent event) { StateManagerImpl sm = getImpl(event.getSource()); if (sm != null && !_audits.containsKey(sm) && isAuditable(op, sm)) { Broker broker = sm.getBroker(); OpenJPASavepoint savepoint = newSavepoint("", broker); savepoint.save(Collections.singleton(sm)); Map<StateManagerImpl, SavepointFieldManager> states = savepoint.getStates(); Map.Entry<StateManagerImpl, SavepointFieldManager> e = states.entrySet().iterator().next(); PersistenceCapable copy = e.getValue().getCopy(); copy.pcReplaceStateManager(null); _audits.put(sm, copy); } }
/** * Saves the source of the given event for auditing. * @param op an auditable operation * @param event the event */ protected void save(AuditableOperation op, LifecycleEvent event) { StateManagerImpl sm = getImpl(event.getSource()); if (sm != null && !_audits.containsKey(sm) && isAuditable(op, sm)) { Broker broker = sm.getBroker(); OpenJPASavepoint savepoint = newSavepoint("", broker); savepoint.save(Collections.singleton(sm)); Map<StateManagerImpl, SavepointFieldManager> states = savepoint.getStates(); Map.Entry<StateManagerImpl, SavepointFieldManager> e = states.entrySet().iterator().next(); PersistenceCapable copy = e.getValue().getCopy(); copy.pcReplaceStateManager(null); _audits.put(sm, copy); } }
/** * Saves the source of the given event for auditing. * @param op an auditable operation * @param event the event */ protected void save(AuditableOperation op, LifecycleEvent event) { StateManagerImpl sm = getImpl(event.getSource()); if (sm != null && !_audits.containsKey(sm) && isAuditable(op, sm)) { Broker broker = sm.getBroker(); OpenJPASavepoint savepoint = newSavepoint("", broker); savepoint.save(Collections.singleton(sm)); Map<StateManagerImpl, SavepointFieldManager> states = savepoint.getStates(); Map.Entry<StateManagerImpl, SavepointFieldManager> e = states.entrySet().iterator().next(); PersistenceCapable copy = e.getValue().getCopy(); copy.pcReplaceStateManager(null); _audits.put(sm, copy); } }