I've submitted this as bug 21966, and will submit a patch shortly.  Thanks
for reporting it.

Cheers,
Peter McCracken/Toronto/IBM



                                                                                
                                                                   
                      "Martin Lambert"                                          
                                                                   
                      <[EMAIL PROTECTED]        To:       <[EMAIL PROTECTED]>   
                                                    
                      pharma.com>                   cc:                         
                                                                   
                                                    Subject:  
NullPointerException when calling getLexicalFacetValue() on 
XSSimpleTypeDefinition   
                      07/29/2003 09:36 AM                                       
                                                                   
                      Please respond to                                         
                                                                   
                      xerces-j-user                                             
                                                                   
                                                                                
                                                                   
                                                                                
                                                                   




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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]






---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to