package won.matcher.protocol.impl; import org.apache.jena.query.Dataset; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import won.matcher.protocol.MatcherProtocolMatcherService; import won.matcher.protocol.MatcherProtocolMatcherServiceCallback; import won.matcher.protocol.NopMatcherProtocolMatcherServiceCallback; import java.net.URI; /** * Created with IntelliJ IDEA. * User: Gabriel * Date: 03.12.12 * Time: 14:12 */ //TODO: refactor service interfaces. public class MatcherProtocolMatcherServiceImpl implements MatcherProtocolMatcherService { final Logger logger = LoggerFactory.getLogger(getClass()); //handler for incoming won protocol messages. The default handler does nothing. @Autowired(required = false) private MatcherProtocolMatcherServiceCallback matcherServiceCallback = new NopMatcherProtocolMatcherServiceCallback(); //TODO: refactor this to use DataAccessService @Override public void onMatcherRegistration(final URI wonNodeUri) { logger.debug("matcher registration complete on {} ",wonNodeUri); matcherServiceCallback.onRegistered(wonNodeUri); } @Override public void onNewNeed(final URI wonNodeURI, URI needURI, Dataset content) { logger.debug("matcher from need: need created event for needURI {}",needURI); if (needURI == null) throw new IllegalArgumentException("needURI is not set"); matcherServiceCallback.onNewNeed(wonNodeURI , needURI, content); } @Override public void onNeedActivated(final URI wonNodeURI, final URI needURI) { logger.debug("matcher from need: need activated event for needURI {}", needURI); if (needURI == null) throw new IllegalArgumentException("needURI is not set"); matcherServiceCallback.onNeedActivated(wonNodeURI, needURI); } @Override public void onNeedDeactivated(final URI wonNodeURI, final URI needURI) { logger.debug("matcher from need: need deactivated event for needURI {}", needURI); if (needURI == null) throw new IllegalArgumentException("needURI is not set"); matcherServiceCallback.onNeedDeactivated(wonNodeURI, needURI); } }