use of com.agiletec.aps.system.common.entity.model.attribute.CompositeAttribute in project entando-core by entando.
the class TestValidateMonotextAttribute 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("Monotext");
tracer.setCompositeElement(true);
tracer.setParentAttribute(compositeAttribute);
String formFieldName = tracer.getFormFieldName(attribute);
String formFieldPrefix = "Composite:" + attribute.getType() + ":";
assertEquals(formFieldPrefix + "Composite_Monotext", formFieldName);
this.initSaveContentAction(contentOnSessionMarker);
this.executeAction(Action.INPUT);
this.checkFieldErrors(0, formFieldName);
this.initSaveContentAction(contentOnSessionMarker);
this.addParameter(formFieldName, "MonotextValue");
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 TestValidateMonotextAttribute 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("Monotext");
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_Monotext_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, "MonotextValue");
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 TestValidateNumberAttribute 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("Number");
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_Number_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, "wrongNumberValue");
this.executeAction(Action.INPUT);
this.checkFieldErrors(1, formFieldName);
this.initSaveContentAction(contentOnSessionMarker);
// validation: start range 25
this.addParameter(formFieldName, "10");
this.executeAction(Action.INPUT);
this.checkFieldErrors(1, formFieldName);
this.initSaveContentAction(contentOnSessionMarker);
// validation: start range 25
this.addParameter(formFieldName, "50");
this.executeAction(Action.INPUT);
this.checkFieldErrors(0, formFieldName);
this.initSaveContentAction(contentOnSessionMarker);
// validation: end range attribute "Number"
this.addParameter("Number:Number", "40");
this.executeAction(Action.INPUT);
this.checkFieldErrors(1, formFieldName);
this.initSaveContentAction(contentOnSessionMarker);
// validation: end range attribute "Number"
this.addParameter(formFieldName, "35");
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 CompositeAttributeConfigAction method moveAttributeElement.
@Override
public String moveAttributeElement() {
try {
CompositeAttribute composite = this.getCompositeAttributeOnEdit();
int elementIndex = this.getAttributeIndex();
String movement = this.getMovement();
List<AttributeInterface> attributes = composite.getAttributes();
if (!(elementIndex == 0 && movement.equals(ApsAdminSystemConstants.MOVEMENT_UP_CODE)) && !(elementIndex == attributes.size() - 1 && movement.equals(ApsAdminSystemConstants.MOVEMENT_DOWN_CODE))) {
AttributeInterface attributeToMove = attributes.get(elementIndex);
attributes.remove(elementIndex);
if (movement.equals(ApsAdminSystemConstants.MOVEMENT_UP_CODE)) {
attributes.add(elementIndex - 1, attributeToMove);
}
if (movement.equals(ApsAdminSystemConstants.MOVEMENT_DOWN_CODE)) {
attributes.add(elementIndex + 1, attributeToMove);
}
}
} catch (Throwable t) {
_logger.error("error in moveAttribute", t);
// ApsSystemUtils.logThrowable(t, this, "moveAttribute");
return FAILURE;
}
return SUCCESS;
}
use of com.agiletec.aps.system.common.entity.model.attribute.CompositeAttribute in project entando-core by entando.
the class CompositeAttributeConfigAction method validate.
@Override
public void validate() {
super.validate();
CompositeAttribute composite = this.getCompositeAttributeOnEdit();
if (null != composite.getAttribute(this.getAttributeName())) {
String[] args = { this.getAttributeName() };
this.addFieldError("attributeName", this.getText("error.entity.attribute.name.already.exists", args));
}
}
Aggregations