/* * Copyright (C) 2006-2016 DLR, Germany * * All rights reserved * * http://www.rcenvironment.de/ */ package de.rcenvironment.core.communication.messaging.internal; import java.io.Serializable; import de.rcenvironment.core.communication.common.SerializationException; import de.rcenvironment.core.communication.model.NetworkRequest; import de.rcenvironment.core.utils.common.StringUtils; /** * Utilities for handling {@link NetworkRequest}s. * * @author Robert Mischke */ public final class NetworkRequestUtils { private NetworkRequestUtils() {} /** * Helper method that wraps {@link NetworkRequest#getDeserializedContent()} and converts occurring {@link SerializationException}s into * {@link InternalMessagingException}s. * * @param request the request * @return the deserialized content on success * @throws InternalMessagingException on {@link SerializationException}s */ public static Serializable deserializeWithExceptionHandling(NetworkRequest request) throws InternalMessagingException { try { return request.getDeserializedContent(); } catch (SerializationException e) { throw new InternalMessagingException(StringUtils.format("Failed to deserialize a NetworkRequest's content: type=%s, id=%s", request.getMessageType(), request.getRequestId()), e); } } }