Closed forgues closed 10 years ago
I have code for this issue under the "search" branch, which is integrated with a temporary "ProductVO" class for now. When our actual data objects are merged into the master branch, we should integrate the actual data objects to replace the temporary "ProductVO".
Gowri -- we have made a backend controller which is responsible for calling your search function. It will make the call inside the package ...creco.server
in the class SearchService
inside the method getProductSearchResult
. Please define getProductSearchResult
so that it calls your code and returns a ProductSerchResult
instance. You will need to pull the latest from the Integration branch. But please don't work on the integration branch. Merge integration into your branch, and do the work there.
Thanks!
Hi Gowri,
It looks like this isn't integrated to the Integration branch yet. Please do the following:
Note: Shuo is hooking up the front end, and needs this to be finished so that he can see the api exposed by the backend and the return types his code should expect.
If you need help, I think Gabriel would be in a position to offer some guidance.
When everything works, then checkout Integration, and merge in your (already merged) branch. This should be a clean fast-forward merge. If there are any conflicts it means there was a mistake made, so don't commit the merge, post here instead.
I'll be taking care of the merging into integration branch. I suggested two small changes to Gowri but I was waiting for her response before changing them, in case this was already discussed and agreed upon with others. Two small suggestions for the product search classes:
If you think this makes sense, I can make the changes and merge it into integration once I'm done.
That makes good sense to me! Thanks Gabriel!
Please let me know if you change this because this will break my code. The fix will be simple enough but if you do more than change the name of the class a simple refractor call will not update how I handle the object.
Sorry I didn't see your message before committing the changes. The class renames broke your code but I fixed all compilation issues and fixed the unit test as well. All changes should be in integration branch right now. Let me know if the changes cause any problems.
Closing because integration is complete. Just reopen it if you have problems with what I merged into Integration branch. Improvements to the product search should be filed as a new issue anyways.
Product Search isn't retreiving the full list of products. I am getting exactly one product for point shoot digital cameras. I discussed this with gowri today. Please recheck it once.
Could you describe exactly what you're doing? I just tested the integration branch as-is, but with my local data files. I typed "point shoot digital camera" and saw a few equivalence classes, of which "point & shoot digital cameras" contained 255 product results.
searchProducts(eqClass, query); : This function , when I click humidifiers , is returning me an empty set. In the search window I do get 46 products(using professor's offline data set) , but when passed through the function , its returning an empty. The function is called in getRankedFeatureProducts(eqclass, query) in ca.mcgill.cs.creco.server. .
I still can't reproduce what you're seeing. When I type "humidifiers", I see the category result "Humidifier". I click on that and I see a list of 46 products, from "EVAP2" all the way to "MA1201". I placed a debug line in searchProducts(eqClass, query) and I see that every call to that function found 46 products. Are you sure you're up to date with the latest changes from the integration branch?
Note that if you're really up to date with integration, you should see the line "productSearch.queryProductsReturnAll(query, eqClass.getId())" in the method searchProducts (in SearchService.java).
Yes I pulled in this afternoon, and I pulled in again now, seems like now its giving e a error before it reaches the query stage itself. This line: ProductSearchResult prodSearch = this.getProductSearchResult(eqClass, query); The prodSearch is returning me null values.
I placed a debug code at the end of searchProducts(eqClass, query) before the return. And it printed a null as well.
What file and line number is this?
Ok I am sorry I realized the mistake. It was a mistake on my side, closing this issue. Sorry for the disturbance.