From 45ac3bc487970f736807700e29c7e81aa77eaf2b Mon Sep 17 00:00:00 2001 From: brutzman <brutzman@nps.edu> Date: Sat, 22 Jan 2022 14:28:35 -0800 Subject: [PATCH] fix error when clearing StringBuilder that leads to NPE --- .../nps/moves/dis7/pdus/ActionRequestPdu.java | 6 +- .../moves/dis7/pdus/ActionRequestRPdu.java | 6 +- .../moves/dis7/pdus/ActionResponsePdu.java | 6 +- .../moves/dis7/pdus/ActionResponseRPdu.java | 6 +- .../moves/dis7/pdus/AggregateStatePdu.java | 15 +- .../moves/dis7/pdus/ArealObjectStatePdu.java | 3 +- .../moves/dis7/pdus/ArticulatedPartsPdu.java | 3 +- .../edu/nps/moves/dis7/pdus/AttributePdu.java | 3 +- .../moves/dis7/pdus/AttributeRecordSet.java | 3 +- .../edu/nps/moves/dis7/pdus/CommentPdu.java | 3 +- .../edu/nps/moves/dis7/pdus/CommentRPdu.java | 3 +- .../edu/nps/moves/dis7/pdus/DataPdu.java | 6 +- .../pdus/DataQueryDatumSpecification.java | 6 +- .../edu/nps/moves/dis7/pdus/DataQueryPdu.java | 6 +- .../nps/moves/dis7/pdus/DataQueryRPdu.java | 6 +- .../edu/nps/moves/dis7/pdus/DataRPdu.java | 6 +- .../moves/dis7/pdus/DatumSpecification.java | 6 +- .../nps/moves/dis7/pdus/DetonationPdu.java | 3 +- .../dis7/pdus/DirectedEnergyAreaAimpoint.java | 6 +- .../dis7/pdus/DirectedEnergyFirePdu.java | 3 +- .../edu/nps/moves/dis7/pdus/DisTime.java | 234 ------------------ .../dis7/pdus/ElectromagneticEmissionPdu.java | 3 +- .../moves/dis7/pdus/ElectronicEmitter.java | 3 +- .../edu/nps/moves/dis7/pdus/EmitterBeam.java | 3 +- .../dis7/pdus/EntityDamageStatusPdu.java | 3 +- .../nps/moves/dis7/pdus/EntityStatePdu.java | 3 +- .../moves/dis7/pdus/EntityStateUpdatePdu.java | 3 +- .../dis7/pdus/EnvironmentalProcessPdu.java | 3 +- .../nps/moves/dis7/pdus/EventReportPdu.java | 6 +- .../nps/moves/dis7/pdus/EventReportRPdu.java | 6 +- .../nps/moves/dis7/pdus/GriddedDataPdu.java | 6 +- .../edu/nps/moves/dis7/pdus/IFFLayer2Pdu.java | 3 +- .../moves/dis7/pdus/IffDataSpecification.java | 3 +- .../pdus/InformationOperationsActionPdu.java | 3 +- .../pdus/InformationOperationsReportPdu.java | 3 +- .../moves/dis7/pdus/IntercomControlPdu.java | 3 +- .../edu/nps/moves/dis7/pdus/IsGroupOfPdu.java | 3 +- .../moves/dis7/pdus/LinearObjectStatePdu.java | 3 +- .../nps/moves/dis7/pdus/MinefieldDataPdu.java | 18 +- .../moves/dis7/pdus/MinefieldQueryPdu.java | 6 +- .../moves/dis7/pdus/MinefieldStatePdu.java | 6 +- .../nps/moves/dis7/pdus/RecordQueryRPdu.java | 3 +- .../dis7/pdus/RecordQuerySpecification.java | 3 +- .../edu/nps/moves/dis7/pdus/RecordRPdu.java | 3 +- .../moves/dis7/pdus/RecordSpecification.java | 3 +- .../nps/moves/dis7/pdus/ResupplyOfferPdu.java | 3 +- .../moves/dis7/pdus/ResupplyReceivedPdu.java | 3 +- .../edu/nps/moves/dis7/pdus/SEESPdu.java | 6 +- .../moves/dis7/pdus/ServiceRequestPdu.java | 3 +- .../edu/nps/moves/dis7/pdus/SetDataPdu.java | 6 +- .../edu/nps/moves/dis7/pdus/SetDataRPdu.java | 6 +- .../nps/moves/dis7/pdus/SetRecordRPdu.java | 3 +- .../pdus/StandardVariableSpecification.java | 3 +- .../nps/moves/dis7/pdus/TransmitterPdu.java | 6 +- .../edu/nps/moves/dis7/pdus/UAEmitter.java | 3 +- .../dis7/pdus/UnderwaterAcousticPdu.java | 9 +- 56 files changed, 172 insertions(+), 320 deletions(-) delete mode 100644 src-generated/edu/nps/moves/dis7/pdus/DisTime.java diff --git a/src-generated/edu/nps/moves/dis7/pdus/ActionRequestPdu.java b/src-generated/edu/nps/moves/dis7/pdus/ActionRequestPdu.java index 8e3ff24101..df2b575e28 100644 --- a/src-generated/edu/nps/moves/dis7/pdus/ActionRequestPdu.java +++ b/src-generated/edu/nps/moves/dis7/pdus/ActionRequestPdu.java @@ -404,11 +404,13 @@ public int unmarshal(java.nio.ByteBuffer byteBuffer) throws Exception sb.append(" fixedDatums: "); fixedDatums.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset sb.append(" variableDatums: "); variableDatums.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset return sb.toString(); } diff --git a/src-generated/edu/nps/moves/dis7/pdus/ActionRequestRPdu.java b/src-generated/edu/nps/moves/dis7/pdus/ActionRequestRPdu.java index 3e757845f7..e05bb5c450 100644 --- a/src-generated/edu/nps/moves/dis7/pdus/ActionRequestRPdu.java +++ b/src-generated/edu/nps/moves/dis7/pdus/ActionRequestRPdu.java @@ -500,11 +500,13 @@ public int unmarshal(java.nio.ByteBuffer byteBuffer) throws Exception sb.append(" fixedDatumRecords: "); fixedDatumRecords.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset sb.append(" variableDatumRecords: "); variableDatumRecords.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset return sb.toString(); } diff --git a/src-generated/edu/nps/moves/dis7/pdus/ActionResponsePdu.java b/src-generated/edu/nps/moves/dis7/pdus/ActionResponsePdu.java index 9d19d7a0e3..7db3385283 100644 --- a/src-generated/edu/nps/moves/dis7/pdus/ActionResponsePdu.java +++ b/src-generated/edu/nps/moves/dis7/pdus/ActionResponsePdu.java @@ -404,11 +404,13 @@ public int unmarshal(java.nio.ByteBuffer byteBuffer) throws Exception sb.append(" fixedDatums: "); fixedDatums.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset sb.append(" variableDatums: "); variableDatums.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset return sb.toString(); } diff --git a/src-generated/edu/nps/moves/dis7/pdus/ActionResponseRPdu.java b/src-generated/edu/nps/moves/dis7/pdus/ActionResponseRPdu.java index 8ca75d91d6..678b2eaeb6 100644 --- a/src-generated/edu/nps/moves/dis7/pdus/ActionResponseRPdu.java +++ b/src-generated/edu/nps/moves/dis7/pdus/ActionResponseRPdu.java @@ -404,11 +404,13 @@ public int unmarshal(java.nio.ByteBuffer byteBuffer) throws Exception sb.append(" fixedDatumRecords: "); fixedDatumRecords.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset sb.append(" variableDatumRecords: "); variableDatumRecords.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset return sb.toString(); } diff --git a/src-generated/edu/nps/moves/dis7/pdus/AggregateStatePdu.java b/src-generated/edu/nps/moves/dis7/pdus/AggregateStatePdu.java index 03c8091ffb..7304283d09 100644 --- a/src-generated/edu/nps/moves/dis7/pdus/AggregateStatePdu.java +++ b/src-generated/edu/nps/moves/dis7/pdus/AggregateStatePdu.java @@ -843,23 +843,28 @@ public int unmarshal(java.nio.ByteBuffer byteBuffer) throws Exception sb.append(" aggregateIDList: "); aggregateIDList.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset sb.append(" entityIDList: "); entityIDList.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset sb.append(" silentAggregateSystemList: "); silentAggregateSystemList.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset sb.append(" silentEntitySystemList: "); silentEntitySystemList.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset sb.append(" variableDatumList: "); variableDatumList.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset return sb.toString(); } diff --git a/src-generated/edu/nps/moves/dis7/pdus/ArealObjectStatePdu.java b/src-generated/edu/nps/moves/dis7/pdus/ArealObjectStatePdu.java index 5bb1d9d346..1c8975c1ba 100644 --- a/src-generated/edu/nps/moves/dis7/pdus/ArealObjectStatePdu.java +++ b/src-generated/edu/nps/moves/dis7/pdus/ArealObjectStatePdu.java @@ -572,7 +572,8 @@ public int unmarshal(java.nio.ByteBuffer byteBuffer) throws Exception sb.append(" objectLocation: "); objectLocation.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset return sb.toString(); } diff --git a/src-generated/edu/nps/moves/dis7/pdus/ArticulatedPartsPdu.java b/src-generated/edu/nps/moves/dis7/pdus/ArticulatedPartsPdu.java index 632b94e373..abdbf5f005 100644 --- a/src-generated/edu/nps/moves/dis7/pdus/ArticulatedPartsPdu.java +++ b/src-generated/edu/nps/moves/dis7/pdus/ArticulatedPartsPdu.java @@ -310,7 +310,8 @@ public int unmarshal(java.nio.ByteBuffer byteBuffer) throws Exception sb.append(" variableParameters: "); variableParameters.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset return sb.toString(); } diff --git a/src-generated/edu/nps/moves/dis7/pdus/AttributePdu.java b/src-generated/edu/nps/moves/dis7/pdus/AttributePdu.java index 343a2bdd26..f8a2875fef 100644 --- a/src-generated/edu/nps/moves/dis7/pdus/AttributePdu.java +++ b/src-generated/edu/nps/moves/dis7/pdus/AttributePdu.java @@ -517,7 +517,8 @@ public int unmarshal(java.nio.ByteBuffer byteBuffer) throws Exception sb.append(" attributeRecordSets: "); attributeRecordSets.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset return sb.toString(); } diff --git a/src-generated/edu/nps/moves/dis7/pdus/AttributeRecordSet.java b/src-generated/edu/nps/moves/dis7/pdus/AttributeRecordSet.java index c4a554dbe2..8507633b1c 100644 --- a/src-generated/edu/nps/moves/dis7/pdus/AttributeRecordSet.java +++ b/src-generated/edu/nps/moves/dis7/pdus/AttributeRecordSet.java @@ -243,7 +243,8 @@ public int unmarshal(java.nio.ByteBuffer byteBuffer) throws Exception sb.append(" attributeRecords: "); attributeRecords.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset return sb.toString(); } diff --git a/src-generated/edu/nps/moves/dis7/pdus/CommentPdu.java b/src-generated/edu/nps/moves/dis7/pdus/CommentPdu.java index d5c6bc6a2a..20e2e5e6fa 100644 --- a/src-generated/edu/nps/moves/dis7/pdus/CommentPdu.java +++ b/src-generated/edu/nps/moves/dis7/pdus/CommentPdu.java @@ -292,7 +292,8 @@ public int unmarshal(java.nio.ByteBuffer byteBuffer) throws Exception sb.append(" variableDatums: "); variableDatums.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset return sb.toString(); } diff --git a/src-generated/edu/nps/moves/dis7/pdus/CommentRPdu.java b/src-generated/edu/nps/moves/dis7/pdus/CommentRPdu.java index d4781f017b..52087bff6d 100644 --- a/src-generated/edu/nps/moves/dis7/pdus/CommentRPdu.java +++ b/src-generated/edu/nps/moves/dis7/pdus/CommentRPdu.java @@ -292,7 +292,8 @@ public int unmarshal(java.nio.ByteBuffer byteBuffer) throws Exception sb.append(" variableDatumRecords: "); variableDatumRecords.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset return sb.toString(); } diff --git a/src-generated/edu/nps/moves/dis7/pdus/DataPdu.java b/src-generated/edu/nps/moves/dis7/pdus/DataPdu.java index c9f5d31adf..dd07afd11c 100644 --- a/src-generated/edu/nps/moves/dis7/pdus/DataPdu.java +++ b/src-generated/edu/nps/moves/dis7/pdus/DataPdu.java @@ -403,11 +403,13 @@ public int unmarshal(java.nio.ByteBuffer byteBuffer) throws Exception sb.append(" fixedDatums: "); fixedDatums.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset sb.append(" variableDatums: "); variableDatums.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset return sb.toString(); } diff --git a/src-generated/edu/nps/moves/dis7/pdus/DataQueryDatumSpecification.java b/src-generated/edu/nps/moves/dis7/pdus/DataQueryDatumSpecification.java index 986adb8248..7d000420c0 100644 --- a/src-generated/edu/nps/moves/dis7/pdus/DataQueryDatumSpecification.java +++ b/src-generated/edu/nps/moves/dis7/pdus/DataQueryDatumSpecification.java @@ -283,11 +283,13 @@ public int unmarshal(java.nio.ByteBuffer byteBuffer) throws Exception sb.append(" fixedDatumIDList: "); fixedDatumIDList.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset sb.append(" variableDatumIDList: "); variableDatumIDList.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset return sb.toString(); } diff --git a/src-generated/edu/nps/moves/dis7/pdus/DataQueryPdu.java b/src-generated/edu/nps/moves/dis7/pdus/DataQueryPdu.java index 6b18dde6a2..e5dbaaa312 100644 --- a/src-generated/edu/nps/moves/dis7/pdus/DataQueryPdu.java +++ b/src-generated/edu/nps/moves/dis7/pdus/DataQueryPdu.java @@ -403,11 +403,13 @@ public int unmarshal(java.nio.ByteBuffer byteBuffer) throws Exception sb.append(" fixedDatums: "); fixedDatums.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset sb.append(" variableDatums: "); variableDatums.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset return sb.toString(); } diff --git a/src-generated/edu/nps/moves/dis7/pdus/DataQueryRPdu.java b/src-generated/edu/nps/moves/dis7/pdus/DataQueryRPdu.java index 1121a393f3..55668148e3 100644 --- a/src-generated/edu/nps/moves/dis7/pdus/DataQueryRPdu.java +++ b/src-generated/edu/nps/moves/dis7/pdus/DataQueryRPdu.java @@ -499,11 +499,13 @@ public int unmarshal(java.nio.ByteBuffer byteBuffer) throws Exception sb.append(" fixedDatumRecords: "); fixedDatumRecords.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset sb.append(" variableDatumRecords: "); variableDatumRecords.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset return sb.toString(); } diff --git a/src-generated/edu/nps/moves/dis7/pdus/DataRPdu.java b/src-generated/edu/nps/moves/dis7/pdus/DataRPdu.java index 4cc540d1d1..f1a2494dd6 100644 --- a/src-generated/edu/nps/moves/dis7/pdus/DataRPdu.java +++ b/src-generated/edu/nps/moves/dis7/pdus/DataRPdu.java @@ -472,11 +472,13 @@ public int unmarshal(java.nio.ByteBuffer byteBuffer) throws Exception sb.append(" fixedDatumRecords: "); fixedDatumRecords.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset sb.append(" variableDatumRecords: "); variableDatumRecords.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset return sb.toString(); } diff --git a/src-generated/edu/nps/moves/dis7/pdus/DatumSpecification.java b/src-generated/edu/nps/moves/dis7/pdus/DatumSpecification.java index 34dfdb309f..98eb5aac3c 100644 --- a/src-generated/edu/nps/moves/dis7/pdus/DatumSpecification.java +++ b/src-generated/edu/nps/moves/dis7/pdus/DatumSpecification.java @@ -283,11 +283,13 @@ public int unmarshal(java.nio.ByteBuffer byteBuffer) throws Exception sb.append(" fixedDatumIDList: "); fixedDatumIDList.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset sb.append(" variableDatumIDList: "); variableDatumIDList.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset return sb.toString(); } diff --git a/src-generated/edu/nps/moves/dis7/pdus/DetonationPdu.java b/src-generated/edu/nps/moves/dis7/pdus/DetonationPdu.java index bda1f289d6..23d8660986 100644 --- a/src-generated/edu/nps/moves/dis7/pdus/DetonationPdu.java +++ b/src-generated/edu/nps/moves/dis7/pdus/DetonationPdu.java @@ -568,7 +568,8 @@ public int unmarshal(java.nio.ByteBuffer byteBuffer) throws Exception sb.append(" variableParameters: "); variableParameters.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset return sb.toString(); } diff --git a/src-generated/edu/nps/moves/dis7/pdus/DirectedEnergyAreaAimpoint.java b/src-generated/edu/nps/moves/dis7/pdus/DirectedEnergyAreaAimpoint.java index d62947e449..3fd15bc8a0 100644 --- a/src-generated/edu/nps/moves/dis7/pdus/DirectedEnergyAreaAimpoint.java +++ b/src-generated/edu/nps/moves/dis7/pdus/DirectedEnergyAreaAimpoint.java @@ -391,11 +391,13 @@ public int unmarshal(java.nio.ByteBuffer byteBuffer) throws Exception sb.append(" beamAntennaParameterList: "); beamAntennaParameterList.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset sb.append(" directedEnergyTargetEnergyDepositionRecordList: "); directedEnergyTargetEnergyDepositionRecordList.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset return sb.toString(); } diff --git a/src-generated/edu/nps/moves/dis7/pdus/DirectedEnergyFirePdu.java b/src-generated/edu/nps/moves/dis7/pdus/DirectedEnergyFirePdu.java index b811358e81..cfd0c70011 100644 --- a/src-generated/edu/nps/moves/dis7/pdus/DirectedEnergyFirePdu.java +++ b/src-generated/edu/nps/moves/dis7/pdus/DirectedEnergyFirePdu.java @@ -734,7 +734,8 @@ public int unmarshal(java.nio.ByteBuffer byteBuffer) throws Exception sb.append(" dERecords: "); dERecords.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset return sb.toString(); } diff --git a/src-generated/edu/nps/moves/dis7/pdus/DisTime.java b/src-generated/edu/nps/moves/dis7/pdus/DisTime.java deleted file mode 100644 index 9669b3b37b..0000000000 --- a/src-generated/edu/nps/moves/dis7/pdus/DisTime.java +++ /dev/null @@ -1,234 +0,0 @@ -/** - * Copyright (c) 2008-2022, MOVES Institute, Naval Postgraduate School (NPS). All rights reserved. - * This work is provided under a BSD open-source license, see project license.html and license.txt - */ - -package edu.nps.moves.dis7.pdus; - -import java.text.DateFormat; -import java.text.SimpleDateFormat; -import java.util.*; - -/** - * <p>DIS time units are a pain to work with. As specified by the IEEE DIS Protocol specification, - * DIS time units are defined in a custom manner and set - * equal to 2^31 - 1 time units per hour. The DIS time is set to the number of time - * units since the start of the hour. Rollover problems can easily occur. The timestamp field in the PDU header is - * four bytes long and is specified to be an unsigned integer value.</p> - * - * <p>Additionally, there are two types of official timestamps in the PDU header: - * <i>absolute time</i> and <i>relative time</i>. Absolute time is used when the host is synchronized to - * <a href="https://en.wikipedia.org/wiki/Coordinated_Universal_Time" target="_blank">Coordinated Universal Time (UTC)</a>, i.e. the host - * is accurately synchronized with UTC via <a href="https://en.wikipedia.org/wiki/Network_Time_Protocol" target="_blank">Network Time Protocol (NTP)</a>. - * The packet timestamps originating from such hosts can be legitimately - * compared to the timestamp of packets received from other hosts, since they all are - * referenced to the same universal time.</p> - * - * <p><b>Absolute timestamps</b> have their least significant bit (LSB) set to 1, and relative timestamps have their - * LSB set to 0. The idea in the DIS specification is to get the current time since the top of the hour, - * divide by 2^31-1, shift left one bit, then set the LSB to either 0 for relative - * timestamps or 1 for absolute timestamps.</p> - * - * <p><b>Relative timestamps</b> are used when the host does NOT have access to NTP, and hence - * the system time might not be coordinated with that of other hosts. This means that - * a host receiving DIS packets from several hosts might have to set up a per-host - * table to correlate baseline time references before ordering packets, and that - * the PDU timestamp fields from one host is not - * directly comparable to the PDU timestamp field from another host.</p> - * - * <p>The nature of shared DIS data is such that the timestamp values <i>roll over</i> once an - * hour, and simulations must be prepared for that eventuality. In other words, at the top of the hour - * outgoing PDUs will have a timestamp of 1, then just before the end of the hour the - * PDUs will have a timestamp of 2^31 - 1, and then they will roll back over to a value of 1. - * Receiving applications should expect this behavior, and not simply expect a - * monotonically increasing timestamp field.</p> - * - * <p><b>Unix time</b>. Note that many applications in the wild have been known to completely ignore - * the standard and to simply put commonly used <a href="https://en.wikipedia.org/wiki/Unix_time">Unix time</a> (seconds since 1 January 1970) into the - * field. </p> - * - * <p><b>Year time</b>. The rollover associated with official DIS timestamps don't work all that well in numerous applications, - * which often expect a monotonically increasing timestamp field. Such unpredictable rollover variations are also incompatible - * with archival recording or streaming playback of Live-Virtual-Constructive (LVC) behavior streams. - * To avoid such problems, NPS created a "yearly" timestamp which measures - * hundredths of a second since the start of the current year. The maximum value for - * such measurements is 3,153,600,000, which can fit into an unsigned int. - * One hundredth of a second resolution is accurate enough for most applications, and you typically don't have to worry about - * rollover, instead getting only a monotonically increasing timestamp value.</p> - * - * <p><b>TODO: time 0.0</b>. Functionality is needed to define a shared common time origin, and also to - * precisely adjust stream timestamps when coordinating recorded PDU playback within LVC applications. - * We think the ability to "start at time 0.0", or normalizing initial time to zero - * for a recorded PDU stream, is actually a pretty common use case.</p> - * <p> Don McGregor, Mike Bailey, and Don Brutzman</p> - * - * @author DMcG - */ -// * problems unlikely: -// * <p><b>TODO: confirm thread safe</b>. Be careful with the shared instance of this class -- -// * it has static synchronized methods but is not yet -// * confirmed to be thread safe. If you are using multiple threads, suggest you -// * create a new instance of the class for each thread to prevent the values from -// * getting stomped on.</p> - -public class DisTime -{ - /** mask for absolute timestamps */ - public static final int ABSOLUTE_TIMESTAMP_MASK = 0x00000001; - - /** mask for relative timestamps */ - public static final int RELATIVE_TIMESTAMP_MASK = 0xfffffffe; - - /** calendar instance */ - private static GregorianCalendar calendar; - - // public static DisTime disTime = null; - - /** - * Shared instance. This is not thread-safe. If you are working in multiple threads, - * create a new instance for each thread. - * return singleton instance of DisTime - */ - /* public static DisTime createInstance() - { - if (disTime == null) { - disTime = new DisTime(); - } - - return disTime; - } - */ - - public DisTime() - { - calendar = new GregorianCalendar(); - } - - /** - * Returns the number of DIS time units since the top of the hour. there are 2^31-1 DIS time - * units per hour. - * @return integer DIS time units since the start of the hour. - */ - private static synchronized int getCurrentDisTimeUnitsSinceTopOfHour() - { - // set calendar object to current time - long currentTime = System.currentTimeMillis(); // UTC milliseconds since 1970 - calendar.setTimeInMillis(currentTime); - - // Set calendar to top of the hour, then compute what the calendar object says was milliseconds since 1970 - // at the top of the hour - calendar.set(Calendar.MINUTE, 0); - calendar.set(Calendar.SECOND, 0); - calendar.set(Calendar.MILLISECOND, 0); - long topOfHour = calendar.getTimeInMillis(); - - // Milliseconds since the top of the hour - long diff = currentTime - topOfHour; - - // It turns out that Integer.MAX_VALUE is 2^31-1, which is the time unit value, ie there are - // 2^31-1 DIS time units in an hour. 3600 sec/hr X 1000 msec/sec divided into the number of - // msec since the start of the hour gives the percentage of DIS time units in the hour, times - // the number of DIS time units per hour, equals the time value - double val = (diff / (3600.0 * 1000.0)) * Integer.MAX_VALUE; - int ts = (int) val; - - return ts; - } - - /** - * Checks local system clock and returns the current DIS standard absolute timestamp, assuming that this host is synchronized to NTP. - * // Fix to bitshift by mvormelch. - * @see <a href="https://en.wikipedia.org/wiki/Network_Time_Protocol" target="_blank">Wikipedia: Network Time Protocol (NTP)</a> - * @return DIS time units, get absolute timestamp - */ - public static synchronized int getCurrentDisAbsoluteTimestamp() - { - int val = getCurrentDisTimeUnitsSinceTopOfHour(); - val = (val << 1) | ABSOLUTE_TIMESTAMP_MASK; // always flip the lsb to 1 - return val; - } - - /** - * Checks local system clock and returns the current DIS standard relative timestamp, which should be used if this host - * is not slaved to NTP. Fix to bitshift by mvormelch - * @see <a href="https://en.wikipedia.org/wiki/Network_Time_Protocol" target="_blank">Wikipedia: Network Time Protocol (NTP)</a> - * @return DIS time units, relative - */ - public static int getCurrentDisRelativeTimestamp() - { - int val = getCurrentDisTimeUnitsSinceTopOfHour(); - val = (val << 1) & RELATIVE_TIMESTAMP_MASK; // always flip the lsb to 0 - return val; - } - - /** - * Checks local system clock and returns a useful timestamp, hundredths of a second since the start of the year. - * This effectively eliminates the need for receivers to handle timestamp rollover, - * as long as you're not working late on New Year's Eve. - * (Previously referred to as NPS timestamp.) - * TODO consider renaming as Annual timestamp. - * TODO consult with DIS working group about timestamp disambiguation. - * @return a timestamp in hundredths of a second since the start of the year - */ - public static synchronized int getCurrentYearTimestamp() - { - // set calendar object to current time - long currentTime = System.currentTimeMillis(); // UTC milliseconds since 1970 - calendar.setTimeInMillis(currentTime); - - // Set calendar to the start of the year - calendar.set(Calendar.MONTH, 0); - calendar.set(Calendar.DAY_OF_MONTH, 1); - calendar.set(Calendar.HOUR, 0); - calendar.set(Calendar.MINUTE, 0); - calendar.set(Calendar.SECOND, 0); - calendar.set(Calendar.MILLISECOND, 0); - long startOfYear = calendar.getTimeInMillis(); - - // Milliseconds since the top of the hour - long diff = currentTime - startOfYear; - diff /= 10; // milliseconds to hundredths of a second - - return (int) diff; - } - - /** - * Checks local system clock and returns a useful timestamp as local Unix time. - * Another option for marshalling with the timestamp field set automatically. The UNIX - * time is conventionally seconds since January 1, 1970. UTC time is used, and leap seconds - * are excluded. This approach is popular in the wild, but the time resolution is not very - * good for high frequency updates, such as aircraft. An entity updating at 30 PDUs/second - * would see 30 PDUs sent out with the same timestamp, and have 29 of them discarded as - * duplicate packets. - * - * Note that there are other "Unix times", such milliseconds since 1/1/1970, saved in a long. - * This cannot be used, since the value is saved in a long. Java's System.getCurrentTimeMillis() - * uses this value. - * - * Unix time (in seconds) rolls over in 2038. - * - * Consult the Wikipedia page on <a href="https://en.wikipedia.org/wiki/Unix_time">Unix time</a> for the gory details - * @return seconds since 1970 - */ - public static synchronized int getCurrentUnixTimestamp() - { - long t = System.currentTimeMillis(); - t /= 1000l; // NB: integer division, convert milliseconds to seconds - return (int) t; - } - - /** - * Convert timestamp value to string for logging and diagnostics. - * TODO consider different formats for different timestampStyle values. - * @param timestamp value in milliseconds - * @see GregorianCalendar - * @return string value provided by GregorianCalendar - */ - public static String convertToString(int timestamp) - { - GregorianCalendar newCalendar = new GregorianCalendar(); - newCalendar.setTimeInMillis(timestamp); - DateFormat formatter = new SimpleDateFormat("HH:mm:ss"); - return formatter.format(newCalendar.getTime()); - } -} \ No newline at end of file diff --git a/src-generated/edu/nps/moves/dis7/pdus/ElectromagneticEmissionPdu.java b/src-generated/edu/nps/moves/dis7/pdus/ElectromagneticEmissionPdu.java index c411dcdacf..af18cb74dd 100644 --- a/src-generated/edu/nps/moves/dis7/pdus/ElectromagneticEmissionPdu.java +++ b/src-generated/edu/nps/moves/dis7/pdus/ElectromagneticEmissionPdu.java @@ -401,7 +401,8 @@ public int unmarshal(java.nio.ByteBuffer byteBuffer) throws Exception sb.append(" systems: "); systems.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset return sb.toString(); } diff --git a/src-generated/edu/nps/moves/dis7/pdus/ElectronicEmitter.java b/src-generated/edu/nps/moves/dis7/pdus/ElectronicEmitter.java index 49fd0edc24..de719d9c8e 100644 --- a/src-generated/edu/nps/moves/dis7/pdus/ElectronicEmitter.java +++ b/src-generated/edu/nps/moves/dis7/pdus/ElectronicEmitter.java @@ -305,7 +305,8 @@ public int unmarshal(java.nio.ByteBuffer byteBuffer) throws Exception sb.append(" beams: "); beams.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset return sb.toString(); } diff --git a/src-generated/edu/nps/moves/dis7/pdus/EmitterBeam.java b/src-generated/edu/nps/moves/dis7/pdus/EmitterBeam.java index 164b279165..a5924148e4 100644 --- a/src-generated/edu/nps/moves/dis7/pdus/EmitterBeam.java +++ b/src-generated/edu/nps/moves/dis7/pdus/EmitterBeam.java @@ -485,7 +485,8 @@ public int unmarshal(java.nio.ByteBuffer byteBuffer) throws Exception sb.append(" trackJamData: "); trackJamData.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset return sb.toString(); } diff --git a/src-generated/edu/nps/moves/dis7/pdus/EntityDamageStatusPdu.java b/src-generated/edu/nps/moves/dis7/pdus/EntityDamageStatusPdu.java index d18b3b1795..f20ec1c64f 100644 --- a/src-generated/edu/nps/moves/dis7/pdus/EntityDamageStatusPdu.java +++ b/src-generated/edu/nps/moves/dis7/pdus/EntityDamageStatusPdu.java @@ -378,7 +378,8 @@ public int unmarshal(java.nio.ByteBuffer byteBuffer) throws Exception sb.append(" damageDescriptionRecords: "); damageDescriptionRecords.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset return sb.toString(); } diff --git a/src-generated/edu/nps/moves/dis7/pdus/EntityStatePdu.java b/src-generated/edu/nps/moves/dis7/pdus/EntityStatePdu.java index 1d869f186e..044b9d8d40 100644 --- a/src-generated/edu/nps/moves/dis7/pdus/EntityStatePdu.java +++ b/src-generated/edu/nps/moves/dis7/pdus/EntityStatePdu.java @@ -588,7 +588,8 @@ public int unmarshal(java.nio.ByteBuffer byteBuffer) throws Exception sb.append(" variableParameters: "); variableParameters.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset return sb.toString(); } diff --git a/src-generated/edu/nps/moves/dis7/pdus/EntityStateUpdatePdu.java b/src-generated/edu/nps/moves/dis7/pdus/EntityStateUpdatePdu.java index 322eff5a2c..3990c54ecd 100644 --- a/src-generated/edu/nps/moves/dis7/pdus/EntityStateUpdatePdu.java +++ b/src-generated/edu/nps/moves/dis7/pdus/EntityStateUpdatePdu.java @@ -455,7 +455,8 @@ public int unmarshal(java.nio.ByteBuffer byteBuffer) throws Exception sb.append(" variableParameters: "); variableParameters.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset return sb.toString(); } diff --git a/src-generated/edu/nps/moves/dis7/pdus/EnvironmentalProcessPdu.java b/src-generated/edu/nps/moves/dis7/pdus/EnvironmentalProcessPdu.java index 54360deb1e..bdfe08b9a0 100644 --- a/src-generated/edu/nps/moves/dis7/pdus/EnvironmentalProcessPdu.java +++ b/src-generated/edu/nps/moves/dis7/pdus/EnvironmentalProcessPdu.java @@ -427,7 +427,8 @@ public int unmarshal(java.nio.ByteBuffer byteBuffer) throws Exception sb.append(" environmentRecords: "); environmentRecords.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset return sb.toString(); } diff --git a/src-generated/edu/nps/moves/dis7/pdus/EventReportPdu.java b/src-generated/edu/nps/moves/dis7/pdus/EventReportPdu.java index 225165d175..e9509b6607 100644 --- a/src-generated/edu/nps/moves/dis7/pdus/EventReportPdu.java +++ b/src-generated/edu/nps/moves/dis7/pdus/EventReportPdu.java @@ -404,11 +404,13 @@ public int unmarshal(java.nio.ByteBuffer byteBuffer) throws Exception sb.append(" fixedDatums: "); fixedDatums.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset sb.append(" variableDatums: "); variableDatums.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset return sb.toString(); } diff --git a/src-generated/edu/nps/moves/dis7/pdus/EventReportRPdu.java b/src-generated/edu/nps/moves/dis7/pdus/EventReportRPdu.java index 2ba7b57247..b0818aef5e 100644 --- a/src-generated/edu/nps/moves/dis7/pdus/EventReportRPdu.java +++ b/src-generated/edu/nps/moves/dis7/pdus/EventReportRPdu.java @@ -404,11 +404,13 @@ public int unmarshal(java.nio.ByteBuffer byteBuffer) throws Exception sb.append(" fixedDatumRecords: "); fixedDatumRecords.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset sb.append(" variableDatumRecords: "); variableDatumRecords.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset return sb.toString(); } diff --git a/src-generated/edu/nps/moves/dis7/pdus/GriddedDataPdu.java b/src-generated/edu/nps/moves/dis7/pdus/GriddedDataPdu.java index 61a06f4ce2..6d5419d33e 100644 --- a/src-generated/edu/nps/moves/dis7/pdus/GriddedDataPdu.java +++ b/src-generated/edu/nps/moves/dis7/pdus/GriddedDataPdu.java @@ -738,11 +738,13 @@ public int unmarshal(java.nio.ByteBuffer byteBuffer) throws Exception sb.append(" gridAxisDescriptors: "); gridAxisDescriptors.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset sb.append(" gridDataRecords: "); gridDataRecords.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset return sb.toString(); } diff --git a/src-generated/edu/nps/moves/dis7/pdus/IFFLayer2Pdu.java b/src-generated/edu/nps/moves/dis7/pdus/IFFLayer2Pdu.java index 3a539d2245..53a043a6f2 100644 --- a/src-generated/edu/nps/moves/dis7/pdus/IFFLayer2Pdu.java +++ b/src-generated/edu/nps/moves/dis7/pdus/IFFLayer2Pdu.java @@ -405,7 +405,8 @@ public int unmarshal(java.nio.ByteBuffer byteBuffer) throws Exception sb.append(" fundamentalIFFParameters: "); fundamentalIFFParameters.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset return sb.toString(); } diff --git a/src-generated/edu/nps/moves/dis7/pdus/IffDataSpecification.java b/src-generated/edu/nps/moves/dis7/pdus/IffDataSpecification.java index c6199299ff..e913981b6e 100644 --- a/src-generated/edu/nps/moves/dis7/pdus/IffDataSpecification.java +++ b/src-generated/edu/nps/moves/dis7/pdus/IffDataSpecification.java @@ -216,7 +216,8 @@ public int unmarshal(java.nio.ByteBuffer byteBuffer) throws Exception sb.append(" iffDataRecords: "); iffDataRecords.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset return sb.toString(); } diff --git a/src-generated/edu/nps/moves/dis7/pdus/InformationOperationsActionPdu.java b/src-generated/edu/nps/moves/dis7/pdus/InformationOperationsActionPdu.java index e469032215..a27aa59657 100644 --- a/src-generated/edu/nps/moves/dis7/pdus/InformationOperationsActionPdu.java +++ b/src-generated/edu/nps/moves/dis7/pdus/InformationOperationsActionPdu.java @@ -566,7 +566,8 @@ public int unmarshal(java.nio.ByteBuffer byteBuffer) throws Exception sb.append(" ioRecords: "); ioRecords.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset return sb.toString(); } diff --git a/src-generated/edu/nps/moves/dis7/pdus/InformationOperationsReportPdu.java b/src-generated/edu/nps/moves/dis7/pdus/InformationOperationsReportPdu.java index 972b49e383..8c6784605c 100644 --- a/src-generated/edu/nps/moves/dis7/pdus/InformationOperationsReportPdu.java +++ b/src-generated/edu/nps/moves/dis7/pdus/InformationOperationsReportPdu.java @@ -496,7 +496,8 @@ public int unmarshal(java.nio.ByteBuffer byteBuffer) throws Exception sb.append(" ioRecords: "); ioRecords.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset return sb.toString(); } diff --git a/src-generated/edu/nps/moves/dis7/pdus/IntercomControlPdu.java b/src-generated/edu/nps/moves/dis7/pdus/IntercomControlPdu.java index 2f45e8f3b3..bb84e45ae3 100644 --- a/src-generated/edu/nps/moves/dis7/pdus/IntercomControlPdu.java +++ b/src-generated/edu/nps/moves/dis7/pdus/IntercomControlPdu.java @@ -626,7 +626,8 @@ public int unmarshal(java.nio.ByteBuffer byteBuffer) throws Exception sb.append(" intercomParameters: "); intercomParameters.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset return sb.toString(); } diff --git a/src-generated/edu/nps/moves/dis7/pdus/IsGroupOfPdu.java b/src-generated/edu/nps/moves/dis7/pdus/IsGroupOfPdu.java index 5330408660..91d5999559 100644 --- a/src-generated/edu/nps/moves/dis7/pdus/IsGroupOfPdu.java +++ b/src-generated/edu/nps/moves/dis7/pdus/IsGroupOfPdu.java @@ -419,7 +419,8 @@ public int unmarshal(java.nio.ByteBuffer byteBuffer) throws Exception sb.append(" groupedEntityDescriptions: "); groupedEntityDescriptions.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset return sb.toString(); } diff --git a/src-generated/edu/nps/moves/dis7/pdus/LinearObjectStatePdu.java b/src-generated/edu/nps/moves/dis7/pdus/LinearObjectStatePdu.java index 768c0dd301..465be67744 100644 --- a/src-generated/edu/nps/moves/dis7/pdus/LinearObjectStatePdu.java +++ b/src-generated/edu/nps/moves/dis7/pdus/LinearObjectStatePdu.java @@ -484,7 +484,8 @@ public int unmarshal(java.nio.ByteBuffer byteBuffer) throws Exception sb.append(" linearSegmentParameters: "); linearSegmentParameters.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset return sb.toString(); } diff --git a/src-generated/edu/nps/moves/dis7/pdus/MinefieldDataPdu.java b/src-generated/edu/nps/moves/dis7/pdus/MinefieldDataPdu.java index 0cf6084733..8c080ec81b 100644 --- a/src-generated/edu/nps/moves/dis7/pdus/MinefieldDataPdu.java +++ b/src-generated/edu/nps/moves/dis7/pdus/MinefieldDataPdu.java @@ -1276,27 +1276,33 @@ public int unmarshal(java.nio.ByteBuffer byteBuffer) throws Exception sb.append(" sensorTypes: "); sensorTypes.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset sb.append(" mineLocation: "); mineLocation.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset sb.append(" mineOrientation: "); mineOrientation.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset sb.append(" mineEmplacementTime: "); mineEmplacementTime.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset sb.append(" fusing: "); fusing.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset sb.append(" paintScheme: "); paintScheme.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset return sb.toString(); } diff --git a/src-generated/edu/nps/moves/dis7/pdus/MinefieldQueryPdu.java b/src-generated/edu/nps/moves/dis7/pdus/MinefieldQueryPdu.java index caa79f788b..26fb912dc9 100644 --- a/src-generated/edu/nps/moves/dis7/pdus/MinefieldQueryPdu.java +++ b/src-generated/edu/nps/moves/dis7/pdus/MinefieldQueryPdu.java @@ -529,11 +529,13 @@ public int unmarshal(java.nio.ByteBuffer byteBuffer) throws Exception sb.append(" requestedPerimeterPoints: "); requestedPerimeterPoints.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset sb.append(" sensorTypes: "); sensorTypes.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset return sb.toString(); } diff --git a/src-generated/edu/nps/moves/dis7/pdus/MinefieldStatePdu.java b/src-generated/edu/nps/moves/dis7/pdus/MinefieldStatePdu.java index 203ce99c96..f3103415ba 100644 --- a/src-generated/edu/nps/moves/dis7/pdus/MinefieldStatePdu.java +++ b/src-generated/edu/nps/moves/dis7/pdus/MinefieldStatePdu.java @@ -578,11 +578,13 @@ public int unmarshal(java.nio.ByteBuffer byteBuffer) throws Exception sb.append(" perimeterPoints: "); perimeterPoints.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset sb.append(" mineType: "); mineType.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset return sb.toString(); } diff --git a/src-generated/edu/nps/moves/dis7/pdus/RecordQueryRPdu.java b/src-generated/edu/nps/moves/dis7/pdus/RecordQueryRPdu.java index 23fa8e94fb..12ad09a28b 100644 --- a/src-generated/edu/nps/moves/dis7/pdus/RecordQueryRPdu.java +++ b/src-generated/edu/nps/moves/dis7/pdus/RecordQueryRPdu.java @@ -426,7 +426,8 @@ public int unmarshal(java.nio.ByteBuffer byteBuffer) throws Exception sb.append(" recordIDs: "); recordIDs.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset return sb.toString(); } diff --git a/src-generated/edu/nps/moves/dis7/pdus/RecordQuerySpecification.java b/src-generated/edu/nps/moves/dis7/pdus/RecordQuerySpecification.java index 962feb32fd..b44e79ba7f 100644 --- a/src-generated/edu/nps/moves/dis7/pdus/RecordQuerySpecification.java +++ b/src-generated/edu/nps/moves/dis7/pdus/RecordQuerySpecification.java @@ -215,7 +215,8 @@ public int unmarshal(java.nio.ByteBuffer byteBuffer) throws Exception sb.append(" recordIDs: "); recordIDs.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset return sb.toString(); } diff --git a/src-generated/edu/nps/moves/dis7/pdus/RecordRPdu.java b/src-generated/edu/nps/moves/dis7/pdus/RecordRPdu.java index bd72009ad1..6a1dea110f 100644 --- a/src-generated/edu/nps/moves/dis7/pdus/RecordRPdu.java +++ b/src-generated/edu/nps/moves/dis7/pdus/RecordRPdu.java @@ -399,7 +399,8 @@ public int unmarshal(java.nio.ByteBuffer byteBuffer) throws Exception sb.append(" recordSets: "); recordSets.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset return sb.toString(); } diff --git a/src-generated/edu/nps/moves/dis7/pdus/RecordSpecification.java b/src-generated/edu/nps/moves/dis7/pdus/RecordSpecification.java index 7525545bb2..eae5c94c30 100644 --- a/src-generated/edu/nps/moves/dis7/pdus/RecordSpecification.java +++ b/src-generated/edu/nps/moves/dis7/pdus/RecordSpecification.java @@ -216,7 +216,8 @@ public int unmarshal(java.nio.ByteBuffer byteBuffer) throws Exception sb.append(" recordSets: "); recordSets.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset return sb.toString(); } diff --git a/src-generated/edu/nps/moves/dis7/pdus/ResupplyOfferPdu.java b/src-generated/edu/nps/moves/dis7/pdus/ResupplyOfferPdu.java index 595f5079c9..a36d37003d 100644 --- a/src-generated/edu/nps/moves/dis7/pdus/ResupplyOfferPdu.java +++ b/src-generated/edu/nps/moves/dis7/pdus/ResupplyOfferPdu.java @@ -406,7 +406,8 @@ public int unmarshal(java.nio.ByteBuffer byteBuffer) throws Exception sb.append(" supplies: "); supplies.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset return sb.toString(); } diff --git a/src-generated/edu/nps/moves/dis7/pdus/ResupplyReceivedPdu.java b/src-generated/edu/nps/moves/dis7/pdus/ResupplyReceivedPdu.java index 92e82c4ece..80c8e87056 100644 --- a/src-generated/edu/nps/moves/dis7/pdus/ResupplyReceivedPdu.java +++ b/src-generated/edu/nps/moves/dis7/pdus/ResupplyReceivedPdu.java @@ -406,7 +406,8 @@ public int unmarshal(java.nio.ByteBuffer byteBuffer) throws Exception sb.append(" supplies: "); supplies.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset return sb.toString(); } diff --git a/src-generated/edu/nps/moves/dis7/pdus/SEESPdu.java b/src-generated/edu/nps/moves/dis7/pdus/SEESPdu.java index 95b7266eab..b79f1c9236 100644 --- a/src-generated/edu/nps/moves/dis7/pdus/SEESPdu.java +++ b/src-generated/edu/nps/moves/dis7/pdus/SEESPdu.java @@ -479,11 +479,13 @@ public int unmarshal(java.nio.ByteBuffer byteBuffer) throws Exception sb.append(" propulsionSystemData: "); propulsionSystemData.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset sb.append(" vectoringSystemData: "); vectoringSystemData.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset return sb.toString(); } diff --git a/src-generated/edu/nps/moves/dis7/pdus/ServiceRequestPdu.java b/src-generated/edu/nps/moves/dis7/pdus/ServiceRequestPdu.java index d167829762..1895f6031d 100644 --- a/src-generated/edu/nps/moves/dis7/pdus/ServiceRequestPdu.java +++ b/src-generated/edu/nps/moves/dis7/pdus/ServiceRequestPdu.java @@ -400,7 +400,8 @@ public int unmarshal(java.nio.ByteBuffer byteBuffer) throws Exception sb.append(" supplies: "); supplies.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset return sb.toString(); } diff --git a/src-generated/edu/nps/moves/dis7/pdus/SetDataPdu.java b/src-generated/edu/nps/moves/dis7/pdus/SetDataPdu.java index 993aede681..23be101b92 100644 --- a/src-generated/edu/nps/moves/dis7/pdus/SetDataPdu.java +++ b/src-generated/edu/nps/moves/dis7/pdus/SetDataPdu.java @@ -403,11 +403,13 @@ public int unmarshal(java.nio.ByteBuffer byteBuffer) throws Exception sb.append(" fixedDatums: "); fixedDatums.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset sb.append(" variableDatums: "); variableDatums.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset return sb.toString(); } diff --git a/src-generated/edu/nps/moves/dis7/pdus/SetDataRPdu.java b/src-generated/edu/nps/moves/dis7/pdus/SetDataRPdu.java index 2d9706d2e1..8eaffc1492 100644 --- a/src-generated/edu/nps/moves/dis7/pdus/SetDataRPdu.java +++ b/src-generated/edu/nps/moves/dis7/pdus/SetDataRPdu.java @@ -472,11 +472,13 @@ public int unmarshal(java.nio.ByteBuffer byteBuffer) throws Exception sb.append(" fixedDatumRecords: "); fixedDatumRecords.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset sb.append(" variableDatumRecords: "); variableDatumRecords.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset return sb.toString(); } diff --git a/src-generated/edu/nps/moves/dis7/pdus/SetRecordRPdu.java b/src-generated/edu/nps/moves/dis7/pdus/SetRecordRPdu.java index 308963237e..635f1469fa 100644 --- a/src-generated/edu/nps/moves/dis7/pdus/SetRecordRPdu.java +++ b/src-generated/edu/nps/moves/dis7/pdus/SetRecordRPdu.java @@ -432,7 +432,8 @@ public int unmarshal(java.nio.ByteBuffer byteBuffer) throws Exception sb.append(" recordSets: "); recordSets.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset return sb.toString(); } diff --git a/src-generated/edu/nps/moves/dis7/pdus/StandardVariableSpecification.java b/src-generated/edu/nps/moves/dis7/pdus/StandardVariableSpecification.java index 2b542b36a9..70128d77e7 100644 --- a/src-generated/edu/nps/moves/dis7/pdus/StandardVariableSpecification.java +++ b/src-generated/edu/nps/moves/dis7/pdus/StandardVariableSpecification.java @@ -237,7 +237,8 @@ public int unmarshal(java.nio.ByteBuffer byteBuffer) throws Exception sb.append(" standardVariables: "); standardVariables.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset return sb.toString(); } diff --git a/src-generated/edu/nps/moves/dis7/pdus/TransmitterPdu.java b/src-generated/edu/nps/moves/dis7/pdus/TransmitterPdu.java index fc1e6f99d6..8157fabc94 100644 --- a/src-generated/edu/nps/moves/dis7/pdus/TransmitterPdu.java +++ b/src-generated/edu/nps/moves/dis7/pdus/TransmitterPdu.java @@ -859,11 +859,13 @@ public int unmarshal(java.nio.ByteBuffer byteBuffer) throws Exception sb.append(" modulationParametersList: "); modulationParametersList.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset sb.append(" antennaPatternList: "); antennaPatternList.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset return sb.toString(); } diff --git a/src-generated/edu/nps/moves/dis7/pdus/UAEmitter.java b/src-generated/edu/nps/moves/dis7/pdus/UAEmitter.java index 63a834168f..4e7042bc30 100644 --- a/src-generated/edu/nps/moves/dis7/pdus/UAEmitter.java +++ b/src-generated/edu/nps/moves/dis7/pdus/UAEmitter.java @@ -339,7 +339,8 @@ public int unmarshal(java.nio.ByteBuffer byteBuffer) throws Exception sb.append(" beams: "); beams.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset return sb.toString(); } diff --git a/src-generated/edu/nps/moves/dis7/pdus/UnderwaterAcousticPdu.java b/src-generated/edu/nps/moves/dis7/pdus/UnderwaterAcousticPdu.java index 9e3b571968..e9cb9edb5d 100644 --- a/src-generated/edu/nps/moves/dis7/pdus/UnderwaterAcousticPdu.java +++ b/src-generated/edu/nps/moves/dis7/pdus/UnderwaterAcousticPdu.java @@ -596,15 +596,18 @@ public int unmarshal(java.nio.ByteBuffer byteBuffer) throws Exception sb.append(" shaftRPMs: "); shaftRPMs.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset sb.append(" apaData: "); apaData.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset sb.append(" emitterSystems: "); emitterSystems.forEach(r->{ sb2.append(" ").append(r);}); // writeList sb.append(sb2.toString().trim()); - sb2.delete(0,sb2.length()-1); // reset + // https://stackoverflow.com/questions/2242471/clearing-a-string-buffer-builder-after-loop + sb2.setLength(0); // reset return sb.toString(); } -- GitLab