use of com.sun.msv.util.StartTagInfo in project Payara by payara.
the class MSVValidator method endAttributes.
public void endAttributes() throws SAXException {
if (!acceptor.onEndAttributes(null, null)) {
// some required attributes are missing.
// report a validation error
// Note that we don't know which property of this object
// causes this error.
StringRef ref = new StringRef();
StartTagInfo sti = new StartTagInfo(currentElementUri, currentElementLocalName, currentElementLocalName, emptyAttributes, this);
acceptor.onEndAttributes(sti, ref);
context.reportEvent(target, ref.str);
}
}
use of com.sun.msv.util.StartTagInfo in project Payara by payara.
the class MSVValidator method startElement.
public void startElement(String uri, String local) throws SAXException {
writePendingText();
context.getNamespaceContext().startElement();
stack.push(acceptor);
StartTagInfo sti = new StartTagInfo(uri, local, local, emptyAttributes, this);
// we pass in an empty attributes, as there is just no way for us to
// properly re-construct attributes. Fortunately, I know MSV is not using
// attribute values, so this would work, but nevertheless this code is
// ugly. This is one of the problems of the "middle" approach.
Acceptor child = acceptor.createChildAcceptor(sti, null);
if (child == null) {
// this element is invalid. probably, so this object is invalid
// report an error
StringRef ref = new StringRef();
child = acceptor.createChildAcceptor(sti, ref);
context.reportEvent(target, ref.str);
}
this.currentElementUri = uri;
this.currentElementLocalName = local;
acceptor = child;
}
use of com.sun.msv.util.StartTagInfo in project OpenAM by OpenRock.
the class MSVValidator method startElement.
public void startElement(String uri, String local) throws SAXException {
writePendingText();
context.getNamespaceContext().startElement();
stack.push(acceptor);
StartTagInfo sti = new StartTagInfo(uri, local, local, emptyAttributes, this);
// we pass in an empty attributes, as there is just no way for us to
// properly re-construct attributes. Fortunately, I know MSV is not using
// attribute values, so this would work, but nevertheless this code is
// ugly. This is one of the problems of the "middle" approach.
Acceptor child = acceptor.createChildAcceptor(sti, null);
if (child == null) {
// this element is invalid. probably, so this object is invalid
// report an error
StringRef ref = new StringRef();
child = acceptor.createChildAcceptor(sti, ref);
context.reportEvent(target, ref.str);
}
this.currentElementUri = uri;
this.currentElementLocalName = local;
acceptor = child;
}
use of com.sun.msv.util.StartTagInfo in project OpenAM by OpenRock.
the class MSVValidator method endAttributes.
public void endAttributes() throws SAXException {
if (!acceptor.onEndAttributes(null, null)) {
// some required attributes are missing.
// report a validation error
// Note that we don't know which property of this object
// causes this error.
StringRef ref = new StringRef();
StartTagInfo sti = new StartTagInfo(currentElementUri, currentElementLocalName, currentElementLocalName, emptyAttributes, this);
acceptor.onEndAttributes(sti, ref);
context.reportEvent(target, ref.str);
}
}
use of com.sun.msv.util.StartTagInfo in project OpenAM by OpenRock.
the class MSVValidator method childAsElementBody.
private void childAsElementBody(Object o, ValidatableObject vo) throws SAXException {
String intfName = vo.getPrimaryInterface().getName();
intfName = intfName.replace('$', '.');
// if the object implements the RIElement interface,
// add a marker attribute to the dummy element.
//
// For example, if the object is org.acme.impl.FooImpl,
// the dummy element will look like
// <{DUMMY_ELEMENT_NS}org.acme.Foo
// {<URI of this element>}:<local name of this element>="" />
//
// This extra attribute is used to validate wildcards.
// AttributesImpl atts;
// if(o instanceof RIElement) {
// RIElement rie = (RIElement)o;
// atts = new AttributesImpl();
// atts.addAttribute(
// rie.____jaxb_ri____getNamespaceURI(),
// rie.____jaxb_ri____getLocalName(),
// rie.____jaxb_ri____getLocalName(), // use local name as qname
// "CDATA",
// ""); // we don't care about the attribute value
// } else
// atts = emptyAttributes;
// feed a dummy element to the acceptor.
StartTagInfo sti = new StartTagInfo(DUMMY_ELEMENT_NS, intfName, intfName, /*just pass the local name as QName.*/
emptyAttributes, this);
Acceptor child = acceptor.createChildAcceptor(sti, null);
if (child == null) {
// some required elements were missing. report errors
StringRef ref = new StringRef();
child = acceptor.createChildAcceptor(sti, ref);
context.reportEvent(target, ref.str);
}
if (o instanceof RIElement) {
RIElement rie = (RIElement) o;
if (!child.onAttribute2(rie.____jaxb_ri____getNamespaceURI(), rie.____jaxb_ri____getLocalName(), rie.____jaxb_ri____getLocalName(), "", null, null, null))
// this object is not a valid member of the wildcard
context.reportEvent(target, Messages.format(Messages.INCORRECT_CHILD_FOR_WILDCARD, rie.____jaxb_ri____getNamespaceURI(), rie.____jaxb_ri____getLocalName()));
}
child.onEndAttributes(sti, null);
if (!acceptor.stepForward(child, null)) {
// generated by XJC.
throw new JAXBAssertionError();
}
// we need a separate validator instance to validate a child object
context.validate(vo);
}
Aggregations