/**
* Copyright (C) 2012 - present by OpenGamma Inc. and the OpenGamma group of companies
*
* Please see distribution for license.
*/
package com.opengamma.engine.function.blacklist;
import java.net.URI;
import java.util.concurrent.ExecutorService;
import javax.ws.rs.core.UriBuilder;
import org.fudgemsg.FudgeMsg;
import org.fudgemsg.mapping.FudgeDeserializer;
import com.opengamma.util.jms.JmsConnector;
/**
* Provides remote access to a {@link ManageableFunctionBlacklistProvider}.
*/
public class RemoteManageableFunctionBlacklistProvider extends RemoteFunctionBlacklistProvider implements ManageableFunctionBlacklistProvider {
public RemoteManageableFunctionBlacklistProvider(final URI baseUri, final ExecutorService backgroundTasks, final JmsConnector jmsConnector) {
super(baseUri, backgroundTasks, jmsConnector);
}
@Override
protected ManageableFunctionBlacklist createBlacklist(final FudgeDeserializer fdc, final FudgeMsg info) {
return new RemoteManageableFunctionBlacklist(fdc, info, this);
}
@Override
public ManageableFunctionBlacklist getBlacklist(final String identifier) {
return (ManageableFunctionBlacklist) super.getBlacklist(identifier);
}
protected void add(final String blacklist, final FudgeMsg request) {
accessRemote(UriBuilder.fromUri(getBaseUri()).path("name/{name}/add").build(blacklist)).post(request);
}
protected void remove(final String blacklist, final FudgeMsg request) {
accessRemote(UriBuilder.fromUri(getBaseUri()).path("name/{name}/remove").build(blacklist)).post(request);
}
}