  | |  | NullPointerException when calling getLexicalFacetValue() on XSSimpleTypeDefiniti | NullPointerException when calling getLexicalFacetValue() on XSSimpleTypeDefiniti 2003-07-29 - By Martin Lambert
Hi,
Thanks everybody for your help with my previous questions.
I am currently attempting to retrieve information from attribute types, in particular their facets. I am aware of the type heirachy i.e. anySimpleType --> decimal --> integer and have been able to retrieve the individual type objects. I make the assumption that facets are solely attached to the type in which they are defined. E.g. given the type definition below, maxInclusive=0 would be attached to the 'negIntegerType' object and not any of the ancestor type objects.
<simpleType name="negIntegerType"> <restriction base="integer"> <maxInclusive value="0"/> </restriction> </simpleType>
<attribute name="elMin" type="negIntegerType" use="required"/>
My problem comes when tyring to call getLexicalFacetValue() using facets that are not associated with the given type. To illustrate I will use the example above, I would expect calling getLexicalFacetValue(FACET_MAXINCLUSIVE) on a 'decimal' type object to return null as stated in the Javadoc but instead it throws a null pointer exception.
Below is the code I'm using and the stack trace that I get:
System.out.println("::::::::::::: TYPE NAME: " + typeDef.getName());
// Make sure that the value can be turned into a decimal. Double.parseDouble(attributeValue.toString());
System.out.println("^^^^ TODO: Add validation logic");
String maxInclusive = typeDef.getLexicalFacetValue (XSSimpleTypeDefinition.FACET_MAXINCLUSIVE);
if(maxInclusive != null) { System.out.println("Max. inclusive facet found!!!"); } else { System.out.println("Max. inclusive facet NOT found!!!"); }
java.lang.NullPointerException at org.apache.xerces.impl.dv.xs.XSSimpleTypeDecl.getLexicalFacetValue(Unknown Source) at com.novobase.skelgen.webservice.DecimalAttributeContentValidator.validate (DecimalAttributeContentValidator.java:41) at com.novobase.skelgen.webservice.SiteBuilder.validateJAXBObjectAttribute (SiteBuilder.java:972) at com.novobase.skelgen.webservice.SiteBuilder.validateJAXBObjectAttributes (SiteBuilder.java:1019) at com.novobase.skelgen.webservice.SiteBuilder.validateJAXBObject(SiteBuilder .java:1041) at com.novobase.skelgen.webservice.SiteBuilder.validateSite(SiteBuilder.java :770) at org.apache.jsp.siteFileBuilder_jsp._jspService(siteFileBuilder_jsp.java:506) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:137) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java :204) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:247) at org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:193) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve .java:260) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext .invokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve .java:191) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext .invokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java :180) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext .invokeNext(StandardPipeline.java:643) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve .java:170) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext .invokeNext(StandardPipeline.java:641) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java :172) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext .invokeNext(StandardPipeline.java:641) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve .java:174) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext .invokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:432) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler .processConnection(Http11Protocol.java:386) at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:534) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool .java:530) at java.lang.Thread.run(Thread.java:536)
Thanks,
Martin.
--------------------------------------------------------------------- To unsubscribe, e-mail: xerces-j-user-unsubscribe@(protected) For additional commands, e-mail: xerces-j-user-help@(protected)
|
|
 |