protected FieldImpl getField(SchemaImpl schema, String name) { Field field = schema.getResourceFields().get(name); if (field instanceof FieldImpl) { return (FieldImpl) field; } return null; } }
protected FieldImpl getField(SchemaImpl schema, String name) { Field field = schema.getResourceFields().get(name); if (field instanceof FieldImpl) { return (FieldImpl) field; } return null; }
protected void prune(SchemaImpl schema) { Map<String, Field> fields = schema.getResourceFields(); Map<String, Filter> filters = schema.getCollectionFilters(); for (String name : new HashSet<String>(fields.keySet())) { Field field = fields.get(name); List<FieldType> subTypeEnums = field.getSubTypeEnums(); List<String> subTypes = field.getSubTypes(); for (int i = 0; i < subTypeEnums.size(); i++) { if (subTypeEnums.get(i) == FieldType.TYPE && !schemaMap.containsKey(subTypes.get(i)) && !"type".equals(subTypes.get(i))) { fields.remove(name); filters.remove(name); break; } } } Iterator<String> childrenIter = schema.getChildren().iterator(); while (childrenIter.hasNext()) { if (!schemaMap.containsKey(childrenIter.next())) { childrenIter.remove(); } } }
protected void addField(SchemaImpl schema, String name, FieldType type, String... options) { Field f = schema.getResourceFields().get(name); if (f != null) { return; } FieldImpl newField = new FieldImpl(); newField.setTypeEnum(type); newField.setName(name); if (type == FieldType.ENUM) { newField.setOptions(Arrays.asList(options)); } else { newField.setNullable(true); } schema.getResourceFields().put(name, newField); }
protected void addStates(SchemaImpl schema, SchemaFactory factory) { String type = factory.getBaseType(schema.getId()); Set<String> validStates = this.validStates.get(type); Field stateField = schema.getResourceFields().get(ObjectMetaDataManager.STATE_FIELD); if (validStates != null && stateField instanceof FieldImpl) { FieldImpl field = (FieldImpl) stateField; field.setOptions(new ArrayList<String>(validStates)); field.setTypeEnum(FieldType.ENUM); } }
@Override public SchemaImpl postProcessRegister(SchemaImpl schema, SchemaFactory factory) { schema.setCreate(false); schema.setUpdate(false); schema.setDeletable(false); for (Field field : schema.getResourceFields().values()) { if (field instanceof FieldImpl) { ((FieldImpl) field).setCreate(false); ((FieldImpl) field).setUpdate(false); } } return schema; }
Field field = schema.getResourceFields().get(relationship.getPropertyName()); if (!(field instanceof FieldImpl)) { continue; for (Map.Entry<String, Field> entry : schema.getResourceFields().entrySet()) { String name = entry.getKey(); Field field = entry.getValue();
@Override public Schema parseSchema(String name) { SchemaImpl schema = readSchema(name); Class<?> clz = typeToClass.get(name); processParent(schema); List<Field> fields = getFields(clz); for (Map.Entry<String, Field> entry : schema.getResourceFields().entrySet()) { Field field = entry.getValue(); if (field instanceof FieldImpl) { ((FieldImpl)field).setName(entry.getKey()); } fields.add(field); } Map<String, Field> resourceFields = sortFields(fields); schema.setResourceFields(resourceFields); schema.getResourceActions().putAll(getResourceActions(clz)); schema.getCollectionActions().putAll(getCollectionActions(clz)); for (SchemaPostProcessor processor : postProcessors) { schema = processor.postProcess(schema, this); } addToMap(schemasByName, schema, schema); if (clz == null && schema.getParent() != null) { clz = typeToClass.get(schema.getParent()); if (clz != null) { addToMap(typeToClass, schema, clz); } } return schema; }
Iterator<Map.Entry<String, Field>> fieldIter = schema.getResourceFields().entrySet().iterator();
Map<String, Field> existingFields = mergedSchema.getResourceFields(); for (Map.Entry<String, Field> entry : newSchema.getResourceFields().entrySet()) { Field oldField = existingFields.put(entry.getKey(), entry.getValue()); if (oldField instanceof FieldImpl) {
public void load(SchemaImpl schema) { this.create = schema.isCreate(); this.update = schema.isUpdate(); this.list = schema.isList(); this.deletable = schema.isDeletable(); this.byId = schema.isById(); this.includeableLinks = new ArrayList<String>(schema.getIncludeableLinks()); this.resourceFields = copyFields(schema.getResourceFields()); this.collectionFilters = copyFilters(schema.getCollectionFilters()); this.resourceActions = copyActions(schema.getResourceActions()); this.collectionActions = copyActions(schema.getCollectionActions()); this.collectionFields = copyFields(schema.getCollectionFields()); }