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をなおしてやらんといかんということか。

Java 5

今まで、JDK 1.4.2 をメインに使っていたけど、AMD64用もリリースされないし、IBM のやつはいまいち、動作が異なり、ビルドができなかったりすることもあるので(Jackrabbitがビルドできんかった)、Java5 に移行することにしてみた。この環境で様子を見ていこう。

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 の名前を使って、なるべく返事が返ってくるようにアピールもしてみたりして 🙂 はて、どうなるのかね。