package eu.dnetlib.enabling.aas.ismock;

import java.util.List;

import javax.xml.ws.wsaddressing.W3CEndpointReference;

import eu.dnetlib.common.rmi.UnimplementedException;
import eu.dnetlib.enabling.is.sn.rmi.ISSNException;
import eu.dnetlib.enabling.is.sn.rmi.ISSNService;

/**
 * Mock IS SN service.
 * @author mhorst
 *
 */
public class MockISSN implements ISSNService {


	/* (non-Javadoc)
	 * @see eu.dnetlib.common.rmi.BaseService#identify()
	 */
	public String identify() {
		return "IS_SN-mock-0.9.0";
	}

	/* (non-Javadoc)
	 * @see eu.dnetlib.enabling.is.sn.rmi.ISSNService#actionCreatePerformed(java.lang.String, java.lang.String, java.lang.String)
	 */
	public boolean actionCreatePerformed(String resourceType, String profileId,
			String profile) throws ISSNException {
		throw new UnimplementedException();
	}

	/* (non-Javadoc)
	 * @see eu.dnetlib.enabling.is.sn.rmi.ISSNService#actionDeletePerformed(java.lang.String, java.lang.String)
	 */
	public boolean actionDeletePerformed(String resourceType, String profileId)
			throws ISSNException {
		throw new UnimplementedException();
	}

	/* (non-Javadoc)
	 * @see eu.dnetlib.enabling.is.sn.rmi.ISSNService#actionUpdatePerformed(java.lang.String, java.lang.String, java.lang.String, java.lang.String)
	 */
	public boolean actionUpdatePerformed(String resourceType, String profileId,
			String profileBefore, String profileAfter) throws ISSNException {
		throw new UnimplementedException();
	}

	/* (non-Javadoc)
	 * @see eu.dnetlib.enabling.is.sn.rmi.ISSNService#getCurrentMessage(java.lang.String)
	 */
	public String getCurrentMessage(String topic) throws ISSNException {
		throw new UnimplementedException();
	}

	/* (non-Javadoc)
	 * @see eu.dnetlib.enabling.is.sn.rmi.ISSNService#listSubscriptions()
	 */
	public List<String> listSubscriptions() {
		throw new UnimplementedException();
	}

	/* (non-Javadoc)
	 * @see eu.dnetlib.enabling.is.sn.rmi.ISSNService#pauseSubscription(java.lang.String)
	 */
	public boolean pauseSubscription(String subscrId) throws ISSNException {
		throw new UnimplementedException();
	}

	/* (non-Javadoc)
	 * @see eu.dnetlib.enabling.is.sn.rmi.ISSNService#renew(java.lang.String, int)
	 */
	public boolean renew(String subscrId, int terminationTime)
			throws ISSNException {
		throw new UnimplementedException();
	}

	/* (non-Javadoc)
	 * @see eu.dnetlib.enabling.is.sn.rmi.ISSNService#resumeSubscription(java.lang.String)
	 */
	public boolean resumeSubscription(String subscrId) throws ISSNException {
		throw new UnimplementedException();
	}

	public String subscribe(W3CEndpointReference consumerReference,
			String topicExpression, int initialTerminationTime)
			throws ISSNException {
//		throw new UnimplementedException();
		return null;
	}

	/* (non-Javadoc)
	 * @see eu.dnetlib.enabling.is.sn.rmi.ISSNService#unsubscribe(java.lang.String)
	 */
	public boolean unsubscribe(String subscrId) throws ISSNException {
		throw new UnimplementedException();
	}

	/* (non-Javadoc)
	 * @see eu.dnetlib.common.rmi.BaseService#notify(java.lang.String, java.lang.String, java.lang.String, java.lang.String)
	 */
	public void notify(String subscriptionId, String topic, String isId,
			String message) {
		throw new UnimplementedException();
		
	}

	/* (non-Javadoc)
	 * @see eu.dnetlib.common.rmi.BaseService#start()
	 */
	public void start() {
	}

}
