@Override protected void setAttributes(HttpServletRequest request) { super.setAttributes(request); Object bean = getBean(); if (bean == null) { bean = pageContext.getAttribute("aui:model-context:bean"); } Class<?> model = getModel(); String defaultLanguageId = getDefaultLanguageId(); if (Validator.isNull(defaultLanguageId)) { defaultLanguageId = (String) pageContext.getAttribute("aui:model-context:defaultLanguageId"); } if (Validator.isNull(defaultLanguageId)) { if ((model != null) && ModelHintsUtil.hasField(model.getName(), "groupId")) { ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY); defaultLanguageId = LocaleUtil.toLanguageId(themeDisplay.getSiteDefaultLocale()); } } if (Validator.isNull(defaultLanguageId)) { Locale defaultLocale = LocaleUtil.getDefault(); defaultLanguageId = LocaleUtil.toLanguageId(defaultLocale); } String name = getName(); int pos = name.indexOf(StringPool.DOUBLE_DASH); if (pos != -1) { name = name.substring(pos + 2, name.length() - 2); } String field = getField(); if (Validator.isNull(field)) { field = getName(); } String formName = getFormName(); if (formName == null) { FormTag formTag = (FormTag) findAncestorWithClass(this, FormTag.class); if (formTag != null) { formName = formTag.getName(); } } String id = getId(); String type = getType(); if (Validator.isNull(id)) { String fieldParam = getFieldParam(); if ((model != null) && Validator.isNull(type) && Validator.isNotNull(fieldParam)) { id = AUIUtil.normalizeId(fieldParam); } else if (!Objects.equals(type, "assetTags") && !Objects.equals(type, "radio")) { id = AUIUtil.normalizeId(name); } else { id = PortalUtil.getUniqueElementId(request, StringPool.BLANK, AUIUtil.normalizeId(name)); } } String forLabel = id; if (Objects.equals(type, "assetTags")) { forLabel = forLabel.concat("assetTagNames"); } String languageId = getLanguageId(); if (Validator.isNotNull(languageId)) { forLabel = LocalizationUtil.getLocalizedName(forLabel, languageId); } String label = getLabel(); if (label == null) { label = TextFormatter.format(name, TextFormatter.P); } String title = getTitle(); if ((title == null) && (Validator.isNull(label) || Objects.equals(type, "image"))) { title = TextFormatter.format(name, TextFormatter.P); } boolean wrappedField = getWrappedField(); FieldWrapperTag fieldWrapper = (FieldWrapperTag) findAncestorWithClass(this, FieldWrapperTag.class); if (fieldWrapper != null) { wrappedField = true; } setNamespacedAttribute(request, "baseType", getBaseType()); setNamespacedAttribute(request, "bean", bean); setNamespacedAttribute(request, "defaultLanguageId", defaultLanguageId); setNamespacedAttribute(request, "field", field); setNamespacedAttribute(request, "forLabel", forLabel); setNamespacedAttribute(request, "formName", formName); setNamespacedAttribute(request, "id", id); setNamespacedAttribute(request, "label", label); setNamespacedAttribute(request, "model", model); setNamespacedAttribute(request, "title", String.valueOf(title)); setNamespacedAttribute(request, "wrappedField", wrappedField); request.setAttribute(getAttributeNamespace() + "value", getValue()); Map<String, ValidatorTag> validatorTags = getValidatorTags(); if ((validatorTags != null) && (validatorTags.get("required") != null)) { setNamespacedAttribute(request, "required", Boolean.TRUE.toString()); } }
@Override protected void setAttributes(HttpServletRequest request) { super.setAttributes(request); Object bean = getBean(); if (bean == null) { bean = pageContext.getAttribute("aui:model-context:bean"); } String name = getName(); int pos = name.indexOf(StringPool.DOUBLE_DASH); if (pos != -1) { name = name.substring(pos + 2, name.length() - 2); } String field = getField(); if (Validator.isNull(field)) { field = getName(); } String formName = getFormName(); if (formName == null) { FormTag formTag = (FormTag) findAncestorWithClass(this, FormTag.class); if (formTag != null) { formName = formTag.getName(); } } String id = getId(); String type = getType(); if (Validator.isNull(id)) { if (!Validator.equals(type, "assetTags") && !Validator.equals(type, "radio")) { id = name; } else { id = PwdGenerator.getPassword(PwdGenerator.KEY3, 4); } } String label = getLabel(); if (label == null) { label = TextFormatter.format(name, TextFormatter.K); } Class<?> model = getModel(); if (model == null) { model = (Class<?>) pageContext.getAttribute("aui:model-context:model"); } _forLabel = id; String baseType = null; if ((model != null) && Validator.isNull(type)) { baseType = ModelHintsUtil.getType(model.getName(), field); String fieldParam = getFieldParam(); if (Validator.isNotNull(fieldParam)) { _forLabel = fieldParam; } if (ModelHintsUtil.isLocalized(model.getName(), field)) { Locale defaultLocale = LocaleUtil.getDefault(); String defaultLanguageId = LocaleUtil.toLanguageId(defaultLocale); _forLabel += StringPool.UNDERLINE + defaultLanguageId; } } else if (Validator.isNotNull(type)) { if (Validator.equals(type, "checkbox") || Validator.equals(type, "radio")) { baseType = type; } } if (Validator.isNull(baseType)) { baseType = "text"; } setNamespacedAttribute(request, "baseType", baseType); setNamespacedAttribute(request, "bean", bean); setNamespacedAttribute(request, "field", field); setNamespacedAttribute(request, "forLabel", _forLabel); setNamespacedAttribute(request, "formName", formName); setNamespacedAttribute(request, "id", id); setNamespacedAttribute(request, "label", label); setNamespacedAttribute(request, "model", model); request.setAttribute(getAttributeNamespace() + "value", getValue()); }