use of org.xwiki.model.reference.SpaceReference in project xwiki-platform by xwiki.
the class XWikiLinkLabelGeneratorTest method generateWhenTerminalPage.
@Test
public void generateWhenTerminalPage() throws Exception {
ResourceReference resourceReference = new DocumentResourceReference("HelloWorld");
DocumentReference documentReference = new DocumentReference("wiki", Arrays.asList("space1", "space2"), "HelloWorld");
EntityReferenceResolver<ResourceReference> resourceReferenceResolver = this.mocker.getInstance(new DefaultParameterizedType(null, EntityReferenceResolver.class, ResourceReference.class));
when(resourceReferenceResolver.resolve(resourceReference, EntityType.DOCUMENT)).thenReturn(documentReference);
DocumentAccessBridge dab = this.mocker.getInstance(DocumentAccessBridge.class);
DocumentModelBridge dmb = mock(DocumentModelBridge.class);
when(dab.getTranslatedDocumentInstance(documentReference)).thenReturn(dmb);
when(dmb.getTitle()).thenReturn("My title");
EntityReferenceSerializer<String> localSerializer = this.mocker.getInstance(EntityReferenceSerializer.TYPE_STRING, "local");
when(localSerializer.serialize(new SpaceReference("wiki", "space1", "space2"))).thenReturn("space1.space2");
assertEquals("%l%la%n%na%N%NA " + "[wiki:space1.space2.HelloWorld] space2 HelloWorld Hello World Hello World (My title) " + "[wiki:space1.space2.HelloWorld] space2 HelloWorld Hello World Hello World (My title)", this.mocker.getComponentUnderTest().generate(resourceReference));
}
use of org.xwiki.model.reference.SpaceReference in project xwiki-platform by xwiki.
the class XWikiLinkLabelGeneratorTest method generateWhithRegexpSyntax.
@Test
public void generateWhithRegexpSyntax() throws Exception {
ResourceReference resourceReference = new DocumentResourceReference("HelloWorld");
DocumentReference documentReference = new DocumentReference("$0", "\\", "$0");
EntityReferenceResolver<ResourceReference> resourceReferenceResolver = this.mocker.getInstance(new DefaultParameterizedType(null, EntityReferenceResolver.class, ResourceReference.class));
when(resourceReferenceResolver.resolve(resourceReference, EntityType.DOCUMENT)).thenReturn(documentReference);
DocumentAccessBridge dab = this.mocker.getInstance(DocumentAccessBridge.class);
DocumentModelBridge dmb = mock(DocumentModelBridge.class);
when(dab.getTranslatedDocumentInstance(documentReference)).thenReturn(dmb);
when(dmb.getTitle()).thenReturn("$0");
EntityReferenceSerializer<String> localSerializer = this.mocker.getInstance(EntityReferenceSerializer.TYPE_STRING, "local");
when(localSerializer.serialize(new SpaceReference("$0", "\\"))).thenReturn("\\");
assertEquals("%l%la%n%na%N%NA [$0:\\.$0] \\ $0 $0 $0 ($0) [$0:\\.$0] \\ $0 $0 $0 ($0)", this.mocker.getComponentUnderTest().generate(resourceReference));
}
use of org.xwiki.model.reference.SpaceReference in project xwiki-platform by xwiki.
the class DefaultResourceReferenceEntityReferenceResolverTest method resolveTypeSpace.
@Test
public void resolveTypeSpace() throws ComponentLookupException {
assertEquals(new SpaceReference(WIKI, SPACE), this.mocker.getComponentUnderTest().resolve(spaceResource(WIKI + ':' + SPACE, true), null));
assertEquals(new SpaceReference(CURRENT_WIKI, SPACE), this.mocker.getComponentUnderTest().resolve(spaceResource(SPACE, true), null));
assertEquals(new SpaceReference(CURRENT_WIKI, CURRENT_SPACE), this.mocker.getComponentUnderTest().resolve(spaceResource("", true), null));
when(this.currentEntityReferenceResolver.resolve(eq(WIKI + ':' + SPACE + '.' + PAGE), eq(EntityType.DOCUMENT), any())).thenReturn(new DocumentReference(WIKI, SPACE, PAGE));
ResourceReference withBaseReference = spaceResource("", true);
withBaseReference.addBaseReference(WIKI + ':' + SPACE + '.' + PAGE);
assertEquals(new SpaceReference(WIKI, SPACE), this.mocker.getComponentUnderTest().resolve(withBaseReference, null));
assertEquals(new SpaceReference(WIKI, SPACE), this.mocker.getComponentUnderTest().resolve(spaceResource("", true), null, new DocumentReference(WIKI, SPACE, PAGE)));
}
use of org.xwiki.model.reference.SpaceReference in project xwiki-platform by xwiki.
the class Utils method getSpaceId.
/**
* @param wikiName the name of the wiki that contains the space
* @param spaces the spaces hierarchy
* @return the space id
* @throws org.xwiki.rest.XWikiRestException
*/
public static String getSpaceId(String wikiName, List<String> spaces) {
EntityReferenceSerializer<String> defaultEntityReferenceSerializer = com.xpn.xwiki.web.Utils.getComponent(EntityReferenceSerializer.TYPE_STRING);
SpaceReference spaceReference = getSpaceReference(spaces, wikiName);
return defaultEntityReferenceSerializer.serialize(spaceReference);
}
use of org.xwiki.model.reference.SpaceReference in project xwiki-platform by xwiki.
the class Utils method getSpaceReference.
/**
* @param spaces the space hierarchy
* @param wikiName the name of the wiki
* @return the space reference
*/
public static SpaceReference getSpaceReference(List<String> spaces, String wikiName) {
EntityReference parentReference = new WikiReference(wikiName);
SpaceReference spaceReference = null;
for (String space : spaces) {
spaceReference = new SpaceReference(space, parentReference);
parentReference = spaceReference;
}
return spaceReference;
}
Aggregations