@Override public Patient load(DocumentModelBridge document) throws IllegalArgumentException { // If the caller already has access to the document, then it's safe to proceed return this.internalService.load(document); }
@Override public Patient load(DocumentModelBridge document) throws IllegalArgumentException { // If the caller already has access to the document, then it's safe to proceed return createSecurePatient(this.internalService.load(document)); }
@Override public void onEvent(Event event, Object source, Object data) { XWikiDocument doc = (XWikiDocument) source; BaseObject patientRecordObj = doc.getXObject(Patient.CLASS_REFERENCE); if (patientRecordObj == null || "PatientTemplate".equals(doc.getDocumentReference().getName())) { return; } Patient patient = this.repo.load(doc); User user = this.userManager.getCurrentUser(); this.observationManager.notify(new PatientChangedEvent(patient, user), source); // FIXME Send a diff as the notification data } }
@Override public void onEvent(Event event, Object source, Object data) { XWikiDocument doc = (XWikiDocument) source; BaseObject patientRecordObj = doc.getXObject(Patient.CLASS_REFERENCE); if (patientRecordObj == null || "PatientTemplate".equals(doc.getDocumentReference().getName())) { return; } Patient patient = this.repo.load(doc); User user = this.userManager.getCurrentUser(); this.observationManager.notify(new PatientChangedEvent(patient, user), source); // FIXME Send a diff as the notification data } }
@Override public void onEvent(Event event, Object source, Object data) { XWikiDocument doc = (XWikiDocument) source; BaseObject patientRecordObj = doc.getXObject(Patient.CLASS_REFERENCE); if (patientRecordObj == null || "PatientTemplate".equals(doc.getDocumentReference().getName())) { return; } Patient patient = this.repo.load(doc); User user = this.userManager.getCurrentUser(); this.observationManager.notify(new PatientCreatedEvent(patient, user), source); this.observationManager.notify(new PatientChangedEvent(patient, user), source); } }
@Override public void onEvent(Event event, Object source, Object data) { XWikiDocument doc = (XWikiDocument) source; BaseObject patientRecordObj = doc.getXObject(Patient.CLASS_REFERENCE); if (patientRecordObj == null || "PatientTemplate".equals(doc.getDocumentReference().getName())) { return; } Patient patient = this.repo.load(doc); User user = this.userManager.getCurrentUser(); CancelableEvent patientEvent = new PatientChangingEvent(patient, user); this.observationManager.notify(patientEvent, doc); if (patientEvent.isCanceled()) { // FIXME DocumentUpdatingEvent is not cancelable yet! // ((CancelableEvent) event).cancel(); } } }
@Override public void onEvent(Event event, Object source, Object data) { XWikiDocument doc = (XWikiDocument) source; BaseObject patientRecordObj = doc.getXObject(Patient.CLASS_REFERENCE); if (patientRecordObj == null || "PatientTemplate".equals(doc.getDocumentReference().getName())) { return; } Patient patient = this.repo.load(doc); User user = this.userManager.getCurrentUser(); CancelableEvent patientEvent = new PatientChangingEvent(patient, user); this.observationManager.notify(patientEvent, doc); if (patientEvent.isCanceled()) { // FIXME DocumentUpdatingEvent is not cancelable yet! // ((CancelableEvent) event).cancel(); } } }
@Override public void onEvent(Event event, Object source, Object data) { XWikiDocument doc = (XWikiDocument) source; if (doc == null || doc.getOriginalDocument() == null) { return; } XWikiDocument odoc = doc.getOriginalDocument(); BaseObject patientRecordObj = odoc.getXObject(Patient.CLASS_REFERENCE); if (patientRecordObj == null || "PatientTemplate".equals(doc.getDocumentReference().getName())) { return; } Patient patient = this.repo.load(odoc); User user = this.userManager.getCurrentUser(); this.observationManager.notify(new PatientDeletedEvent(patient, user), odoc); } }
@Override public void onEvent(Event event, Object source, Object data) { XWikiDocument doc = (XWikiDocument) source; BaseObject patientRecordObj = doc.getXObject(Patient.CLASS_REFERENCE); if (patientRecordObj == null || "PatientTemplate".equals(doc.getDocumentReference().getName())) { return; } Patient patient = this.repo.load(doc); User user = this.userManager.getCurrentUser(); this.observationManager.notify(new PatientCreatedEvent(patient, user), source); this.observationManager.notify(new PatientChangedEvent(patient, user), source); } }
@Override public void onEvent(Event event, Object source, Object data) { XWikiDocument doc = (XWikiDocument) source; if (doc == null || doc.getOriginalDocument() == null) { return; } XWikiDocument odoc = doc.getOriginalDocument(); BaseObject patientRecordObj = odoc.getXObject(Patient.CLASS_REFERENCE); if (patientRecordObj == null || "PatientTemplate".equals(doc.getDocumentReference().getName())) { return; } Patient patient = this.repo.load(odoc); User user = this.userManager.getCurrentUser(); this.observationManager.notify(new PatientDeletedEvent(patient, user), odoc); } }
@Override public void onEvent(Event event, Object source, Object data) { XWikiDocument doc = (XWikiDocument) source; if (doc == null || "PatientTemplate".equals(doc.getDocumentReference().getName())) { return; } XWikiDocument odoc; try { odoc = (XWikiDocument) this.dab.getDocument(doc.getDocumentReference()); } catch (Exception e) { return; } BaseObject patientRecordObj = odoc.getXObject(Patient.CLASS_REFERENCE); if (patientRecordObj == null) { return; } Patient patient = this.repo.load(odoc); User user = this.userManager.getCurrentUser(); CancelableEvent patientEvent = new PatientDeletingEvent(patient, user); this.observationManager.notify(patientEvent, odoc); if (patientEvent.isCanceled()) { // FIXME DocumentDeletingEvent is not cancelable yet! // ((CancelableEvent) event).cancel(); } } }
@Override public void onEvent(Event event, Object source, Object data) { XWikiDocument doc = (XWikiDocument) source; if (doc == null || "PatientTemplate".equals(doc.getDocumentReference().getName())) { return; } XWikiDocument odoc; try { odoc = (XWikiDocument) this.dab.getDocument(doc.getDocumentReference()); } catch (Exception e) { return; } BaseObject patientRecordObj = odoc.getXObject(Patient.CLASS_REFERENCE); if (patientRecordObj == null) { return; } Patient patient = this.repo.load(odoc); User user = this.userManager.getCurrentUser(); CancelableEvent patientEvent = new PatientDeletingEvent(patient, user); this.observationManager.notify(patientEvent, odoc); if (patientEvent.isCanceled()) { // FIXME DocumentDeletingEvent is not cancelable yet! // ((CancelableEvent) event).cancel(); } } }
@Override public void onEvent(Event event, Object source, Object data) { XWikiDocument doc = (XWikiDocument) source; BaseObject patientRecordObj = doc.getXObject(Patient.CLASS_REFERENCE); if (patientRecordObj == null || "PatientTemplate".equals(doc.getDocumentReference().getName())) { return; } Patient patient = this.repo.load(doc); User user = this.userManager.getCurrentUser(); CancelableEvent patientEvent = new PatientCreatingEvent(patient, user); this.observationManager.notify(patientEvent, doc); if (patientEvent.isCanceled()) { // FIXME DocumentCancelingEvent is not cancelable yet! // ((CancelableEvent) event).cancel(); // return; } patientEvent = new PatientChangingEvent(patient, user); this.observationManager.notify(patientEvent, doc); if (patientEvent.isCanceled()) { // FIXME DocumentCancelingEvent is not cancelable yet! // ((CancelableEvent) event).cancel(); } } }
@Override public void onEvent(Event event, Object source, Object data) { XWikiDocument doc = (XWikiDocument) source; BaseObject patientRecordObj = doc.getXObject(Patient.CLASS_REFERENCE); if (patientRecordObj == null || "PatientTemplate".equals(doc.getDocumentReference().getName())) { return; } Patient patient = this.repo.load(doc); User user = this.userManager.getCurrentUser(); CancelableEvent patientEvent = new PatientCreatingEvent(patient, user); this.observationManager.notify(patientEvent, doc); if (patientEvent.isCanceled()) { // FIXME DocumentCancelingEvent is not cancelable yet! // ((CancelableEvent) event).cancel(); // return; } patientEvent = new PatientChangingEvent(patient, user); this.observationManager.notify(patientEvent, doc); if (patientEvent.isCanceled()) { // FIXME DocumentCancelingEvent is not cancelable yet! // ((CancelableEvent) event).cancel(); } } }