This is an automated email from the ASF dual-hosted git repository.

robbie pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git


The following commit(s) were added to refs/heads/main by this push:
     new cd8a2e5c49 ARTEMIS-4396 make address/queue internal prop durable
cd8a2e5c49 is described below

commit cd8a2e5c4996ab3240c96d6358a50472c158b071
Author: Justin Bertram <[email protected]>
AuthorDate: Tue Aug 29 11:53:12 2023 -0500

    ARTEMIS-4396 make address/queue internal prop durable
---
 .../api/config/ActiveMQDefaultConfiguration.java   |   6 +
 .../core/persistence/AddressBindingInfo.java       |   4 +-
 .../artemis/core/persistence/QueueBindingInfo.java |   2 +
 .../journal/AbstractJournalStorageManager.java     |   4 +-
 .../codec/PersistentAddressBindingEncoding.java    |  36 ++++--
 .../codec/PersistentQueueBindingEncoding.java      | 141 ++++++++++-----------
 .../core/server/impl/PostOfficeJournalLoader.java  |   2 +-
 .../impl/journal/AddressBindingEncodingTest.java   |   9 +-
 .../impl/journal/QueueBindingEncodingTest.java     |   7 +-
 9 files changed, 120 insertions(+), 91 deletions(-)

diff --git 
a/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/config/ActiveMQDefaultConfiguration.java
 
