in commons-jcs3-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/http/server/RemoteHttpCacheServlet.java [193:267]
protected RemoteCacheResponse<Object> processRequest( final RemoteCacheRequest<Serializable, Serializable> request )
{
final RemoteCacheResponse<Object> response = new RemoteCacheResponse<>();
if ( request == null )
{
final String message = "The request is null. Cannot process";
log.warn( message );
response.setSuccess( false );
response.setErrorMessage( message );
}
else
{
try
{
switch ( request.getRequestType() )
{
case GET:
final ICacheElement<Serializable, Serializable> element =
remoteCacheService.get( request.getCacheName(), request.getKey(), request.getRequesterId() );
response.setPayload(element);
break;
case GET_MULTIPLE:
final Map<Serializable, ICacheElement<Serializable, Serializable>> elementMap =
remoteCacheService.getMultiple( request.getCacheName(), request.getKeySet(), request.getRequesterId() );
if ( elementMap != null )
{
response.setPayload(new HashMap<>(elementMap));
}
break;
case GET_MATCHING:
final Map<Serializable, ICacheElement<Serializable, Serializable>> elementMapMatching =
remoteCacheService.getMatching( request.getCacheName(), request.getPattern(), request.getRequesterId() );
if ( elementMapMatching != null )
{
response.setPayload(new HashMap<>(elementMapMatching));
}
break;
case REMOVE:
remoteCacheService.remove( request.getCacheName(), request.getKey(), request.getRequesterId() );
break;
case REMOVE_ALL:
remoteCacheService.removeAll( request.getCacheName(), request.getRequesterId() );
break;
case UPDATE:
remoteCacheService.update( request.getCacheElement(), request.getRequesterId() );
break;
case ALIVE_CHECK:
case DISPOSE:
response.setSuccess( true );
// DO NOTHING
break;
case GET_KEYSET:
final Set<Serializable> keys = remoteCacheService.getKeySet( request.getCacheName() );
response.setPayload( keys );
break;
default:
final String message = "Unknown event type. Cannot process " + request;
log.warn( message );
response.setSuccess( false );
response.setErrorMessage( message );
break;
}
}
catch ( final IOException e )
{
final String message = "Problem processing request. " + request + " Error: " + e.getMessage();
log.error( message, e );
response.setSuccess( false );
response.setErrorMessage( message );
}
}
return response;
}