@Override public DocumentReference getDocumentReference() { return (DocumentReference) objectReference.getParent(); }
private String getObjectPropertyContent(ObjectPropertyReference reference) { BaseObjectReference objRef = new BaseObjectReference(reference.getParent()); DocumentReference docRef = new DocumentReference(objRef.getParent()); if (objRef.getObjectNumber() != null) { return dab.getProperty(docRef, objRef.getXClassReference(), objRef.getObjectNumber(), reference.getName()) .toString(); } else { return dab.getProperty(docRef, objRef.getXClassReference(), reference.getName()).toString(); } } }
@Override public boolean setFieldsInternal(LengthSolrInputDocument solrDocument, EntityReference entityReference) throws Exception { ObjectPropertyReference objectPropertyReference = new ObjectPropertyReference(entityReference); BaseObjectReference objectReference = new BaseObjectReference(objectPropertyReference.getParent()); DocumentReference classReference = objectReference.getXClassReference(); DocumentReference documentReference = new DocumentReference(objectReference.getParent()); XWikiDocument originalDocument = getDocument(documentReference); BaseProperty<ObjectPropertyReference> objectProperty = originalDocument.getXObjectProperty(objectPropertyReference); if (objectProperty == null) { return false; } // Object solrDocument.setField(FieldUtils.CLASS, localSerializer.serialize(classReference)); solrDocument.setField(FieldUtils.NUMBER, objectReference.getObjectNumber()); // Property solrDocument.setField(FieldUtils.PROPERTY_NAME, objectPropertyReference.getName()); setLocaleAndContentFields(documentReference, solrDocument, objectProperty); return true; }
@Override public boolean setFieldsInternal(LengthSolrInputDocument solrDocument, EntityReference entityReference) throws Exception { BaseObjectReference objectReference = new BaseObjectReference(entityReference); DocumentReference classReference = objectReference.getXClassReference(); DocumentReference documentReference = new DocumentReference(objectReference.getParent()); XWikiDocument originalDocument = getDocument(documentReference); BaseObject object = originalDocument.getXObject(objectReference); if (object == null) { return false; } solrDocument.setField(FieldUtils.ID, resolver.getId(object.getReference())); setDocumentFields(documentReference, solrDocument); solrDocument.setField(FieldUtils.TYPE, objectReference.getType().name()); solrDocument.setField(FieldUtils.CLASS, localSerializer.serialize(classReference)); solrDocument.setField(FieldUtils.NUMBER, objectReference.getObjectNumber()); setLocaleAndContentFields(documentReference, solrDocument, object); return true; }