public String typeName() { return escapeKeyword(_schema.getName(), EscapeStrategy.MANGLE); }
recordClass.setClassName(schema.getName()); recordClass.setModifiers(ModifierSpec.PUBLIC); registerClassTemplateSpec(schema, recordClass);
private static void checkPathsAgainstSchema(RecordDataSchema dataSchema, String resourceClassName, String annotationName, String[] paths) { for (String path : paths) { if (!DataSchemaUtil.containsPath(dataSchema, path)) { throw new ResourceConfigException("In resource class '" + resourceClassName + "', " + annotationName + " annotation " + path + " is not a valid path for " + dataSchema.getName() + "."); } } }
private static String toRecordLiteral(StringBuilder sb, DataMap dataMap, RecordDataSchema recordSchema) { Iterator<RecordDataSchema.Field> iter = recordSchema.getFields().iterator(); sb.append(escapeKeyword(recordSchema.getName())); sb.append("("); while (iter.hasNext()) { RecordDataSchema.Field field = iter.next(); sb.append(escapeKeyword(field.getName())); sb.append(": "); sb.append(toLiteral(field.getType(), dataMap.get(field.getName()))); if (iter.hasNext()) { sb.append(", "); } } sb.append(")"); return sb.toString(); }
/** * Build the schema of a {@link DynamicRecordTemplate}. * * @param name the name of the record. * @param fieldDefs the fields of the record. * @throws IllegalArgumentException if the {@link com.linkedin.data.schema.RecordDataSchema.Field} of the fieldDefs * are already set. */ public static RecordDataSchema buildSchema(String name, Collection<? extends FieldDef<?>> fieldDefs) { StringBuilder errorMessageBuilder = new StringBuilder(); RecordDataSchema schema = new RecordDataSchema(new Name(name, errorMessageBuilder), RecordDataSchema.RecordType.RECORD); List<RecordDataSchema.Field> fields = new ArrayList<RecordDataSchema.Field>(fieldDefs.size()); for (FieldDef<?> fieldDef: fieldDefs) { RecordDataSchema.Field paramField = fieldDef.getField(); if (paramField.getRecord() != null) { throw new IllegalArgumentException("Attempt to assign field "+ fieldDef.getName() + " to record " + schema.getName() + "failed: " + "Record of field is already set to " + paramField.getRecord().getName() ); } paramField.setRecord(schema); fields.add(paramField); } schema.setFields(fields, errorMessageBuilder); return schema; }
DataMap keyData = (DataMap)_dataGenerator.buildData(postfixBatchIdx(keySchema.getName() + "Key", batchIdx), keySchema); RecordDataSchema paramsSchema = (RecordDataSchema)resourceSpec.getComplexKeyType().getParamsType().getSchema(); DataMap paramsData = (DataMap)_dataGenerator.buildData(postfixBatchIdx(keySchema.getName() + "Params", batchIdx), paramsSchema); return new ComplexResourceKey<RecordTemplatePlaceholder, RecordTemplatePlaceholder>(