package com.rayo.server; import org.jetlang.fibers.PoolFiberFactory; import com.rayo.server.verb.VerbManager; import com.voxeo.logging.Loggerf; import com.voxeo.moho.Call; import com.voxeo.moho.IncomingCall; public class DefaultCallActorFactory implements CallActorFactory { private static final Loggerf log = Loggerf.getLogger(DefaultCallActorFactory.class); private VerbManager verbManager; private PoolFiberFactory fiberFactory; private CallStatistics callStatistics; private CdrManager cdrManager; private CallRegistry callRegistry; private MixerManager mixerManager; private CallManager callManager; @Override public CallActor<?> create(Call call) { if (log.isDebugEnabled()) { log.debug("Creating call actor for call [%s]", call.getId()); } CallActor<?> actor = null; if(call instanceof IncomingCall) { actor = new IncomingCallActor((IncomingCall)call); } else { actor = new CallActor<Call>(call); } actor.setFiberFactory(fiberFactory); actor.setVerbManager(verbManager); actor.setCallStatistics(callStatistics); actor.setCdrManager(cdrManager); actor.setCallRegistry(callRegistry); actor.setMixerManager(mixerManager); actor.setCallManager(callManager); return actor; } public void setVerbManager(VerbManager verbManager) { this.verbManager = verbManager; } public VerbManager getVerbManager() { return verbManager; } public void setFiberFactory(PoolFiberFactory fiberFactory) { this.fiberFactory = fiberFactory; } public PoolFiberFactory getFiberFactory() { return fiberFactory; } public CallStatistics getCallStatistics() { return callStatistics; } public void setCallStatistics(CallStatistics callStatistics) { this.callStatistics = callStatistics; } public void setCdrManager(CdrManager cdrManager) { this.cdrManager = cdrManager; } public void setCallRegistry(CallRegistry callRegistry) { this.callRegistry = callRegistry; } public void setMixerManager(MixerManager mixerManager) { this.mixerManager = mixerManager; } public CallManager getCallManager() { return callManager; } public void setCallManager(CallManager callManager) { this.callManager = callManager; } }