You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-dev@portals.apache.org by "Sie, Yang" <ya...@fmr.com> on 2006/12/13 17:54:27 UTC

Nested layout failed with JAAS Permission Security turned on...

Hello:

We have a page with nested layout on it. We are using DBPageManager in
prod and file system page manager in dev. Say, there are say five
portlets on it. Two of them are viewable for everyone I will call them
public ones. Inside the inner most level of nested layout, there are
three portlets. The use case is that even though the current user has no
rights to see those three portlet, the user should see the two public
ones.

The problem that I have now is that the page is failed to render with
null pointer exception all over the places from ContentFragmentImpl.java
(isEmpty(), size(), etc. I tried to address them myself, but setting
return values to true for isEmpty when baseList==null and 0 as size
respectively. The page rendered fine. However, it caused more null
pointer exceptions when I tried to add portlet. The null pointer
exceptions occurred in ContentFragmentImpl$ContentFragmentList.add and
PageImpl.getFragmentById, etc. please advise. 

I provide below the exceptions before and after ContentFragmentImpl
hack...

Thank you.


---Yang


Exception samples *before* ContentFragmentImpl change (i.e. what I got
from Jetspeed)

2006-12-13 10:49:58,294 [http-8080-Processor24] ERROR
org.apache.jetspeed.profiler.impl.ProfilerValveImpl - Exception in
request pipeline: null
java.lang.NullPointerException
	at
org.apache.jetspeed.om.page.ContentFragmentImpl$ContentFragmentList.isEm
pty(ContentFragmentImpl.java:681)
	at
org.apache.jetspeed.decoration.PageTheme.setupFragmentDecorations(PageTh
eme.java:77)
	at
org.apache.jetspeed.decoration.PageTheme.setupFragmentDecorations(PageTh
eme.java:82)
	at
org.apache.jetspeed.decoration.PageTheme.setupFragmentDecorations(PageTh
eme.java:82)
	at
org.apache.jetspeed.decoration.PageTheme.<init>(PageTheme.java:52)
	at
org.apache.jetspeed.decoration.DecorationFactoryImpl.getTheme(Decoration
FactoryImpl.java:95)
	at
org.apache.jetspeed.decoration.DecorationValve.invoke(DecorationValve.ja
va:100)
	at
org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(Jets
peedPipeline.java:166)
	at
org.apache.jetspeed.pipeline.valve.impl.ActionValveImpl.invoke(ActionVal
veImpl.java:147)
	at
org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(Jets
peedPipeline.java:166)
	at
com.fmr.fimt.fw.pipeline.valve.impl.UsageStatsValveImpl.invoke(UsageStat
sValveImpl.java:137)
	at
org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(Jets
peedPipeline.java:166)
	at
org.apache.jetspeed.container.ContainerValve.invoke(ContainerValve.java:
76)
	at
org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(Jets
peedPipeline.java:166)
	at
org.apache.jetspeed.profiler.impl.ProfilerValveImpl.invoke(ProfilerValve
Impl.java:255)
	at
org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(Jets
peedPipeline.java:166)
	at
org.apache.jetspeed.security.impl.LoginValidationValveImpl.invoke(LoginV
alidationValveImpl.java:159)
	at
org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(Jets
peedPipeline.java:166)
	at
org.apache.jetspeed.localization.impl.LocalizationValveImpl.invoke(Local
izationValveImpl.java:169)
	at
org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(Jets
peedPipeline.java:166)
	at
org.apache.jetspeed.security.impl.AbstractSecurityValve$1.run(AbstractSe
curityValve.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(AbstractS
ecurityValve.java:111)
...
--------------------------
2006-12-13 10:49:58,294 [http-8080-Processor24] ERROR
org.apache.jetspeed.security.impl.LoginValidationValveImpl - Exception
in request pipeline: java.lang.NullPointerException
org.apache.jetspeed.pipeline.PipelineException:
java.lang.NullPointerException
	at
org.apache.jetspeed.profiler.impl.ProfilerValveImpl.invoke(ProfilerValve
Impl.java:304)
	at
org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(Jets
peedPipeline.java:166)
	at
org.apache.jetspeed.security.impl.LoginValidationValveImpl.invoke(LoginV
alidationValveImpl.java:159)
	at
org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(Jets
peedPipeline.java:166)
	at
org.apache.jetspeed.localization.impl.LocalizationValveImpl.invoke(Local
izationValveImpl.java:169)
	at
org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(Jets
peedPipeline.java:166)
	at
org.apache.jetspeed.security.impl.AbstractSecurityValve$1.run(AbstractSe
curityValve.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(AbstractS
ecurityValve.java:111)
	at
com.fmr.portal.security.NTLMSecurityValve.invoke(NTLMSecurityValve.java:
165)
	at
org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(Jets
peedPipeline.java:166)
	at
org.apache.jetspeed.container.url.impl.PortalURLValveImpl.invoke(PortalU
RLValveImpl.java:67)
	at
org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(Jets
peedPipeline.java:166)
	at
org.apache.jetspeed.capabilities.impl.CapabilityValveImpl.invoke(Capabil
ityValveImpl.java:128)
	at
org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(Jets
peedPipeline.java:166)
...
------------------------------
Caused by: java.lang.NullPointerException
	at
org.apache.jetspeed.om.page.ContentFragmentImpl$ContentFragmentList.isEm
pty(ContentFragmentImpl.java:681)
	at
org.apache.jetspeed.decoration.PageTheme.setupFragmentDecorations(PageTh
eme.java:77)
	at
org.apache.jetspeed.decoration.PageTheme.setupFragmentDecorations(PageTh
eme.java:82)
	at
org.apache.jetspeed.decoration.PageTheme.setupFragmentDecorations(PageTh
eme.java:82)
	at
org.apache.jetspeed.decoration.PageTheme.<init>(PageTheme.java:52)
	at
org.apache.jetspeed.decoration.DecorationFactoryImpl.getTheme(Decoration
FactoryImpl.java:95)
	at
org.apache.jetspeed.decoration.DecorationValve.invoke(DecorationValve.ja
va:100)
	at
org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(Jets
peedPipeline.java:166)
	at
org.apache.jetspeed.pipeline.valve.impl.ActionValveImpl.invoke(ActionVal
veImpl.java:147)
	at
org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(Jets
peedPipeline.java:166)
	at
com.fmr.fimt.fw.pipeline.valve.impl.UsageStatsValveImpl.invoke(UsageStat
sValveImpl.java:137)
	at
org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(Jets
peedPipeline.java:166)
	at
org.apache.jetspeed.container.ContainerValve.invoke(ContainerValve.java:
76)
	at
org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(Jets
peedPipeline.java:166)
	at
org.apache.jetspeed.profiler.impl.ProfilerValveImpl.invoke(ProfilerValve
Impl.java:255)
	... 37 more
***************************************************************
Exception samples *after* ContentFragmentImpl hack (return empty true
and 0 size):

2006-12-13 11:16:58,562 [http-8080-Processor23] ERROR
org.apache.jetspeed.portlets.layout.LayoutPortlet - failed to add
portlet bosPortal::estimates to page: /_user/a379882/company.psml
java.lang.NullPointerException
	at
org.apache.jetspeed.om.page.ContentFragmentImpl$ContentFragmentList.add(
ContentFragmentImpl.java:591)
	at
org.apache.jetspeed.portlets.layout.LayoutPortlet.addPortletToPage(Layou
tPortlet.java:341)
	at
org.apache.jetspeed.portlets.layout.MultiColumnPortlet.processAction(Mul
tiColumnPortlet.java:451)
	at
org.apache.jetspeed.factory.JetspeedPortletInstance.processAction(Jetspe
edPortletInstance.java:96)
	at
org.apache.jetspeed.container.invoker.LocalPortletInvoker.invoke(LocalPo
rtletInvoker.java:188)
	at
org.apache.jetspeed.container.invoker.LocalPortletInvoker.action(LocalPo
rtletInvoker.java:108)
	at
org.apache.pluto.PortletContainerImpl.processPortletAction(PortletContai
nerImpl.java:164)
	at
org.apache.jetspeed.container.JetspeedPortletContainerWrapper.processPor
tletAction(JetspeedPortletContainerWrapper.java:132)
	at
org.apache.jetspeed.pipeline.valve.impl.ActionValveImpl.invoke(ActionVal
veImpl.java:95)
	at
org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(Jets
peedPipeline.java:166)
	at
com.fmr.fimt.fw.pipeline.valve.impl.UsageStatsValveImpl.invoke(UsageStat
sValveImpl.java:137)
	at
org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(Jets
peedPipeline.java:166)
	at
org.apache.jetspeed.container.ContainerValve.invoke(ContainerValve.java:
76)
	at
org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(Jets
peedPipeline.java:166)
	at
org.apache.jetspeed.profiler.impl.ProfilerValveImpl.invoke(ProfilerValve
Impl.java:255)
	at
org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(Jets
peedPipeline.java:166)
	at
org.apache.jetspeed.security.impl.LoginValidationValveImpl.invoke(LoginV
alidationValveImpl.java:159)
	at
org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(Jets
peedPipeline.java:166)
	at
org.apache.jetspeed.localization.impl.LocalizationValveImpl.invoke(Local
izationValveImpl.java:169)
	at
org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(Jets
peedPipeline.java:166)
	at
org.apache.jetspeed.security.impl.AbstractSecurityValve$1.run(AbstractSe
curityValve.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(AbstractS
ecurityValve.java:111)

------------------------------------------------

2006-12-13 11:18:05,156 [http-8080-Processor24] ERROR
org.apache.jetspeed.profiler.impl.ProfilerValveImpl - Exception in
request pipeline: null
java.lang.NullPointerException
	at
org.apache.jetspeed.om.page.psml.PageImpl.getFragmentById(PageImpl.java:
177)
	at
org.apache.jetspeed.om.page.ContentPageImpl.getContentFragmentById(Conte
ntPageImpl.java:48)
	at
org.apache.jetspeed.om.page.ContentPageImpl.getFragmentById(ContentPageI
mpl.java:63)
	at
org.apache.jetspeed.pipeline.valve.impl.ActionValveImpl.initWindow(Actio
nValveImpl.java:171)
	at
org.apache.jetspeed.pipeline.valve.impl.ActionValveImpl.invoke(ActionVal
veImpl.java:87)
	at
org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(Jets
peedPipeline.java:166)
	at
com.fmr.fimt.fw.pipeline.valve.impl.UsageStatsValveImpl.invoke(UsageStat
sValveImpl.java:137)
	at
org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(Jets
peedPipeline.java:166)
	at
org.apache.jetspeed.container.ContainerValve.invoke(ContainerValve.java:
76)
	at
org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(Jets
peedPipeline.java:166)
	at
org.apache.jetspeed.profiler.impl.ProfilerValveImpl.invoke(ProfilerValve
Impl.java:255)
	at
org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(Jets
peedPipeline.java:166)
	at
org.apache.jetspeed.security.impl.LoginValidationValveImpl.invoke(LoginV
alidationValveImpl.java:159)
	at
org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(Jets
peedPipeline.java:166)
	at
org.apache.jetspeed.localization.impl.LocalizationValveImpl.invoke(Local
izationValveImpl.java:169)
	at
org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(Jets
peedPipeline.java:166)
	at
org.apache.jetspeed.security.impl.AbstractSecurityValve$1.run(AbstractSe
curityValve.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(AbstractS
ecurityValve.java:111)

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


Re: Nested layout failed with JAAS Permission Security turned on...

Posted by David Sean Taylor <da...@bluesunrise.com>.
Sie, Yang wrote:
> Hello:
> 
> We have a page with nested layout on it. We are using DBPageManager in
> prod and file system page manager in dev. Say, there are say five
> portlets on it. Two of them are viewable for everyone I will call them
> public ones. Inside the inner most level of nested layout, there are
> three portlets. The use case is that even though the current user has no
> rights to see those three portlet, the user should see the two public
> ones.
> 
> The problem that I have now is that the page is failed to render with
> null pointer exception all over the places from ContentFragmentImpl.java
> (isEmpty(), size(), etc. I tried to address them myself, but setting
> return values to true for isEmpty when baseList==null and 0 as size
> respectively. The page rendered fine. However, it caused more null
> pointer exceptions when I tried to add portlet. The null pointer
> exceptions occurred in ContentFragmentImpl$ContentFragmentList.add and
> PageImpl.getFragmentById, etc. please advise. 
> 
> I provide below the exceptions before and after ContentFragmentImpl
> hack...
Please create a JIRA issue.
I will start looking into this today

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