package org.dcache.services.ssh2;
import org.apache.sshd.common.NamedFactory;
import org.apache.sshd.server.Command;
import org.springframework.beans.factory.annotation.Required;
import dmg.cells.nucleus.CellEndpoint;
import dmg.cells.nucleus.CellMessageSender;
import dmg.cells.services.login.LoginBrokerSource;
import org.dcache.cells.CellStub;
public class PcellsSubsystemFactory implements NamedFactory<Command>, CellMessageSender
{
private CellEndpoint endpoint;
private CellStub spaceManager;
private CellStub poolManager;
private CellStub pnfsManager;
private LoginBrokerSource loginBrokerSource;
@Override
public void setCellEndpoint(CellEndpoint endpoint)
{
this.endpoint = endpoint;
}
@Required
public void setSpaceManager(CellStub spaceManager)
{
this.spaceManager = spaceManager;
}
@Required
public void setPoolManager(CellStub poolManager)
{
this.poolManager = poolManager;
}
@Required
public void setPnfsManager(CellStub pnfsManager)
{
this.pnfsManager = pnfsManager;
}
@Required
public void setLoginBrokerSource(LoginBrokerSource source)
{
this.loginBrokerSource = source;
}
@Override
public String getName()
{
return "pcells";
}
@Override
public Command create()
{
return new PcellsCommand(endpoint, spaceManager, poolManager, pnfsManager, loginBrokerSource);
}
}