package org.mobicents.slee.resource.diameter.ro;
import javax.slee.resource.SleeEndpoint;
import net.java.slee.resource.diameter.base.events.avp.DiameterIdentity;
import net.java.slee.resource.diameter.cca.CreditControlAVPFactory;
import net.java.slee.resource.diameter.cca.CreditControlMessageFactory;
import net.java.slee.resource.diameter.cca.events.CreditControlAnswer;
import net.java.slee.resource.diameter.ro.RoMessageFactory;
import net.java.slee.resource.diameter.ro.RoServerSession;
import org.jdiameter.api.Stack;
import org.jdiameter.api.cca.ServerCCASession;
import org.mobicents.slee.resource.diameter.base.DiameterMessageFactoryImpl;
import org.mobicents.slee.resource.diameter.cca.CreditControlServerSessionImpl;
/**
* RoServerSessionImpl.java
*
* <br>Project: mobicents
* <br>12:23:06 PM Apr 14, 2009
* <br>
* @author <a href="mailto:brainslog@gmail.com"> Alexandre Mendonca </a>
*/
public class RoServerSessionImpl extends CreditControlServerSessionImpl implements RoServerSession {
RoMessageFactory roMessageFactory = null;
/**
* @param messageFactory
* @param avpFactory
* @param session
* @param timeout
* @param destinationHost
* @param destinationRealm
* @param endpoint
*/
public RoServerSessionImpl( CreditControlMessageFactory messageFactory, CreditControlAVPFactory avpFactory, ServerCCASession session, long timeout, DiameterIdentity destinationHost, DiameterIdentity destinationRealm, SleeEndpoint endpoint, Stack stack )
{
super( messageFactory, avpFactory, session, timeout, destinationHost, destinationRealm, endpoint );
this.roMessageFactory = new RoMessageFactoryImpl((DiameterMessageFactoryImpl) messageFactory.getBaseMessageFactory(), session.getSessions().get(0), stack, avpFactory);
}
/* (non-Javadoc)
* @see net.java.slee.resource.diameter.ro.RoServerSession#createRoCreditControlAnswer()
*/
public CreditControlAnswer createRoCreditControlAnswer()
{
//FIXME: we use super?
//return this.ccaMessageFactory.createCreditControlAnswer(super.lastRequest);
return this.createCreditControlAnswer();
}
/* (non-Javadoc)
* @see net.java.slee.resource.diameter.ro.RoSession#getRoMessageFactory()
*/
public RoMessageFactory getRoMessageFactory()
{
return this.roMessageFactory;
}
}