Skip to content

Commit e43ff1e

Browse files
committedJun 27, 2024
Removal optional conformance fro DayOfWeekForSequence/ChargingTargets fields in ChargingTargetScheduleStruct + regen zap files
1 parent 3fbdfec commit e43ff1e

File tree

14 files changed

+134
-192
lines changed

14 files changed

+134
-192
lines changed
 

‎examples/all-clusters-app/all-clusters-common/all-clusters-app.matter

+2-2
Original file line numberDiff line numberDiff line change
@@ -4363,8 +4363,8 @@ cluster EnergyEvse = 153 {
43634363
}
43644364

43654365
struct ChargingTargetScheduleStruct {
4366-
optional TargetDayOfWeekBitmap dayOfWeekForSequence = 0;
4367-
optional ChargingTargetStruct chargingTargets[] = 1;
4366+
TargetDayOfWeekBitmap dayOfWeekForSequence = 0;
4367+
ChargingTargetStruct chargingTargets[] = 1;
43684368
}
43694369

43704370
info event EVConnected = 0 {

‎examples/energy-management-app/energy-management-common/energy-management-app.matter

+2-2
Original file line numberDiff line numberDiff line change
@@ -1723,8 +1723,8 @@ cluster EnergyEvse = 153 {
17231723
}
17241724

17251725
struct ChargingTargetScheduleStruct {
1726-
optional TargetDayOfWeekBitmap dayOfWeekForSequence = 0;
1727-
optional ChargingTargetStruct chargingTargets[] = 1;
1726+
TargetDayOfWeekBitmap dayOfWeekForSequence = 0;
1727+
ChargingTargetStruct chargingTargets[] = 1;
17281728
}
17291729

17301730
info event EVConnected = 0 {

‎src/app/zap-templates/zcl/data-model/chip/energy-evse-cluster.xml

+2-2
Original file line numberDiff line numberDiff line change
@@ -82,8 +82,8 @@ limitations under the License.
8282

8383
<struct name="ChargingTargetScheduleStruct" apiMaturity="provisional">
8484
<cluster code="0x0099"/>
85-
<item fieldId="0" name="DayOfWeekForSequence" type="TargetDayOfWeekBitmap" min="0x00" max="0x7F" optional="true"/>
86-
<item fieldId="1" name="ChargingTargets" array="true" type="ChargingTargetStruct" length="10" optional="true"/>
85+
<item fieldId="0" name="DayOfWeekForSequence" type="TargetDayOfWeekBitmap" min="0x00" max="0x7F"/>
86+
<item fieldId="1" name="ChargingTargets" array="true" type="ChargingTargetStruct" length="10"/>
8787
</struct>
8888

8989
<cluster>

‎src/controller/data_model/controller-clusters.matter

+2-2
Original file line numberDiff line numberDiff line change
@@ -4946,8 +4946,8 @@ cluster EnergyEvse = 153 {
49464946
}
49474947

49484948
struct ChargingTargetScheduleStruct {
4949-
optional TargetDayOfWeekBitmap dayOfWeekForSequence = 0;
4950-
optional ChargingTargetStruct chargingTargets[] = 1;
4949+
TargetDayOfWeekBitmap dayOfWeekForSequence = 0;
4950+
ChargingTargetStruct chargingTargets[] = 1;
49514951
}
49524952

49534953
info event EVConnected = 0 {

‎src/controller/java/generated/java/chip/devicecontroller/ChipStructs.java

+10-10
Original file line numberDiff line numberDiff line change
@@ -8230,23 +8230,23 @@ public String toString() {
82308230
}
82318231
}
82328232
public static class EnergyEvseClusterChargingTargetScheduleStruct {
8233-
public Optional<Integer> dayOfWeekForSequence;
8234-
public Optional<ArrayList<ChipStructs.EnergyEvseClusterChargingTargetStruct>> chargingTargets;
8233+
public Integer dayOfWeekForSequence;
8234+
public ArrayList<ChipStructs.EnergyEvseClusterChargingTargetStruct> chargingTargets;
82358235
private static final long DAY_OF_WEEK_FOR_SEQUENCE_ID = 0L;
82368236
private static final long CHARGING_TARGETS_ID = 1L;
82378237

82388238
public EnergyEvseClusterChargingTargetScheduleStruct(
8239-
Optional<Integer> dayOfWeekForSequence,
8240-
Optional<ArrayList<ChipStructs.EnergyEvseClusterChargingTargetStruct>> chargingTargets
8239+
Integer dayOfWeekForSequence,
8240+
ArrayList<ChipStructs.EnergyEvseClusterChargingTargetStruct> chargingTargets
82418241
) {
82428242
this.dayOfWeekForSequence = dayOfWeekForSequence;
82438243
this.chargingTargets = chargingTargets;
82448244
}
82458245

82468246
public StructType encodeTlv() {
82478247
ArrayList<StructElement> values = new ArrayList<>();
8248-
values.add(new StructElement(DAY_OF_WEEK_FOR_SEQUENCE_ID, dayOfWeekForSequence.<BaseTLVType>map((nonOptionaldayOfWeekForSequence) -> new UIntType(nonOptionaldayOfWeekForSequence)).orElse(new EmptyType())));
8249-
values.add(new StructElement(CHARGING_TARGETS_ID, chargingTargets.<BaseTLVType>map((nonOptionalchargingTargets) -> ArrayType.generateArrayType(nonOptionalchargingTargets, (elementnonOptionalchargingTargets) -> elementnonOptionalchargingTargets.encodeTlv())).orElse(new EmptyType())));
8248+
values.add(new StructElement(DAY_OF_WEEK_FOR_SEQUENCE_ID, new UIntType(dayOfWeekForSequence)));
8249+
values.add(new StructElement(CHARGING_TARGETS_ID, ArrayType.generateArrayType(chargingTargets, (elementchargingTargets) -> elementchargingTargets.encodeTlv())));
82508250

82518251
return new StructType(values);
82528252
}
@@ -8255,18 +8255,18 @@ public static EnergyEvseClusterChargingTargetScheduleStruct decodeTlv(BaseTLVTyp
82558255
if (tlvValue == null || tlvValue.type() != TLVType.Struct) {
82568256
return null;
82578257
}
8258-
Optional<Integer> dayOfWeekForSequence = Optional.empty();
8259-
Optional<ArrayList<ChipStructs.EnergyEvseClusterChargingTargetStruct>> chargingTargets = Optional.empty();
8258+
Integer dayOfWeekForSequence = null;
8259+
ArrayList<ChipStructs.EnergyEvseClusterChargingTargetStruct> chargingTargets = null;
82608260
for (StructElement element: ((StructType)tlvValue).value()) {
82618261
if (element.contextTagNum() == DAY_OF_WEEK_FOR_SEQUENCE_ID) {
82628262
if (element.value(BaseTLVType.class).type() == TLVType.UInt) {
82638263
UIntType castingValue = element.value(UIntType.class);
8264-
dayOfWeekForSequence = Optional.of(castingValue.value(Integer.class));
8264+
dayOfWeekForSequence = castingValue.value(Integer.class);
82658265
}
82668266
} else if (element.contextTagNum() == CHARGING_TARGETS_ID) {
82678267
if (element.value(BaseTLVType.class).type() == TLVType.Array) {
82688268
ArrayType castingValue = element.value(ArrayType.class);
8269-
chargingTargets = Optional.of(castingValue.map((elementcastingValue) -> ChipStructs.EnergyEvseClusterChargingTargetStruct.decodeTlv(elementcastingValue)));
8269+
chargingTargets = castingValue.map((elementcastingValue) -> ChipStructs.EnergyEvseClusterChargingTargetStruct.decodeTlv(elementcastingValue));
82708270
}
82718271
}
82728272
}

‎src/controller/java/generated/java/chip/devicecontroller/cluster/structs/EnergyEvseClusterChargingTargetScheduleStruct.kt

+14-32
Original file line numberDiff line numberDiff line change
@@ -17,16 +17,15 @@
1717
package chip.devicecontroller.cluster.structs
1818

1919
import chip.devicecontroller.cluster.*
20-
import java.util.Optional
2120
import matter.tlv.AnonymousTag
2221
import matter.tlv.ContextSpecificTag
2322
import matter.tlv.Tag
2423
import matter.tlv.TlvReader
2524
import matter.tlv.TlvWriter
2625

2726
class EnergyEvseClusterChargingTargetScheduleStruct(
28-
val dayOfWeekForSequence: Optional<UInt>,
29-
val chargingTargets: Optional<List<EnergyEvseClusterChargingTargetStruct>>,
27+
val dayOfWeekForSequence: UInt,
28+
val chargingTargets: List<EnergyEvseClusterChargingTargetStruct>,
3029
) {
3130
override fun toString(): String = buildString {
3231
append("EnergyEvseClusterChargingTargetScheduleStruct {\n")
@@ -38,18 +37,12 @@ class EnergyEvseClusterChargingTargetScheduleStruct(
3837
fun toTlv(tlvTag: Tag, tlvWriter: TlvWriter) {
3938
tlvWriter.apply {
4039
startStructure(tlvTag)
41-
if (dayOfWeekForSequence.isPresent) {
42-
val optdayOfWeekForSequence = dayOfWeekForSequence.get()
43-
put(ContextSpecificTag(TAG_DAY_OF_WEEK_FOR_SEQUENCE), optdayOfWeekForSequence)
44-
}
45-
if (chargingTargets.isPresent) {
46-
val optchargingTargets = chargingTargets.get()
47-
startArray(ContextSpecificTag(TAG_CHARGING_TARGETS))
48-
for (item in optchargingTargets.iterator()) {
49-
item.toTlv(AnonymousTag, this)
50-
}
51-
endArray()
40+
put(ContextSpecificTag(TAG_DAY_OF_WEEK_FOR_SEQUENCE), dayOfWeekForSequence)
41+
startArray(ContextSpecificTag(TAG_CHARGING_TARGETS))
42+
for (item in chargingTargets.iterator()) {
43+
item.toTlv(AnonymousTag, this)
5244
}
45+
endArray()
5346
endStructure()
5447
}
5548
}
@@ -60,25 +53,14 @@ class EnergyEvseClusterChargingTargetScheduleStruct(
6053

6154
fun fromTlv(tlvTag: Tag, tlvReader: TlvReader): EnergyEvseClusterChargingTargetScheduleStruct {
6255
tlvReader.enterStructure(tlvTag)
63-
val dayOfWeekForSequence =
64-
if (tlvReader.isNextTag(ContextSpecificTag(TAG_DAY_OF_WEEK_FOR_SEQUENCE))) {
65-
Optional.of(tlvReader.getUInt(ContextSpecificTag(TAG_DAY_OF_WEEK_FOR_SEQUENCE)))
66-
} else {
67-
Optional.empty()
68-
}
56+
val dayOfWeekForSequence = tlvReader.getUInt(ContextSpecificTag(TAG_DAY_OF_WEEK_FOR_SEQUENCE))
6957
val chargingTargets =
70-
if (tlvReader.isNextTag(ContextSpecificTag(TAG_CHARGING_TARGETS))) {
71-
Optional.of(
72-
buildList<EnergyEvseClusterChargingTargetStruct> {
73-
tlvReader.enterArray(ContextSpecificTag(TAG_CHARGING_TARGETS))
74-
while (!tlvReader.isEndOfContainer()) {
75-
add(EnergyEvseClusterChargingTargetStruct.fromTlv(AnonymousTag, tlvReader))
76-
}
77-
tlvReader.exitContainer()
78-
}
79-
)
80-
} else {
81-
Optional.empty()
58+
buildList<EnergyEvseClusterChargingTargetStruct> {
59+
tlvReader.enterArray(ContextSpecificTag(TAG_CHARGING_TARGETS))
60+
while (!tlvReader.isEndOfContainer()) {
61+
add(EnergyEvseClusterChargingTargetStruct.fromTlv(AnonymousTag, tlvReader))
62+
}
63+
tlvReader.exitContainer()
8264
}
8365

8466
tlvReader.exitContainer()

‎src/controller/java/generated/java/matter/controller/cluster/structs/EnergyEvseClusterChargingTargetScheduleStruct.kt

+14-31
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
*/
1717
package matter.controller.cluster.structs
1818

19-
import java.util.Optional
2019
import matter.controller.cluster.*
2120
import matter.tlv.AnonymousTag
2221
import matter.tlv.ContextSpecificTag
@@ -25,8 +24,8 @@ import matter.tlv.TlvReader
2524
import matter.tlv.TlvWriter
2625

2726
class EnergyEvseClusterChargingTargetScheduleStruct(
28-
val dayOfWeekForSequence: Optional<UByte>,
29-
val chargingTargets: Optional<List<EnergyEvseClusterChargingTargetStruct>>,
27+
val dayOfWeekForSequence: UByte,
28+
val chargingTargets: List<EnergyEvseClusterChargingTargetStruct>,
3029
) {
3130
override fun toString(): String = buildString {
3231
append("EnergyEvseClusterChargingTargetScheduleStruct {\n")
@@ -38,18 +37,12 @@ class EnergyEvseClusterChargingTargetScheduleStruct(
3837
fun toTlv(tlvTag: Tag, tlvWriter: TlvWriter) {
3938
tlvWriter.apply {
4039
startStructure(tlvTag)
41-
if (dayOfWeekForSequence.isPresent) {
42-
val optdayOfWeekForSequence = dayOfWeekForSequence.get()
43-
put(ContextSpecificTag(TAG_DAY_OF_WEEK_FOR_SEQUENCE), optdayOfWeekForSequence)
44-
}
45-
if (chargingTargets.isPresent) {
46-
val optchargingTargets = chargingTargets.get()
47-
startArray(ContextSpecificTag(TAG_CHARGING_TARGETS))
48-
for (item in optchargingTargets.iterator()) {
49-
item.toTlv(AnonymousTag, this)
50-
}
51-
endArray()
40+
put(ContextSpecificTag(TAG_DAY_OF_WEEK_FOR_SEQUENCE), dayOfWeekForSequence)
41+
startArray(ContextSpecificTag(TAG_CHARGING_TARGETS))
42+
for (item in chargingTargets.iterator()) {
43+
item.toTlv(AnonymousTag, this)
5244
}
45+
endArray()
5346
endStructure()
5447
}
5548
}
@@ -61,24 +54,14 @@ class EnergyEvseClusterChargingTargetScheduleStruct(
6154
fun fromTlv(tlvTag: Tag, tlvReader: TlvReader): EnergyEvseClusterChargingTargetScheduleStruct {
6255
tlvReader.enterStructure(tlvTag)
6356
val dayOfWeekForSequence =
64-
if (tlvReader.isNextTag(ContextSpecificTag(TAG_DAY_OF_WEEK_FOR_SEQUENCE))) {
65-
Optional.of(tlvReader.getUByte(ContextSpecificTag(TAG_DAY_OF_WEEK_FOR_SEQUENCE)))
66-
} else {
67-
Optional.empty()
68-
}
57+
tlvReader.getUByte(ContextSpecificTag(TAG_DAY_OF_WEEK_FOR_SEQUENCE))
6958
val chargingTargets =
70-
if (tlvReader.isNextTag(ContextSpecificTag(TAG_CHARGING_TARGETS))) {
71-
Optional.of(
72-
buildList<EnergyEvseClusterChargingTargetStruct> {
73-
tlvReader.enterArray(ContextSpecificTag(TAG_CHARGING_TARGETS))
74-
while (!tlvReader.isEndOfContainer()) {
75-
add(EnergyEvseClusterChargingTargetStruct.fromTlv(AnonymousTag, tlvReader))
76-
}
77-
tlvReader.exitContainer()
78-
}
79-
)
80-
} else {
81-
Optional.empty()
59+
buildList<EnergyEvseClusterChargingTargetStruct> {
60+
tlvReader.enterArray(ContextSpecificTag(TAG_CHARGING_TARGETS))
61+
while (!tlvReader.isEndOfContainer()) {
62+
add(EnergyEvseClusterChargingTargetStruct.fromTlv(AnonymousTag, tlvReader))
63+
}
64+
tlvReader.exitContainer()
8265
}
8366

8467
tlvReader.exitContainer()

‎src/controller/python/chip/clusters/Objects.py

+4-4
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)