Currently job artifacts in CI/CD pipelines on LRZ GitLab never expire. Starting from Wed 26.1.2022 the default expiration time will be 30 days (GitLab default). Currently existing artifacts in already completed jobs will not be affected by the change. The latest artifacts for all jobs in the latest successful pipelines will be kept. More information: https://gitlab.lrz.de/help/user/admin_area/settings/continuous_integration.html#default-artifacts-expiration

Commit 84206e99 authored by Jakob Schöttl's avatar Jakob Schöttl
Browse files

Change DefaultSealable impl and add comments

parent 2925602b
......@@ -2,15 +2,32 @@ package org.vadere.state.attributes;
import org.apache.commons.attributes.Sealable;
/**
* Our implementation of {@link Sealable}.
* The {@code sealed} flag shall not be serialized.
*
* @author Jakob Schöttl
*
*/
public class DefaultSealable implements Sealable {
/** Should not be serialized. */
private transient boolean sealed;
/**
* Apache Commons' DefaultSealable throws an exception if the object is already sealed.
*/
@Override
public void seal() {
if (sealed)
throw new IllegalStateException("Object is already sealed.");
// Attributes currently are sealed right before the simulation starts.
// Throwing an exception when they are already sealed makes a second simulation fail.
// Solutions (other than not throwing a exception) are:
// - Seal as soon as the objects are loaded from JSON.
// - Copy all attributes before starting a simulation.
// This does not make sense, since the attributes are read-only anyway.
// if (sealed)
// throw new IllegalStateException("Object is already sealed.");
sealed = true;
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment