public Collection rollback(Collection previous) { AbstractJDBCSavepointManager.this.rollbackDataStore(this); return super.rollback(previous); }
/** * 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); } }
public OpenJPASavepoint newSavepoint(String name, Broker broker) { // pre-flush after creating savepoint b/c pre-flush may add/change // states OpenJPASavepoint save = new OpenJPASavepoint(broker, name, true); if (_preFlush) broker.preFlush(); return save; }
public void save(Collection states) { AbstractJDBCSavepointManager.this.setDataStore(this); super.save(states); }
public void releaseSavepoint(String savepoint) { beginOperation(false); try { assertActiveTransaction(); int index = (_savepoints == null) ? -1 : _savepoints.indexOf(savepoint); if (index < 0) throw new UserException(_loc.get("no-savepoint", savepoint)); // clear old in reverse OpenJPASavepoint save; while (_savepoints.size() > index + 1) { save = (OpenJPASavepoint) _savepoints.remove (_savepoints.size() - 1); save.release(false); } save = (OpenJPASavepoint) _savepoints.remove(index); save.release(true); if (_savepointCache != null) _savepointCache.clear(); } catch (OpenJPAException ke) { throw ke; } catch (Exception e) { throw new GeneralException(e); } finally { endOperation(); } }
/** * 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 (); } }
public void save(Collection states) { AbstractJDBCSavepointManager.this.setDataStore(this); super.save(states); }
public void releaseSavepoint(String savepoint) { beginOperation(false); try { assertActiveTransaction(); int index = (_savepoints == null) ? -1 : _savepoints.indexOf(savepoint); if (index < 0) throw new UserException(_loc.get("no-savepoint", savepoint)); // clear old in reverse OpenJPASavepoint save; while (_savepoints.size() > index + 1) { save = (OpenJPASavepoint) _savepoints.remove (_savepoints.size() - 1); save.release(false); } save = (OpenJPASavepoint) _savepoints.remove(index); save.release(true); if (_savepointCache != null) _savepointCache.clear(); } catch (OpenJPAException ke) { throw ke; } catch (Exception e) { throw new GeneralException(e); } finally { endOperation(); } }
/** * 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 (); } }
/** * 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); } }
public void save(Collection states) { AbstractJDBCSavepointManager.this.setDataStore(this); super.save(states); }
public void releaseSavepoint(String savepoint) { beginOperation(false); try { assertActiveTransaction(); int index = (_savepoints == null) ? -1 : _savepoints.indexOf(savepoint); if (index < 0) throw new UserException(_loc.get("no-savepoint", savepoint)); // clear old in reverse OpenJPASavepoint save; while (_savepoints.size() > index + 1) { save = (OpenJPASavepoint) _savepoints.remove (_savepoints.size() - 1); save.release(false); } save = (OpenJPASavepoint) _savepoints.remove(index); save.release(true); if (_savepointCache != null) _savepointCache.clear(); } catch (OpenJPAException ke) { throw ke; } catch (Exception e) { throw new GeneralException(e); } finally { endOperation(); } }
public Collection rollback(Collection previous) { AbstractJDBCSavepointManager.this.rollbackDataStore(this); return super.rollback(previous); }
public OpenJPASavepoint newSavepoint(String name, Broker broker) { // pre-flush after creating savepoint b/c pre-flush may add/change // states OpenJPASavepoint save = new OpenJPASavepoint(broker, name, true); if (_preFlush) broker.preFlush(); return save; }
/** * 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 (); } }
/** * 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); } }