Introduces a default MethodProcessor implementation in order to remove duplication. Fixes warnings about raw-type use.

cusax-fix
Lyubomir Marinov 17 years ago
parent 0888a15b98
commit b46458dcf1

@ -24,7 +24,7 @@
* @author Emil Ivov
*/
public class ClientCapabilities
implements MethodProcessor
extends MethodProcessorAdapter
{
private static Logger logger = Logger.getLogger(ClientCapabilities.class);
@ -136,54 +136,6 @@ public boolean processRequest(RequestEvent requestEvent)
return true;
}
/**
* ignore. don't needed.
* @param dialogTerminatedEvent unused
*/
public boolean processDialogTerminated(
DialogTerminatedEvent dialogTerminatedEvent)
{
return false;
}
/**
* ignore. don't needed.
* @param exceptionEvent unused
*/
public boolean processIOException(IOExceptionEvent exceptionEvent)
{
return false;
}
/**
* ignore for the time being
* @param responseEvent unused
*/
public boolean processResponse(ResponseEvent responseEvent)
{
return false;
}
/**
* ignore for the time being.
* @param timeoutEvent unused
*/
public boolean processTimeout(TimeoutEvent timeoutEvent)
{
disconnect();
return true;
}
/**
* ignore for the time being.
* @param transactionTerminatedEvent unused
*/
public boolean processTransactionTerminated(
TransactionTerminatedEvent transactionTerminatedEvent)
{
return false;
}
/**
* Returns the next long to use as a cseq header value.
* @return the next long to use as a cseq header value.

@ -0,0 +1,73 @@
/*
* SIP Communicator, the OpenSource Java VoIP and Instant Messaging client.
*
* Distributable under LGPL license.
* See terms of license at gnu.org.
*/
package net.java.sip.communicator.impl.protocol.sip;
import javax.sip.*;
/**
* Provides a default implementation of <code>MethodProcessor</code> which does
* no processing and exists only as a convenience to extenders so that they can
* override the methods of interest.
*
* @author Lubomir Marinov
*/
public class MethodProcessorAdapter
implements MethodProcessor
{
/*
* Implements
* MethodProcessor#processDialogTerminated(DialogTerminatedEvent).
*/
public boolean processDialogTerminated(
DialogTerminatedEvent dialogTerminatedEvent)
{
return false;
}
/*
* Implements MethodProcessor#processIOException(IOExceptionEvent).
*/
public boolean processIOException(IOExceptionEvent exceptionEvent)
{
return false;
}
/*
* Implements MethodProcessor#processRequest(RequestEvent).
*/
public boolean processRequest(RequestEvent requestEvent)
{
return false;
}
/*
* Implements MethodProcessor#processResponse(ResponseEvent).
*/
public boolean processResponse(ResponseEvent responseEvent)
{
return false;
}
/*
* Implements MethodProcessor#processTimeout(TimeoutEvent).
*/
public boolean processTimeout(TimeoutEvent timeoutEvent)
{
return false;
}
/*
* Implements
* MethodProcessor#processTransactionTerminated(TransactionTerminatedEvent).
*/
public boolean processTransactionTerminated(
TransactionTerminatedEvent transactionTerminatedEvent)
{
return false;
}
}

