RE: Notes Example-java.lang.IllegalStateException: Value of BigDecimal id is null.

"Prashant R. Naik" <[email protected]> Wed, 5 May 2004 00:25:55 +0530
Newsgroups gmane.linux.redhat.ccm.general
Message-ID <[email protected]>
I downloaded the source as per 
https://listman.redhat.com/archives/redhat-ccm-list/2004-May/msg00006.html 
and successfully deploy the binder application.
After running the application, I was able to view it at 
      http://localhost:9000/binder (Received an "Value of BigDecimal id is null." error) 
and not at 
      http://localhost:9000/ccm/binder.(page not found) 

As per your suggestion, I ran the following:
      ccm-run com.arsdigita.web.ApplicationTool com.example.binder.Binder binder Binder

Now I could view it at 
      http://localhost:9000/ccm/binder

But Now I get a new error as below:
*************************************************************************************

HTTP Status 500 - Internal Server Error

type Exception report

message Internal Server Error

description The server encountered an internal error (Internal Server Error) that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: Servlet execution threw an exception
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
	at com.arsdigita.london.shortcuts.ShortcutFilter.doService(ShortcutFilter.java:79)
	at com.arsdigita.web.BaseFilter.doFilter(BaseFilter.java:96)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
	at com.arsdigita.london.subsite.SubsiteFilter.doService(SubsiteFilter.java:69)
	at com.arsdigita.web.BaseFilter.doFilter(BaseFilter.java:96)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
	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:2422)
	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:171)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:163)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:577)
	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.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1040)
	at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1151)
	at java.lang.Thread.run(Thread.java:534)

root cause

com.arsdigita.util.AssertionError: uri must start with /
	at com.arsdigita.util.Assert.truth(Assert.java:112)
	at com.arsdigita.web.Web.getServletContext(Web.java:136)
	at com.arsdigita.web.BaseDispatcher.forward(BaseDispatcher.java:179)
	at com.arsdigita.web.BaseDispatcher.dispatch(BaseDispatcher.java:130)
	at com.arsdigita.web.DispatcherServlet.doService(DispatcherServlet.java:123)
	at com.arsdigita.web.BaseServlet$1.excurse(BaseServlet.java:176)
	at com.arsdigita.kernel.KernelExcursion.run(KernelExcursion.java:57)
	at com.arsdigita.web.BaseServlet.internalService(BaseServlet.java:147)
	at com.arsdigita.web.BaseServlet.doGet(BaseServlet.java:272)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
	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 com.arsdigita.london.shortcuts.ShortcutFilter.doService(ShortcutFilter.java:79)
	at com.arsdigita.web.BaseFilter.doFilter(BaseFilter.java:96)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
	at com.arsdigita.london.subsite.SubsiteFilter.doService(SubsiteFilter.java:69)
	at com.arsdigita.web.BaseFilter.doFilter(BaseFilter.java:96)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
	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:2422)
	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:171)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:163)
	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:577)
	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.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1040)
	at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1151)
	at java.lang.Thread.run(Thread.java:534)

*************************************************************************************

I will really appreciate any help I can get on this.

Thanks
Prashant.


-----Original Message-----
From: Justin Ross [mailto:[email protected]]
Sent: Mon 5/3/2004 10:55 PM
To: Narayanan
Subject: RE: [redhat-ccm-list] Notes Example-java.lang.IllegalStateException: Value of BigDecimal id is null.
 
On Mon, 2004-05-03 at 12:19, Narayanan wrote:
> I am able to open all these URL's
> http://localhost:9000/ccm/admin/
> http://localhost:9000/ccm/content-center/
> http://localhost:9000/ccm/admin/themes/
> http://localhost:9000/ccm/ds/
> 
> The following go through the Binder Servlet and print "YO" on the
> screen.
> http://localhost:9000/ccm/forms/
> http://localhost:9000/ccm/portal/

A bit of a new topic now: this is not correct behavior.  The binder
servlet shouldn't be taking over "/ccm/forms/" and "/ccm/portal/".

> The following URL's result in the HTTP Status 500 - Internal Server
Error mentioned below.
> http://localhost:9000/binder/
> http://localhost:9000/

This is also strange.

  1. "/binder/" will not work.  I have an explanation of that below.
  2. "/" should result in a directory listing or a bounce to "/ccm/".

So, the big thing I need to clear up is that your binder app will not be
addressible at "/binder/".  Binder is a web.Application, so it needs to
be reached via the dispatcher (registered on "/ccm").  Your path should
look something like "/ccm/binder1", the path to a binder app instance
under the dispatcher.  Read the javadoc on web.Application for more
about the "whys".

That app instance is something you'll need to create using the APIs on
Application.

The following is just a sketch from memory, so you'll have to fix the
broken parts :)

public class SomeAppAdder {
    public static void main(String[] args) throws Exception {
        new Startup().run();

        TransactionContext t = SessionManager.getSession
            ().getTransactionContext();
        t.beginTxn();

        Application.createApplication
            (Binder.BASE_DATA_OBJECT_TYPE,
             "binder1",
             "Binder 1",
             null);

        t.commitTxn();
    }
}

Then do "ccm-run somepackage.SomeAppAdder".  You should be able to reach
the new app instance at "/ccm/binder1" then.

(Minutes later)  I forgot about this: There's a class called
com.arsdigita.web.ApplicationTool that does almost precisely the above,
so you can just use it.

Justin






Information contained in this E-MAIL being proprietary to Tricon Infotech Private Limited  is 'privileged' and 'confidential' and intended for use only by the individual or entity to which it is addressed. You are notified that any  use, copying or  dissemination  of the  information contained in this E-MAIL in any manner whatsoever is strictly prohibited.

-- 
Redhat-ccm-list mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/redhat-ccm-list
Archives: https://www.redhat.com/pipermail/redhat-ccm-list/