use of com.agiletec.aps.system.common.entity.model.attribute.CompositeAttribute in project entando-core by entando.
the class ResourceAttributeActionHelper method joinResource.
/**
* Associa la risorsa all'attributo del contenuto o all'elemento dell'attributo lista
* o all'elemento dell'attributo Composito (sia semplice che in lista).
*/
private static void joinResource(AttributeInterface attribute, ResourceInterface resource, HttpSession session) {
if (attribute instanceof CompositeAttribute) {
String includedAttributeName = (String) session.getAttribute(INCLUDED_ELEMENT_NAME_SESSION_PARAM);
AttributeInterface includedAttribute = ((CompositeAttribute) attribute).getAttribute(includedAttributeName);
joinResource(includedAttribute, resource, session);
} else if (attribute instanceof ResourceAttributeInterface) {
String langCode = (String) session.getAttribute(RESOURCE_LANG_CODE_SESSION_PARAM);
langCode = (langCode != null && !"".equals(langCode)) ? langCode : null;
((ResourceAttributeInterface) attribute).setResource(resource, langCode);
((AbstractResourceAttribute) attribute).setText(resource.getDescription(), langCode);
} else if (attribute instanceof MonoListAttribute) {
int elementIndex = ((Integer) session.getAttribute(LIST_ELEMENT_INDEX_SESSION_PARAM)).intValue();
AttributeInterface attributeElement = ((MonoListAttribute) attribute).getAttribute(elementIndex);
joinResource(attributeElement, resource, session);
}
}
use of com.agiletec.aps.system.common.entity.model.attribute.CompositeAttribute in project entando-core by entando.
the class TestValidateBooleanAttributes method validateCompositeElement.
protected void validateCompositeElement(String compositeAttributeName, String attributeName) throws Throwable {
try {
String contentOnSessionMarker = this.executeCreateNewContent();
Content content = this.getContentOnEdit(contentOnSessionMarker);
AttributeTracer tracer = this.getTracer();
CompositeAttribute compositeAttribute = (CompositeAttribute) content.getAttribute(compositeAttributeName);
AttributeInterface attribute = compositeAttribute.getAttribute(attributeName);
tracer.setCompositeElement(true);
tracer.setParentAttribute(compositeAttribute);
String formFieldName = tracer.getFormFieldName(attribute);
String formFieldPrefix = "Composite:" + attribute.getType() + ":";
assertEquals(formFieldPrefix + compositeAttributeName + "_" + attributeName, formFieldName);
this.initSaveContentAction(contentOnSessionMarker);
this.executeAction(Action.INPUT);
this.checkFieldErrors(0, formFieldName);
this.initSaveContentAction(contentOnSessionMarker);
this.addParameter(formFieldName, "true");
this.executeAction(Action.INPUT);
this.checkFieldErrors(0, formFieldName);
this.initSaveContentAction(contentOnSessionMarker);
this.addParameter(formFieldName, "false");
this.executeAction(Action.INPUT);
this.checkFieldErrors(0, formFieldName);
} catch (Throwable t) {
this.deleteTestContent();
throw t;
}
}
use of com.agiletec.aps.system.common.entity.model.attribute.CompositeAttribute in project entando-core by entando.
the class TestValidateBooleanAttributes method validateMonolistCompositeElement.
protected void validateMonolistCompositeElement(String monolistAttributeName, String attributeName) throws Throwable {
try {
String contentOnSessionMarker = this.executeCreateNewContent();
Content content = this.getContentOnEdit(contentOnSessionMarker);
AttributeTracer tracer = this.getTracer();
MonoListAttribute monolist = (MonoListAttribute) content.getAttribute(monolistAttributeName);
CompositeAttribute compositeElement = (CompositeAttribute) monolist.addAttribute();
AttributeInterface attribute = compositeElement.getAttribute(attributeName);
String monolistElementFieldPrefix = "Monolist:Composite:";
String formFieldPrefix = monolistElementFieldPrefix + attribute.getType() + ":";
tracer.setListIndex(monolist.getAttributes().size() - 1);
tracer.setListLang(this.getLangManager().getDefaultLang());
tracer.setMonoListElement(true);
tracer.setCompositeElement(true);
tracer.setParentAttribute(compositeElement);
String formFieldName = tracer.getFormFieldName(attribute);
assertEquals(formFieldPrefix + monolistAttributeName + "_" + attributeName + "_0", formFieldName);
String monolistElementName = tracer.getMonolistElementFieldName(compositeElement);
assertEquals(monolistElementFieldPrefix + monolistAttributeName + "_0", monolistElementName);
this.initSaveContentAction(contentOnSessionMarker);
this.executeAction(Action.INPUT);
this.checkFieldErrors(0, monolistElementName);
this.initSaveContentAction(contentOnSessionMarker);
this.addParameter(formFieldName, "true");
this.executeAction(Action.INPUT);
this.checkFieldErrors(0, formFieldName);
this.initSaveContentAction(contentOnSessionMarker);
this.addParameter(formFieldName, "false");
this.executeAction(Action.INPUT);
this.checkFieldErrors(0, formFieldName);
} catch (Throwable t) {
this.deleteTestContent();
throw t;
}
}
use of com.agiletec.aps.system.common.entity.model.attribute.CompositeAttribute in project entando-core by entando.
the class TestValidateDateAttribute method testValidate_CompositeElement.
public void testValidate_CompositeElement() throws Throwable {
try {
String contentOnSessionMarker = this.executeCreateNewContent();
Content content = this.getContentOnEdit(contentOnSessionMarker);
AttributeTracer tracer = this.getTracer();
CompositeAttribute compositeAttribute = (CompositeAttribute) content.getAttribute("Composite");
AttributeInterface attribute = compositeAttribute.getAttribute("Date");
tracer.setCompositeElement(true);
tracer.setParentAttribute(compositeAttribute);
String formFieldName = tracer.getFormFieldName(attribute);
String formFieldPrefix = "Composite:" + attribute.getType() + ":";
assertEquals(formFieldPrefix + "Composite_Date", formFieldName);
this.initSaveContentAction(contentOnSessionMarker);
this.executeAction(Action.INPUT);
this.checkFieldErrors(0, formFieldName);
this.initSaveContentAction(contentOnSessionMarker);
this.addParameter(formFieldName, "wrongDateValue");
this.executeAction(Action.INPUT);
this.checkFieldErrors(1, formFieldName);
this.initSaveContentAction(contentOnSessionMarker);
// validation: end range 10/10/2030
this.addParameter(formFieldName, "10/10/2041");
this.executeAction(Action.INPUT);
this.checkFieldErrors(1, formFieldName);
this.initSaveContentAction(contentOnSessionMarker);
// validation: end range 10/10/2030
this.addParameter(formFieldName, "10/10/2008");
this.executeAction(Action.INPUT);
this.checkFieldErrors(0, formFieldName);
this.initSaveContentAction(contentOnSessionMarker);
// validation: start range attribute "Date"
this.addParameter("Date:Date", "10/10/2009");
this.executeAction(Action.INPUT);
this.checkFieldErrors(1, formFieldName);
} catch (Throwable t) {
this.deleteTestContent();
throw t;
}
}
use of com.agiletec.aps.system.common.entity.model.attribute.CompositeAttribute in project entando-core by entando.
the class TestValidateDateAttribute method testValidate_MonolistCompositeElement.
public void testValidate_MonolistCompositeElement() throws Throwable {
try {
String contentOnSessionMarker = this.executeCreateNewContent();
Content content = this.getContentOnEdit(contentOnSessionMarker);
AttributeTracer tracer = this.getTracer();
MonoListAttribute monolist = (MonoListAttribute) content.getAttribute("MonoLCom");
CompositeAttribute compositeElement = (CompositeAttribute) monolist.addAttribute();
AttributeInterface attribute = compositeElement.getAttribute("Date");
String monolistElementFieldPrefix = "Monolist:Composite:";
String formFieldPrefix = monolistElementFieldPrefix + attribute.getType() + ":";
tracer.setListIndex(monolist.getAttributes().size() - 1);
tracer.setListLang(this.getLangManager().getDefaultLang());
tracer.setMonoListElement(true);
tracer.setCompositeElement(true);
tracer.setParentAttribute(compositeElement);
String formFieldName = tracer.getFormFieldName(attribute);
assertEquals(formFieldPrefix + "MonoLCom_Date_0", formFieldName);
String monolistElementName = tracer.getMonolistElementFieldName(compositeElement);
assertEquals(monolistElementFieldPrefix + "MonoLCom_0", monolistElementName);
this.initSaveContentAction(contentOnSessionMarker);
this.executeAction(Action.INPUT);
this.checkFieldErrors(1, monolistElementName);
this.initSaveContentAction(contentOnSessionMarker);
this.addParameter(formFieldName, "wrongDateValue");
this.executeAction(Action.INPUT);
this.checkFieldErrors(1, formFieldName);
this.initSaveContentAction(contentOnSessionMarker);
// validation: start range 10/10/1971
this.addParameter(formFieldName, "24/10/1961");
this.executeAction(Action.INPUT);
this.checkFieldErrors(1, formFieldName);
this.initSaveContentAction(contentOnSessionMarker);
// validation: start range 10/10/1971
this.addParameter(formFieldName, "10/10/2008");
this.executeAction(Action.INPUT);
this.checkFieldErrors(0, formFieldName);
this.initSaveContentAction(contentOnSessionMarker);
// validation: end range attribute "Date"
this.addParameter("Date:Date", "10/10/1999");
this.executeAction(Action.INPUT);
this.checkFieldErrors(1, formFieldName);
} catch (Throwable t) {
this.deleteTestContent();
throw t;
}
}
Aggregations