/** * Title: A window class that displays the results of a search * Copyright: Idega Software Copyright (c) 2003 * Company: Idega Software * @author <a href="mailto:eiki@idega.is">Eirikur Hrafnsson</a> * @version 1.0 * */ package com.idega.user.block.search.presentation; import java.rmi.RemoteException; import java.util.Collection; import com.idega.business.IBOLookup; import com.idega.idegaweb.IWApplicationContext; import com.idega.presentation.IWContext; import com.idega.presentation.PresentationObject; import com.idega.presentation.text.Text; import com.idega.user.block.search.business.SearchEngine; import com.idega.user.presentation.BasicUserOverview; import com.idega.user.presentation.StyledBasicUserOverViewToolbar; public class SearchResultsWindow extends BasicUserOverview { private static final String IW_BUNDLE_IDENTIFIER = "com.idega.user"; public SearchResultsWindow() { } /* (non-Javadoc) * @see com.idega.user.presentation.BasicUserOverview#getEntries(com.idega.presentation.IWContext) */ protected Collection getEntries(IWContext iwc) { SearchResultsWindowPS sPs = (SearchResultsWindowPS)this.ps; try { SearchEngine engine = getSearchEngine(iwc); return engine.getResult( sPs.getLastUserSearchEvent() ); } catch (RemoteException e) { e.printStackTrace(); } return null; } protected String getEntityBrowserIdentifier(){ String identifier = "search-"; SearchResultsWindowPS sPs = (SearchResultsWindowPS)this.ps; if(sPs!=null){ identifier+= sPs.getSearchString(); } return identifier; } protected PresentationObject getEmptyListPresentationObject() { Text text = new Text(this.iwrb.getLocalizedString("searchresultswindow.search_had_no_match", "The search did not return any results")); return text; } public static SearchEngine getSearchEngine(IWApplicationContext iwc) { SearchEngine business = null; try { business = (SearchEngine) IBOLookup.getServiceInstance(iwc, SearchEngine.class); } catch (RemoteException rme) { rme.printStackTrace(); } return business; } public Class getPresentationStateClass() { return SearchResultsWindowPS.class; } /* (non-Javadoc) * @see com.idega.user.presentation.BasicUserOverview#getToolbar() */ protected StyledBasicUserOverViewToolbar getToolbar() { StyledBasicUserOverViewToolbar toolbar = super.getToolbar(); SearchResultsWindowPS sPs = (SearchResultsWindowPS)this.ps; if(sPs!=null && this.iwrb!=null){ String search = sPs.getSearchString(); if(search!=null ) { toolbar.setTitle(this.iwrb.getLocalizedString("searchresultswindow.search:","Search : ")+search+ Text.getNonBrakingSpace(2)); } else{ toolbar.setTitle(this.iwrb.getLocalizedString("searchresultswindow.advanced_search:","Advanced search")+Text.getNonBrakingSpace(2)); } } return toolbar; } }