public static boolean validate(Schema schema) { // TODO: ADD MORE VALIDATIONS. return schema.validate(null); } }
public Schema build() { if (!_schema.validate(LOGGER)) { throw new RuntimeException("Invalid schema"); } return _schema; } }
@POST @Produces(MediaType.APPLICATION_JSON) @Path("/schemas/validate") @ApiOperation(value = "Validate schema", notes = "This API returns the schema that matches the one you get " + "from 'GET /schema/{schemaName}'. This allows us to validate schema before apply.") @ApiResponses(value = {@ApiResponse(code = 200, message = "Successfully validated schema"), @ApiResponse(code = 400, message = "Missing or invalid request body"), @ApiResponse(code = 500, message = "Internal error")}) public String validateSchema(FormDataMultiPart multiPart) { Schema schema = getSchemaFromMultiPart(multiPart); if (!schema.validate(LOGGER)) { throw new ControllerApplicationException(LOGGER, "Invalid schema. Check controller logs", Response.Status.BAD_REQUEST); } return schema.getJSONSchema(); }
if (!schema.validate(_logger)) { isValid = false;
@Test public void testValidation() throws Exception { Schema schemaToValidate; schemaToValidate = Schema.fromString(makeSchema(FieldSpec.DataType.LONG, FieldSpec.DataType.STRING, true)); Assert.assertTrue(schemaToValidate.validate(LOGGER)); schemaToValidate = Schema.fromString(makeSchema(FieldSpec.DataType.BOOLEAN, FieldSpec.DataType.STRING, true)); Assert.assertFalse(schemaToValidate.validate(LOGGER)); schemaToValidate = Schema.fromString(makeSchema(FieldSpec.DataType.STRING, FieldSpec.DataType.STRING, false)); Assert.assertFalse(schemaToValidate.validate(LOGGER)); schemaToValidate = Schema.fromString(makeSchema(FieldSpec.DataType.LONG, FieldSpec.DataType.BOOLEAN, false)); Assert.assertTrue(schemaToValidate.validate(LOGGER)); }
final String schemaNameForLogging = (schemaName == null) ? "new schema" : schemaName + " schema"; Schema schema = getSchemaFromMultiPart(multiPart); if (!schema.validate(LOGGER)) { LOGGER.info("Invalid schema during create/update of {}", schemaNameForLogging); throw new ControllerApplicationException(LOGGER, "Invalid schema", Response.Status.BAD_REQUEST);