Search in sources :

Example 11 with XData

use of com.enonic.xp.schema.xdata.XData in project xp by enonic.

the class BuiltinXDataTypes method generateSystemXDatas.

private List<XData> generateSystemXDatas(Iterable<XData> systemXDatas) {
    final List<XData> generatedSystemXDatas = new ArrayList<>();
    for (XData mixin : systemXDatas) {
        mixin = XData.create(mixin).icon(loadSchemaIcon(XDATA_FOLDER, mixin.getName().getLocalName())).build();
        generatedSystemXDatas.add(mixin);
    }
    return generatedSystemXDatas;
}
Also used : ArrayList(java.util.ArrayList) XData(com.enonic.xp.schema.xdata.XData)

Example 12 with XData

use of com.enonic.xp.schema.xdata.XData in project xp by enonic.

the class XDataServiceImpl method getAll.

@Override
public XDatas getAll() {
    final Set<XData> list = new LinkedHashSet<>(this.builtInTypes.getAll().getList());
    for (final Application application : this.applicationService.getInstalledApplications()) {
        final XDatas types = getByApplication(application.getKey());
        list.addAll(types.getList());
    }
    return XDatas.from(list);
}
Also used : LinkedHashSet(java.util.LinkedHashSet) XDatas(com.enonic.xp.schema.xdata.XDatas) XData(com.enonic.xp.schema.xdata.XData) Application(com.enonic.xp.app.Application)

Example 13 with XData

use of com.enonic.xp.schema.xdata.XData in project xp by enonic.

the class ExtraDataValidator method validate.

@Override
public void validate(final ContentValidatorParams params, final ValidationErrors.Builder validationErrorsBuilder) {
    for (final ExtraData extraData : params.getExtraDatas()) {
        final XDataName name = extraData.getName();
        final XData xData = this.xDataService.getByName(name);
        if (xData == null) {
            LOG.warn("Mixin not found: '" + name);
            continue;
        }
        final Form mixinForm = xData.getForm();
        if (extraData.getData().getRoot().getPropertySize() > 0) {
            OccurrenceValidator.validate(mixinForm, extraData.getData().getRoot(), validationErrorsBuilder);
        }
    }
}
Also used : Form(com.enonic.xp.form.Form) XData(com.enonic.xp.schema.xdata.XData) ExtraData(com.enonic.xp.content.ExtraData) XDataName(com.enonic.xp.schema.xdata.XDataName)

Example 14 with XData

use of com.enonic.xp.schema.xdata.XData in project xp by enonic.

the class CreateContentHandlerTest method mockCreateContent.

private void mockCreateContent() {
    when(this.contentService.create(any(CreateContentParams.class))).thenAnswer(mock -> createContent((CreateContentParams) mock.getArguments()[0]));
    final FormItemSet eSet = FormItemSet.create().name("e").addFormItem(Input.create().label("f").name("f").inputType(InputTypeName.DOUBLE).build()).addFormItem(Input.create().label("g").name("g").inputType(InputTypeName.CHECK_BOX).build()).build();
    final FormItemSet dSet = FormItemSet.create().name("d").addFormItem(eSet).build();
    final ContentType contentType = ContentType.create().name("test:myContentType").superType(ContentTypeName.structured()).addFormItem(Input.create().label("a").name("a").inputType(InputTypeName.LONG).build()).addFormItem(Input.create().label("b").name("b").inputType(InputTypeName.LONG).build()).addFormItem(Input.create().label("c").name("c").occurrences(0, 10).inputType(InputTypeName.TEXT_LINE).build()).addFormItem(dSet).build();
    GetContentTypeParams getContentType = GetContentTypeParams.from(ContentTypeName.from("test:myContentType"));
    when(this.contentTypeService.getByName(Mockito.eq(getContentType))).thenReturn(contentType);
    final PropertyTree extraData = new PropertyTree();
    extraData.addDouble("a", 1.0);
    extraData.addBoolean("b", true);
    final XData xData = XData.create().name(XDataName.from("com.enonic.myapplication:myschema")).addFormItem(Input.create().label("a").name("a").inputType(InputTypeName.DOUBLE).build()).addFormItem(Input.create().label("b").name("b").inputType(InputTypeName.CHECK_BOX).build()).build();
    final SiteDescriptor siteDescriptor1 = SiteDescriptor.create().form(Form.create().addFormItem(Input.create().label("a").name("a").inputType(InputTypeName.TEXT_LINE).build()).addFormItem(Input.create().label("b").name("b").inputType(InputTypeName.CHECK_BOX).build()).build()).build();
    final SiteDescriptor siteDescriptor2 = SiteDescriptor.create().form(Form.create().addFormItem(Input.create().label("c").name("c").inputType(InputTypeName.LONG).build()).build()).build();
    when(this.siteService.getDescriptor(ApplicationKey.from("appKey1"))).thenReturn(siteDescriptor1);
    when(this.siteService.getDescriptor(ApplicationKey.from("appKey2"))).thenReturn(siteDescriptor2);
    when(this.xDataService.getByName(Mockito.eq(XDataName.from("com.enonic.myapplication:myschema")))).thenReturn(xData);
    when(this.mixinService.inlineFormItems(any(Form.class))).then(returnsFirstArg());
}
Also used : SiteDescriptor(com.enonic.xp.site.SiteDescriptor) GetContentTypeParams(com.enonic.xp.schema.content.GetContentTypeParams) ContentType(com.enonic.xp.schema.content.ContentType) Form(com.enonic.xp.form.Form) CreateContentParams(com.enonic.xp.content.CreateContentParams) PropertyTree(com.enonic.xp.data.PropertyTree) XData(com.enonic.xp.schema.xdata.XData) FormItemSet(com.enonic.xp.form.FormItemSet)

Example 15 with XData

use of com.enonic.xp.schema.xdata.XData in project xp by enonic.

the class ModifyContentHandlerTest method mockXData.

private void mockXData() {
    final FormItemSet cSet = FormItemSet.create().name("c").occurrences(0, 10).addFormItem(Input.create().label("d").name("d").inputType(InputTypeName.CHECK_BOX).build()).addFormItem(Input.create().label("e").name("e").occurrences(0, 0).inputType(InputTypeName.TEXT_LINE).build()).addFormItem(Input.create().label("f").name("f").inputType(InputTypeName.LONG).build()).build();
    final ContentType contentType = ContentType.create().name("test:myContentType").superType(ContentTypeName.structured()).addFormItem(Input.create().label("a").name("a").inputType(InputTypeName.DOUBLE).build()).addFormItem(Input.create().label("b").name("b").inputType(InputTypeName.TEXT_LINE).build()).addFormItem(cSet).addFormItem(Input.create().label("z").name("z").occurrences(0, 10).inputType(InputTypeName.TEXT_LINE).build()).build();
    GetContentTypeParams getContentType = GetContentTypeParams.from(ContentTypeName.from("test:myContentType"));
    when(this.contentTypeService.getByName(eq(getContentType))).thenReturn(contentType);
    final XData xData1 = XData.create().name(XDataName.from("com.enonic.myapplication:myschema")).addFormItem(Input.create().label("a").name("a").inputType(InputTypeName.DOUBLE).build()).build();
    when(this.xDataService.getByName(eq(xData1.getName()))).thenReturn(xData1);
    final XData xData2 = XData.create().name(XDataName.from("com.enonic.myapplication:other")).addFormItem(Input.create().label("name").name("name").inputType(InputTypeName.TEXT_LINE).build()).build();
    when(this.xDataService.getByName(eq(xData1.getName()))).thenReturn(xData1);
    when(this.xDataService.getByName(eq(xData2.getName()))).thenReturn(xData2);
    when(this.mixinService.inlineFormItems(any(Form.class))).then(returnsFirstArg());
}
Also used : GetContentTypeParams(com.enonic.xp.schema.content.GetContentTypeParams) ContentType(com.enonic.xp.schema.content.ContentType) Form(com.enonic.xp.form.Form) XData(com.enonic.xp.schema.xdata.XData) FormItemSet(com.enonic.xp.form.FormItemSet)

Aggregations

XData (com.enonic.xp.schema.xdata.XData)17 Test (org.junit.jupiter.api.Test)8 ExtraData (com.enonic.xp.content.ExtraData)7 PropertyTree (com.enonic.xp.data.PropertyTree)6 Form (com.enonic.xp.form.Form)5 CreateContentParams (com.enonic.xp.content.CreateContentParams)4 XDataName (com.enonic.xp.schema.xdata.XDataName)4 XDatas (com.enonic.xp.schema.xdata.XDatas)4 ProcessCreateParams (com.enonic.xp.content.processor.ProcessCreateParams)3 ProcessCreateResult (com.enonic.xp.content.processor.ProcessCreateResult)3 AbstractSchemaTest (com.enonic.xp.core.impl.schema.AbstractSchemaTest)3 ContentType (com.enonic.xp.schema.content.ContentType)3 FormItem (com.enonic.xp.form.FormItem)2 FormItemSet (com.enonic.xp.form.FormItemSet)2 Input (com.enonic.xp.form.Input)2 GetContentTypeParams (com.enonic.xp.schema.content.GetContentTypeParams)2 GeoPoint (com.enonic.xp.util.GeoPoint)2 Application (com.enonic.xp.app.Application)1 CreateAttachments (com.enonic.xp.attachment.CreateAttachments)1 EditableContent (com.enonic.xp.content.EditableContent)1