Thanks!

Rishi Solanki
Sr. Manager, Enterprise Software Development
HotWax Systems Pvt. Ltd.
Direct: +91-9893287847
http://www.hotwaxsystems.com

On Thu, Mar 2, 2017 at 3:10 PM, Jacques Le Roux <
jacques.le.r...@les7arts.com> wrote:

>
>
> Le 02/03/2017 à 08:00, Rishi Solanki a écrit :
>
>> Thank you Wei, Jacques for your reply.
>>
>> What I was proposing to change method of WidgetWorker.getDelegator()
>> method. I see whenever any form render the fields and requires delegator
>> then it always tries to get delegator from WidgetWorker's mentioned
>> method.
>> Please refer MacroFormRenederer class as mentioned in the OFBIZ-9230 by
>> Jacques.
>>
>> If we fix that method, then I think we should be fine and while rendering
>> system will always have the delegator and this issue should not appear. In
>> that case we won't required extra delegaor checks in the
>> EntityUtilProperties class for this particular issue.
>>
> Actually no. EntityUtilProperties.getSystemPropertyValueI() I change in
> my patch is only used by EntityUtilProperties methods (getMessage, 2
> getPropertyValue, propertyValueEqualsIgnoreCase)
> But those are widely used in OFBiz, not only in the context of widget
>
>> In case we requied this check from other place then we need to make sure
>> delegator always
>> passed to EntityUtilProperties methods, instead of adding condition in the
>> EntityUtilProperties methods. Because many methods in that class uses the
>> delegator as parameter.
>>
> The EntityUtilProperties methods which needs a delegator are actually
> those above because they call getSystemPropertyValue() which needs the
> delegator, not for other reasons.
>
>> Finally we should catch the GenericEntityException instead of Exception.
>> In
>> a way #1 and #3 needs to be work on and for #2 we should
>>   let it be as is so that in future system will report if somewhere we are
>> losing the delegator then we could take care. That means what Jacques did
>> in his last fix should be fine, simply log delegator is missing on
>> console.
>>
>
> So you propose not to use the "default" delegator but simply log the
> error. I agree this is better.
> But we will face issues in the UI like the one reported by 程序羊 in log (try
> replacing Exception by GenericEntityException and then get to
> https://localhost:8443/partymgr/control/main)
> And I don't see a simple and quick fix for the missing delegator :/
>
>> This is what I'm proposing, but I'm okay if we want to fix delegator issue
>> in the EntityUtilProperties class, if so then I would say to fix it for
>> all
>> methods which uses delegator as parameter.
>>
>
> If you mean EntityUtilProperties  methods then my workaround is "OK".
> Actually there are 1 other places where we use
> delegator = DelegatorFactory.getDelegator("default");
> checkRhsType()
> (also one in tests with delegatorCreationUsingFactoryGetDelegator() that
> we can neglect)
>
> I attach in the Jira the patch I finally propose and we should continue to
> discuss there IMO
>
> Thanks
>
> Jacques
>
>
>
>
>> Thanks!
>>
>>
>>
>>
>>
>> Rishi Solanki
>> Sr. Manager, Enterprise Software Development
>> HotWax Systems Pvt. Ltd.
>> Direct: +91-9893287847
>> http://www.hotwaxsystems.com
>>
>> On Thu, Mar 2, 2017 at 8:02 AM, Wei Zhang <zhangwei1...@outlook.com>
>> wrote:
>>
>> I think we need to do 3 things.
>>>
>>> 1. Catch GenericEntityException in
>>> EntityUtilProperties.getSystemPropertyValue()
>>> 2. Create a new Delegator if it is null in
>>> EntityUtilProperties.getSystemPropertyValue()
>>> 3. Find out how to get a delegator instance in
>>> framework/widget/templates/HtmlFormMacroLibrary.ftl
>>>
>>>
>>>
>>>
>>> -----
>>> 程序羊
>>> --
>>> View this message in context: http://ofbiz.135035.n4.nabble.
>>> com/Should-not-catch-Exception-in-EntityUtilProperties-
>>> getSystemPropertyValue-tp4702833p4702909.html
>>> Sent from the OFBiz - Dev mailing list archive at Nabble.com.
>>>
>>>
>>
>

Reply via email to