Search in sources :

Example 6 with BaseObjectReference

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

the class ObjectPropertySolrMetadataExtractor method setFieldsInternal.

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

Example 7 with BaseObjectReference

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

the class WikiObjectComponentManagerEventListenerProxyTest method testWithWikiObjectComponentBuilder.

private void testWithWikiObjectComponentBuilder(WikiObjectComponentBuilder buider, BaseObjectReference objectReference, XWikiDocument source) throws Exception {
    BaseObject baseObject = mock(BaseObject.class);
    when(source.getXObject(any(ObjectReference.class))).thenReturn(baseObject);
    this.mocker.getComponentUnderTest().registerObjectComponents(objectReference, baseObject, buider);
}
Also used : BaseObjectReference(com.xpn.xwiki.objects.BaseObjectReference) ObjectReference(org.xwiki.model.reference.ObjectReference) BaseObject(com.xpn.xwiki.objects.BaseObject)

Example 8 with BaseObjectReference

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

the class WikiObjectComponentManagerEventListenerProxyTest method testRegisterObjectComponentsWithBaseObjectComponentBuilder.

@Test
public void testRegisterObjectComponentsWithBaseObjectComponentBuilder() throws Exception {
    BaseObjectReference objectReference = mock(BaseObjectReference.class);
    XWikiDocument source = mock(XWikiDocument.class);
    WikiBaseObjectComponentBuilder componentBuilder = mock(WikiBaseObjectComponentBuilder.class);
    this.testWithWikiObjectComponentBuilder(componentBuilder, objectReference, source);
    verify(componentBuilder, times(1)).buildComponents(any(BaseObject.class));
}
Also used : WikiBaseObjectComponentBuilder(org.xwiki.component.wiki.internal.bridge.WikiBaseObjectComponentBuilder) XWikiDocument(com.xpn.xwiki.doc.XWikiDocument) BaseObjectReference(com.xpn.xwiki.objects.BaseObjectReference) BaseObject(com.xpn.xwiki.objects.BaseObject) Test(org.junit.Test)

Example 9 with BaseObjectReference

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

the class WikiObjectComponentManagerEventListenerProxyTest method testRegisterObjectComponentsWithStandardComponentBuilder.

@Test
public void testRegisterObjectComponentsWithStandardComponentBuilder() throws Exception {
    BaseObjectReference objectReference = mock(BaseObjectReference.class);
    XWikiDocument source = mock(XWikiDocument.class);
    WikiObjectComponentBuilder componentBuilder = mock(WikiObjectComponentBuilder.class);
    this.testWithWikiObjectComponentBuilder(componentBuilder, objectReference, source);
    verify(componentBuilder, times(1)).buildComponents(objectReference);
}
Also used : XWikiDocument(com.xpn.xwiki.doc.XWikiDocument) BaseObjectReference(com.xpn.xwiki.objects.BaseObjectReference) Test(org.junit.Test)

Example 10 with BaseObjectReference

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

the class SSXListenerTest method onEvent.

@Test
public void onEvent() throws Exception {
    // Mocks
    when(wikiDescriptorManager.getCurrentWikiId()).thenReturn("wiki");
    XWikiDocument doc = mock(XWikiDocument.class);
    BaseObject obj1 = mock(BaseObject.class);
    BaseObject obj2 = mock(BaseObject.class);
    List<BaseObject> objList = new ArrayList<>();
    DocumentReference ssxDocRef = new DocumentReference("wiki", "XWiki", "StyleSheetExtension");
    when(doc.getXObjects(eq(ssxDocRef))).thenReturn(objList);
    objList.add(obj1);
    objList.add(null);
    objList.add(obj2);
    when(obj1.getStringValue("contentType")).thenReturn("CSS");
    when(obj2.getStringValue("contentType")).thenReturn("LESS");
    when(obj2.getNumber()).thenReturn(2);
    DocumentReference documentReference = new DocumentReference("wiki", "Space", "Doc");
    when(doc.getDocumentReference()).thenReturn(documentReference);
    // Because BaseObjectReference uses components from the Utils class, we need to set up the component manager
    ComponentManager rootComponentManager = mock(ComponentManager.class);
    Utils.setComponentManager(rootComponentManager);
    ComponentManager contextComponentManager = mock(ComponentManager.class);
    when(rootComponentManager.getInstance(ComponentManager.class, "context")).thenReturn(contextComponentManager);
    // Mock to serialize the object
    EntityReferenceSerializer entityReferenceSerializer = mock(EntityReferenceSerializer.class);
    when(contextComponentManager.getInstance(EntityReferenceSerializer.TYPE_STRING, "compactwiki")).thenReturn(entityReferenceSerializer);
    when(entityReferenceSerializer.serialize(any(EntityReference.class), any(EntityReference.class))).thenReturn("objName");
    ObjectPropertyReference objPropertyReference = new ObjectPropertyReference("code", new BaseObjectReference(ssxDocRef, 2, documentReference));
    LESSObjectPropertyResourceReference lessObjectPropertyResourceReference = new LESSObjectPropertyResourceReference(objPropertyReference, null, null);
    when(lessResourceReferenceFactory.createReferenceForXObjectProperty(eq(objPropertyReference))).thenReturn(lessObjectPropertyResourceReference);
    // Test
    mocker.getComponentUnderTest().onEvent(new DocumentUpdatedEvent(), doc, new Object());
    // Verify
    verify(lessResourcesCache, atLeastOnce()).clearFromLESSResource(lessObjectPropertyResourceReference);
    verify(colorThemeCache, atLeastOnce()).clearFromLESSResource(lessObjectPropertyResourceReference);
}
Also used : ObjectPropertyReference(org.xwiki.model.reference.ObjectPropertyReference) LESSObjectPropertyResourceReference(org.xwiki.lesscss.internal.resources.LESSObjectPropertyResourceReference) ArrayList(java.util.ArrayList) DocumentUpdatedEvent(org.xwiki.bridge.event.DocumentUpdatedEvent) BaseObject(com.xpn.xwiki.objects.BaseObject) EntityReferenceSerializer(org.xwiki.model.reference.EntityReferenceSerializer) XWikiDocument(com.xpn.xwiki.doc.XWikiDocument) BaseObjectReference(com.xpn.xwiki.objects.BaseObjectReference) ComponentManager(org.xwiki.component.manager.ComponentManager) EntityReference(org.xwiki.model.reference.EntityReference) BaseObject(com.xpn.xwiki.objects.BaseObject) DocumentReference(org.xwiki.model.reference.DocumentReference) Test(org.junit.Test)

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