Thanks every one for these efficient directions
I got it to work now in bsh and got to understand quite a bit of the interesting java behind it all.
It works on one level meaning if the product is directly in the category "mycat" in the isProductInCategory(deleg,"product","mycat").
One of my project specification is that my master categories (those of my my search cut up) will have sub categories that contain the products, So I'll need to augment isProductInCategory() to go back up in to the category tree to check if the product is in the "mycat" Master Category.
Is there such a method for retreiving the whole category tree of a product or the top level parent category ?
Thanks for all your help
It's quite comforting to know one is not alone with so many functionalities to discover
Best regardsTiborOn 3/1/06, Sterling Okura <[hidden email]> wrote:Tibor,
I forgot to mention one more suggestion. You might want to comment out the variant product search code in isProductInCategory() method if you don't use variants, or if all of your virtual products belong to the same categories that their variants do.
What that code does is for every product that doesn't belong to that category, it does a non-cached findByPrimaryKey to grab the Product entity and check for variants, and if it finds variants if checks each one to see if they belong in that category. I noticed a huge performance increase by commenting out that code.
Warm regards,
sterling
From: Sterling Okura [mailto: [hidden email]]
Sent: Wednesday, March 01, 2006 2:44 PM
To: 'OFBiz Users / Usage Discussion'
Subject: Re: [OFBiz] Users - bsh List Interface from Arralist ?
Tibor,
Rather than trying to convert a list of strings to a list of GenericValues, it might be easier to use the CategoryWorker's isProductInCategory directly (since that's what filterProductsInCategory method ends up calling anyway).
Just iterate through list of ID's and display any that return true.
Adrian has a valid point that bsh is slower, but in my experience it isn't too bad once cached (but you have to clear cache for code changes to work). Depending on how many products you have, it might work ok to just iterated in bsh.
public static boolean isProductInCategory(org.ofbiz.entity.GenericDelegator delegator,
java.lang.String productId,
java.lang.String productCategoryId)
throws org.ofbiz.entity.GenericEntityException
-sterling
From: tibor katelbach [mailto:[hidden email]]
Sent: Wednesday, March 01, 2006 10:22 AM
To: OFBiz Users / Usage Discussion
Subject: Re: [OFBiz] Users - bsh List Interface from Arralist ?
Yes you're right
I followed it up and it's simply an µArrayList of searchResult.getString("productId")
where searchResult is the GenericValue.
should I overload this method to return the whole GenericValue or is this too heavy of a technique ? Should I just make an ArrayList of pairs productid, parentCategory ?
thanks for your help Andrew
TiborOn 3/1/06, Andrew Sykes <[hidden email]> wrote:
Tibor,
It looks like my guess was right, prodL isn't a List of GenericValues
On Wed, 2006-03-01 at 17:59 +0100, tibor katelbach wrote:
> Maybe this can help :
> This what I do in catalog/keywordSearch.bsh
>
> Map result = ProductSearchSession.getProductSearchResult(session,
> delegator, prodCatalogId);
>
> List prodL = new ArrayList(result.get("productIds"));
> nList = CategoryWorker.filterProductsInCategory(delegator,prodL ,
> "COMBI");
>
> On 3/1/06, tibor katelbach <[hidden email]> wrote:
> Nop
>
> I still get this , but don't really know where the problems
> is ?
>
> Error: The application script threw an exception: Sourced
> file: C:\X_Dev\prodemo\components\ecommerce\webapp\ecommerce
> \WEB-INF\actions\catalog\keywordsearch.bsh : Method Invocation
> CategoryWorker.filterProductsInCategory : at Line: 47 : in
> file: C:\X_Dev\prodemo\components\ecommerce\webapp\ecommerce
> \WEB-INF\actions\catalog\keywordsearch.bsh :
> CategoryWorker .filterProductsInCategory ( delegator , prodL ,
> "COMBI" ) Target exception: java.lang.ClassCastException BSF
> info: C:\X_Dev\prodemo\components\ecommerce\webapp\ecommerce
> \WEB-INF\actions\catalog\keywordsearch.bsh at line: 0 column:
> 0
>
>
> _______________________________________________
> Users mailing list
> [hidden email]
> <a href="http://lists.ofbiz.org/mailman/listinfo/users" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://lists.ofbiz.org/mailman/listinfo/users
--
Kind Regards
Andrew Sykes <[hidden email]>
Sykes Development Ltd
<a href="http://www.sykesdevelopment.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://www.sykesdevelopment.com
_______________________________________________
Users mailing list
[hidden email]
<a href="http://lists.ofbiz.org/mailman/listinfo/users" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://lists.ofbiz.org/mailman/listinfo/users
_______________________________________________
Users mailing list
[hidden email]
<a href="http://lists.ofbiz.org/mailman/listinfo/users" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"> http://lists.ofbiz.org/mailman/listinfo/users
Free forum by Nabble | Edit this page |