Skip to content

Commit 7ad8434

Browse files
committed
Fixing serialization of ByteArrays, Strings and Path for real by making "getModification" transient. Removing unnecessary @XmlAccessorType(XmlAccessType.FIELD) annotations. For the record, using package-info.java did not work, because we can not specify adapters for assertEquals, but we could use it to get rid of the XmlJavaTypeAdapter annotations in the modifications.
1 parent 51887db commit 7ad8434

File tree

40 files changed

+247
-105
lines changed

40 files changed

+247
-105
lines changed

src/main/java/de/rub/nds/modifiablevariable/ModifiableVariable.java

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,12 @@
2323
import java.util.stream.Collectors;
2424

2525
/**
26-
* The base abstract class for modifiable variables, including the getValue function.The class needs
27-
* to be defined transient to allow propOrder definition in subclasses, see: <a
28-
* href="http://blog.bdoughan.com/2011/06/ignoring-inheritance-with-xmltransient.html">...</a>
26+
* The base abstract class for modifiable variables, including the getValue function. The class
27+
* needs to be defined transient to allow propOrder definition in subclasses, see: <a
28+
* href="http://blog.bdoughan.com/2011/06/ignoring-inheritance-with-xmltransient.html">docs</a>
2929
*
3030
* @param <E>
3131
*/
32-
@XmlRootElement
3332
@XmlTransient
3433
@XmlAccessorType(XmlAccessType.FIELD)
3534
public abstract class ModifiableVariable<E> implements Serializable {
@@ -192,6 +191,15 @@ public abstract class ModifiableVariable<E> implements Serializable {
192191

193192
private Boolean createRandomModification;
194193

194+
// @XmlElements({
195+
// @XmlElement(type = byte[].class),
196+
// @XmlElement(type = String.class),
197+
// @XmlElement(type = Boolean.class),
198+
// @XmlElement(type = Byte.class),
199+
// @XmlElement(type = Integer.class),
200+
// @XmlElement(type = Long.class),
201+
// @XmlElement(type = BigInteger.class)
202+
// })
195203
protected E assertEquals;
196204

197205
protected ModifiableVariable() {
@@ -236,6 +244,7 @@ public void addModification(VariableModification<E> modification) {
236244
*
237245
* <p>Use {@code getModifications()} to get all modifications
238246
*/
247+
@XmlTransient
239248
public VariableModification<E> getModification() {
240249
if (modifications == null || modifications.isEmpty()) {
241250
return null;

src/main/java/de/rub/nds/modifiablevariable/VariableModification.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,10 @@
1515
import jakarta.xml.bind.annotation.XmlAccessorType;
1616
import jakarta.xml.bind.annotation.XmlElement;
1717
import jakarta.xml.bind.annotation.XmlElements;
18-
import jakarta.xml.bind.annotation.XmlRootElement;
1918
import jakarta.xml.bind.annotation.XmlTransient;
2019
import org.apache.logging.log4j.LogManager;
2120
import org.apache.logging.log4j.Logger;
2221

23-
@XmlRootElement
2422
@XmlTransient
2523
@XmlAccessorType(XmlAccessType.FIELD)
2624
public abstract class VariableModification<E> {

src/main/java/de/rub/nds/modifiablevariable/biginteger/BigIntegerAddModification.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@
88
package de.rub.nds.modifiablevariable.biginteger;
99

1010
import de.rub.nds.modifiablevariable.VariableModification;
11-
import jakarta.xml.bind.annotation.XmlAccessType;
12-
import jakarta.xml.bind.annotation.XmlAccessorType;
1311
import jakarta.xml.bind.annotation.XmlRootElement;
1412
import jakarta.xml.bind.annotation.XmlType;
1513
import java.math.BigInteger;
@@ -18,7 +16,6 @@
1816

1917
@XmlRootElement
2018
@XmlType(propOrder = {"summand", "modificationFilter"})
21-
@XmlAccessorType(XmlAccessType.FIELD)
2219
public class BigIntegerAddModification extends VariableModification<BigInteger> {
2320

2421
private static final int MAX_ADD_LENGTH = 8;

src/main/java/de/rub/nds/modifiablevariable/biginteger/BigIntegerAppendValueModification.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@
88
package de.rub.nds.modifiablevariable.biginteger;
99

1010
import de.rub.nds.modifiablevariable.VariableModification;
11-
import jakarta.xml.bind.annotation.XmlAccessType;
12-
import jakarta.xml.bind.annotation.XmlAccessorType;
1311
import jakarta.xml.bind.annotation.XmlRootElement;
1412
import jakarta.xml.bind.annotation.XmlType;
1513
import java.math.BigInteger;
@@ -18,7 +16,6 @@
1816

1917
@XmlRootElement
2018
@XmlType(propOrder = {"appendValue", "modificationFilter"})
21-
@XmlAccessorType(XmlAccessType.FIELD)
2219
public class BigIntegerAppendValueModification extends VariableModification<BigInteger> {
2320

2421
private static final int MAX_APPEND_LENGTH = 8;

src/main/java/de/rub/nds/modifiablevariable/biginteger/BigIntegerExplicitValueFromFileModification.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,13 @@
88
package de.rub.nds.modifiablevariable.biginteger;
99

1010
import de.rub.nds.modifiablevariable.VariableModification;
11-
import jakarta.xml.bind.annotation.XmlAccessType;
12-
import jakarta.xml.bind.annotation.XmlAccessorType;
1311
import jakarta.xml.bind.annotation.XmlRootElement;
1412
import jakarta.xml.bind.annotation.XmlType;
1513
import java.math.BigInteger;
1614
import java.util.Objects;
1715

1816
@XmlRootElement
1917
@XmlType(propOrder = "index")
20-
@XmlAccessorType(XmlAccessType.FIELD)
2118
public class BigIntegerExplicitValueFromFileModification
2219
extends BigIntegerExplicitValueModification {
2320
private int index;

src/main/java/de/rub/nds/modifiablevariable/biginteger/BigIntegerExplicitValueModification.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@
88
package de.rub.nds.modifiablevariable.biginteger;
99

1010
import de.rub.nds.modifiablevariable.VariableModification;
11-
import jakarta.xml.bind.annotation.XmlAccessType;
12-
import jakarta.xml.bind.annotation.XmlAccessorType;
1311
import jakarta.xml.bind.annotation.XmlRootElement;
1412
import jakarta.xml.bind.annotation.XmlType;
1513
import java.math.BigInteger;
@@ -18,7 +16,6 @@
1816

1917
@XmlRootElement
2018
@XmlType(propOrder = {"explicitValue", "modificationFilter"})
21-
@XmlAccessorType(XmlAccessType.FIELD)
2219
public class BigIntegerExplicitValueModification extends VariableModification<BigInteger> {
2320

2421
private static final int MAX_EXPLICIT_LENGTH = 8;

src/main/java/de/rub/nds/modifiablevariable/biginteger/BigIntegerInsertValueModification.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@
88
package de.rub.nds.modifiablevariable.biginteger;
99

1010
import de.rub.nds.modifiablevariable.VariableModification;
11-
import jakarta.xml.bind.annotation.XmlAccessType;
12-
import jakarta.xml.bind.annotation.XmlAccessorType;
1311
import jakarta.xml.bind.annotation.XmlRootElement;
1412
import jakarta.xml.bind.annotation.XmlType;
1513
import java.math.BigInteger;
@@ -18,7 +16,6 @@
1816

1917
@XmlRootElement
2018
@XmlType(propOrder = {"insertValue", "startPosition", "modificationFilter"})
21-
@XmlAccessorType(XmlAccessType.FIELD)
2219
public class BigIntegerInsertValueModification extends VariableModification<BigInteger> {
2320

2421
private static final int MAX_INSERT_LENGTH = 8;

src/main/java/de/rub/nds/modifiablevariable/biginteger/BigIntegerInteractiveModification.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,13 @@
88
package de.rub.nds.modifiablevariable.biginteger;
99

1010
import de.rub.nds.modifiablevariable.VariableModification;
11-
import jakarta.xml.bind.annotation.XmlAccessType;
12-
import jakarta.xml.bind.annotation.XmlAccessorType;
1311
import jakarta.xml.bind.annotation.XmlRootElement;
1412
import jakarta.xml.bind.annotation.XmlTransient;
1513
import jakarta.xml.bind.annotation.XmlType;
1614
import java.math.BigInteger;
1715

1816
@XmlRootElement
1917
@XmlType(propOrder = "modificationFilter")
20-
@XmlAccessorType(XmlAccessType.FIELD)
2118
public class BigIntegerInteractiveModification extends VariableModification<BigInteger> {
2219

2320
@XmlTransient private final InteractiveBigIntegerModification modification;

src/main/java/de/rub/nds/modifiablevariable/biginteger/BigIntegerMultiplyModification.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@
88
package de.rub.nds.modifiablevariable.biginteger;
99

1010
import de.rub.nds.modifiablevariable.VariableModification;
11-
import jakarta.xml.bind.annotation.XmlAccessType;
12-
import jakarta.xml.bind.annotation.XmlAccessorType;
1311
import jakarta.xml.bind.annotation.XmlRootElement;
1412
import jakarta.xml.bind.annotation.XmlType;
1513
import java.math.BigInteger;
@@ -18,7 +16,6 @@
1816

1917
@XmlRootElement
2018
@XmlType(propOrder = {"factor", "modificationFilter"})
21-
@XmlAccessorType(XmlAccessType.FIELD)
2219
public class BigIntegerMultiplyModification extends VariableModification<BigInteger> {
2320

2421
private static final int MAX_FACTOR_LENGTH = 8;

src/main/java/de/rub/nds/modifiablevariable/biginteger/BigIntegerPrependValueModification.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@
88
package de.rub.nds.modifiablevariable.biginteger;
99

1010
import de.rub.nds.modifiablevariable.VariableModification;
11-
import jakarta.xml.bind.annotation.XmlAccessType;
12-
import jakarta.xml.bind.annotation.XmlAccessorType;
1311
import jakarta.xml.bind.annotation.XmlRootElement;
1412
import jakarta.xml.bind.annotation.XmlType;
1513
import java.math.BigInteger;
@@ -18,7 +16,6 @@
1816

1917
@XmlRootElement
2018
@XmlType(propOrder = {"prependValue", "modificationFilter"})
21-
@XmlAccessorType(XmlAccessType.FIELD)
2219
public class BigIntegerPrependValueModification extends VariableModification<BigInteger> {
2320

2421
private static final int MAX_PREPEND_LENGTH = 8;

0 commit comments

Comments
 (0)