You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-user@portals.apache.org by mu baosen <mu...@gmail.com> on 2006/03/06 10:01:46 UTC

IllegalStateException occured(a bug?)

Hello, everyone.

I log in J2 and change a portlet to maximized state. And then I copy the
current portal URL and open a new IE window. I paste this url (copied just
now) to the address bar of IE and press Enter key, the following exception
occured:

Exception in request pipeline: java.lang.IllegalStateException: You cannot
invoke getRenderedContent() until the content has been set.
org.apache.jetspeed.pipeline.PipelineException:
java.lang.IllegalStateException: You cannot invoke getRenderedContent()
until the content has been set.
 at org.apache.jetspeed.aggregator.AggregatorValve.invoke(
AggregatorValve.java:52)
 at org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(
JetspeedPipeline.java:203)
 at org.apache.jetspeed.pipeline.valve.impl.ActionValveImpl.invoke(
ActionValveImpl.java:137)
 at org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(
JetspeedPipeline.java:203)
 at org.apache.jetspeed.container.ContainerValve.invoke(ContainerValve.java
:76)
 at org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(
JetspeedPipeline.java:203)
 at org.apache.jetspeed.decoration.DecorationValve.invoke(
DecorationValve.java:100)
 at org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(
JetspeedPipeline.java:203)
 at org.apache.jetspeed.profiler.impl.ProfilerValveImpl.invoke(
ProfilerValveImpl.java:179)
 at org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(
JetspeedPipeline.java:203)
 at org.apache.jetspeed.security.impl.LoginValidationValveImpl.invoke(
LoginValidationValveImpl.java:143)
 at org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(
JetspeedPipeline.java:203)
 at org.apache.jetspeed.security.impl.PasswordCredentialValveImpl.invoke(
PasswordCredentialValveImpl.java:148)
 at org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(
JetspeedPipeline.java:203)
 at org.apache.jetspeed.localization.impl.LocalizationValveImpl.invoke(
LocalizationValveImpl.java:168)
 at org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(
JetspeedPipeline.java:203)
 at org.apache.jetspeed.security.impl.AbstractSecurityValve$1.run(
AbstractSecurityValve.java:117)
 at java.security.AccessController.doPrivileged(Native Method)
 at javax.security.auth.Subject.doAsPrivileged(Subject.java:437)
 at org.apache.jetspeed.security.impl.AbstractSecurityValve.invoke(
AbstractSecurityValve.java:111)
 at org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(
JetspeedPipeline.java:203)
 at org.apache.jetspeed.container.url.impl.PortalURLValveImpl.invoke(
PortalURLValveImpl.java:55)
 at org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(
JetspeedPipeline.java:203)
 at org.apache.jetspeed.capabilities.impl.CapabilityValveImpl.invoke(
CapabilityValveImpl.java:128)
 at org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(
JetspeedPipeline.java:203)
 at org.apache.jetspeed.pipeline.JetspeedPipeline.invoke(
JetspeedPipeline.java:185)
 at org.apache.jetspeed.engine.JetspeedEngine.service(JetspeedEngine.java
:231)
 at org.apache.jetspeed.engine.JetspeedServlet.doGet(JetspeedServlet.java
:226)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
 at jrun.servlet.FilterChain.doFilter(FilterChain.java:86)
 at jrun.servlet.security.JSecurityCheckFilter.doFilter(
JSecurityCheckFilter.java:70)
 at jrun.servlet.FilterChain.doFilter(FilterChain.java:94)
 at jrun.servlet.FilterChain.service(FilterChain.java:101)
 at jrun.servlet.ServletInvoker.invoke(ServletInvoker.java:91)
 at jrun.servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42)
 at jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java
:259)
 at jrun.servlet.ServletEngineService.dispatch(ServletEngineService.java
:541)
 at jrun.servlet.http.WebService.invokeRunnable(WebService.java:172)
 at jrunx.scheduler.ThreadPool$DownstreamMetrics.invokeRunnable(
ThreadPool.java:320)
 at jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java
:428)
 at jrunx.scheduler.ThreadPool$UpstreamMetrics.invokeRunnable(
ThreadPool.java:266)
 at jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)
Caused by: java.lang.IllegalStateException: You cannot invoke
getRenderedContent() until the content has been set.
 at org.apache.jetspeed.om.page.ContentFragmentImpl.getRenderedContent(
ContentFragmentImpl.java:97)
 at org.apache.jetspeed.aggregator.impl.PageAggregatorImpl.build(
PageAggregatorImpl.java:112)
 at org.apache.jetspeed.aggregator.AggregatorValve.invoke(
AggregatorValve.java:48)
 ... 42 more


What is the problem?

Thanks

Re: IllegalStateException occured(a bug?)

Posted by mu baosen <mu...@gmail.com>.
>
> Thanks Philip.


>I suspect that you started a new session with a new browser and the
> >portlet that you maximized required authentication.

   You are right. The portlet that I maximized required authentication. The
portlet that I maximized locate in project.psml. If the user was not
authenticated, the response redirect to public.psml. I thout J2 will located
the portlet that I maximized just now(maybe the url rember the state of
portlet), but there is not the portlet in public.psml.

Re: IllegalStateException occured(a bug?)

Posted by Philip Mark Donaghy <ph...@gmail.com>.
Hi Mu,

I would have thought that jetspeed urls were not permanent urls. But
to my surprise I tried what you said and it worked.

I start tomcat
I load http://localhost:8080/jetspeed/ in mozilla
I login as user user
I maximize the Locale Selector portlet
I copy the url

