package org.mobicents.slee.resource.diameter.rf;
import net.java.slee.resource.diameter.base.DiameterMessageFactory;
import net.java.slee.resource.diameter.base.events.AccountingRequest;
import net.java.slee.resource.diameter.base.events.avp.AccountingRecordType;
import net.java.slee.resource.diameter.rf.RfMessageFactory;
import org.apache.log4j.Logger;
import org.jdiameter.api.Stack;
import org.mobicents.slee.resource.diameter.base.DiameterMessageFactoryImpl;
/**
*
* RfMessageFactoryImpl.java
*
* <br>Project: mobicents
* <br>1:59:52 AM Apr 14, 2009
* <br>
* @author <a href="mailto:brainslog@gmail.com"> Alexandre Mendonca </a>
*/
public class RfMessageFactoryImpl extends DiameterMessageFactoryImpl implements RfMessageFactory {
private static Logger logger = Logger.getLogger( RfMessageFactoryImpl.class );
private DiameterMessageFactoryImpl baseMessageFactory;
public RfMessageFactoryImpl(DiameterMessageFactoryImpl baseMessageFactory, Stack stack)
{
super(stack);
this.baseMessageFactory = baseMessageFactory;
}
public AccountingRequest createRfAccountingRequest( AccountingRecordType accountingrecordtype )
{
AccountingRequest acr = super.createAccountingRequest();
acr.setAcctApplicationId( _RF_ACC_APP_ID );
if(logger.isDebugEnabled())
{
logger.debug( "Created Rf ACR with Accounting-Record-Type[" + accountingrecordtype + "]" );
}
acr.setAccountingRecordType( accountingrecordtype );
return acr;
}
public DiameterMessageFactory getBaseMessageFactory()
{
return this.baseMessageFactory;
}
}