/** Default constructor, sets up the listener name and the list of events to subscribe to. */ public PatientEventListener() { super("phenotips-patient-indexer", new PatientChangedEvent(), new PatientDeletedEvent()); }
/** Default constructor, sets up the listener name and the list of events to subscribe to. */ public LimsSynchronizationEventListener() { super("lims247sync", new PatientChangedEvent(), new PatientDeletedEvent()); }
@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 || 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); } }