From 56fee3cf1984c856346eaa0c86456aeccb10e070 Mon Sep 17 00:00:00 2001 From: Stefan Feuerhahn Date: Tue, 6 Nov 2018 14:43:05 +0100 Subject: [PATCH] made values of BDAs volatile so they are thread save --- src/main/java/org/openmuc/openiec61850/BdaBitString.java | 2 +- src/main/java/org/openmuc/openiec61850/BdaBoolean.java | 2 +- src/main/java/org/openmuc/openiec61850/BdaEntryTime.java | 2 +- src/main/java/org/openmuc/openiec61850/BdaFloat32.java | 2 +- src/main/java/org/openmuc/openiec61850/BdaFloat64.java | 2 +- src/main/java/org/openmuc/openiec61850/BdaInt128.java | 2 +- src/main/java/org/openmuc/openiec61850/BdaInt16.java | 2 +- src/main/java/org/openmuc/openiec61850/BdaInt16U.java | 2 +- src/main/java/org/openmuc/openiec61850/BdaInt32.java | 2 +- src/main/java/org/openmuc/openiec61850/BdaInt32U.java | 2 +- src/main/java/org/openmuc/openiec61850/BdaInt64.java | 2 +- src/main/java/org/openmuc/openiec61850/BdaInt8.java | 2 +- src/main/java/org/openmuc/openiec61850/BdaInt8U.java | 2 +- src/main/java/org/openmuc/openiec61850/BdaOctetString.java | 2 +- src/main/java/org/openmuc/openiec61850/BdaTimestamp.java | 2 +- 15 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/main/java/org/openmuc/openiec61850/BdaBitString.java b/src/main/java/org/openmuc/openiec61850/BdaBitString.java index e1e1244..34217df 100644 --- a/src/main/java/org/openmuc/openiec61850/BdaBitString.java +++ b/src/main/java/org/openmuc/openiec61850/BdaBitString.java @@ -23,7 +23,7 @@ import org.openmuc.openiec61850.internal.mms.asn1.TypeDescription; abstract public class BdaBitString extends BasicDataAttribute { - byte[] value; + volatile byte[] value; final int maxNumBits; public BdaBitString(ObjectReference objectReference, Fc fc, String sAddr, int maxNumBits, boolean dchg, diff --git a/src/main/java/org/openmuc/openiec61850/BdaBoolean.java b/src/main/java/org/openmuc/openiec61850/BdaBoolean.java index 996e478..0f2189c 100644 --- a/src/main/java/org/openmuc/openiec61850/BdaBoolean.java +++ b/src/main/java/org/openmuc/openiec61850/BdaBoolean.java @@ -23,7 +23,7 @@ import org.openmuc.openiec61850.internal.mms.asn1.TypeDescription; public final class BdaBoolean extends BasicDataAttribute { - private boolean value; + volatile private boolean value; public BdaBoolean(ObjectReference objectReference, Fc fc, String sAddr, boolean dchg, boolean dupd) { super(objectReference, fc, sAddr, dchg, dupd); diff --git a/src/main/java/org/openmuc/openiec61850/BdaEntryTime.java b/src/main/java/org/openmuc/openiec61850/BdaEntryTime.java index f34ba7b..4fad5c1 100644 --- a/src/main/java/org/openmuc/openiec61850/BdaEntryTime.java +++ b/src/main/java/org/openmuc/openiec61850/BdaEntryTime.java @@ -30,7 +30,7 @@ import org.openmuc.openiec61850.internal.mms.asn1.TypeDescription; */ public final class BdaEntryTime extends BasicDataAttribute { - private byte[] value; + volatile private byte[] value; public BdaEntryTime(ObjectReference objectReference, Fc fc, String sAddr, boolean dchg, boolean dupd) { super(objectReference, fc, sAddr, dchg, dupd); diff --git a/src/main/java/org/openmuc/openiec61850/BdaFloat32.java b/src/main/java/org/openmuc/openiec61850/BdaFloat32.java index 451d74d..b96e146 100644 --- a/src/main/java/org/openmuc/openiec61850/BdaFloat32.java +++ b/src/main/java/org/openmuc/openiec61850/BdaFloat32.java @@ -25,7 +25,7 @@ import org.openmuc.openiec61850.internal.mms.asn1.Unsigned8; public final class BdaFloat32 extends BasicDataAttribute { - private byte[] value; + volatile private byte[] value; public BdaFloat32(ObjectReference objectReference, Fc fc, String sAddr, boolean dchg, boolean dupd) { super(objectReference, fc, sAddr, dchg, dupd); diff --git a/src/main/java/org/openmuc/openiec61850/BdaFloat64.java b/src/main/java/org/openmuc/openiec61850/BdaFloat64.java index 580672f..e5637b3 100644 --- a/src/main/java/org/openmuc/openiec61850/BdaFloat64.java +++ b/src/main/java/org/openmuc/openiec61850/BdaFloat64.java @@ -25,7 +25,7 @@ import org.openmuc.openiec61850.internal.mms.asn1.Unsigned8; public final class BdaFloat64 extends BasicDataAttribute { - private byte[] value = new byte[] { 11, 0, 0, 0, 0, 0, 0, 0, 0 }; + volatile private byte[] value = new byte[] { 11, 0, 0, 0, 0, 0, 0, 0, 0 }; public BdaFloat64(ObjectReference objectReference, Fc fc, String sAddr, boolean dchg, boolean dupd) { super(objectReference, fc, sAddr, dchg, dupd); diff --git a/src/main/java/org/openmuc/openiec61850/BdaInt128.java b/src/main/java/org/openmuc/openiec61850/BdaInt128.java index 489577f..3b59c0d 100644 --- a/src/main/java/org/openmuc/openiec61850/BdaInt128.java +++ b/src/main/java/org/openmuc/openiec61850/BdaInt128.java @@ -23,7 +23,7 @@ import org.openmuc.openiec61850.internal.mms.asn1.Unsigned8; public final class BdaInt128 extends BasicDataAttribute { - private long value; + volatile private long value; public BdaInt128(ObjectReference objectReference, Fc fc, String sAddr, boolean dchg, boolean dupd) { super(objectReference, fc, sAddr, dchg, dupd); diff --git a/src/main/java/org/openmuc/openiec61850/BdaInt16.java b/src/main/java/org/openmuc/openiec61850/BdaInt16.java index 4e15123..c14d44b 100644 --- a/src/main/java/org/openmuc/openiec61850/BdaInt16.java +++ b/src/main/java/org/openmuc/openiec61850/BdaInt16.java @@ -23,7 +23,7 @@ import org.openmuc.openiec61850.internal.mms.asn1.Unsigned8; public final class BdaInt16 extends BasicDataAttribute { - private short value; + volatile private short value; public BdaInt16(ObjectReference objectReference, Fc fc, String sAddr, boolean dchg, boolean dupd) { super(objectReference, fc, sAddr, dchg, dupd); diff --git a/src/main/java/org/openmuc/openiec61850/BdaInt16U.java b/src/main/java/org/openmuc/openiec61850/BdaInt16U.java index 2b2508d..ac1bf22 100644 --- a/src/main/java/org/openmuc/openiec61850/BdaInt16U.java +++ b/src/main/java/org/openmuc/openiec61850/BdaInt16U.java @@ -23,7 +23,7 @@ import org.openmuc.openiec61850.internal.mms.asn1.Unsigned8; public final class BdaInt16U extends BasicDataAttribute { - private int value; + volatile private int value; public BdaInt16U(ObjectReference objectReference, Fc fc, String sAddr, boolean dchg, boolean dupd) { super(objectReference, fc, sAddr, dchg, dupd); diff --git a/src/main/java/org/openmuc/openiec61850/BdaInt32.java b/src/main/java/org/openmuc/openiec61850/BdaInt32.java index 2ee7b5b..c9ebec7 100644 --- a/src/main/java/org/openmuc/openiec61850/BdaInt32.java +++ b/src/main/java/org/openmuc/openiec61850/BdaInt32.java @@ -23,7 +23,7 @@ import org.openmuc.openiec61850.internal.mms.asn1.Unsigned8; public final class BdaInt32 extends BasicDataAttribute { - private int value; + volatile private int value; public BdaInt32(ObjectReference objectReference, Fc fc, String sAddr, boolean dchg, boolean dupd) { super(objectReference, fc, sAddr, dchg, dupd); diff --git a/src/main/java/org/openmuc/openiec61850/BdaInt32U.java b/src/main/java/org/openmuc/openiec61850/BdaInt32U.java index 956a75d..7f84330 100644 --- a/src/main/java/org/openmuc/openiec61850/BdaInt32U.java +++ b/src/main/java/org/openmuc/openiec61850/BdaInt32U.java @@ -23,7 +23,7 @@ import org.openmuc.openiec61850.internal.mms.asn1.Unsigned8; public final class BdaInt32U extends BasicDataAttribute { - private long value; + volatile private long value; public BdaInt32U(ObjectReference objectReference, Fc fc, String sAddr, boolean dchg, boolean dupd) { super(objectReference, fc, sAddr, dchg, dupd); diff --git a/src/main/java/org/openmuc/openiec61850/BdaInt64.java b/src/main/java/org/openmuc/openiec61850/BdaInt64.java index d1b2eea..c8669f7 100644 --- a/src/main/java/org/openmuc/openiec61850/BdaInt64.java +++ b/src/main/java/org/openmuc/openiec61850/BdaInt64.java @@ -23,7 +23,7 @@ import org.openmuc.openiec61850.internal.mms.asn1.Unsigned8; public final class BdaInt64 extends BasicDataAttribute { - private long value; + volatile private long value; public BdaInt64(ObjectReference objectReference, Fc fc, String sAddr, boolean dchg, boolean dupd) { super(objectReference, fc, sAddr, dchg, dupd); diff --git a/src/main/java/org/openmuc/openiec61850/BdaInt8.java b/src/main/java/org/openmuc/openiec61850/BdaInt8.java index 81f833a..44234fe 100644 --- a/src/main/java/org/openmuc/openiec61850/BdaInt8.java +++ b/src/main/java/org/openmuc/openiec61850/BdaInt8.java @@ -23,7 +23,7 @@ import org.openmuc.openiec61850.internal.mms.asn1.Unsigned8; public final class BdaInt8 extends BasicDataAttribute { - private byte value; + volatile private byte value; public BdaInt8(ObjectReference objectReference, Fc fc, String sAddr, boolean dchg, boolean dupd) { super(objectReference, fc, sAddr, dchg, dupd); diff --git a/src/main/java/org/openmuc/openiec61850/BdaInt8U.java b/src/main/java/org/openmuc/openiec61850/BdaInt8U.java index 5f94a38..e313de3 100644 --- a/src/main/java/org/openmuc/openiec61850/BdaInt8U.java +++ b/src/main/java/org/openmuc/openiec61850/BdaInt8U.java @@ -23,7 +23,7 @@ import org.openmuc.openiec61850.internal.mms.asn1.Unsigned8; public final class BdaInt8U extends BasicDataAttribute { - private short value; + volatile private short value; public BdaInt8U(ObjectReference objectReference, Fc fc, String sAddr, boolean dchg, boolean dupd) { super(objectReference, fc, sAddr, dchg, dupd); diff --git a/src/main/java/org/openmuc/openiec61850/BdaOctetString.java b/src/main/java/org/openmuc/openiec61850/BdaOctetString.java index 91232a0..bab086e 100644 --- a/src/main/java/org/openmuc/openiec61850/BdaOctetString.java +++ b/src/main/java/org/openmuc/openiec61850/BdaOctetString.java @@ -25,7 +25,7 @@ import org.openmuc.openiec61850.internal.mms.asn1.TypeDescription; public final class BdaOctetString extends BasicDataAttribute { - private byte[] value; + volatile private byte[] value; private final int maxLength; public BdaOctetString(ObjectReference objectReference, Fc fc, String sAddr, int maxLength, boolean dchg, diff --git a/src/main/java/org/openmuc/openiec61850/BdaTimestamp.java b/src/main/java/org/openmuc/openiec61850/BdaTimestamp.java index 782dfed..db6c7c0 100644 --- a/src/main/java/org/openmuc/openiec61850/BdaTimestamp.java +++ b/src/main/java/org/openmuc/openiec61850/BdaTimestamp.java @@ -26,7 +26,7 @@ import org.openmuc.openiec61850.internal.mms.asn1.UtcTime; public final class BdaTimestamp extends BasicDataAttribute { - private byte[] value; + volatile private byte[] value; public BdaTimestamp(ObjectReference objectReference, Fc fc, String sAddr, boolean dchg, boolean dupd) { super(objectReference, fc, sAddr, dchg, dupd);