JCPからの返事

返事をもらった。返事は、IBM の Stefan Hepper からだった。結局、彼はPlutoにも加わっているので、Plutoにも返事を出しているのでここで取り上げる必要はないが、一応、内容を書いておこう。

Subject: Re: JSR 168 Comments: PortletResponse#encodeURL(String) Problem
To: Shinsuke SUGAYA
Cc: jsr-168-comments@jcp.org
From: Stefan Hepper
Date: Fri, 10 Feb 2006 11:02:15 +0100
Hello Shinsuke,
this was considerate something that the servlet spec missed. If you
provide params that do not comply to specification in the javadocs you
should get an exc back and not accept the call and do nothing or respond
with an internal server error.
Note that the behavior in the sevlet case is undefined for such a string
and may as well result in an internall exc.
Regards,
Stefan

まとめると、ポータル仕様の方が正しいから、アプリケーション側でその辺は処理しろと言うことだね。ということは、MyFacesをなおしてやらんといかんということか。

JCPへメールを出す

なかなか JCP へ仕様がそれでいいの?というメールもなかなかないので、どういう対応されるのかがいまいち謎。返事は返ってくるのだろうか。まぁ、そんな感じで、以下のようなメールを出してみる。

To:  jsr-168-comments@jcp.org
Subject: JSR 168 Comments: PortletResponse#encodeURL(String) Problem
Hello JSR 168 members,
I have a problem about PortletResponse#encodeURL(String) method.
According to Portlet API Java Doc, this method throws
IllegalArgumentException if the path doesn't have a leading slash
or is not an absolute URL. But HttpServletResponse#encodeURL(String)
accepts them(does NOT throw the exception) and returns the unchanged
value. It means that they are a different behavior. This behavior,
for example, affects ExternalContext#encodeActionURL(String) in
JSF spec. The method calls these encodeURL methods. So, I think that
the difference confuses developers. Actually, the problem occurs on
Jetspeed(Pluto)+MyFaces environment(Please see the following bug).
http://issues.apache.org/jira/browse/PLUTO-203
Could you review the difference between Servlet and Portlet API?
I'd like to know what the motivations were to being different.
Best regards,
Shinsuke Sugaya
Apache Portals Jetspeed

一応、Apache Portals の名前を使って、なるべく返事が返ってくるようにアピールもしてみたりして 🙂 はて、どうなるのかね。

ポートレットのencodeURL

うむむ・・・となってしまう話。Plutoがリリースしようとしている雰囲気があったので、直してもらうべく、パッチを付けて、更新。そしたら、Will Not Fix で閉じられた・・・。JSR 168 の PDF の方をチェックしていたのだけど、JavaDoc で言われていることと話が違う。PDFの方は、IllegalArgumentExceptionを返すようなことは書いていないのだが、JavaDocは返すと言っている。しかし、これを返されると、JSFで困ると思うのだが・・・。というわけで、Will Not Fix で閉じられたけど、JavaDocが正しくない気もするのでねばる。はぁ・・・、JSR の基本的な仕様が曖昧だと困るんだよね・・・。はて、どうなるのか・・・。

http://issues.apache.org/jira/browse/PLUTO-203