I load the copied url
http://localhost:8080/jetspeed/portal/_ns:YWRwLTN8ZDE_/ in konquorer
(new cookies and new session)

A maximized version of the Locale Selector is shown. The user is no
longer logged in, but the portlet is maximized.

I suspect that you started a new session with a new browser and the
portlet that you maximized required authentication. I recall that IE
startes a new session if you click on the icon on the taskbar. Ctrl-N
opens a new window that maintains the current cookie and therefore the
current session.

Philip

On 3/6/06, mu baosen <mu...@gmail.com> wrote:
> Hello, everyone.
>
> I log in J2 and change a portlet to maximized state. And then I copy the
> current portal URL and open a new IE window. I paste this url (copied just
> now) to the address bar of IE and press Enter key, the following exception
> occured:
>
> Exception in request pipeline: java.lang.IllegalStateException: You cannot
> invoke getRenderedContent() until the content has been set.
> org.apache.jetspeed.pipeline.PipelineException:
> java.lang.IllegalStateException: You cannot invoke getRenderedContent()
> until the content has been set.
>  at org.apache.jetspeed.aggregator.AggregatorValve.invoke(
> AggregatorValve.java:52)
>  at org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(
> JetspeedPipeline.java:203)
>  at org.apache.jetspeed.pipeline.valve.impl.ActionValveImpl.invoke(
> ActionValveImpl.java:137)
>  at org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(
> JetspeedPipeline.java:203)
>  at org.apache.jetspeed.container.ContainerValve.invoke(ContainerValve.java
> :76)
>  at org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(
> JetspeedPipeline.java:203)
>  at org.apache.jetspeed.decoration.DecorationValve.invoke(
> DecorationValve.java:100)
>  at org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(
> JetspeedPipeline.java:203)
>  at org.apache.jetspeed.profiler.impl.ProfilerValveImpl.invoke(
> ProfilerValveImpl.java:179)
>  at org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(
> JetspeedPipeline.java:203)
>  at org.apache.jetspeed.security.impl.LoginValidationValveImpl.invoke(
> LoginValidationValveImpl.java:143)
>  at org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(
> JetspeedPipeline.java:203)
>  at org.apache.jetspeed.security.impl.PasswordCredentialValveImpl.invoke(
> PasswordCredentialValveImpl.java:148)
>  at org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(
> JetspeedPipeline.java:203)
>  at org.apache.jetspeed.localization.impl.LocalizationValveImpl.invoke(
> LocalizationValveImpl.java:168)
>  at org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(
> JetspeedPipeline.java:203)
>  at org.apache.jetspeed.security.impl.AbstractSecurityValve$1.run(
> AbstractSecurityValve.java:117)
>  at java.security.AccessController.doPrivileged(Native Method)
>  at javax.security.auth.Subject.doAsPrivileged(Subject.java:437)
>  at org.apache.jetspeed.security.impl.AbstractSecurityValve.invoke(
> AbstractSecurityValve.java:111)
>  at org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(
> JetspeedPipeline.java:203)
>  at org.apache.jetspeed.container.url.impl.PortalURLValveImpl.invoke(
> PortalURLValveImpl.java:55)
>  at org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(
> JetspeedPipeline.java:203)
>  at org.apache.jetspeed.capabilities.impl.CapabilityValveImpl.invoke(
> CapabilityValveImpl.java:128)
>  at org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(
> JetspeedPipeline.java:203)
>  at org.apache.jetspeed.pipeline.JetspeedPipeline.invoke(
> JetspeedPipeline.java:185)
>  at org.apache.jetspeed.engine.JetspeedEngine.service(JetspeedEngine.java
> :231)
>  at org.apache.jetspeed.engine.JetspeedServlet.doGet(JetspeedServlet.java
> :226)
>  at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
>  at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>  at jrun.servlet.FilterChain.doFilter(FilterChain.java:86)
>  at jrun.servlet.security.JSecurityCheckFilter.doFilter(
> JSecurityCheckFilter.java:70)
>  at jrun.servlet.FilterChain.doFilter(FilterChain.java:94)
>  at jrun.servlet.FilterChain.service(FilterChain.java:101)
>  at jrun.servlet.ServletInvoker.invoke(ServletInvoker.java:91)
>  at jrun.servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42)
>  at jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java
> :259)
>  at jrun.servlet.ServletEngineService.dispatch(ServletEngineService.java
> :541)
>  at jrun.servlet.http.WebService.invokeRunnable(WebService.java:172)
>  at jrunx.scheduler.ThreadPool$DownstreamMetrics.invokeRunnable(
> ThreadPool.java:320)
>  at jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java
> :428)
>  at jrunx.scheduler.ThreadPool$UpstreamMetrics.invokeRunnable(
> ThreadPool.java:266)
>  at jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)
> Caused by: java.lang.IllegalStateException: You cannot invoke
> getRenderedContent() until the content has been set.
>  at org.apache.jetspeed.om.page.ContentFragmentImpl.getRenderedContent(
> ContentFragmentImpl.java:97)
>  at org.apache.jetspeed.aggregator.impl.PageAggregatorImpl.build(
> PageAggregatorImpl.java:112)
>  at org.apache.jetspeed.aggregator.AggregatorValve.invoke(
> AggregatorValve.java:48)
>  ... 42 more
>
>
> What is the problem?
>
> Thanks
>
>


--
Philip Donaghy
donaghy.blogspot.com del.icio.us/donaghy/philip
Skype: philipmarkdonaghy
Office: +33 5 56 60 88 02
Mobile: +33 6 20 83 22 62

---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-user-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-user-help@portals.apache.org