/**********************************************************************************
* $URL: https://source.sakaiproject.org/svn/rwiki/trunk/rwiki-impl/impl/src/java/uk/ac/cam/caret/sakai/rwiki/component/message/TriggerServiceImpl.java $
* $Id: TriggerServiceImpl.java 20447 2007-01-18 23:06:20Z ian@caret.cam.ac.uk $
***********************************************************************************
*
* Copyright (c) 2003, 2004, 2005, 2006 The Sakai Foundation.
*
* Licensed under the Educational Community License, Version 1.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/ecl1.php
*
* 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 uk.ac.cam.caret.sakai.rwiki.component.message;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import uk.ac.cam.caret.sakai.rwiki.service.message.api.TriggerHandler;
import uk.ac.cam.caret.sakai.rwiki.service.message.api.TriggerService;
import uk.ac.cam.caret.sakai.rwiki.service.message.api.dao.TriggerDao;
import uk.ac.cam.caret.sakai.rwiki.service.message.api.model.Trigger;
/**
* @author ieb
*/
public class TriggerServiceImpl implements TriggerService
{
private static Log log = LogFactory.getLog(TriggerServiceImpl.class);
private TriggerDao triggerDao;
private Map triggerHandlers;
/*
* (non-Javadoc)
*
* @see uk.ac.cam.caret.sakai.rwiki.service.message.api.TriggerService#fireSpaceTriggers(java.lang.String)
*/
public void fireSpaceTriggers(String space)
{
List l = triggerDao.findBySpace(space);
for (Iterator il = l.iterator(); il.hasNext();)
{
Trigger t = (Trigger) il.next();
String triggerSpec = t.getTriggerspec();
TriggerHandler ts = (TriggerHandler) triggerHandlers
.get(triggerSpec);
if (ts != null)
{
ts.fireOnSpace(space);
}
}
}
/*
* (non-Javadoc)
*
* @see uk.ac.cam.caret.sakai.rwiki.service.message.api.TriggerService#firePageTriggers(java.lang.String,
* java.lang.String)
*/
public void firePageTriggers(String space, String page)
{
List l = triggerDao.findByPage(space, page);
for (Iterator il = l.iterator(); il.hasNext();)
{
Trigger t = (Trigger) il.next();
String triggerSpec = t.getTriggerspec();
TriggerHandler ts = (TriggerHandler) triggerHandlers
.get(triggerSpec);
if (ts != null)
{
ts.fireOnPage(space, page);
}
}
}
/*
* (non-Javadoc)
*
* @see uk.ac.cam.caret.sakai.rwiki.service.message.api.TriggerService#addTrigger(java.lang.String,
* java.lang.String, java.lang.String, java.lang.String)
*/
public void addTrigger(String user, String space, String page, String spec)
{
}
/*
* (non-Javadoc)
*
* @see uk.ac.cam.caret.sakai.rwiki.service.message.api.TriggerService#removeTrigger(uk.ac.cam.caret.sakai.rwiki.service.message.api.model.Trigger)
*/
public void removeTrigger(Trigger trigger)
{
}
/*
* (non-Javadoc)
*
* @see uk.ac.cam.caret.sakai.rwiki.service.message.api.TriggerService#updateTrigger(uk.ac.cam.caret.sakai.rwiki.service.message.api.model.Trigger)
*/
public void updateTrigger(Trigger trigger)
{
}
/*
* (non-Javadoc)
*
* @see uk.ac.cam.caret.sakai.rwiki.service.message.api.TriggerService#getUserTriggers(java.lang.String,
* java.lang.String, java.lang.String)
*/
public List getUserTriggers(String user, String space, String page)
{
return null;
}
/*
* (non-Javadoc)
*
* @see uk.ac.cam.caret.sakai.rwiki.service.message.api.TriggerService#getUserTriggers(java.lang.String,
* java.lang.String)
*/
public List getUserTriggers(String user, String space)
{
return null;
}
/*
* (non-Javadoc)
*
* @see uk.ac.cam.caret.sakai.rwiki.service.message.api.TriggerService#getUserTriggers(java.lang.String)
*/
public List getUserTriggers(String user)
{
return null;
}
/*
* (non-Javadoc)
*
* @see uk.ac.cam.caret.sakai.rwiki.service.message.api.TriggerService#getPageTriggers(java.lang.String,
* java.lang.String)
*/
public List getPageTriggers(String space, String page)
{
return null;
}
/*
* (non-Javadoc)
*
* @see uk.ac.cam.caret.sakai.rwiki.service.message.api.TriggerService#getSpaceTriggers(java.lang.String)
*/
public List getSpaceTriggers(String space)
{
return null;
}
/**
* @return Returns the triggerDao.
*/
public TriggerDao getTriggerDao()
{
return triggerDao;
}
/**
* @param triggerDao
* The triggerDao to set.
*/
public void setTriggerDao(TriggerDao triggerDao)
{
this.triggerDao = triggerDao;
}
/**
* @return Returns the triggerHandlers.
*/
public Map getTriggerHandlers()
{
return triggerHandlers;
}
/**
* @param triggerHandlers
* The triggerHandlers to set.
*/
public void setTriggerHandlers(Map triggerHandlers)
{
this.triggerHandlers = triggerHandlers;
}
}