/** @inheritDoc */ public void commit(DigestEdit edit) { // check for closed edit if (!edit.isActiveEdit()) { try { throw new Exception(); } catch (Exception e) { M_log.warn(".commit(): closed DigestEdit", e); } return; } // update the properties // addLiveUpdateProperties(user.getPropertiesEdit()); // complete the edit m_storage.commit(edit); // track it eventTrackingService() .post( eventTrackingService() .newEvent(((BaseDigest) edit).getEvent(), edit.getReference(), true)); // close the edit object ((BaseDigest) edit).closeEdit(); }
/** @inheritDoc */ public DigestEdit edit(String id) throws InUseException { // security // unlock(SECURE_EDIT_DIGEST, digestReference(id)); // one add/edit at a time, please, to make sync. only one digest per user // TODO: I don't link sync... could just do the add and let it fail if it already exists // -ggolden synchronized (m_storage) { // check for existance if (!m_storage.check(id)) { try { return add(id); } catch (IdUsedException e) { M_log.warn(".edit: from the add: " + e); } } // ignore the cache - get the user with a lock from the info store DigestEdit edit = m_storage.edit(id); if (edit == null) throw new InUseException(id); ((BaseDigest) edit).setEvent(SECURE_EDIT_DIGEST); return edit; } }
/** @inheritDoc */ public void cancel(DigestEdit edit) { // check for closed edit if (!edit.isActiveEdit()) { try { throw new Exception(); } catch (Exception e) { M_log.warn(".cancel(): closed DigestEdit", e); } return; } // release the edit lock m_storage.cancel(edit); // close the edit object ((BaseDigest) edit).closeEdit(); }
/** @inheritDoc */ public void remove(DigestEdit edit) { // check for closed edit if (!edit.isActiveEdit()) { try { throw new Exception(); } catch (Exception e) { M_log.warn(".remove(): closed DigestEdit", e); } return; } // complete the edit m_storage.remove(edit); // track it eventTrackingService() .post(eventTrackingService().newEvent(SECURE_REMOVE_DIGEST, edit.getReference(), true)); // close the edit object ((BaseDigest) edit).closeEdit(); }
/** @inheritDoc */ public Edit newResourceEdit(Entity container, Entity other) { BaseDigest e = new BaseDigest((Digest) other); e.activate(); return e; }
/** @inheritDoc */ public Edit newResourceEdit(Entity container, Element element) { BaseDigest e = new BaseDigest(element); e.activate(); return e; }
/** @inheritDoc */ public Edit newResourceEdit(Entity container, String id, Object[] others) { BaseDigest e = new BaseDigest(id); e.activate(); return e; }