package org.ebayopensource.turmeric.search.v1.services.itemsearchservice.impl; import java.util.List; import org.ebayopensource.turmeric.common.v1.types.CommonErrorData; import org.ebayopensource.turmeric.common.v1.types.ErrorMessage; import org.ebayopensource.turmeric.demo.consumer.ItemDataSources; import org.ebayopensource.turmeric.errorlibrary.search.ErrorConstants; import org.ebayopensource.turmeric.runtime.common.exceptions.ErrorDataFactory; import org.ebayopensource.turmeric.runtime.common.pipeline.MessageContextAccessor; import org.ebayopensource.turmeric.search.v1.services.FindByKeywordsRequest; import org.ebayopensource.turmeric.search.v1.services.FindByKeywordsResponse; import org.ebayopensource.turmeric.search.v1.services.GetVersionRequest; import org.ebayopensource.turmeric.search.v1.services.GetVersionResponse; import org.ebayopensource.turmeric.search.v1.services.itemsearchservice.ItemSearchServiceV1; import org.ebayopensource.turmeric.search.v1.types.ItemType; public class ItemSearchServiceV1Impl implements ItemSearchServiceV1 { public GetVersionResponse getVersion(GetVersionRequest param0) { GetVersionResponse response = new GetVersionResponse(); response.setVersion(MessageContextAccessor.getContext().getServiceVersion()); return response; } @Override public FindByKeywordsResponse findByKeywords(FindByKeywordsRequest findByKeywordsRequest) { List<String> keywords = findByKeywordsRequest.getKeyword(); FindByKeywordsResponse response = new FindByKeywordsResponse(); List<ItemType> eBayItems = ItemDataSources.getItemsFromEbay(keywords); List<ItemType> amazonItems = ItemDataSources.getItemsFromAmazon(keywords); System.out.println("##### Number of items from Amazon: " + amazonItems != null ? amazonItems.size() : 0); if (eBayItems.isEmpty() && (amazonItems.isEmpty())) { CommonErrorData errorData = ErrorDataFactory.createErrorData(ErrorConstants.NOITEMFOUND,ErrorConstants.ERRORDOMAIN); ErrorMessage errMsg = new ErrorMessage(); errMsg.getError().add(errorData); response.setErrorMessage(errMsg); return response; } List<ItemType> itemListing = response.getItem(); itemListing.addAll(eBayItems); itemListing.addAll(amazonItems); return response; } }