Merge into master from pull request #204:
java_gen: Return copies of byte arrays in getBytes LOXI-58 (https://github.com/floodlight/loxigen/pull/204)
diff --git a/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/IPv4Address.java b/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/IPv4Address.java
index a9da637..43a7a17 100644
--- a/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/IPv4Address.java
+++ b/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/IPv4Address.java
@@ -1,5 +1,7 @@
package org.projectfloodlight.openflow.types;
+import java.util.Arrays;
+
import org.jboss.netty.buffer.ChannelBuffer;
import com.google.common.hash.PrimitiveSink;
@@ -119,7 +121,7 @@
return rawValue;
}
- volatile byte[] bytesCache = null;
+ private volatile byte[] bytesCache = null;
public byte[] getBytes() {
if (bytesCache == null) {
@@ -133,7 +135,7 @@
}
}
}
- return bytesCache;
+ return Arrays.copyOf(bytesCache, bytesCache.length);
}
@Override
diff --git a/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/IPv6Address.java b/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/IPv6Address.java
index 4e7b856..c9dea13 100644
--- a/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/IPv6Address.java
+++ b/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/IPv6Address.java
@@ -1,9 +1,11 @@
package org.projectfloodlight.openflow.types;
+import java.util.Arrays;
import java.util.regex.Pattern;
import org.jboss.netty.buffer.ChannelBuffer;
import org.projectfloodlight.openflow.exceptions.OFParseError;
+
import com.google.common.hash.PrimitiveSink;
import com.google.common.primitives.Longs;
@@ -201,7 +203,7 @@
return new IPv6Address(raw1, raw2);
}
- volatile byte[] bytesCache = null;
+ private volatile byte[] bytesCache = null;
public byte[] getBytes() {
if (bytesCache == null) {
@@ -228,7 +230,7 @@
}
}
}
- return bytesCache;
+ return Arrays.copyOf(bytesCache, bytesCache.length);
}
@Override
diff --git a/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/MacAddress.java b/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/MacAddress.java
index 27d5b66..f592ea8 100644
--- a/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/MacAddress.java
+++ b/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/MacAddress.java
@@ -1,5 +1,7 @@
package org.projectfloodlight.openflow.types;
+import java.util.Arrays;
+
import org.jboss.netty.buffer.ChannelBuffer;
import org.projectfloodlight.openflow.exceptions.OFParseError;
import org.projectfloodlight.openflow.util.HexString;
@@ -79,7 +81,7 @@
return MacAddress.of(raw);
}
- volatile byte[] bytesCache = null;
+ private volatile byte[] bytesCache = null;
public byte[] getBytes() {
if (bytesCache == null) {
@@ -95,7 +97,7 @@
}
}
}
- return bytesCache;
+ return Arrays.copyOf(bytesCache, bytesCache.length);
}
/**
diff --git a/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/OFVlanVidMatch.java b/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/OFVlanVidMatch.java
index fddaa5d..0fae3e6 100644
--- a/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/OFVlanVidMatch.java
+++ b/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/OFVlanVidMatch.java
@@ -1,5 +1,7 @@
package org.projectfloodlight.openflow.types;
+import java.util.Arrays;
+
import javax.annotation.Nullable;
import org.jboss.netty.buffer.ChannelBuffer;
@@ -143,7 +145,7 @@
}
- volatile byte[] bytesCache = null;
+ private volatile byte[] bytesCache = null;
public byte[] getBytes() {
if (bytesCache == null) {
@@ -155,7 +157,7 @@
}
}
}
- return bytesCache;
+ return Arrays.copyOf(bytesCache, bytesCache.length);
}
public void write2Bytes(ChannelBuffer c) {
diff --git a/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/VlanVid.java b/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/VlanVid.java
index 8337eb6..2e675d4 100644
--- a/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/VlanVid.java
+++ b/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/VlanVid.java
@@ -1,5 +1,7 @@
package org.projectfloodlight.openflow.types;
+import java.util.Arrays;
+
import org.jboss.netty.buffer.ChannelBuffer;
import org.projectfloodlight.openflow.exceptions.OFParseError;
@@ -67,7 +69,7 @@
return LENGTH;
}
- volatile byte[] bytesCache = null;
+ private volatile byte[] bytesCache = null;
public byte[] getBytes() {
if (bytesCache == null) {
@@ -79,7 +81,7 @@
}
}
}
- return bytesCache;
+ return Arrays.copyOf(bytesCache, bytesCache.length);
}
public void write2Bytes(ChannelBuffer c) {