Search in sources :

Example 11 with BaseObjectReference

use of com.xpn.xwiki.objects.BaseObjectReference in project xwiki-platform by xwiki.

the class NotificationEmailJob method getSchedulerJobDocument.

private DocumentReference getSchedulerJobDocument(JobExecutionContext jobContext) {
    JobDataMap data = jobContext.getJobDetail().getJobDataMap();
    BaseObject schedulerJobObject = (BaseObject) data.get("xjob");
    BaseObjectReference schedulerJobObjectReference = schedulerJobObject.getReference();
    return (DocumentReference) schedulerJobObjectReference.getParent();
}
Also used : JobDataMap(org.quartz.JobDataMap) BaseObjectReference(com.xpn.xwiki.objects.BaseObjectReference) DocumentReference(org.xwiki.model.reference.DocumentReference) BaseObject(com.xpn.xwiki.objects.BaseObject)

Example 12 with BaseObjectReference

use of com.xpn.xwiki.objects.BaseObjectReference in project xwiki-platform by xwiki.

the class BaseObjectOutputFilterStream method beginWikiObject.

@Override
public void beginWikiObject(String name, FilterEventParameters parameters) throws FilterException {
    super.beginWikiObject(name, parameters);
    if (this.enabled) {
        if (this.entity == null) {
            this.entity = new BaseObject();
        }
        if (parameters.containsKey(WikiObjectFilter.PARAMETER_NAME)) {
            this.entity.setDocumentReference(getDocumentReference(WikiObjectFilter.PARAMETER_NAME, parameters, null));
        }
        int number = getInt(WikiObjectFilter.PARAMETER_NUMBER, parameters, -1);
        EntityReference classReference = getEntityReference(WikiObjectFilter.PARAMETER_CLASS_REFERENCE, parameters, null);
        if (classReference == null) {
            BaseObjectReference reference = new BaseObjectReference(this.currentEntityReference);
            classReference = reference.getXClassReference();
            if (number < 0 && reference.getObjectNumber() != null) {
                number = reference.getObjectNumber();
            }
        }
        this.entity.setXClassReference(classReference);
        // Get the class in the current instance
        XWikiContext xcontext = this.xcontextProvider.get();
        if (xcontext != null && xcontext.getWiki() != null) {
            try {
                setCurrentXClass(xcontext.getWiki().getXClass(this.entity.getXClassReference(), xcontext));
            } catch (XWikiException e) {
            // TODO: log something ?
            }
        }
        this.entity.setNumber(number);
        this.entity.setGuid(getString(WikiObjectFilter.PARAMETER_GUID, parameters, null));
        getBaseClassOutputFilterStream().enable();
        getBasePropertyOutputFilterStream().enable();
    }
}
Also used : BaseObjectReference(com.xpn.xwiki.objects.BaseObjectReference) EntityReference(org.xwiki.model.reference.EntityReference) XWikiContext(com.xpn.xwiki.XWikiContext) XWikiException(com.xpn.xwiki.XWikiException) BaseObject(com.xpn.xwiki.objects.BaseObject)

Example 13 with BaseObjectReference

use of com.xpn.xwiki.objects.BaseObjectReference in project xwiki-platform by xwiki.

the class ObjectSolrMetadataExtractor method setFieldsInternal.

@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;
}
Also used : XWikiDocument(com.xpn.xwiki.doc.XWikiDocument) BaseObjectReference(com.xpn.xwiki.objects.BaseObjectReference) DocumentReference(org.xwiki.model.reference.DocumentReference) BaseObject(com.xpn.xwiki.objects.BaseObject)

Example 14 with BaseObjectReference

use of com.xpn.xwiki.objects.BaseObjectReference in project xwiki-platform by xwiki.

the class ObjectSolrReferenceResolver method getQuery.

@Override
public String getQuery(EntityReference reference) throws SolrIndexerException {
    BaseObjectReference objectReference = new BaseObjectReference(reference);
    StringBuilder builder = new StringBuilder();
    EntityReference documentReference = reference.extractReference(EntityType.DOCUMENT);
    builder.append(this.documentResolverProvider.get().getQuery(documentReference));
    builder.append(QUERY_AND);
    builder.append(FieldUtils.CLASS);
    builder.append(':');
    builder.append(ClientUtils.escapeQueryChars(this.localSerializer.serialize(objectReference.getXClassReference())));
    builder.append(QUERY_AND);
    builder.append(FieldUtils.NUMBER);
    builder.append(':');
    builder.append(ClientUtils.escapeQueryChars(String.valueOf(objectReference.getObjectNumber())));
    return builder.toString();
}
Also used : BaseObjectReference(com.xpn.xwiki.objects.BaseObjectReference) EntityReference(org.xwiki.model.reference.EntityReference)

Example 15 with BaseObjectReference

use of com.xpn.xwiki.objects.BaseObjectReference in project xwiki-platform by xwiki.

the class NotificationEmailJob method executeJob.

@Override
protected void executeJob(JobExecutionContext jobContext) throws JobExecutionException {
    NotificationConfiguration configuration = Utils.getComponent(NotificationConfiguration.class);
    if (!configuration.isEnabled() || !configuration.areEmailsEnabled()) {
        // do nothing
        return;
    }
    DocumentReference schedulerJobDocument = getSchedulerJobDocument(jobContext);
    BaseObjectReference emailJobObjectReference = getNotificationEmailJobObjectReference(schedulerJobDocument);
    NotificationUserIterator userIterator = Utils.getComponent(NotificationUserIterator.class);
    userIterator.initialize(getJobInterval(schedulerJobDocument));
    NotificationEmailSender mailSender = Utils.getComponent(NotificationEmailSender.class);
    mailSender.sendEmails(getPreviousFireTime(emailJobObjectReference), userIterator);
    setPreviousFireTime(emailJobObjectReference);
}
Also used : BaseObjectReference(com.xpn.xwiki.objects.BaseObjectReference) NotificationConfiguration(org.xwiki.notifications.NotificationConfiguration) DocumentReference(org.xwiki.model.reference.DocumentReference)

Aggregations

BaseObjectReference (com.xpn.xwiki.objects.BaseObjectReference)20 BaseObject (com.xpn.xwiki.objects.BaseObject)14 DocumentReference (org.xwiki.model.reference.DocumentReference)13 XWikiDocument (com.xpn.xwiki.doc.XWikiDocument)12 XWikiContext (com.xpn.xwiki.XWikiContext)5 EntityReference (org.xwiki.model.reference.EntityReference)5 HashMap (java.util.HashMap)4 List (java.util.List)4 Test (org.junit.Test)4 ObjectPropertyReference (org.xwiki.model.reference.ObjectPropertyReference)4 XWikiException (com.xpn.xwiki.XWikiException)2 ArrayList (java.util.ArrayList)2 LocalDocumentReference (org.xwiki.model.reference.LocalDocumentReference)2 ObjectReference (org.xwiki.model.reference.ObjectReference)2 Query (org.xwiki.query.Query)2 XWiki (com.xpn.xwiki.XWiki)1 XWikiAttachment (com.xpn.xwiki.doc.XWikiAttachment)1 XWikiRCSNodeInfo (com.xpn.xwiki.doc.rcs.XWikiRCSNodeInfo)1 XObjectAddedEvent (com.xpn.xwiki.internal.event.XObjectAddedEvent)1 XObjectDeletedEvent (com.xpn.xwiki.internal.event.XObjectDeletedEvent)1