b/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/config/ActiveMQDefaultConfiguration.java
index 8d45586f5b..66231cfbb6 100644
--- 
a/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/config/ActiveMQDefaultConfiguration.java
+++ 
b/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/config/ActiveMQDefaultConfiguration.java
@@ -540,6 +540,8 @@ public final class ActiveMQDefaultConfiguration {
 
    public static final boolean DEFAULT_ENABLED = true;
 
+   public static final boolean DEFAULT_INTERNAL = false;
+
    public static final boolean DEFAULT_QUEUE_AUTO_DELETE = true;
 
    public static final boolean DEFAULT_CREATED_QUEUE_AUTO_DELETE = false;
@@ -1573,6 +1575,10 @@ public final class ActiveMQDefaultConfiguration {
       return DEFAULT_ENABLED;
    }
 
+   public static boolean getDefaultInternal() {
+      return DEFAULT_INTERNAL;
+   }
+
    public static boolean getDefaultQueueAutoDelete(boolean autoCreated) {
       return autoCreated ? getDefaultQueueAutoDelete() : 
getDefaultCreatedQueueAutoDelete();
    }
diff --git 
a/artemis-server/src/main/java/org/apache/activemq/artemis/core/persistence/AddressBindingInfo.java
 
b/artemis-server/src/main/java/org/apache/activemq/artemis/core/persistence/AddressBindingInfo.java
index e56e286e79..2e99b785c2 100644
--- 
a/artemis-server/src/main/java/org/apache/activemq/artemis/core/persistence/AddressBindingInfo.java
+++ 
b/artemis-server/src/main/java/org/apache/activemq/artemis/core/persistence/AddressBindingInfo.java
@@ -28,9 +28,11 @@ public interface AddressBindingInfo {
 
    SimpleString getName();
 
-   boolean getAutoCreated();
+   boolean isAutoCreated();
 
    EnumSet<RoutingType> getRoutingTypes();
 
    AddressStatusEncoding getAddressStatusEncoding();
+
+   boolean isInternal();
 }
diff --git 
a/artemis-server/src/main/java/org/apache/activemq/artemis/core/persistence/QueueBindingInfo.java
 
b/artemis-server/src/main/java/org/apache/activemq/artemis/core/persistence/QueueBindingInfo.java
index 9d3c96f797..a3d5198b1d 100644
--- 
a/artemis-server/src/main/java/org/apache/activemq/artemis/core/persistence/QueueBindingInfo.java
+++ 
b/artemis-server/src/main/java/org/apache/activemq/artemis/core/persistence/QueueBindingInfo.java
@@ -105,4 +105,6 @@ public interface QueueBindingInfo {
    long getAutoDeleteMessageCount();
 
    long getRingSize();
+
+   boolean isInternal();
 }
diff --git 
a/artemis-server/src/main/java/org/apache/activemq/artemis/core/persistence/impl/journal/AbstractJournalStorageManager.java
 
b/artemis-server/src/main/java/org/apache/activemq/artemis/core/persistence/impl/journal/AbstractJournalStorageManager.java
index 25429d6b74..9a4d8533f0 100644
--- 
a/artemis-server/src/main/java/org/apache/activemq/artemis/core/persistence/impl/journal/AbstractJournalStorageManager.java
+++ 
b/artemis-server/src/main/java/org/apache/activemq/artemis/core/persistence/impl/journal/AbstractJournalStorageManager.java
@@ -1450,7 +1450,7 @@ public abstract class AbstractJournalStorageManager 
extends CriticalComponentImp
 
       SimpleString filterString = filter == null ? null : 
filter.getFilterString();
 
-      PersistentQueueBindingEncoding bindingEncoding = new 
PersistentQueueBindingEncoding(queue.getName(), binding.getAddress(), 
filterString, queue.getUser(), queue.isAutoCreated(), queue.getMaxConsumers(), 
queue.isPurgeOnNoConsumers(), queue.isEnabled(), queue.isExclusive(), 
queue.isGroupRebalance(), queue.isGroupRebalancePauseDispatch(), 
queue.getGroupBuckets(), queue.getGroupFirstKey(), queue.isLastValue(), 
queue.getLastValueKey(), queue.isNonDestructive(), queue.getConsumersBeforeDi 
[...]
+      PersistentQueueBindingEncoding bindingEncoding = new 
PersistentQueueBindingEncoding(queue.getName(), binding.getAddress(), 
filterString, queue.getUser(), queue.isAutoCreated(), queue.getMaxConsumers(), 
queue.isPurgeOnNoConsumers(), queue.isEnabled(), queue.isExclusive(), 
queue.isGroupRebalance(), queue.isGroupRebalancePauseDispatch(), 
queue.getGroupBuckets(), queue.getGroupFirstKey(), queue.isLastValue(), 
queue.getLastValueKey(), queue.isNonDestructive(), queue.getConsumersBeforeDi 
[...]
 
       try (ArtemisCloseable lock = closeableReadLock()) {
          if (update) {
@@ -1506,7 +1506,7 @@ public abstract class AbstractJournalStorageManager 
extends CriticalComponentImp
 
    @Override
    public void addAddressBinding(final long tx, final AddressInfo addressInfo) 
throws Exception {
-      PersistentAddressBindingEncoding bindingEncoding = new 
PersistentAddressBindingEncoding(addressInfo.getName(), 
addressInfo.getRoutingTypes(), addressInfo.isAutoCreated());
+      PersistentAddressBindingEncoding bindingEncoding = new 
PersistentAddressBindingEncoding(addressInfo.getName(), 
addressInfo.getRoutingTypes(), addressInfo.isAutoCreated(), 
addressInfo.isInternal());
 
       try (ArtemisCloseable lock = closeableReadLock()) {
          long recordID = idGenerator.generateID();
diff --git 
a/artemis-server/src/main/java/org/apache/activemq/artemis/core/persistence/impl/journal/codec/PersistentAddressBindingEncoding.java
 
b/artemis-server/src/main/java/org/apache/activemq/artemis/core/persistence/impl/journal/codec/PersistentAddressBindingEncoding.java
index fdd74a22d1..c69eac36d8 100644
--- 
a/artemis-server/src/main/java/org/apache/activemq/artemis/core/persistence/impl/journal/codec/PersistentAddressBindingEncoding.java
+++ 
b/artemis-server/src/main/java/org/apache/activemq/artemis/core/persistence/impl/journal/codec/PersistentAddressBindingEncoding.java
@@ -18,6 +18,7 @@ package 
org.apache.activemq.artemis.core.persistence.impl.journal.codec;
 
 import java.util.EnumSet;
 
+import org.apache.activemq.artemis.api.config.ActiveMQDefaultConfiguration;
 import org.apache.activemq.artemis.api.core.ActiveMQBuffer;
 import org.apache.activemq.artemis.api.core.SimpleString;
 import org.apache.activemq.artemis.core.journal.EncodingSupport;
@@ -29,14 +30,17 @@ import static 
org.apache.activemq.artemis.utils.Preconditions.checkNotNull;
 
 public class PersistentAddressBindingEncoding implements EncodingSupport, 
AddressBindingInfo {
 
-   public long id;
+   private long id;
 
-   public SimpleString name;
+   private SimpleString name;
 
-   public boolean autoCreated;
-   public AddressStatusEncoding addressStatusEncoding;
+   private boolean autoCreated;
 
-   public EnumSet<RoutingType> routingTypes;
+   private AddressStatusEncoding addressStatusEncoding;
+
+   private EnumSet<RoutingType> routingTypes;
+
+   private boolean internal;
 
    public PersistentAddressBindingEncoding() {
       routingTypes = EnumSet.noneOf(RoutingType.class);
@@ -54,19 +58,22 @@ public class PersistentAddressBindingEncoding implements 
EncodingSupport, Addres
          sb.deleteCharAt(sb.length() - 1);
       }
       sb.append("}");
-      sb.append(", autoCreated=" + autoCreated + "]");
+      sb.append(", autoCreated=" + autoCreated);
+      sb.append(", internal=" + internal + "]");
       return sb.toString();
    }
 
    public PersistentAddressBindingEncoding(final SimpleString name,
                                            final EnumSet<RoutingType> 
routingTypes,
-                                           final boolean autoCreated) {
+                                           final boolean autoCreated,
+                                           final boolean internal) {
       checkNotNull(name);
       checkNotNull(routingTypes);
 
       this.name = name;
       this.routingTypes = routingTypes;
       this.autoCreated = autoCreated;
+      this.internal = internal;
    }
 
    @Override
@@ -84,7 +91,7 @@ public class PersistentAddressBindingEncoding implements 
EncodingSupport, Addres
    }
 
    @Override
-   public boolean getAutoCreated() {
+   public boolean isAutoCreated() {
       return autoCreated;
    }
 
@@ -102,6 +109,11 @@ public class PersistentAddressBindingEncoding implements 
EncodingSupport, Addres
       this.addressStatusEncoding = addressStatusEncoding;
    }
 
+   @Override
+   public boolean isInternal() {
+      return internal;
+   }
+
    @Override
    public void decode(final ActiveMQBuffer buffer) {
       name = buffer.readSimpleString();
@@ -110,6 +122,12 @@ public class PersistentAddressBindingEncoding implements 
EncodingSupport, Addres
          routingTypes.add(RoutingType.getType(buffer.readByte()));
       }
       autoCreated = buffer.readBoolean();
+
+      if (buffer.readableBytes() > 0) {
+         internal = buffer.readBoolean();
+      } else {
+         internal = ActiveMQDefaultConfiguration.getDefaultInternal();
+      }
    }
 
    @Override
@@ -120,6 +138,7 @@ public class PersistentAddressBindingEncoding implements 
EncodingSupport, Addres
          buffer.writeByte(d.getType());
       }
       buffer.writeBoolean(autoCreated);
+      buffer.writeBoolean(internal);
    }
 
    @Override
@@ -127,6 +146,7 @@ public class PersistentAddressBindingEncoding implements 
EncodingSupport, Addres
       return SimpleString.sizeofString(name) +
          DataConstants.SIZE_INT +
          (DataConstants.SIZE_BYTE * routingTypes.size()) +
+         DataConstants.SIZE_BOOLEAN +
          DataConstants.SIZE_BOOLEAN;
    }
 }
diff --git 
a/artemis-server/src/main/java/org/apache/activemq/artemis/core/persistence/impl/journal/codec/PersistentQueueBindingEncoding.java
 
b/artemis-server/src/main/java/org/apache/activemq/artemis/core/persistence/impl/journal/codec/PersistentQueueBindingEncoding.java
index 1dc7b119fe..c9f55dcc99 100644
--- 
a/artemis-server/src/main/java/org/apache/activemq/artemis/core/persistence/impl/journal/codec/PersistentQueueBindingEncoding.java
+++ 
b/artemis-server/src/main/java/org/apache/activemq/artemis/core/persistence/impl/journal/codec/PersistentQueueBindingEncoding.java
@@ -28,57 +28,59 @@ import org.apache.activemq.artemis.utils.DataConstants;
 
 public class PersistentQueueBindingEncoding implements EncodingSupport, 
QueueBindingInfo {
 
-   public long id;
+   private long id;
 
-   public SimpleString name;
+   private SimpleString name;
 
-   public SimpleString address;
+   private SimpleString address;
 
-   public SimpleString filterString;
+   private SimpleString filterString;
 
-   public boolean autoCreated;
+   private boolean autoCreated;
 
-   public SimpleString user;
+   private SimpleString user;
 
-   public List<QueueStatusEncoding> queueStatusEncodings;
+   private List<QueueStatusEncoding> queueStatusEncodings;
 
-   public int maxConsumers;
+   private int maxConsumers;
 
-   public boolean purgeOnNoConsumers;
+   private boolean purgeOnNoConsumers;
 
-   public boolean enabled;
+   private boolean enabled;
 
-   public boolean exclusive;
+   private boolean exclusive;
 
-   public boolean lastValue;
+   private boolean lastValue;
 
-   public SimpleString lastValueKey;
+   private SimpleString lastValueKey;
 
-   public boolean nonDestructive;
+   private boolean nonDestructive;
 
-   public int consumersBeforeDispatch;
+   private int consumersBeforeDispatch;
 
-   public long delayBeforeDispatch;
+   private long delayBeforeDispatch;
 
-   public byte routingType;
+   private byte routingType;
 
-   public boolean configurationManaged;
+   private boolean configurationManaged;
 
-   public boolean groupRebalance;
+   private boolean groupRebalance;
 
-   public boolean groupRebalancePauseDispatch;
+   private boolean groupRebalancePauseDispatch;
 
-   public int groupBuckets;
+   private int groupBuckets;
 
-   public SimpleString groupFirstKey;
+   private SimpleString groupFirstKey;
 
-   public boolean autoDelete;
+   private boolean autoDelete;
 
-   public long autoDeleteDelay;
+   private long autoDeleteDelay;
 
-   public long autoDeleteMessageCount;
+   private long autoDeleteMessageCount;
 
-   public long ringSize;
+   private long ringSize;
+
+   private boolean internal;
 
    public PersistentQueueBindingEncoding() {
    }
@@ -86,52 +88,30 @@ public class PersistentQueueBindingEncoding implements 
EncodingSupport, QueueBin
    @Override
    public String toString() {
       return "PersistentQueueBindingEncoding [id=" + id +
-         ", name=" +
-         name +
-         ", address=" +
-         address +
-         ", filterString=" +
-         filterString +
-         ", user=" +
-         user +
-         ", autoCreated=" +
-         autoCreated +
-         ", maxConsumers=" +
-         maxConsumers +
-         ", purgeOnNoConsumers=" +
-         purgeOnNoConsumers +
-         ", enabled=" +
-         enabled +
-         ", exclusive=" +
-         exclusive +
-         ", lastValue=" +
-         lastValue +
-         ", lastValueKey=" +
-         lastValueKey +
-         ", nonDestructive=" +
-         nonDestructive +
-         ", consumersBeforeDispatch=" +
-         consumersBeforeDispatch +
-         ", delayBeforeDispatch=" +
-         delayBeforeDispatch +
-         ", routingType=" +
-         routingType +
-         ", configurationManaged=" +
-         configurationManaged +
-         ", groupRebalance=" +
-         groupRebalance +
-         ", groupRebalancePauseDispatch=" +
-         groupRebalancePauseDispatch +
-         ", groupBuckets=" +
-         groupBuckets +
-         ", groupFirstKey=" +
-         groupFirstKey +
-         ", autoDelete=" +
-         autoDelete +
-         ", autoDeleteDelay=" +
-         autoDeleteDelay +
-         ", autoDeleteMessageCount=" +
-         autoDeleteMessageCount +
+         ", name=" + name +
+         ", address=" + address +
+         ", filterString=" + filterString +
+         ", user=" + user +
+         ", autoCreated=" + autoCreated +
+         ", maxConsumers=" + maxConsumers +
+         ", purgeOnNoConsumers=" + purgeOnNoConsumers +
+         ", enabled=" + enabled +
+         ", exclusive=" + exclusive +
+         ", lastValue=" + lastValue +
+         ", lastValueKey=" + lastValueKey +
+         ", nonDestructive=" + nonDestructive +
+         ", consumersBeforeDispatch=" + consumersBeforeDispatch +
+         ", delayBeforeDispatch=" + delayBeforeDispatch +
+         ", routingType=" + routingType +
+         ", configurationManaged=" + configurationManaged +
+         ", groupRebalance=" + groupRebalance +
+         ", groupRebalancePauseDispatch=" + groupRebalancePauseDispatch +
+         ", groupBuckets=" + groupBuckets +
+         ", groupFirstKey=" + groupFirstKey +
+         ", autoDelete=" + autoDelete +
+         ", autoDeleteDelay=" + autoDeleteDelay +
+         ", autoDeleteMessageCount=" + autoDeleteMessageCount +
+         ", internal=" + internal +
          "]";
    }
 
@@ -158,7 +138,8 @@ public class PersistentQueueBindingEncoding implements 
EncodingSupport, QueueBin
                                          final long autoDeleteMessageCount,
                                          final byte routingType,
                                          final boolean configurationManaged,
-                                         final long ringSize) {
+                                         final long ringSize,
+                                         final boolean internal) {
       this.name = name;
       this.address = address;
       this.filterString = filterString;
@@ -183,6 +164,7 @@ public class PersistentQueueBindingEncoding implements 
EncodingSupport, QueueBin
       this.routingType = routingType;
       this.configurationManaged = configurationManaged;
       this.ringSize = ringSize;
+      this.internal = internal;
    }
 
    @Override
@@ -387,6 +369,11 @@ public class PersistentQueueBindingEncoding implements 
EncodingSupport, QueueBin
       return ringSize;
    }
 
