Login  Register

Re: Users - bsh List Interface from Arralist ?

Posted by Sterling Okura on Mar 01, 2006; 9:59pm
URL: http://ofbiz.116.s1.nabble.com/Users-bsh-List-Interface-from-Arralist-tp137676p137706.html

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
Tibor

On 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]
> http://lists.ofbiz.org/mailman/listinfo/users
--
Kind Regards
Andrew Sykes <[hidden email]>
Sykes Development Ltd
http://www.sykesdevelopment.com


_______________________________________________
Users mailing list
[hidden email]
http://lists.ofbiz.org/mailman/listinfo/users

 


 
_______________________________________________
Users mailing list
[hidden email]
http://lists.ofbiz.org/mailman/listinfo/users