@ -29,19 +29,19 @@
public class OperationSetBasicInstantMessagingSipImpl
extends AbstractOperationSetBasicInstantMessaging
{
private static final Logger logger =
Logger.getLogger(OperationSetBasicInstantMessagingSipImpl.class);
private static final Logger logger
= Logger.getLogger(OperationSetBasicInstantMessagingSipImpl.class);
/**
* A list of processors registered for incoming sip messages.
*/
private Vector<SipMessageProcessor> messageProcessors
= new Vector<SipMessageProcessor>();
private final List<SipMessageProcessor> messageProcessors
= new Vector<SipMessageProcessor>();
/**
* The provider that created us.
*/
private ProtocolProviderServiceSipImpl sipProvider = null;
private final ProtocolProviderServiceSipImpl sipProvider;
/**
* A reference to the persistent presence operation set that we use
@ -57,7 +57,8 @@ public class OperationSetBasicInstantMessagingSipImpl
/**
* Hashtable containing the message sent
*/
private Hashtable sentMsg = null;
private final Map<String, Message> sentMsg
= new Hashtable<String, Message>(3);
/**
* It can be implemented in some servers.
@ -67,7 +68,7 @@ public class OperationSetBasicInstantMessagingSipImpl
/**
* Gives access to presence states for the Sip protocol.
*/
private SipStatusEnum sipStatusEnum;
private final SipStatusEnum sipStatusEnum;
/**
* Creates an instance of this operation set.
@ -79,7 +80,7 @@ public class OperationSetBasicInstantMessagingSipImpl
ProtocolProviderServiceSipImpl provider)
{
this.sipProvider = provider;
this.sentMsg = new Hashtable(3);
provider.addRegistrationStateChangeListener(new
RegistrationStateListener());
@ -556,45 +557,15 @@ public void registrationStateChanged(RegistrationStateChangeEvent evt)
* Class for listening incoming packets.
*/
private class BasicInstantMessagingMethodProcessor
implements MethodProcessor
extends MethodProcessorAdapter
{
public boolean processDialogTerminated(
DialogTerminatedEvent dialogTerminatedEvent)
{
// never fired
return false;
}
public boolean processIOException(IOExceptionEvent exceptionEvent)
{
// never fired
return false;
}
public boolean processTransactionTerminated(
TransactionTerminatedEvent transactionTerminatedEvent)
{
// nothing to do
return false;
}
/**
*
* @param timeoutEvent TimeoutEvent
*/
public boolean processTimeout(TimeoutEvent timeoutEvent)
{
synchronized (messageProcessors)
{
Iterator iter = messageProcessors.iterator();
while (iter.hasNext())
{
SipMessageProcessor listener
= (SipMessageProcessor)iter.next();
for (SipMessageProcessor listener : messageProcessors)
if(!listener.processTimeout(timeoutEvent, sentMsg))
return true;
}
}
// this is normaly handled by the SIP stack
@ -647,7 +618,7 @@ public boolean processTimeout(TimeoutEvent timeoutEvent)
// try to retrieve the original message
String key = ((CallIdHeader)req.getHeader(CallIdHeader.NAME))
.getCallId();
failedMessage = (Message) sentMsg.get(key);
failedMessage = sentMsg.get(key);
if (failedMessage == null)
{
@ -686,15 +657,9 @@ public boolean processRequest(RequestEvent requestEvent)
{
synchronized (messageProcessors)
{
Iterator iter = messageProcessors.iterator();
while (iter.hasNext())
{
SipMessageProcessor listener
= (SipMessageProcessor)iter.next();
for (SipMessageProcessor listener : messageProcessors)
if(!listener.processMessage(requestEvent))
return true;
}
}
// get the content
@ -801,15 +766,9 @@ public boolean processResponse(ResponseEvent responseEvent)
{
synchronized (messageProcessors)
{
Iterator iter = messageProcessors.iterator();
while (iter.hasNext())
{
SipMessageProcessor listener
= (SipMessageProcessor)iter.next();
for (SipMessageProcessor listener : messageProcessors)
if(!listener.processResponse(responseEvent, sentMsg))
return true;
}
}
Request req = responseEvent.getClientTransaction().getRequest();
@ -867,7 +826,7 @@ public boolean processResponse(ResponseEvent responseEvent)
String key = ((CallIdHeader)req.getHeader(CallIdHeader.NAME))
.getCallId();
Message newMessage = (Message) sentMsg.get(key);
Message newMessage = sentMsg.get(key);
if (newMessage == null)
{
@ -1036,4 +995,3 @@ private void processAuthenticationChallenge(
}
}
}

@ -25,7 +25,7 @@
* @author Emil Ivov
*/
public class SipRegistrarConnection
implements MethodProcessor
extends MethodProcessorAdapter
{
private static final Logger logger =
Logger.getLogger(SipRegistrarConnection.class);
@ -1069,26 +1069,6 @@ private void processForbidden(
+ response.getReasonPhrase());
}
/**
* Process an asynchronously reported DialogTerminatedEvent. When a dialog
* transitions to the Terminated state, the stack keeps no further records
* of the dialog. This notification can be used by applications to clean up
* any auxiliary data that is being maintained for the given dialog.
*
* @param dialogTerminatedEvent -- an event that indicates that the dialog
* has transitioned into the terminated state.
* @return <tt>true</tt> if the specified event has been handled by this
* processor and shouldn't be offered to other processors registered
* for the same method; <tt>false</tt>, otherwise
* @since v1.2
*/
public boolean processDialogTerminated(DialogTerminatedEvent
dialogTerminatedEvent)
{
return false;
}
/**
* Processes a Request received on a SipProvider upon which this SipListener
* is registered.
@ -1128,24 +1108,6 @@ public boolean processTimeout(TimeoutEvent timeoutEvent)
return true;
}
/**
* Process an asynchronously reported TransactionTerminatedEvent. When a
* transaction transitions to the Terminated state, the stack keeps no
* further records of the transaction.
*
* @param transactionTerminatedEvent an event that indicates that the
* transaction has transitioned into the terminated state.
* @return <tt>true</tt> if the specified event has been handled by this
* processor and shouldn't be offered to other processors registered
* for the same method; <tt>false</tt>, otherwise
*/
public boolean processTransactionTerminated(TransactionTerminatedEvent
transactionTerminatedEvent)
{
//doesn't mean anything. we do failure handling in processTimeout
return false;
}
/**
* Process an asynchronously reported IO Exception.
*

Loading…
Cancel
Save