* @throws Exception
*/
@RequestMapping(value = "/add", method = RequestMethod.POST)
public String addTranslation(HttpServletRequest request, HttpServletResponse response, Model model,
@ModelAttribute(value="entityForm") EntityForm entityForm, BindingResult result) throws Exception {
final TranslationForm form = getTranslationForm(entityForm);
adminRemoteSecurityService.securityCheck(form.getCeilingEntity(), EntityOperationType.UPDATE);
SectionCrumb sectionCrumb = new SectionCrumb();
sectionCrumb.setSectionIdentifier(TranslationImpl.class.getName());
List<SectionCrumb> sectionCrumbs = Arrays.asList(sectionCrumb);
entityForm.setCeilingEntityClassname(Translation.class.getName());
entityForm.setEntityType(TranslationImpl.class.getName());
Field entityType = new Field();
entityType.setName("entityType");
String ceilingEntity = form.getCeilingEntity();
TranslatedEntity translatedEntity = TranslatedEntity.getInstance(ceilingEntity);
if (translatedEntity == null && ceilingEntity.endsWith("Impl")) {
int pos = ceilingEntity.lastIndexOf("Impl");
ceilingEntity = ceilingEntity.substring(0, pos);
translatedEntity = TranslatedEntity.getInstance(ceilingEntity);
}
entityType.setValue(translatedEntity.getFriendlyType());
Field fieldName = new Field();
fieldName.setName("fieldName");
fieldName.setValue(form.getPropertyName());
entityForm.getFields().put("entityType", entityType);
entityForm.getFields().put("fieldName", fieldName);
service.addEntity(entityForm, getSectionCustomCriteria(), sectionCrumbs).getEntity();
return viewTranslation(request, response, model, form, result);