private static void addField(RequiredField field, List<String> fields, FieldAlias fa, String currentNode) { if (field.getSubFields() != null && !field.getSubFields().isEmpty()) { for (RequiredField subField : field.getSubFields()) { addField(subField, fields, fa, currentNode + "." + fa.toES(subField.getAlias())); } } else { fields.add(fa.toES(field.getAlias())); } }
private static void addField(RequiredField field, List<String> fields, FieldAlias fa, String currentNode) { if (field.getSubFields() != null && !field.getSubFields().isEmpty()) { for (RequiredField subField : field.getSubFields()) { addField(subField, fields, fa, currentNode + "." + fa.toES(subField.getAlias())); } } else { fields.add(fa.toES(field.getAlias())); } }
List<RequiredField> sub = rf.getSubFields(); if (sub != null) { message.append("Map key required for " + load.getAlias() + ": $" + rf.getIndex() + "->" + sub + "\n");
return null; if (rf.getSubFields() == null) { fields.add( new Schema.Field(f.name(), f.schema(), f.doc(), f.defaultValue())); } else { Schema innerSchema = newSchemaFromRequiredFieldList(f.schema(), rf.getSubFields()); if (innerSchema == null) { return null;
private Schema getSchemaFromRequiredFieldList(Schema schema, List<RequiredField> fieldList) throws FrontendException { Schema s = new Schema(); for (RequiredField rf : fieldList) { FieldSchema f; try { f = schema.getField(rf.getAlias()).clone(); } catch (CloneNotSupportedException e) { throw new FrontendException("Clone not supported for the fieldschema", e); } if (rf.getSubFields() == null) { s.add(f); } else { Schema innerSchema = getSchemaFromRequiredFieldList(f.schema, rf.getSubFields()); if (innerSchema == null) { return null; } else { f.schema = innerSchema; s.add(f); } } } return s; }
/** * Creates a new ResourceFieldSchema which reflects data from an input RequiredField. * * @param field * @return new ResourceFieldSchema which reflects {@code field}. * @throws IOException */ public static ResourceFieldSchema createResourceFieldSchema(RequiredField field) throws IOException { ResourceFieldSchema schema = new ResourceFieldSchema().setName(field.getAlias()).setType(field.getType()); List<RequiredField> subFields = field.getSubFields(); if (subFields != null && !subFields.isEmpty()) { ResourceFieldSchema[] subSchemaFields = new ResourceFieldSchema[subFields.size()]; int i = 0; for (RequiredField subField : subFields) { subSchemaFields[i++] = createResourceFieldSchema(subField); } ResourceSchema subSchema = new ResourceSchema(); subSchema.setFields(subSchemaFields); schema.setSchema(subSchema); } return schema; }