/**********************************************************************************
* $URL: https://source.sakaiproject.org/svn/search/trunk/search-impl/impl/src/test/org/sakaiproject/search/mock/MockSearchIndexBuilder.java $
* $Id: MockSearchIndexBuilder.java 105078 2012-02-24 23:00:38Z ottenhoff@longsight.com $
***********************************************************************************
*
* Copyright (c) 2003, 2004, 2005, 2006, 2007, 2008 The Sakai Foundation
*
* Licensed under the Educational Community License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.opensource.org/licenses/ECL-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
**********************************************************************************/
package org.sakaiproject.search.mock;
import java.io.Reader;
import java.io.StringReader;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.sakaiproject.event.api.Event;
import org.sakaiproject.event.api.Notification;
import org.sakaiproject.search.api.EntityContentProducer;
import org.sakaiproject.search.api.SearchIndexBuilder;
import org.sakaiproject.search.model.SearchWriterLock;
/**
* @author ieb
*
*/
public class MockSearchIndexBuilder implements SearchIndexBuilder
{
/* (non-Javadoc)
* @see org.sakaiproject.search.api.SearchIndexBuilder#addResource(org.sakaiproject.event.api.Notification, org.sakaiproject.event.api.Event)
*/
public void addResource(Notification notification, Event event)
{
}
/* (non-Javadoc)
* @see org.sakaiproject.search.api.SearchIndexBuilder#destroy()
*/
public void destroy()
{
}
/* (non-Javadoc)
* @see org.sakaiproject.search.api.SearchIndexBuilder#getAllSearchItems()
*/
public List getAllSearchItems()
{
return null;
}
/* (non-Javadoc)
* @see org.sakaiproject.search.api.SearchIndexBuilder#getContentProducers()
*/
public List getContentProducers()
{
return null;
}
/* (non-Javadoc)
* @see org.sakaiproject.search.api.SearchIndexBuilder#getCurrentDocument()
*/
public String getCurrentDocument()
{
return null;
}
/* (non-Javadoc)
* @see org.sakaiproject.search.api.SearchIndexBuilder#getCurrentElapsed()
*/
public String getCurrentElapsed()
{
return null;
}
/* (non-Javadoc)
* @see org.sakaiproject.search.api.SearchIndexBuilder#getCurrentLock()
*/
public SearchWriterLock getCurrentLock()
{
return null;
}
/* (non-Javadoc)
* @see org.sakaiproject.search.api.SearchIndexBuilder#getGlobalMasterSearchItems()
*/
public List getGlobalMasterSearchItems()
{
return null;
}
/* (non-Javadoc)
* @see org.sakaiproject.search.api.SearchIndexBuilder#getLastDocument()
*/
public String getLastDocument()
{
return null;
}
/* (non-Javadoc)
* @see org.sakaiproject.search.api.SearchIndexBuilder#getLastElapsed()
*/
public String getLastElapsed()
{
return null;
}
/* (non-Javadoc)
* @see org.sakaiproject.search.api.SearchIndexBuilder#getNodeStatus()
*/
public List getNodeStatus()
{
return null;
}
/* (non-Javadoc)
* @see org.sakaiproject.search.api.SearchIndexBuilder#getPendingDocuments()
*/
public int getPendingDocuments()
{
return 0;
}
/* (non-Javadoc)
* @see org.sakaiproject.search.api.SearchIndexBuilder#getSiteMasterSearchItems()
*/
public List getSiteMasterSearchItems()
{
return null;
}
/* (non-Javadoc)
* @see org.sakaiproject.search.api.SearchIndexBuilder#isBuildQueueEmpty()
*/
public boolean isBuildQueueEmpty()
{
return false;
}
/* (non-Javadoc)
* @see org.sakaiproject.search.api.SearchIndexBuilder#isLocalLock()
*/
public boolean isLocalLock()
{
return false;
}
/* (non-Javadoc)
* @see org.sakaiproject.search.api.SearchIndexBuilder#isOnlyIndexSearchToolSites()
*/
public boolean isOnlyIndexSearchToolSites()
{
return false;
}
/* (non-Javadoc)
* @see org.sakaiproject.search.api.SearchIndexBuilder#newEntityContentProducer(org.sakaiproject.event.api.Event)
*/
public EntityContentProducer newEntityContentProducer(Event event)
{
return null;
}
/* (non-Javadoc)
* @see org.sakaiproject.search.api.SearchIndexBuilder#newEntityContentProducer(java.lang.String)
*/
public EntityContentProducer newEntityContentProducer(String ref)
{
return new EntityContentProducer() {
public boolean canRead(String reference)
{
return true;
}
public Integer getAction(Event event)
{
return null;
}
public List getAllContent()
{
return null;
}
public String getContainer(String ref)
{
return ref.substring(0,ref.lastIndexOf("/"));
}
public String getContent(String reference)
{
StringBuilder sb = new StringBuilder();
sb.append(" Node is ").append(reference).append(" ");
for ( int i = 0; i < 100; i++ ) {
sb.append(reference.replace('/', ' ')).append(" ").append(System.currentTimeMillis()).append(" ");
}
return sb.toString();
}
public Reader getContentReader(String reference)
{
return new StringReader(getContainer(reference));
}
public Map getCustomProperties(String ref)
{
return null;
}
public String getCustomRDF(String ref)
{
return null;
}
public String getId(String ref)
{
return ref;
}
public List getSiteContent(String context)
{
return null;
}
public Iterator getSiteContentIterator(String context)
{
return null;
}
public String getSiteId(String reference)
{
return getContainer(reference);
}
public String getSubType(String ref)
{
return "TEST";
}
public String getTitle(String reference)
{
return reference;
}
public String getTool()
{
return "TESTTOOL";
}
public String getType(String ref)
{
return "TESTTYPE";
}
public String getUrl(String reference)
{
return "ref";
}
public boolean isContentFromReader(String reference)
{
return false;
}
public boolean isForIndex(String reference)
{
return true;
}
public boolean matches(String reference)
{
return true;
}
public boolean matches(Event event)
{
return true;
}
};
}
/* (non-Javadoc)
* @see org.sakaiproject.search.api.SearchIndexBuilder#rebuildIndex()
*/
public void rebuildIndex()
{
}
/* (non-Javadoc)
* @see org.sakaiproject.search.api.SearchIndexBuilder#rebuildIndex(java.lang.String)
*/
public void rebuildIndex(String currentSiteId)
{
}
/* (non-Javadoc)
* @see org.sakaiproject.search.api.SearchIndexBuilder#refreshIndex()
*/
public void refreshIndex()
{
}
/* (non-Javadoc)
* @see org.sakaiproject.search.api.SearchIndexBuilder#refreshIndex(java.lang.String)
*/
public void refreshIndex(String currentSiteId)
{
}
/* (non-Javadoc)
* @see org.sakaiproject.search.api.SearchIndexBuilder#registerEntityContentProducer(org.sakaiproject.search.api.EntityContentProducer)
*/
public void registerEntityContentProducer(EntityContentProducer ecp)
{
}
/* (non-Javadoc)
* @see org.sakaiproject.search.api.SearchIndexBuilder#removeWorkerLock()
*/
public boolean removeWorkerLock()
{
return false;
}
/* (non-Javadoc)
* @see org.sakaiproject.search.api.Diagnosable#disableDiagnostics()
*/
public void disableDiagnostics()
{
}
/* (non-Javadoc)
* @see org.sakaiproject.search.api.Diagnosable#enableDiagnostics()
*/
public void enableDiagnostics()
{
}
/* (non-Javadoc)
* @see org.sakaiproject.search.api.Diagnosable#hasDiagnostics()
*/
public boolean hasDiagnostics()
{
return false;
}
/* (non-Javadoc)
* @see org.sakaiproject.search.api.SearchIndexBuilder#isExcludeUserSites()
*/
public boolean isExcludeUserSites()
{
// TODO Auto-generated method stub
return false;
}
}