protected String[] resolveReadOnlyProperties(T model) { Set<String> set = new HashSet<>(); MApiModelBuilder apiModel = model.getApiModel(); if(null != apiModel) { apiModel.getProperties().values().forEach(p -> { if(p.isReadOnly()) { set.add(p.getName()); } }); } return set.toArray(new String[0]); }
@Override protected ModelValidatorBase.PropertyValidation[] resolvePropertyValidations(MetaApi api, MetaModel model, String name) { List<PropertyValidation> list = new ArrayList<>(); model.getProperties().values().forEach( p -> { MApiPropertyBuilder ap = p.getApiProperty(); if(null == ap || ap.isReadOnly()) { return; } Validator validator = Validators.of(api, p, qname(name, p.getName())); if(null != validator) { list.add(new PropertyValidation(ap.getName(), validator)); } }); return list.toArray(new PropertyValidation[0]); }
@Override protected PropertyValidation[] resolvePropertyValidations(MetaApi api, MetaEntity model, String name) { List<PropertyValidation> list = new ArrayList<>(); for(MetaField field : model.getFields().values()) { MApiPropertyBuilder ap = field.getApiProperty(); if(null == ap || ap.isReadOnly()) { continue; } String qname = qname(name, field.getName()); Validator validator = Validators.of(api, qname, ap.isRequired(), ap.getType(), field); if(null != validator) { list.add(new PropertyValidation(ap.getName(), validator)); } } return list.toArray(new PropertyValidation[0]); }
public MApiModelBuilder toApiModel(MetaApi api, MetaModel mm) { MApiModelBuilder m = new MApiModelBuilder(); MetaUtils.copyNamed(mm, m); if(null != mm.getMappingClass()) { m.addJavaType(mm.getMappingClass()); } mm.getProperties().values().forEach(mp -> { MApiPropertyBuilder p = new MApiPropertyBuilder(); MetaUtils.copyNamed(mp, p); mp.setApiProperty(p); p.setType(mp.getResolvedType()); p.setFormat(mp.getFormat()); p.setRequired(mp.getRequired()); p.setReadOnly(mp.getReadOnly()); p.setFile(mp.isFile()); p.setBeanProperty(mp.getMappingProperty()); p.setDefaultValue(mp.getDefaults()); p.setEnumValues(mp.getEnums()); if(p.isReadOnly()) { p.setRequired(false); } MApiValidationBuilder v = new MApiValidationBuilder(); p.setValidation(v); MetaUtils.tryCopyValidation(mp, v); MetaUtils.tryCopyValidation(mp.getResolvedFormat(), v); m.addProperty(p); }); mm.setApiModel(m); return m; }
if(p.isReadOnly()) { p.setRequired(false);