dev@javaserverfaces.java.net

Re: Zhijun: Mojarra 2.3 AdminGUIIT test reemove _at_Ignore

From: arjan tijms <arjan.tijms_at_gmail.com>
Date: Wed, 30 Sep 2015 11:01:32 +0200

Hi Zhijun,

On Wed, Sep 30, 2015 at 10:37 AM, zhijun Ren <ren.zhijun_at_oracle.com> wrote:
> As you said, I utilized the tool 'git bisect' today and have identified the
> commit which introduced the problem, the problem can be reproduced after the
> commit for bug https://java.net/jira/browse/JAVASERVERFACES-4029, so
> reverting the commit -r15126 can solve the problem.

I almost arrived at the same point, thanks a lot for pinpointing the
exact revision!

It looks like the admin console (or the "JSF templating" system) may
have depended on a bug then. The problem was that in some
circumstances #{component} could be overridden and in some others not.
This appeared contrary to the spec. Practically it also introduced an
incompatibility between Mojarra and MyFaces, since in MyFaces it was
not possible to sometimes override.

Let's see how to best proceed from here.

Kind regards,
Arjan Tijms




>
> btw, due to China National Holiday, I will be off from Oct 1 ~ 7. I will
> check mail occasionally.
>
> BR,
> Zhijun
>
>
>
>
> On 9/29/15, 23:13, Edward Burns wrote:
>>>>>>>
>>>>>>> On Tue, 29 Sep 2015 17:31:18 +0800, zhijun Ren<ren.zhijun_at_oracle.com>
>>>>>>> said:
>>
>> RZ> Hi Ed,
>> RZ> I used glassfish 4.1 to do the test today, I found:
>>
>> RZ> 1. The issue is related to the jsf, without patch jsf, there is no
>> RZ> problem, the 'localhost:4848' was visible. but if patched with latest
>> RZ> jsf(2.3.0-m03-snapshot), the problem happened. I will call them
>> correct
>> RZ> and wrong cases respectively in the following description;
>>
>> RZ> 2. I debuged with glassfish's code, found the following codes run
>> RZ> differently in the correct and wrong cases. class
>> RZ> org.glassfish.admingui.common.handlers.PluginHandlers's
>> RZ> includeFirstIntegrationPoint() method:
>>
>> RZ> / @Handler(id="includeFirstIntegrationPoint",
>> RZ> input={
>> RZ> @HandlerInput(name="type", type=String.class,
>> required=true),
>> RZ> @HandlerInput(name="root", type=UIComponent.class,
>> RZ> required=false)})
>> RZ> public static void includeFirstIntegrationPoint(HandlerContext
>> RZ> handlerCtx) throws java.io.IOException {
>> RZ> // Get the input
>> RZ> String type = (String) handlerCtx.getInputValue("type");
>> RZ> UIComponent root = (UIComponent) handlerCtx.getInputValue("root");/
>>
>> RZ> in wrong case, when the type is "org.glassfish.admingui:loginform",
>> the
>> RZ> root is null. but in correct case, the root is not null.
>>
>> RZ> I will do further investigation tomorrow, but it will be helpful if
>> RZ> there is someone from Glassfish team(Admin GUI/Console) can help to
>> RZ> check the above code.
>>
>> Thanks for looking at this. It's very important. Using lessons I've
>> learned from Manfred, I suggest you try a "last known good" approach
>> instead of starting out by looking at the source code. I've recruited
>> Arjan Tijms to help determine the last known Mojarra 2.3.0-m0X milestone
>> for which the Admin GUI worked. This will give you bounds from which to
>> use "git bisect" to find the commit that introduced the regression. For
>> more on git bisect, look in the book "Version Control with Git, 2nd
>> Edition" by McCollough in our Safari subscription. Of course, you'll
>> have to derive the git commit number corresponding to the release of the
>> milestone that Arjan identifies.
>>
>> On the other hand, you can approach it whatever way works fastest for
>> you.
>>
>> Arjan, please report your results here (and Bcc: me directly in case it
>> ends up in the moderator queue).
>>
>> Ed
>>
>