+   @Override
+   public boolean isInternal() {
+      return internal;
+   }
+
    @Override
    public void decode(final ActiveMQBuffer buffer) {
       name = buffer.readSimpleString();
@@ -499,6 +486,12 @@ public class PersistentQueueBindingEncoding implements 
EncodingSupport, QueueBin
       } else {
          groupRebalancePauseDispatch = 
ActiveMQDefaultConfiguration.getDefaultGroupRebalancePauseDispatch();
       }
+
+      if (buffer.readableBytes() > 0) {
+         internal = buffer.readBoolean();
+      } else {
+         internal = ActiveMQDefaultConfiguration.getDefaultInternal();
+      }
    }
 
    @Override
@@ -527,6 +520,7 @@ public class PersistentQueueBindingEncoding implements 
EncodingSupport, QueueBin
       buffer.writeLong(ringSize);
       buffer.writeBoolean(enabled);
       buffer.writeBoolean(groupRebalancePauseDispatch);
+      buffer.writeBoolean(internal);
    }
 
    @Override
@@ -552,6 +546,7 @@ public class PersistentQueueBindingEncoding implements 
EncodingSupport, QueueBin
          SimpleString.sizeofNullableString(groupFirstKey) +
          DataConstants.SIZE_LONG +
          DataConstants.SIZE_BOOLEAN +
