}
}
}
if (cris != null) {
List<String> schemaLocs = new LinkedList<String>();
SchemaValidation sv = null;
for (ClassResourceInfo cri : cris) {
sv = cri.getServiceClass().getAnnotation(SchemaValidation.class);
if (sv != null && sv.schemas() != null && sv.type() != SchemaValidation.SchemaValidationType.NONE) {
for (String s : sv.schemas()) {
String theSchema = s;
if (!theSchema.startsWith("classpath:")) {
theSchema = "classpath:" + theSchema;
}
schemaLocs.add(theSchema);
}
}
}
if (!schemaLocs.isEmpty()) {
this.setSchemaLocations(schemaLocs);
if (cris.size() == 0 && schema != null) {
SchemaValidation.SchemaValidationType type = sv.type();
if (type == SchemaValidation.SchemaValidationType.OUT) {
validateInputIfPossible = false;
validateOutputIfPossible = true;
} else if (type == SchemaValidation.SchemaValidationType.BOTH) {
validateOutputIfPossible = true;