Search in sources :

Example 31 with Page

use of com.enonic.xp.page.Page in project xp by enonic.

the class PageRegionsConfigProcessorTest method test_part_inside_layout_component.

@Test
public void test_part_inside_layout_component() throws Exception {
    final String appKeyLayout = "layoutAppKey";
    final String appKeyPart = "partAppKey";
    final String htmlarea = "htmlarea";
    final Page page = Page.create().regions(PageRegions.create().add(Region.create().name("region1").add(LayoutComponent.create().descriptor(DescriptorKey.from(appKeyLayout)).regions(LayoutRegions.create().add(Region.create().name("layoutRegion1").add(PartComponent.create().descriptor(DescriptorKey.from(appKeyPart)).build()).build()).build()).build()).build()).build()).build();
    final PatternIndexConfigDocument result = processPage(page, Arrays.asList(configFormWithHtmlArea).listIterator(), Arrays.asList(configFormWithHtmlArea).listIterator());
    assertEquals("htmlStripper", result.getConfigForPath(PropertyPath.from(COMPONENTS, LayoutComponentType.INSTANCE.toString(), CONFIG, appKeyLayout, htmlarea)).getIndexValueProcessors().get(0).getName());
    assertEquals("htmlStripper", result.getConfigForPath(PropertyPath.from(COMPONENTS, PartComponentType.INSTANCE.toString(), CONFIG, appKeyPart, htmlarea)).getIndexValueProcessors().get(0).getName());
}
Also used : Page(com.enonic.xp.page.Page) PatternIndexConfigDocument(com.enonic.xp.index.PatternIndexConfigDocument) Test(org.junit.jupiter.api.Test)

Example 32 with Page

use of com.enonic.xp.page.Page in project xp by enonic.

the class UpdatePageCommand method execute.

public Content execute() {
    final Content content = this.contentService.getById(this.params.getContent());
    if (content == null) {
        throw new ContentNotFoundException(this.params.getContent(), ContextAccessor.current().getBranch());
    }
    if (content.getPage() == null) {
        throw new PageNotFoundException(this.params.getContent());
    }
    final EditablePage editablePage = new EditablePage(content.getPage());
    this.params.getEditor().edit(editablePage);
    final Page editedPage = editablePage.build();
    if (editedPage.equals(content.getPage())) {
        return content;
    }
    defaultValuesProcessor.applyDefaultValues(editedPage, content.getPage());
    final UpdateContentParams params = new UpdateContentParams().contentId(this.params.getContent()).editor(edit -> edit.page = editedPage);
    this.contentService.update(params);
    return this.contentService.getById(this.params.getContent());
}
Also used : PageNotFoundException(com.enonic.xp.page.PageNotFoundException) ContentNotFoundException(com.enonic.xp.content.ContentNotFoundException) UpdateContentParams(com.enonic.xp.content.UpdateContentParams) Content(com.enonic.xp.content.Content) EditablePage(com.enonic.xp.page.EditablePage) Page(com.enonic.xp.page.Page) EditablePage(com.enonic.xp.page.EditablePage)

Example 33 with Page

use of com.enonic.xp.page.Page in project xp by enonic.

the class CreateFragmentCommand method execute.

public Content execute() {
    final String displayName = generateDisplayName(params.getComponent());
    final String name = generateUniqueContentName(params.getParent(), "fragment-" + displayName);
    final CreateContentParams createContent = CreateContentParams.create().parent(params.getParent()).displayName(displayName).name(name).type(ContentTypeName.fragment()).contentData(new PropertyTree()).workflowInfo(params.getWorkflowInfo()).build();
    final Content content = contentService.create(createContent);
    final Page page = Page.create().config(this.params.getConfig()).fragment(this.params.getComponent()).build();
    final UpdateContentParams params = new UpdateContentParams().contentId(content.getId()).modifier(getCurrentUser().getKey()).editor(edit -> edit.page = page);
    return this.contentService.update(params);
}
Also used : UpdateContentParams(com.enonic.xp.content.UpdateContentParams) CreateContentParams(com.enonic.xp.content.CreateContentParams) Content(com.enonic.xp.content.Content) PropertyTree(com.enonic.xp.data.PropertyTree) Page(com.enonic.xp.page.Page)

Example 34 with Page

use of com.enonic.xp.page.Page in project xp by enonic.

the class PageConfigProcessorTest method processForm.

private PatternIndexConfigDocument processForm(final Form form) {
    final PageDescriptor descriptor = PageDescriptor.create().key(descriptorKey).config(form).regions(RegionDescriptors.create().build()).build();
    final Page page = Page.create().descriptor(descriptorKey).build();
    Mockito.when(pageDescriptorService.getByKey(descriptorKey)).thenReturn(descriptor);
    final PageConfigProcessor configProcessor = new PageConfigProcessor(page, getPageConfigForm(pageDescriptorService, descriptorKey));
    return configProcessor.processDocument(PatternIndexConfigDocument.create()).build();
}
Also used : PageDescriptor(com.enonic.xp.page.PageDescriptor) Page(com.enonic.xp.page.Page)

Example 35 with Page

use of com.enonic.xp.page.Page in project xp by enonic.

the class PageDataSerializerTest method page.

@Test
public void page() {
    final Page page = createPage();
    final PropertyTree pageAsData = new PropertyTree();
    pageDataSerializer.toData(page, pageAsData.getRoot());
    final Page parsedPage = pageDataSerializer.fromData(pageAsData.getRoot());
    // verify
    assertEquals(page, parsedPage);
}
Also used : PropertyTree(com.enonic.xp.data.PropertyTree) Page(com.enonic.xp.page.Page) Test(org.junit.jupiter.api.Test) AbstractDataSerializerTest(com.enonic.xp.core.impl.content.page.AbstractDataSerializerTest)

Aggregations

Page (com.enonic.xp.page.Page)58 PropertyTree (com.enonic.xp.data.PropertyTree)30 Test (org.junit.jupiter.api.Test)28 Content (com.enonic.xp.content.Content)25 Site (com.enonic.xp.site.Site)12 DescriptorKey (com.enonic.xp.page.DescriptorKey)9 PageRegions (com.enonic.xp.page.PageRegions)9 AbstractDataSerializerTest (com.enonic.xp.core.impl.content.page.AbstractDataSerializerTest)7 PageDescriptor (com.enonic.xp.page.PageDescriptor)7 PageTemplate (com.enonic.xp.page.PageTemplate)7 PropertySet (com.enonic.xp.data.PropertySet)6 Form (com.enonic.xp.form.Form)5 PatternIndexConfigDocument (com.enonic.xp.index.PatternIndexConfigDocument)5 LayoutComponent (com.enonic.xp.region.LayoutComponent)5 ContentNotFoundException (com.enonic.xp.content.ContentNotFoundException)4 EditableContent (com.enonic.xp.content.EditableContent)4 Component (com.enonic.xp.region.Component)4 PartComponent (com.enonic.xp.region.PartComponent)4 ContentId (com.enonic.xp.content.ContentId)3 UpdateContentParams (com.enonic.xp.content.UpdateContentParams)3