Example usage for com.google.gwt.uibinder.rebind UiBinderWriter die

List of usage examples for com.google.gwt.uibinder.rebind UiBinderWriter die

Introduction

In this page you can find the example usage for com.google.gwt.uibinder.rebind UiBinderWriter die.

Prototype

public void die(String message) throws UnableToCompleteException 

Source Link

Document

Post an error message and halt processing.

Usage

From source file:com.jhickman.web.gwt.gxtuibinder.elementparsers.form.SliderFieldParser.java

License:Apache License

@Override
public void parse(XMLElement elem, String fieldName, JClassType type, UiBinderWriter writer)
        throws UnableToCompleteException {
    boolean seen = false;
    for (XMLElement child : elem.consumeChildElements()) {
        if (seen) {
            writer.die("SliderField can contain exactly one child element of type Slider.");
        }/*from w w  w . ja  v  a  2  s .c  o m*/

        // single child must be of type "Slider"
        String childField = writer.parseElementToField(child);
        writer.setFieldInitializerAsConstructor(fieldName, type, childField);

        seen = true;
    }
}

From source file:org.vectomatic.dev.svg.impl.gen.SVGValidator.java

License:Open Source License

/**
 * Validates the specified SVG input//from  ww w  .j  a va 2 s  . co  m
 * @param rawSvg The SVG input to validate 
 * @param systemId The URL of the resource being validated
 * @param logger A logger to report validation errors (if the method is invoked
 * to validate an {@link org.vectomatic.dom.svg.ui.SVGResource} or an
 * {@link org.vectomatic.dom.svg.ui.ExternalSVGResource})
 * @param writer A writer to report validation errors (if the method is
 * invoked to validate a UiBinder template)
 * @throws UnableToCompleteException If validation error occur
 */
public static void validate(String rawSvg, String systemId, final TreeLogger logger,
        final UiBinderWriter writer) throws UnableToCompleteException {
    try {
        if (validator == null) {
            SchemaFactory factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
            URL svgSchemaURL = SVGValidator.class.getResource("SVG.xsd");
            Source schemaFile = new StreamSource(svgSchemaURL.openStream(), svgSchemaURL.toExternalForm());
            Schema schema = factory.newSchema(schemaFile);
            validator = schema.newValidator();
            validator.setResourceResolver(new LSResourceResolver() {
                @Override
                public LSInput resolveResource(String type, String namespaceURI, final String publicId,
                        final String systemId, final String baseURI) {
                    if (logger != null) {
                        logger.log(TreeLogger.INFO, "resolveResource(" + type + ", " + namespaceURI + ", "
                                + publicId + ", " + systemId + ", " + baseURI + ")");
                    }
                    return new LSInput() {

                        @Override
                        public Reader getCharacterStream() {
                            return new StringReader("");
                        }

                        @Override
                        public void setCharacterStream(Reader characterStream) {
                        }

                        @Override
                        public InputStream getByteStream() {
                            return new ByteArrayInputStream(new byte[0]);
                        }

                        @Override
                        public void setByteStream(InputStream byteStream) {
                        }

                        @Override
                        public String getStringData() {
                            return "";
                        }

                        @Override
                        public void setStringData(String stringData) {
                        }

                        @Override
                        public String getSystemId() {
                            return systemId;
                        }

                        @Override
                        public void setSystemId(String systemId) {
                        }

                        @Override
                        public String getPublicId() {
                            return publicId;
                        }

                        @Override
                        public void setPublicId(String publicId) {
                        }

                        @Override
                        public String getBaseURI() {
                            return baseURI;
                        }

                        @Override
                        public void setBaseURI(String baseURI) {
                        }

                        @Override
                        public String getEncoding() {
                            return null;
                        }

                        @Override
                        public void setEncoding(String encoding) {
                        }

                        @Override
                        public boolean getCertifiedText() {
                            return false;
                        }

                        @Override
                        public void setCertifiedText(boolean certifiedText) {
                        }

                    };
                }
            });
        }
        validator.validate(new StreamSource(new StringReader(rawSvg), systemId));
    } catch (SAXParseException e) {
        if (writer != null) {
            writer.die(e.getMessage() + " @" + e.getSystemId() + " L:" + e.getLineNumber() + ",C:"
                    + e.getColumnNumber());
        } else if (logger != null) {
            logger.log(TreeLogger.ERROR, "Invalid SVG input @" + e.getSystemId() + " L:" + e.getLineNumber()
                    + ",C:" + e.getColumnNumber(), e);
            throw new UnableToCompleteException();
        }
    } catch (Throwable t) {
        if (writer != null) {
            writer.die(t.getMessage());
        } else if (logger != null) {
            logger.log(TreeLogger.ERROR, "Invalid SVG input", t);
            throw new UnableToCompleteException();
        }
    }
}