You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ofbiz.apache.org by Paul Foxworthy <pa...@cohsoft.com.au> on 2013/03/10 11:47:07 UTC
Re: Recommended entity retrieval method
Hi DarkStar,
Just in case you weren't aware, where you see <entity_name> you should
substitute the name of the entity you want, such as "Party".
If you do a view source on the page in the browser, you might find that the
td with a class of dark-grid was rendered before the error occurred. This
would give you the value of the key variable.
The basic approach of using groovy to retrieve some data and populate a
collection for use by freemarker is common. See for example
https://fisheye6.atlassian.com/browse/ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/actions/party/ViewProfile.groovy?hb=true
which is called from
https://fisheye6.atlassian.com/browse/ofbiz/trunk/applications/party/widget/partymgr/PartyScreens.xml?hb=true#to67
Yes, Groovy is replacing beanshell and should be used for anything new.
Cheers
Paul Foxworthy
DarkStar1 wrote
> Bought the book (Apache Ofbiz Development) and going through chapter 8.
> When attempting to retrieve the data via the beanshell script: "data =
> delegator.findAll(
> <entity_name>
> )"
> The ftl generates an error: " Expecting a string, date or number here,
> Expression record[key]!"" is instead a
> freemarker.ext.beans.SimpleMethodModel The problematic instruction:
> ---------- ==> ${record[key]!""} "
>
> The following is the macro from the book:
> <#macro displayData data>
> <#if data?is_sequence>
> <#assign keys = data?first?keys/>
> <#else>
> <#assign keys = data?keys/>
> </#if>
> <#-- Header -->
>
> <#list keys as key>
>
*
> ${key}
*
> </#list>
>
> <#-- Data -->
> <#if data?is_sequence>
> <#list data as record>
>
> <#list keys as key>
>
> ${record[key]!""}
> </#list>
>
> </#list>
> <#else>
>
> <#list keys as key>
>
> ${data[key]!""}
> </#list>
> 
> Processed script: "${parameters.scriptName}"
> <#if data?has_content && (data?is_sequence || data?is_hash)>
>
> </#if>
> </#if>
> </#macro>
>
> On the off chance that there might be a problem elsewhere, I removed the
> section for displaying data and I noticed that the header were composed of
> the sql statements the delegator
> uses to retrieve the entities. I am very new to ofbiz and aware there's a
> lot of ground to cover, however this book is several years old and I'd
> like to know if there's an easier/alternate way to
> retrieve the data. I should mention that I use groovy wherever possible in
> my tests as the book suggests that this is the new scripting method to
> replace bsh (learning groovy at the same
> time also).
> I am working with opentaps 1.5 which I believe ships with ofbiz 10.x
> Thanks
-----
--
Coherent Software Australia Pty Ltd
http://www.coherentsoftware.com.au/
Bonsai ERP, the all-inclusive ERP system
http://www.bonsaierp.com.au/
--
View this message in context: http://ofbiz.135035.n4.nabble.com/Recommended-entity-retrieval-method-tp4639244p4639774.html
Sent from the OFBiz - Dev mailing list archive at Nabble.com.
Re: Recommended entity retrieval method
Posted by Lanre Abiwon <el...@hotmail.co.uk>.
Hi
That didn't do it either,a s that was the first thing I tried.
Also I got the solution post wrong. This: http://stackoverflow.com/questions/14687035/how-can-i-retrieve-object-keys-from-a-sequence-in-freemarker
was what gave me the clue to solve it. I simply replaced the brackets for the normal ones as it appears that the indexes weren't strings.
Thanks for the responses.
On 12 mars 2013, at 01:57, Paul Foxworthy wrote:
> Hi Darkstar,
>
> I'm glad you were able to fix the problem. Just to clarify, did changing
> record[key]!"" to plain record[key] fix it?
>
> Cheers
>
> Paul Foxworthy
>
>
> DarkStar1 wrote
>> Merci pour votre résponse.
>> Yes I know that I am supposed to put the entity name there I was just
>> being generic.
>> I solved the problem and posted the issue on stack:
>> http://stackoverflow.com/questions/14650949/whats-the-meaning-of-within-a-variable-expression-in-freemarker
>>
>>
>> On 10 mars 2013, at 11:47, Paul Foxworthy wrote:
>>
>>> Hi DarkStar,
>>>
>>> Just in case you weren't aware, where you see
>> <entity_name>
>> you should
>>> substitute the name of the entity you want, such as "Party".
>>>
>>> If you do a view source on the page in the browser, you might find that
>>> the
>>> td with a class of dark-grid was rendered before the error occurred. This
>>> would give you the value of the key variable.
>>>
>>> The basic approach of using groovy to retrieve some data and populate a
>>> collection for use by freemarker is common. See for example
>>>
>>> https://fisheye6.atlassian.com/browse/ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/actions/party/ViewProfile.groovy?hb=true
>>>
>>> which is called from
>>>
>>> https://fisheye6.atlassian.com/browse/ofbiz/trunk/applications/party/widget/partymgr/PartyScreens.xml?hb=true#to67
>>>
>>> Yes, Groovy is replacing beanshell and should be used for anything new.
>>>
>>> Cheers
>>>
>>> Paul Foxworthy
>>>
>>>
>>> DarkStar1 wrote
>>>> Bought the book (Apache Ofbiz Development) and going through chapter 8.
>>>> When attempting to retrieve the data via the beanshell script: "data =
>>>> delegator.findAll(
>>>>
>> <entity_name>
>>>> )"
>>>> The ftl generates an error: " Expecting a string, date or number here,
>>>> Expression record[key]!"" is instead a
>>>> freemarker.ext.beans.SimpleMethodModel The problematic instruction:
>>>> ---------- ==> ${record[key]!""} "
>>>>
>>>> The following is the macro from the book:
>>>> <#macro displayData data>
>>>> <#if data?is_sequence>
>>>> <#assign keys = data?first?keys/>
>>>> <#else>
>>>> <#assign keys = data?keys/>
>>>> </#if>
>>>> <#-- Header -->
>>>>
>>>
>>>> <#list keys as key>
>>>>
>>> *
>>>> ${key}
>>> *
>>>> </#list>
>>>>
>>>
>>>> <#-- Data -->
>>>> <#if data?is_sequence>
>>>> <#list data as record>
>>>>
>>>
>>>> <#list keys as key>
>>>>
>>>
>>>> ${record[key]!""}
>>>
>>>> </#list>
>>>>
>>>
>>>> </#list>
>>>> <#else>
>>>>
>>>
>>>> <#list keys as key>
>>>>
>>>
>>>> ${data[key]!""}
>>>
>>>> </#list>
>>>> 
>>>
>>>> Processed script: "${parameters.scriptName}"
>>>
>>>> <#if data?has_content && (data?is_sequence || data?is_hash)>
>>>>
>>>
>>>> </#if>
>>>> </#if>
>>>> </#macro>
>>>>
>>>> On the off chance that there might be a problem elsewhere, I removed the
>>>> section for displaying data and I noticed that the header were composed
>>>> of
>>>> the sql statements the delegator
>>>> uses to retrieve the entities. I am very new to ofbiz and aware there's
>>>> a
>>>> lot of ground to cover, however this book is several years old and I'd
>>>> like to know if there's an easier/alternate way to
>>>> retrieve the data. I should mention that I use groovy wherever possible
>>>> in
>>>> my tests as the book suggests that this is the new scripting method to
>>>> replace bsh (learning groovy at the same
>>>> time also).
>>>> I am working with opentaps 1.5 which I believe ships with ofbiz 10.x
>>>> Thanks
>>>
>>>
>>>
>>>
>>>
>>> -----
>>> --
>>> Coherent Software Australia Pty Ltd
>>> http://www.coherentsoftware.com.au/
>>>
>>> Bonsai ERP, the all-inclusive ERP system
>>> http://www.bonsaierp.com.au/
>>>
>>> --
>>> View this message in context:
>>> http://ofbiz.135035.n4.nabble.com/Recommended-entity-retrieval-method-tp4639244p4639774.html
>>> Sent from the OFBiz - Dev mailing list archive at Nabble.com.
>>>
>
>
>
>
>
> -----
> --
> Coherent Software Australia Pty Ltd
> http://www.coherentsoftware.com.au/
>
> Bonsai ERP, the all-inclusive ERP system
> http://www.bonsaierp.com.au/
>
> --
> View this message in context: http://ofbiz.135035.n4.nabble.com/Recommended-entity-retrieval-method-tp4639244p4639807.html
> Sent from the OFBiz - Dev mailing list archive at Nabble.com.
>
Re: Recommended entity retrieval method
Posted by Paul Foxworthy <pa...@cohsoft.com.au>.
Hi Darkstar,
I'm glad you were able to fix the problem. Just to clarify, did changing
record[key]!"" to plain record[key] fix it?
Cheers
Paul Foxworthy
DarkStar1 wrote
> Merci pour votre résponse.
> Yes I know that I am supposed to put the entity name there I was just
> being generic.
> I solved the problem and posted the issue on stack:
> http://stackoverflow.com/questions/14650949/whats-the-meaning-of-within-a-variable-expression-in-freemarker
>
>
> On 10 mars 2013, at 11:47, Paul Foxworthy wrote:
>
>> Hi DarkStar,
>>
>> Just in case you weren't aware, where you see
> <entity_name>
> you should
>> substitute the name of the entity you want, such as "Party".
>>
>> If you do a view source on the page in the browser, you might find that
>> the
>> td with a class of dark-grid was rendered before the error occurred. This
>> would give you the value of the key variable.
>>
>> The basic approach of using groovy to retrieve some data and populate a
>> collection for use by freemarker is common. See for example
>>
>> https://fisheye6.atlassian.com/browse/ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/actions/party/ViewProfile.groovy?hb=true
>>
>> which is called from
>>
>> https://fisheye6.atlassian.com/browse/ofbiz/trunk/applications/party/widget/partymgr/PartyScreens.xml?hb=true#to67
>>
>> Yes, Groovy is replacing beanshell and should be used for anything new.
>>
>> Cheers
>>
>> Paul Foxworthy
>>
>>
>> DarkStar1 wrote
>>> Bought the book (Apache Ofbiz Development) and going through chapter 8.
>>> When attempting to retrieve the data via the beanshell script: "data =
>>> delegator.findAll(
>>>
> <entity_name>
>>> )"
>>> The ftl generates an error: " Expecting a string, date or number here,
>>> Expression record[key]!"" is instead a
>>> freemarker.ext.beans.SimpleMethodModel The problematic instruction:
>>> ---------- ==> ${record[key]!""} "
>>>
>>> The following is the macro from the book:
>>> <#macro displayData data>
>>> <#if data?is_sequence>
>>> <#assign keys = data?first?keys/>
>>> <#else>
>>> <#assign keys = data?keys/>
>>> </#if>
>>> <#-- Header -->
>>>
>>
>>> <#list keys as key>
>>>
>> *
>>> ${key}
>> *
>>> </#list>
>>>
>>
>>> <#-- Data -->
>>> <#if data?is_sequence>
>>> <#list data as record>
>>>
>>
>>> <#list keys as key>
>>>
>>
>>> ${record[key]!""}
>>
>>> </#list>
>>>
>>
>>> </#list>
>>> <#else>
>>>
>>
>>> <#list keys as key>
>>>
>>
>>> ${data[key]!""}
>>
>>> </#list>
>>> 
>>
>>> Processed script: "${parameters.scriptName}"
>>
>>> <#if data?has_content && (data?is_sequence || data?is_hash)>
>>>
>>
>>> </#if>
>>> </#if>
>>> </#macro>
>>>
>>> On the off chance that there might be a problem elsewhere, I removed the
>>> section for displaying data and I noticed that the header were composed
>>> of
>>> the sql statements the delegator
>>> uses to retrieve the entities. I am very new to ofbiz and aware there's
>>> a
>>> lot of ground to cover, however this book is several years old and I'd
>>> like to know if there's an easier/alternate way to
>>> retrieve the data. I should mention that I use groovy wherever possible
>>> in
>>> my tests as the book suggests that this is the new scripting method to
>>> replace bsh (learning groovy at the same
>>> time also).
>>> I am working with opentaps 1.5 which I believe ships with ofbiz 10.x
>>> Thanks
>>
>>
>>
>>
>>
>> -----
>> --
>> Coherent Software Australia Pty Ltd
>> http://www.coherentsoftware.com.au/
>>
>> Bonsai ERP, the all-inclusive ERP system
>> http://www.bonsaierp.com.au/
>>
>> --
>> View this message in context:
>> http://ofbiz.135035.n4.nabble.com/Recommended-entity-retrieval-method-tp4639244p4639774.html
>> Sent from the OFBiz - Dev mailing list archive at Nabble.com.
>>
-----
--
Coherent Software Australia Pty Ltd
http://www.coherentsoftware.com.au/
Bonsai ERP, the all-inclusive ERP system
http://www.bonsaierp.com.au/
--
View this message in context: http://ofbiz.135035.n4.nabble.com/Recommended-entity-retrieval-method-tp4639244p4639807.html
Sent from the OFBiz - Dev mailing list archive at Nabble.com.
Re: Recommended entity retrieval method
Posted by Lanre Abiwon <el...@hotmail.co.uk>.
Merci pour votre résponse.
Yes I know that I am supposed to put the entity name there I was just being generic.
I solved the problem and posted the issue on stack: http://stackoverflow.com/questions/14650949/whats-the-meaning-of-within-a-variable-expression-in-freemarker
On 10 mars 2013, at 11:47, Paul Foxworthy wrote:
> Hi DarkStar,
>
> Just in case you weren't aware, where you see <entity_name> you should
> substitute the name of the entity you want, such as "Party".
>
> If you do a view source on the page in the browser, you might find that the
> td with a class of dark-grid was rendered before the error occurred. This
> would give you the value of the key variable.
>
> The basic approach of using groovy to retrieve some data and populate a
> collection for use by freemarker is common. See for example
>
> https://fisheye6.atlassian.com/browse/ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/actions/party/ViewProfile.groovy?hb=true
>
> which is called from
>
> https://fisheye6.atlassian.com/browse/ofbiz/trunk/applications/party/widget/partymgr/PartyScreens.xml?hb=true#to67
>
> Yes, Groovy is replacing beanshell and should be used for anything new.
>
> Cheers
>
> Paul Foxworthy
>
>
> DarkStar1 wrote
>> Bought the book (Apache Ofbiz Development) and going through chapter 8.
>> When attempting to retrieve the data via the beanshell script: "data =
>> delegator.findAll(
>> <entity_name>
>> )"
>> The ftl generates an error: " Expecting a string, date or number here,
>> Expression record[key]!"" is instead a
>> freemarker.ext.beans.SimpleMethodModel The problematic instruction:
>> ---------- ==> ${record[key]!""} "
>>
>> The following is the macro from the book:
>> <#macro displayData data>
>> <#if data?is_sequence>
>> <#assign keys = data?first?keys/>
>> <#else>
>> <#assign keys = data?keys/>
>> </#if>
>> <#-- Header -->
>>
>
>> <#list keys as key>
>>
> *
>> ${key}
> *
>> </#list>
>>
>
>> <#-- Data -->
>> <#if data?is_sequence>
>> <#list data as record>
>>
>
>> <#list keys as key>
>>
>
>> ${record[key]!""}
>
>> </#list>
>>
>
>> </#list>
>> <#else>
>>
>
>> <#list keys as key>
>>
>
>> ${data[key]!""}
>
>> </#list>
>> 
>
>> Processed script: "${parameters.scriptName}"
>
>> <#if data?has_content && (data?is_sequence || data?is_hash)>
>>
>
>> </#if>
>> </#if>
>> </#macro>
>>
>> On the off chance that there might be a problem elsewhere, I removed the
>> section for displaying data and I noticed that the header were composed of
>> the sql statements the delegator
>> uses to retrieve the entities. I am very new to ofbiz and aware there's a
>> lot of ground to cover, however this book is several years old and I'd
>> like to know if there's an easier/alternate way to
>> retrieve the data. I should mention that I use groovy wherever possible in
>> my tests as the book suggests that this is the new scripting method to
>> replace bsh (learning groovy at the same
>> time also).
>> I am working with opentaps 1.5 which I believe ships with ofbiz 10.x
>> Thanks
>
>
>
>
>
> -----
> --
> Coherent Software Australia Pty Ltd
> http://www.coherentsoftware.com.au/
>
> Bonsai ERP, the all-inclusive ERP system
> http://www.bonsaierp.com.au/
>
> --
> View this message in context: http://ofbiz.135035.n4.nabble.com/Recommended-entity-retrieval-method-tp4639244p4639774.html
> Sent from the OFBiz - Dev mailing list archive at Nabble.com.
>