public void addStandardFields(StandardFields standardFields) { if (standardFields != null && standardFields.getStandardFieldList() != null) { for (StandardField field : standardFields.getStandardFieldList()) { if (standardFieldMap.containsKey(field.getId())) { if (ConfigUtil.isCheckStrict()) { //重复id throw new MetadataRuntimeException(STDFIELD_ADD_ALREADY_ERROR, field.getId()); } else { LOGGER.error(new MetadataRuntimeException(STDFIELD_ADD_ALREADY_ERROR, field.getId())); continue; } } standardFieldMap.put(field.getId(), field); if (field.getNickNames() != null) { for (NickName name : field.getNickNames()) { StandardField newStandardField = new StandardField(); newStandardField.setId(name.getId()); newStandardField.setName(name.getName()); newStandardField.setTitle(name.getTitle()); newStandardField.setDefaultValue(field.getDefaultValue()); newStandardField.setDescription(field.getDescription()); newStandardField.setTypeId(field.getTypeId()); standardFieldMap.put(name.getId(), newStandardField); } } } } }
/** * * 创建新的标准字段信息带有name和title属性 * @param relationField * @param stdField * @return */ public StandardField createNewStandardField(RelationField relationField, StandardField stdField) { String aliasName = relationField.getAliseName(); String title= relationField.getTitle(); String refFieldId=relationField.getRefFieldId(); if(!StringUtil.isBlank(refFieldId)){ if(StringUtil.isBlank(aliasName)){//如果 ref-field-id值不为空且没有设置别名,那么别名值取自field-id的值 aliasName=relationField.getFieldId(); } } StandardField newStdField = new StandardField(); if (StringUtil.isBlank(aliasName)) {//如果没有设置aliasName属性则取自标准字段 aliasName=stdField.getName(); } if(StringUtil.isBlank(title)){//如果为设置title属性则取自标准字段 title=stdField.getTitle(); } newStdField.setName(aliasName); newStdField.setTitle(title); return newStdField; }
/** * * 创建新的标准字段信息带有name和title属性 * @param relationField * @param stdField * @return */ public StandardField createNewStandardField(RelationField relationField, StandardField stdField) { String aliasName = relationField.getAliseName(); String title= relationField.getTitle(); String refFieldId=relationField.getRefFieldId(); if(!StringUtil.isBlank(refFieldId)){ if(StringUtil.isBlank(aliasName)){//如果 ref-field-id值不为空且没有设置别名,那么别名值取自field-id的值 aliasName=relationField.getFieldId(); } } StandardField newStdField = new StandardField(); if (StringUtil.isBlank(aliasName)) {//如果没有设置aliasName属性则取自标准字段 aliasName=stdField.getName(); } if(StringUtil.isBlank(title)){//如果为设置title属性则取自标准字段 title=stdField.getTitle(); } newStdField.setName(aliasName); newStdField.setTitle(title); return newStdField; }