+         DataConstants.SIZE_BOOLEAN +
          DataConstants.SIZE_BOOLEAN;
    }
 
diff --git 
a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/PostOfficeJournalLoader.java
 
b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/PostOfficeJournalLoader.java
index 94569f89c2..3dbb426c7b 100644
--- 
a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/PostOfficeJournalLoader.java
+++ 
b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/PostOfficeJournalLoader.java
@@ -187,7 +187,7 @@ public class PostOfficeJournalLoader implements 
JournalLoader {
       for (AddressBindingInfo addressBindingInfo : addressBindingInfos) {
          AddressInfo addressInfo = new 
AddressInfo(addressBindingInfo.getName()).setRoutingTypes(addressBindingInfo.getRoutingTypes());
          addressInfo.setId(addressBindingInfo.getId());
-         addressInfo.setAutoCreated(addressBindingInfo.getAutoCreated());
+         addressInfo.setAutoCreated(addressBindingInfo.isAutoCreated());
          if (addressBindingInfo.getAddressStatusEncoding() != null && 
addressBindingInfo.getAddressStatusEncoding().getStatus() == 
AddressQueueStatus.PAUSED) {
             addressInfo.setStorageManager(storageManager);
             addressInfo.setPostOffice(postOffice);
diff --git 
a/artemis-server/src/test/java/org/apache/activemq/artemis/core/persistence/impl/journal/AddressBindingEncodingTest.java
 
b/artemis-server/src/test/java/org/apache/activemq/artemis/core/persistence/impl/journal/AddressBindingEncodingTest.java
index d2073b110d..87eed08604 100644
--- 
a/artemis-server/src/test/java/org/apache/activemq/artemis/core/persistence/impl/journal/AddressBindingEncodingTest.java
+++ 
b/artemis-server/src/test/java/org/apache/activemq/artemis/core/persistence/impl/journal/AddressBindingEncodingTest.java
@@ -34,10 +34,12 @@ public class AddressBindingEncodingTest extends Assert {
       final SimpleString name = RandomUtil.randomSimpleString();
       final boolean autoCreated = RandomUtil.randomBoolean();
       final EnumSet<RoutingType> routingTypes = 
EnumSet.of(RoutingType.ANYCAST, RoutingType.MULTICAST);
+      final boolean internal = RandomUtil.randomBoolean();
 
       PersistentAddressBindingEncoding encoding = new 
PersistentAddressBindingEncoding(name,
                                                                                
        routingTypes,
-                                                                               
        autoCreated);
+                                                                               
        autoCreated,
+                                                                               
        internal);
       int size = encoding.getEncodeSize();
       ActiveMQBuffer encodedBuffer = ActiveMQBuffers.fixedBuffer(size);
       encoding.encode(encodedBuffer);
@@ -46,7 +48,8 @@ public class AddressBindingEncodingTest extends Assert {
       decoding.decode(encodedBuffer);
 
       assertEquals(name, decoding.getName());
-      assertEquals(autoCreated, decoding.autoCreated);
-      assertEquals(routingTypes, decoding.routingTypes);
+      assertEquals(autoCreated, decoding.isAutoCreated());
+      assertEquals(routingTypes, decoding.getRoutingTypes());
+      assertEquals(internal, decoding.isInternal());
    }
 }
diff --git 
a/artemis-server/src/test/java/org/apache/activemq/artemis/core/persistence/impl/journal/QueueBindingEncodingTest.java
 
b/artemis-server/src/test/java/org/apache/activemq/artemis/core/persistence/impl/journal/QueueBindingEncodingTest.java
index 56c04ce6df..209c6cbd28 100644
--- 
a/artemis-server/src/test/java/org/apache/activemq/artemis/core/persistence/impl/journal/QueueBindingEncodingTest.java
+++ 
b/artemis-server/src/test/java/org/apache/activemq/artemis/core/persistence/impl/journal/QueueBindingEncodingTest.java
@@ -52,6 +52,7 @@ public class QueueBindingEncodingTest extends Assert {
       final long ringSize = RandomUtil.randomLong();
       final boolean enabled = RandomUtil.randomBoolean();
       final boolean groupRebalancePauseDispatch = RandomUtil.randomBoolean();
+      final boolean internal = RandomUtil.randomBoolean();
 
       PersistentQueueBindingEncoding encoding = new 
PersistentQueueBindingEncoding(name,
                                                                                
    address,
@@ -76,7 +77,8 @@ public class QueueBindingEncodingTest extends Assert {
                                                                                
    autoDeleteMessageCount,
                                                                                
    routingType,
                                                                                
    configurationManaged,
-                                                                               
    ringSize);
+                                                                               
    ringSize,
+                                                                               
    internal);
       int size = encoding.getEncodeSize();
       ActiveMQBuffer encodedBuffer = ActiveMQBuffers.fixedBuffer(size);
       encoding.encode(encodedBuffer);
@@ -107,8 +109,7 @@ public class QueueBindingEncodingTest extends Assert {
       assertEquals(routingType, decoding.getRoutingType());
       assertEquals(configurationManaged, decoding.isConfigurationManaged());
       assertEquals(ringSize, decoding.getRingSize());
-
       assertEquals(groupRebalancePauseDispatch, 
decoding.isGroupRebalancePauseDispatch());
-
+      assertEquals(internal, decoding.isInternal());
    }
 }

Reply via email to