use of com.agiletec.aps.system.common.entity.model.attribute.AttributeInterface in project entando-core by entando.
the class TestValidateResourceAttribute method testValidate_CompositeElement.
protected void testValidate_CompositeElement(String elementName, String testResourceId) throws Throwable {
try {
String contentOnSessionMarker = this.executeCreateNewContent();
Content content = this.getContentOnEdit(contentOnSessionMarker);
AttributeTracer tracerIT = this.getTracer();
CompositeAttribute compositeAttribute = (CompositeAttribute) content.getAttribute("Composite");
AttributeInterface attribute = compositeAttribute.getAttribute(elementName);
String formFieldPrefix = "Composite:" + attribute.getType() + ":";
tracerIT.setCompositeElement(true);
tracerIT.setParentAttribute(compositeAttribute);
String formITFieldName = tracerIT.getFormFieldName(attribute);
assertEquals(formFieldPrefix + "it_Composite_" + elementName, formITFieldName);
this.initSaveContentAction(contentOnSessionMarker);
this.executeAction(Action.INPUT);
this.checkFieldErrors(0, formITFieldName);
this.initSaveContentAction(contentOnSessionMarker);
this.addParameter(formITFieldName, "itValue");
this.executeAction(Action.INPUT);
this.checkFieldErrors(1, formFieldPrefix + "Composite_" + elementName);
content = this.getContentOnEdit(contentOnSessionMarker);
compositeAttribute = (CompositeAttribute) content.getAttribute("Composite");
AbstractResourceAttribute resourceAttribute = (AbstractResourceAttribute) compositeAttribute.getAttribute(elementName);
ResourceInterface resource = this._resourceManager.loadResource(testResourceId);
resourceAttribute.setResource(resource, this.getLangManager().getDefaultLang().getCode());
this.initSaveContentAction(contentOnSessionMarker);
this.executeAction(Action.INPUT);
this.checkFieldErrors(0, formFieldPrefix + "Composite_" + elementName);
} catch (Throwable t) {
this.deleteTestContent();
throw t;
}
}
use of com.agiletec.aps.system.common.entity.model.attribute.AttributeInterface in project entando-core by entando.
the class TestValidateResourceAttribute method testValidate_MonoListElement.
protected void testValidate_MonoListElement(String mlAttributeName) throws Throwable {
try {
String contentOnSessionMarker = this.executeCreateNewContent();
Content content = this.getContentOnEdit(contentOnSessionMarker);
AttributeTracer tracer = this.getTracer();
MonoListAttribute monolistAttribute = (MonoListAttribute) content.getAttribute(mlAttributeName);
AttributeInterface newResourceAttribute = monolistAttribute.addAttribute();
String monolistElementFieldPrefix = "Monolist:" + newResourceAttribute.getType() + ":";
tracer.setListIndex(monolistAttribute.getAttributes().size() - 1);
tracer.setListLang(this.getLangManager().getDefaultLang());
tracer.setMonoListElement(true);
tracer.setParentAttribute(monolistAttribute);
String monolistElementName = tracer.getMonolistElementFieldName(newResourceAttribute);
assertEquals(monolistElementFieldPrefix + mlAttributeName + "_0", monolistElementName);
String formFieldName = tracer.getFormFieldName(newResourceAttribute);
assertEquals(monolistElementFieldPrefix + "it_" + mlAttributeName + "_0", formFieldName);
this.initSaveContentAction(contentOnSessionMarker);
this.executeAction(Action.INPUT);
this.checkFieldErrors(1, monolistElementName);
this.initSaveContentAction(contentOnSessionMarker);
this.addParameter(formFieldName, "resourceDescrMonolElement0Value");
this.executeAction(Action.INPUT);
this.checkFieldErrors(1, monolistElementName);
content = this.getContentOnEdit(contentOnSessionMarker);
monolistAttribute = (MonoListAttribute) content.getAttribute(mlAttributeName);
AbstractResourceAttribute resourceAttribute = (AbstractResourceAttribute) monolistAttribute.getAttribute(0);
ResourceInterface resource = this._resourceManager.loadResource("7");
resourceAttribute.setResource(resource, this.getLangManager().getDefaultLang().getCode());
this.initSaveContentAction(contentOnSessionMarker);
this.executeAction(Action.INPUT);
this.checkFieldErrors(0, monolistElementName);
AttributeInterface attribute2 = monolistAttribute.addAttribute();
tracer.setListIndex(monolistAttribute.getAttributes().size() - 1);
String formFieldName2 = tracer.getFormFieldName(attribute2);
assertEquals(monolistElementFieldPrefix + "it_" + mlAttributeName + "_1", formFieldName2);
String monolistElementName2 = tracer.getMonolistElementFieldName(attribute2);
assertEquals(monolistElementFieldPrefix + mlAttributeName + "_1", monolistElementName2);
this.initSaveContentAction(contentOnSessionMarker);
this.executeAction(Action.INPUT);
this.checkFieldErrors(1, monolistElementName2);
} catch (Throwable t) {
this.deleteTestContent();
throw t;
}
}
use of com.agiletec.aps.system.common.entity.model.attribute.AttributeInterface in project entando-core by entando.
the class TestValidateTextAttribute method testValidate_MonoListElement_2.
public void testValidate_MonoListElement_2() throws Throwable {
try {
String contentOnSessionMarker = this.executeCreateNewContent();
Content content = this.getContentOnEdit(contentOnSessionMarker);
AttributeTracer tracerIT = this.getTracer();
MonoListAttribute monolistAttribute = (MonoListAttribute) content.getAttribute("MonoLText");
AttributeInterface textAttribute = monolistAttribute.addAttribute();
String formFieldPrefix = "Monolist:" + textAttribute.getType() + ":";
tracerIT.setListIndex(monolistAttribute.getAttributes().size() - 1);
tracerIT.setListLang(this.getLangManager().getDefaultLang());
tracerIT.setMonoListElement(true);
tracerIT.setParentAttribute(monolistAttribute);
AttributeTracer tracerEN = tracerIT.clone();
tracerEN.setLang(this.getLangManager().getLang("en"));
String monolistElementName = tracerIT.getMonolistElementFieldName(textAttribute);
assertEquals(formFieldPrefix + "MonoLText_0", monolistElementName);
String formITFieldName = tracerIT.getFormFieldName(textAttribute);
assertEquals(formFieldPrefix + "it_MonoLText_0", formITFieldName);
String formENFieldName = tracerEN.getFormFieldName(textAttribute);
assertEquals(formFieldPrefix + "en_MonoLText_0", formENFieldName);
this.initSaveContentAction(contentOnSessionMarker);
this.executeAction(Action.INPUT);
this.checkFieldErrors(1, monolistElementName);
this.initSaveContentAction(contentOnSessionMarker);
this.addParameter(formENFieldName, "MonoLMonotElement0ValueEN");
this.executeAction(Action.INPUT);
this.checkFieldErrors(1, monolistElementName);
this.initSaveContentAction(contentOnSessionMarker);
this.addParameter(formENFieldName, "MonoLMonotElement0ValueEN");
this.addParameter(formITFieldName, "MonoLMonotElement0ValueIT");
this.executeAction(Action.INPUT);
this.checkFieldErrors(0, monolistElementName);
AttributeInterface attribute2 = monolistAttribute.addAttribute();
tracerIT.setListIndex(monolistAttribute.getAttributes().size() - 1);
tracerEN.setListIndex(monolistAttribute.getAttributes().size() - 1);
String formITFieldName2 = tracerIT.getFormFieldName(attribute2);
assertEquals(formFieldPrefix + "it_MonoLText_1", formITFieldName2);
String formENFieldName2 = tracerEN.getFormFieldName(attribute2);
assertEquals(formFieldPrefix + "en_MonoLText_1", formENFieldName2);
String monolistElementName2 = tracerIT.getMonolistElementFieldName(attribute2);
assertEquals(formFieldPrefix + "MonoLText_1", monolistElementName2);
this.initSaveContentAction(contentOnSessionMarker);
this.addParameter(formENFieldName2, "MonoLMonotElement1ValueEN");
this.executeAction(Action.INPUT);
this.checkFieldErrors(1, monolistElementName2);
this.initSaveContentAction(contentOnSessionMarker);
this.addParameter(formENFieldName2, "MonoLMonotElement1ValueEN");
this.addParameter(formITFieldName2, "MonoLMonotElement1ValueIT");
this.executeAction(Action.INPUT);
this.checkFieldErrors(0, monolistElementName2);
} catch (Throwable t) {
this.deleteTestContent();
throw t;
}
}
use of com.agiletec.aps.system.common.entity.model.attribute.AttributeInterface in project entando-core by entando.
the class AbstractEntityDAO method addEntitySearchRecord.
protected void addEntitySearchRecord(String id, IApsEntity entity, PreparedStatement stat) throws Throwable {
EntityAttributeIterator attributeIter = new EntityAttributeIterator(entity);
while (attributeIter.hasNext()) {
AttributeInterface currAttribute = (AttributeInterface) attributeIter.next();
List<AttributeSearchInfo> infos = currAttribute.getSearchInfos(this.getLangManager().getLangs());
if (currAttribute.isSearchable() && null != infos) {
for (int i = 0; i < infos.size(); i++) {
AttributeSearchInfo searchInfo = infos.get(i);
stat.setString(1, id);
stat.setString(2, currAttribute.getName());
stat.setString(3, searchInfo.getString());
if (searchInfo.getDate() != null) {
stat.setTimestamp(4, new java.sql.Timestamp(searchInfo.getDate().getTime()));
} else {
stat.setDate(4, null);
}
stat.setBigDecimal(5, searchInfo.getBigDecimal());
stat.setString(6, searchInfo.getLangCode());
stat.addBatch();
stat.clearParameters();
}
}
}
stat.executeBatch();
}
use of com.agiletec.aps.system.common.entity.model.attribute.AttributeInterface in project entando-core by entando.
the class ApsEntityManager method verifyReloadingNeeded.
protected void verifyReloadingNeeded(IApsEntity oldEntityType, IApsEntity newEntityType) {
if (this.getStatus(newEntityType.getTypeCode()) == STATUS_NEED_TO_RELOAD_REFERENCES) {
return;
}
List<AttributeInterface> attributes = oldEntityType.getAttributeList();
for (int i = 0; i < attributes.size(); i++) {
AttributeInterface oldAttribute = attributes.get(i);
AttributeInterface newAttribute = (AttributeInterface) newEntityType.getAttribute(oldAttribute.getName());
if ((oldAttribute.isSearchable() && null == newAttribute) || (null != newAttribute && oldAttribute.isSearchable() != newAttribute.isSearchable())) {
this.setStatus(IEntityManager.STATUS_NEED_TO_RELOAD_REFERENCES, oldEntityType.getTypeCode());
return;
}
String[] oldRoles = (null != oldAttribute.getRoles()) ? oldAttribute.getRoles() : new String[0];
String[] newRoles = (null != newAttribute && null != newAttribute.getRoles()) ? newAttribute.getRoles() : new String[0];
if (newRoles.length == 0 && oldRoles.length == 0) {
continue;
} else if (newRoles.length != oldRoles.length) {
this.setStatus(IEntityManager.STATUS_NEED_TO_RELOAD_REFERENCES, oldEntityType.getTypeCode());
return;
} else {
List<String> oldRolesList = Arrays.asList(oldRoles);
List<String> newRolesList = Arrays.asList(newRoles);
for (int j = 0; j < newRolesList.size(); j++) {
String roleName = newRolesList.get(j);
if (!oldRolesList.contains(roleName)) {
this.setStatus(IEntityManager.STATUS_NEED_TO_RELOAD_REFERENCES, oldEntityType.getTypeCode());
return;
}
}
}
}
}
Aggregations