org.sakaiproject.search.entitybroker
Class SearchProviderImpl

java.lang.Object
  extended by org.sakaiproject.search.entitybroker.SearchProviderImpl
All Implemented Interfaces:
org.sakaiproject.entitybroker.entityprovider.extension.SearchProvider, EntityContentProducer

public class SearchProviderImpl
extends Object
implements org.sakaiproject.entitybroker.entityprovider.extension.SearchProvider, EntityContentProducer

This provides the hook between the entitybroker system and this search system and allows EB providers to hook into the search system without crazy amounts of effort This basically creates the SearchProvider which EB will look for and hook up and then also creates the content producer which search looks for I hope to be able to bypass the weird search system which reacts to an event and then asks me (the ECP) if I want to index something which leads the ECP to respond by saying it wants search to add or delete or whatever something and then search puts an SBI into the storage and later acts on this by asking my ECP again for the different bits of data (in multiple calls to the ECP) which finally ends up putting that data into the index. What I really want is a method that lets me call addThisToTheindex(..) but I doubt I will be able to find something like this....

Author:
Aaron Zeckoski (azeckoski @ gmail.com)

Constructor Summary
SearchProviderImpl()
           
 
Method Summary
 boolean add(String reference, org.sakaiproject.entitybroker.entityprovider.extension.SearchContent content)
           
 boolean canRead(String reference)
           
 Integer getAction(org.sakaiproject.event.api.Event event)
           
 String getContainer(String ref)
           
 String getContent(String reference)
           
 Reader getContentReader(String reference)
           
 Map<String,?> getCustomProperties(String ref)
           
 String getCustomRDF(String ref)
           
 String getId(String ref)
           
 Iterator<String> getSiteContentIterator(String context)
           
 String getSiteId(String reference)
           
 String getSubType(String ref)
           
 String getTitle(String reference)
           
 String getTool()
           
 String getType(String ref)
           
 String getUrl(String reference)
           
 void init()
           
 boolean isContentFromReader(String reference)
           
 boolean isForIndex(String reference)
           
 boolean matches(org.sakaiproject.event.api.Event event)
           
 boolean matches(String reference)
           
 boolean remove(String reference)
           
 void resetSearchIndexes(String context)
           
 org.sakaiproject.entitybroker.entityprovider.extension.SearchResults search(org.sakaiproject.entitybroker.entityprovider.extension.QuerySearch query)
           
 void setSearchIndexBuilder(SearchIndexBuilder searchIndexBuilder)
           
 void setSearchService(SearchService searchService)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SearchProviderImpl

public SearchProviderImpl()
Method Detail

init

public void init()

add

public boolean add(String reference,
                   org.sakaiproject.entitybroker.entityprovider.extension.SearchContent content)
Specified by:
add in interface org.sakaiproject.entitybroker.entityprovider.extension.SearchProvider

remove

public boolean remove(String reference)
Specified by:
remove in interface org.sakaiproject.entitybroker.entityprovider.extension.SearchProvider

resetSearchIndexes

public void resetSearchIndexes(String context)
Specified by:
resetSearchIndexes in interface org.sakaiproject.entitybroker.entityprovider.extension.SearchProvider

search

public org.sakaiproject.entitybroker.entityprovider.extension.SearchResults search(org.sakaiproject.entitybroker.entityprovider.extension.QuerySearch query)
Specified by:
search in interface org.sakaiproject.entitybroker.entityprovider.extension.SearchProvider

canRead

public boolean canRead(String reference)
Specified by:
canRead in interface EntityContentProducer

getAction

public Integer getAction(org.sakaiproject.event.api.Event event)
Specified by:
getAction in interface EntityContentProducer

getContainer

public String getContainer(String ref)
Specified by:
getContainer in interface EntityContentProducer

getContent

public String getContent(String reference)
Specified by:
getContent in interface EntityContentProducer

getContentReader

public Reader getContentReader(String reference)
Specified by:
getContentReader in interface EntityContentProducer

getCustomProperties

public Map<String,?> getCustomProperties(String ref)
Specified by:
getCustomProperties in interface EntityContentProducer

getCustomRDF

public String getCustomRDF(String ref)
Specified by:
getCustomRDF in interface EntityContentProducer

getId

public String getId(String ref)
Specified by:
getId in interface EntityContentProducer

getSiteContentIterator

public Iterator<String> getSiteContentIterator(String context)
Specified by:
getSiteContentIterator in interface EntityContentProducer

getSiteId

public String getSiteId(String reference)
Specified by:
getSiteId in interface EntityContentProducer

getSubType

public String getSubType(String ref)
Specified by:
getSubType in interface EntityContentProducer

getTitle

public String getTitle(String reference)
Specified by:
getTitle in interface EntityContentProducer

getTool

public String getTool()
Specified by:
getTool in interface EntityContentProducer

getType

public String getType(String ref)
Specified by:
getType in interface EntityContentProducer

getUrl

public String getUrl(String reference)
Specified by:
getUrl in interface EntityContentProducer

isContentFromReader

public boolean isContentFromReader(String reference)
Specified by:
isContentFromReader in interface EntityContentProducer

isForIndex

public boolean isForIndex(String reference)
Specified by:
isForIndex in interface EntityContentProducer

matches

public boolean matches(String reference)
Specified by:
matches in interface EntityContentProducer

matches

public boolean matches(org.sakaiproject.event.api.Event event)
Specified by:
matches in interface EntityContentProducer

setSearchService

public void setSearchService(SearchService searchService)

setSearchIndexBuilder

public void setSearchIndexBuilder(SearchIndexBuilder searchIndexBuilder)


Copyright © 2003-2012 Sakai Project. All Rights Reserved.