/*******************************************************************************
* Copyright (c) 2009 MATERNA Information & Communications. All rights reserved.
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v1.0 which accompanies this distribution,
* and is available at http://www.eclipse.org/legal/epl-v10.html. For further
* project-related information visit http://www.ws4d.org. The most recent
* version of the JMEDS framework can be obtained from
* http://sourceforge.net/projects/ws4d-javame.
******************************************************************************/
package org.ws4d.java.communication;
import org.ws4d.java.message.FaultMessage;
import org.ws4d.java.message.InvokeMessage;
import org.ws4d.java.message.Message;
import org.ws4d.java.message.discovery.ProbeMatchesMessage;
import org.ws4d.java.message.discovery.ResolveMatchesMessage;
import org.ws4d.java.message.eventing.GetStatusResponseMessage;
import org.ws4d.java.message.eventing.RenewResponseMessage;
import org.ws4d.java.message.eventing.SubscribeResponseMessage;
import org.ws4d.java.message.eventing.UnsubscribeResponseMessage;
import org.ws4d.java.message.metadata.GetMetadataResponseMessage;
import org.ws4d.java.message.metadata.GetResponseMessage;
import org.ws4d.java.service.OperationDescription;
import org.ws4d.java.types.XAddressInfo;
import org.ws4d.java.util.Log;
/**
* A default implementation of a {@link ResponseCallback}. All
* <code>handle</code> methods of this class simply log their arguments to
* standard output.
*/
public class DefaultResponseCallback implements ResponseCallback {
private XAddressInfo targetXAddressInfo = null;
private static void logResponse(Message request, Message response) {
Log.info("Unhandled response: " + response + ". Request was: " + request);
}
/**
*
*/
public DefaultResponseCallback(XAddressInfo targetXAddressInfo) {
this.targetXAddressInfo = targetXAddressInfo;
}
/*
* (non-Javadoc)
* @seeorg.ws4d.java.communication.ResponseCallback#handle(org.ws4d.java.
* communication.message.Message,
* org.ws4d.java.message.discovery.ProbeMatchesMessage,
* org.ws4d.java.communication.ProtocolData)
*/
public void handle(Message request, ProbeMatchesMessage probeMatches, ProtocolData protocolData) {
logResponse(request, probeMatches);
}
/*
* (non-Javadoc)
* @seeorg.ws4d.java.communication.ResponseCallback#handle(org.ws4d.java.
* communication.message.Message,
* org.ws4d.java.message.discovery.ResolveMatchesMessage,
* org.ws4d.java.communication.ProtocolData)
*/
public void handle(Message request, ResolveMatchesMessage resolveMatches, ProtocolData protocolData) {
logResponse(request, resolveMatches);
}
/*
* (non-Javadoc)
* @seeorg.ws4d.java.communication.ResponseCallback#handle(org.ws4d.java.
* communication.message.Message,
* org.ws4d.java.message.metadata.GetResponseMessage,
* org.ws4d.java.communication.ProtocolData)
*/
public void handle(Message request, GetResponseMessage getResponse, ProtocolData protocolData) {
logResponse(request, getResponse);
}
/*
* (non-Javadoc)
* @seeorg.ws4d.java.communication.ResponseCallback#handle(org.ws4d.java.
* communication.message.Message, org.ws4d.java.message.metadata
* .GetMetadataResponseMessage, org.ws4d.java.communication.ProtocolData)
*/
public void handle(Message request, GetMetadataResponseMessage getMetadataResponse, ProtocolData protocolData) {
logResponse(request, getMetadataResponse);
}
/*
* (non-Javadoc)
* @seeorg.ws4d.java.communication.ResponseCallback#handle(org.ws4d.java.
* communication.message.Message,
* org.ws4d.java.message.eventing.SubscribeResponseMessage,
* org.ws4d.java.communication.ProtocolData)
*/
public void handle(Message request, SubscribeResponseMessage subscribeResponse, ProtocolData protocolData) {
logResponse(request, subscribeResponse);
}
/*
* (non-Javadoc)
* @seeorg.ws4d.java.communication.ResponseCallback#handle(org.ws4d.java.
* communication.message.Message,
* org.ws4d.java.message.eventing.GetStatusResponseMessage,
* org.ws4d.java.communication.ProtocolData)
*/
public void handle(Message request, GetStatusResponseMessage getStatusResponse, ProtocolData protocolData) {
logResponse(request, getStatusResponse);
}
/*
* (non-Javadoc)
* @seeorg.ws4d.java.communication.ResponseCallback#handle(org.ws4d.java.
* communication.message.Message,
* org.ws4d.java.message.eventing.RenewResponseMessage,
* org.ws4d.java.communication.ProtocolData)
*/
public void handle(Message request, RenewResponseMessage renewResponse, ProtocolData protocolData) {
logResponse(request, renewResponse);
}
/*
* (non-Javadoc)
* @seeorg.ws4d.java.communication.ResponseCallback#handle(org.ws4d.java.
* communication.message.Message,
* org.ws4d.java.message.eventing.UnsubscribeResponseMessage,
* org.ws4d.java.communication.ProtocolData)
*/
public void handle(Message request, UnsubscribeResponseMessage unsubscribeResponse, ProtocolData protocolData) {
logResponse(request, unsubscribeResponse);
}
/*
* (non-Javadoc)
* @seeorg.ws4d.java.communication.ResponseCallback#handle(org.ws4d.java.
* communication.message.Message,
* org.ws4d.java.message.invocation.InvokeMessage,
* org.ws4d.java.communication.ProtocolData)
*/
public void handle(Message request, InvokeMessage invokeResponse, ProtocolData protocolData) {
logResponse(request, invokeResponse);
}
/*
* (non-Javadoc)
* @seeorg.ws4d.java.communication.ResponseCallback#handle(org.ws4d.java.
* communication.message.Message, org.ws4d.java.message.FaultMessage,
* org.ws4d.java.communication.ProtocolData)
*/
public void handle(Message request, FaultMessage fault, ProtocolData protocolData) {
logResponse(request, fault);
}
/*
* (non-Javadoc)
* @see
* org.ws4d.java.communication.ResponseCallback#handleTransmissionException
* (org.ws4d.java.message.Message, java.lang.Exception,
* org.ws4d.java.communication.ProtocolData)
*/
public void handleTransmissionException(Message request, Exception exception, ProtocolData protocolData) {
Log.warn("Unhandled transmission exception: " + exception + ". Request was: " + request);
}
/*
* (non-Javadoc)
* @see
* org.ws4d.java.communication.ResponseCallback#handleMalformedResponseException
* (org.ws4d.java.message.Message, java.lang.Exception,
* org.ws4d.java.communication.ProtocolData)
*/
public void handleMalformedResponseException(Message request, Exception exception, ProtocolData protocolData) {
Log.warn("Unhandled malformed response exception: " + exception + ". Request was: " + request);
}
/*
* (non-Javadoc)
* @see
* org.ws4d.java.communication.ResponseCallback#handleTimeout(org.ws4d.java
* .communication.message.Message)
*/
public void handleTimeout(Message request) {
Log.warn("Unhandled request timeout. Request was: " + request);
}
/*
* (non-Javadoc)
* @see org.ws4d.java.communication.ResponseCallback#getOperation()
*/
public OperationDescription getOperation() {
return null;
}
public void setTargetAddress(XAddressInfo targetXAddressInfo) {
this.targetXAddressInfo = targetXAddressInfo;
}
public XAddressInfo getTargetAddress() {
return targetXAddressInfo;
}
}