public boolean handleEvent( ValidationEvent event ) { events.add(event); boolean retVal = true; switch( event.getSeverity() ) { case ValidationEvent.WARNING: retVal = true; // continue validation break; case ValidationEvent.ERROR: retVal = true; // continue validation break; case ValidationEvent.FATAL_ERROR: retVal = false; // halt validation break; default: _assert( false, Messages.format( Messages.UNRECOGNIZED_SEVERITY, event.getSeverity() ) ); break; } return retVal; }
ValidationEventCollector validationCollector = new JAXB2ValidationEventCollector(); unmarshaller.setEventHandler(validationCollector); if(validationCollector.hasEvents()) for(ValidationEvent event:validationCollector.getEvents())
public Object transform(Node source, TransformationContext context) { ValidationEventCollector validationEventCollector = new ValidationEventCollector(); Object response = null; if (source == null) validationEventCollector.reset(); unmarshaller.setEventHandler(validationEventCollector); result = unmarshaller.unmarshal(source, JAXBContextHelper.getJavaType(context.getTargetDataType())); if (validationEventCollector.hasEvents()){ String validationErrors = ""; for(ValidationEvent event : validationEventCollector.getEvents()){ validationErrors += "Event: " + event.getMessage() + " ";
import java.io.StringReader; import javax.xml.bind.*; import javax.xml.bind.util.ValidationEventCollector; public class Demo { private static String XML = "<foo><bar>Hello World</bar></foo>"; public static void main(String[] args) throws Exception { JAXBContext jc = JAXBContext.newInstance(Foo.class); Unmarshaller unmarshaller = jc.createUnmarshaller(); unmarshaller.unmarshal(new StringReader(XML)); ValidationEventCollector vec = new ValidationEventCollector(); unmarshaller.setEventHandler(vec); unmarshaller.unmarshal(new StringReader(XML)); System.out.println(vec.getEvents().length); } }
/** * Return the error message associated with the last reading of a config * file. * @TODO capture the error message from any exceptions also. * @return */ public String getErrorMessage() { if (!loadok) { if (handler.hasEvents()) { StringBuffer error = new StringBuffer(); for (ValidationEvent event : handler.getEvents()) { error.append(event.toString()); error.append("\n"); } return error.toString(); } else { return "unknown error - see log files for more detail"; } } else { return null; } } }
Schema schema = sf.newSchema(new StreamSource(new StringReader(xsd))); ValidationEventCollector eventHandler = new ValidationEventCollector(); unmarshaller.setEventHandler(eventHandler); unmarshaller.setSchema(schema); if (eventHandler.hasEvents()) { throw generateValidationError(type, eventHandler);
/** * Parses a descriptor from InputStream without a validator. * @param is input to check * @return parsed PluginDescriptor * @throws PluginContainerException if validation fails */ public static PluginDescriptor parsePluginDescriptor(InputStream is) throws PluginContainerException { return parsePluginDescriptor(is, new ValidationEventCollector()); }
private static void logValidationEvents(URL pluginJarFileUrl, ValidationEventCollector validationEventCollector, Log logger) { for (ValidationEvent event : validationEventCollector.getEvents()) {
javax.xml.bind.util.ValidationEventCollector validationEventCollector = new javax.xml.bind.util.ValidationEventCollector(); um.setEventHandler(validationEventCollector); if (validationEventCollector.hasEvents()) { StringBuffer errmsg = new StringBuffer(); for (ValidationEvent err : validationEventCollector.getEvents()) { errmsg.append(err.toString()); errmsg.append("\n");
public Object transform(Node source, TransformationContext context) { ValidationEventCollector validationEventCollector = new ValidationEventCollector(); Object response = null; if (source == null) validationEventCollector.reset(); unmarshaller.setEventHandler(validationEventCollector); result = unmarshaller.unmarshal(source, JAXBContextHelper.getJavaType(context.getTargetDataType())); if (validationEventCollector.hasEvents()){ String validationErrors = ""; for(ValidationEvent event : validationEventCollector.getEvents()){ validationErrors += "Event: " + event.getMessage() + " ";
ValidationEventCollector validationCollector = new ValidationEventCollector(); u.setEventHandler(validationCollector); for (ValidationEvent event : validationCollector.getEvents()) { String msg = event.getMessage(); ValidationEventLocator locator = event.getLocator();
/** * Output parse errors. * * @param fullResourceName the full resource name * @param vec the vec * @param xsdURL the xsd URL */ private static void outputParseErrors( String fullResourceName, ValidationEventCollector vec, URL xsdURL) { if (vec.hasEvents()) { for (ValidationEvent ve : vec.getEvents()) { String msg = ve.getMessage(); ValidationEventLocator vel = ve.getLocator(); String message = String.format( "%s %s %s %s %s %d %s %d %s", Localisation.getField(ParseXML.class, "ParseXML.failedToValidate"), fullResourceName, Localisation.getField(ParseXML.class, "ParseXML.usingXSD"), xsdURL.toString(), Localisation.getField(ParseXML.class, "ParseXML.line"), vel.getLineNumber(), Localisation.getField(ParseXML.class, "ParseXML.column"), vel.getColumnNumber(), msg); ConsoleManager.getInstance().error(ParseXML.class, message); } } }
ValidationEventCollector validationEventCollector = new ValidationEventCollector(); testPluginJarIsReadable(pluginJarFileUrl);
/** Generate a JAXB unmarshal exception due to validation problems. */ private static <T> InvalidDataException generateValidationError(Class<T> type, ValidationEventCollector eventHandler) { InvalidDataException invalid = getUnmarshalError(type, null); invalid.getDetails().addMessage(ERROR_KEY, "Found validation errors"); for (ValidationEvent event : eventHandler.getEvents()) { invalid.getDetails().addMessage(ERROR_KEY, event.getMessage()); } return invalid; }
m.setProperty( Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE ); ValidationEventCollector handler = new ValidationEventCollector(); m.setEventHandler(handler ); StringWriter sw = new StringWriter(); m.marshal( appdesc, sw); StringBuffer message = new StringBuffer(); if(handler.hasEvents()) for (int i = 0; i < handler.getEvents().length; i++) { ValidationEvent array_element = handler.getEvents()[i]; logger.error("validation error - " + array_element.toString(), null); return new Validation(!handler.hasEvents(), message.toString()); } catch (JAXBException e) { logger.error("validation errror - "+name, e);
public boolean handleEvent( ValidationEvent event ) { events.add(event); boolean retVal = true; switch( event.getSeverity() ) { case ValidationEvent.WARNING: retVal = true; // continue validation break; case ValidationEvent.ERROR: retVal = true; // continue validation break; case ValidationEvent.FATAL_ERROR: retVal = false; // halt validation break; default: _assert( false, Messages.format( Messages.UNRECOGNIZED_SEVERITY, event.getSeverity() ) ); break; } return retVal; }
InputStream inputStream = ParseXML.class.getResourceAsStream(fullResourceName); ValidationEventCollector vec = new ValidationEventCollector(); URL xsdURL = ParseXML.class.getResource(schemaResource); try {
m.setSchema(schema); ValidationEventCollector handler = new ValidationEventCollector(); m.setEventHandler(handler ); if(handler.hasEvents()) for (int i = 0; i < handler.getEvents().length; i++) { ValidationEvent array_element = handler.getEvents()[i]; logger.error("validation error - " + array_element.toString(), null);
public boolean handleEvent( ValidationEvent event ) { events.add(event); boolean retVal = true; switch( event.getSeverity() ) { case ValidationEvent.WARNING: retVal = true; // continue validation break; case ValidationEvent.ERROR: retVal = true; // continue validation break; case ValidationEvent.FATAL_ERROR: retVal = false; // halt validation break; default: _assert( false, Messages.format( Messages.UNRECOGNIZED_SEVERITY, event.getSeverity() ) ); break; } return retVal; }
ValidationEventCollector validationEventCollector = new ValidationEventCollector(); try { jis = new JarInputStream(pluginJarFileUrl.openStream());