Patient patient = super.create(creator); XWikiDocument doc = patient.getXDocument(); doc.getXObject(Patient.CLASS_REFERENCE).setLongValue("identifier", Integer.parseInt(patient.getId().replaceAll("\\D++", ""))); if (creator != null) {
@Override public synchronized Family create(final DocumentReference creator) { try { final XWikiContext context = this.xcontextProvider.get(); final Family family = super.create(creator); final XWikiDocument doc = family.getXDocument(); if (doc.getXObject(Owner.CLASS_REFERENCE) == null) { // add owner reference to family - only if no owner already exist, e.g. from FamilyTemplate doc.newXObject(Owner.CLASS_REFERENCE, context).set(OWNER, creator == null ? StringUtils.EMPTY : this.entitySerializer.serialize(creator), context); } // Adding identifier to family doc.getXObject(Family.CLASS_REFERENCE).setLongValue(IDENTIFIER, Integer.parseInt(family.getId().replaceAll("\\D++", StringUtils.EMPTY))); context.getWiki().saveDocument(doc, context); return family; } catch (Exception ex) { this.logger.warn("Failed to create family: {}", ex.getMessage(), ex); return null; } }
Patient patient = super.create(creator); XWikiDocument doc = (XWikiDocument) this.bridge.getDocument(patient.getDocument()); doc.getXObject(Patient.CLASS_REFERENCE).setLongValue("identifier", Integer.parseInt(patient.getDocument().getName().replaceAll("\\D++", ""))); if (creator != null) {
/** * Set family object properties. */ private void setFamilyObject(XWikiDocument familyXDocument, XWikiDocument patientXDoc, long id) throws XWikiException { BaseObject familyObject = familyXDocument.newXObject(Family.CLASS_REFERENCE, this.context); familyObject.setLongValue("identifier", id); familyObject.setStringListValue("members", Arrays.asList(patientXDoc.getDocumentReference().getName())); familyObject.setStringValue("external_id", this.getPropertyValue(patientXDoc, Patient.CLASS_REFERENCE, "last_name", "")); familyObject.setIntValue("warning", 0); familyObject.setStringValue("warning_message", ""); }
/** * Set family object properties. */ private void setFamilyObject(XWikiDocument familyXDocument, XWikiDocument patientXDoc, long id) throws XWikiException { BaseObject familyObject = familyXDocument.newXObject(Family.CLASS_REFERENCE, this.context); familyObject.setLongValue("identifier", id); familyObject.setStringListValue("members", Arrays.asList(patientXDoc.getDocumentReference().getName())); familyObject.setStringValue("external_id", this.getPropertyValue(patientXDoc, Patient.CLASS_REFERENCE, "last_name", "")); familyObject.setIntValue("warning", 0); familyObject.setStringValue("warning_message", ""); }