blob: ee9da736e44c18926519a1c21449780d07aa98fd [file] [log] [blame]
/*
* Copyright (c) 2005, 2021 Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2005, 2015 SAP. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0,
* or the Eclipse Distribution License v. 1.0 which is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
*/
// Contributors:
// SAP - initial API and implementation
package org.eclipse.persistence.testing.framework.wdf.server;
import java.io.Serializable;
import org.junit.runner.notification.Failure;
/**
* Serializable version of org.junit.runner.notification.Failure.
*/
public class SerializableFailure implements Serializable {
private static final long serialVersionUID = 1L;
private final SerializableDescription description;
private final Throwable thrownException;
private SerializableFailure(SerializableDescription theDescription, Throwable throwable) {
description = theDescription;
thrownException = throwable;
}
/**
* Create a SerializableFailure object from an org.junit.runner.notification.Failure object.
* @param failure failure object to be converted
* @return a SerializableFailure object converted from an org.junit.runner.notification.Failure object
*/
public static SerializableFailure create(Failure failure) {
return new SerializableFailure(SerializableDescription.create(failure.getDescription()),failure.getException());
}
/**
* Restore an org.junit.runner.notification.Failure object from this SerializableFailure object.
* @return the restored org.junit.runner.notification.Failure object
*/
public Failure restore() {
return new Failure(description.restore(), thrownException);
}
}