use of com.google.api.server.spi.config.model.Schema in project endpoints-java by cloudendpoints.
the class ApiConfigValidator method validateResourceAndFieldNames.
private void validateResourceAndFieldNames(ApiMethodConfig methodConfig) throws PropertyParameterNameConflictException {
for (ApiParameterConfig parameterConfig : methodConfig.getParameterConfigs()) {
if (parameterConfig.getClassification() == Classification.RESOURCE) {
Schema schema = schemaRepository.getOrAdd(parameterConfig.getSchemaBaseType(), methodConfig.getApiConfig());
Set<String> fieldNames = schema.fields().keySet();
for (ApiParameterConfig parameter : methodConfig.getParameterConfigs()) {
if (parameter.getClassification() == Classification.API_PARAMETER && !"id".equals(parameter.getName()) && fieldNames.contains(parameter.getName())) {
log.atWarning().log("Parameter %s conflicts with a resource field name. This may " + "result in unexpected values in the request.", parameter.getName());
}
}
}
}
}
Aggregations