Skip to content

Commit 74ed3d8

Browse files
committed
Fixes to remove modified field
1 parent 509a717 commit 74ed3d8

File tree

3 files changed

+31
-87
lines changed

3 files changed

+31
-87
lines changed

model/src/main/java/oracle/kubernetes/weblogic/domain/model/DomainStatus.java

Lines changed: 15 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ public class DomainStatus {
3131

3232
@Description("Current service state of domain.")
3333
@Valid
34-
private List<DomainCondition> conditions = new ArrayList<DomainCondition>();
34+
private List<DomainCondition> conditions = new ArrayList<>();
3535

3636
@Description(
3737
"A human readable message indicating details about why the domain is in this condition.")
@@ -62,8 +62,18 @@ public class DomainStatus {
6262
@Range(minimum = 0)
6363
private Integer replicas;
6464

65-
/** true if the domain status has been modified. * */
66-
private volatile boolean modified;
65+
public DomainStatus() {
66+
}
67+
68+
public DomainStatus(DomainStatus that) {
69+
conditions.addAll(that.conditions);
70+
message = that.message;
71+
reason = that.reason;
72+
servers.addAll(that.servers);
73+
clusters.addAll(that.clusters);
74+
startTime = that.startTime;
75+
replicas = that.replicas;
76+
}
6777

6878
/**
6979
* Current service state of domain.
@@ -86,7 +96,6 @@ public DomainStatus addCondition(DomainCondition condition) {
8696
}
8797

8898
conditions.add(condition);
89-
modified = true;
9099
return this;
91100
}
92101

@@ -116,8 +125,8 @@ private List<DomainCondition> getConditionsMatching(Predicate<DomainCondition> p
116125
}
117126

118127
private void removeCondition(DomainCondition condition) {
119-
if (condition != null && conditions.remove(condition)) {
120-
modified = true;
128+
if (condition != null) {
129+
conditions.remove(condition);
121130
}
122131
}
123132

@@ -258,7 +267,6 @@ public void setServers(List<ServerStatus> servers) {
258267
}
259268

260269
this.servers = servers;
261-
modified = true;
262270
}
263271

264272
private boolean isServersEqualIgnoringOrder(List<ServerStatus> servers1, List<ServerStatus> servers2) {
@@ -286,7 +294,6 @@ public void setClusters(List<ClusterStatus> clusters) {
286294
}
287295

288296
this.clusters = clusters;
289-
modified = true;
290297
}
291298

292299
private boolean isClustersEqualIgnoringOrder(List<ClusterStatus> clusters1, List<ClusterStatus> clusters2) {
@@ -308,15 +315,6 @@ DateTime getStartTime() {
308315
return startTime;
309316
}
310317

311-
public boolean isModified() {
312-
return modified;
313-
}
314-
315-
public DomainStatus clearModified() {
316-
modified = false;
317-
return this;
318-
}
319-
320318
@Override
321319
public String toString() {
322320
return new ToStringBuilder(this)

model/src/test/java/oracle/kubernetes/weblogic/domain/model/DomainStatusTest.java

Lines changed: 0 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -44,18 +44,6 @@ public void whenCreated_statusHasCreationTime() {
4444
assertThat(domainStatus.getStartTime(), isDuringTest());
4545
}
4646

47-
@Test
48-
public void whenDomainCreated_isNotModified() {
49-
assertThat(domainStatus.isModified(), is(false));
50-
}
51-
52-
@Test
53-
public void whenFirstConditionAdded_statusIsModified() {
54-
domainStatus.addCondition(new DomainCondition(Available));
55-
56-
assertThat(domainStatus.isModified(), is(true));
57-
}
58-
5947
@Test
6048
public void whenAddedConditionIsSameTypeAsExisting_oldConditionIsReplaced() {
6149
domainStatus.addCondition(new DomainCondition(Available).withStatus("False"));
@@ -76,26 +64,6 @@ public void whenAddedConditionIsDifferentTypeThenExisting_oldConditionIsNotRepla
7664
assertThat(domainStatus, hasCondition(Progressing).withStatus("False"));
7765
}
7866

79-
@Test
80-
public void whenConditionIsReplaced_statusIsModifiedOnAdd() {
81-
domainStatus.addCondition(new DomainCondition(Available).withStatus("False"));
82-
domainStatus.clearModified();
83-
84-
domainStatus.addCondition(new DomainCondition(Available).withStatus("True"));
85-
86-
assertThat(domainStatus.isModified(), is(true));
87-
}
88-
89-
@Test
90-
public void whenNewConditionEqualsExisting_statusIsNotModifiedOnAdd() {
91-
domainStatus.addCondition(new DomainCondition(Available).withStatus("True"));
92-
domainStatus.clearModified();
93-
94-
domainStatus.addCondition(new DomainCondition(Available).withStatus("True"));
95-
96-
assertThat(domainStatus.isModified(), is(false));
97-
}
98-
9967
@Test
10068
public void beforeConditionAdded_statusFailsPredicate() {
10169
assertThat(domainStatus.hasConditionWith(c -> c.hasType(Available)), is(false));
@@ -107,31 +75,4 @@ public void afterConditionAdded_statusPassesPredicate() {
10775

10876
assertThat(domainStatus.hasConditionWith(c -> c.hasType(Available)), is(true));
10977
}
110-
111-
@Test
112-
public void whenSetServersEqualIgnoringOrder_originalStatusIsNotModified() {
113-
ServerStatus server1 = new ServerStatus().withServerName("aa").withState("RUNNING");
114-
ServerStatus server2 = new ServerStatus().withServerName("bb").withState("RUNNING");
115-
ServerStatus server3 = new ServerStatus().withServerName("cc").withState("RUNNING");
116-
domainStatus.setServers(Arrays.asList(server1, server2, server3));
117-
domainStatus.clearModified();
118-
119-
domainStatus.setServers(Arrays.asList(server2, server3, server1));
120-
121-
assertThat(domainStatus.isModified(), is(false));
122-
}
123-
124-
@Test
125-
public void whenSetServersNotEquals_originalStatusIsModified() {
126-
ServerStatus server1 = new ServerStatus().withServerName("aa").withState("RUNNING");
127-
ServerStatus server2 = new ServerStatus().withServerName("bb").withState("RUNNING");
128-
ServerStatus server3 = new ServerStatus().withServerName("cc").withState("RUNNING");
129-
domainStatus.setServers(Arrays.asList(server1, server2, server3));
130-
domainStatus.clearModified();
131-
132-
domainStatus.setServers(
133-
Arrays.asList(server2, server3, new ServerStatus().withServerName("aa").withState("STOP")));
134-
135-
assertThat(domainStatus.isModified(), is(true));
136-
}
13778
}

operator/src/main/java/oracle/kubernetes/operator/DomainStatusUpdater.java

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -227,7 +227,8 @@ public NextAction apply(Packet packet) {
227227
LOGGER.entering();
228228

229229
StatusUpdateContext context = new StatusUpdateContext(packet);
230-
DomainStatus status = context.getStatus().clearModified();
230+
DomainStatus status = context.getStatus();
231+
DomainStatus currentStatus = new DomainStatus(status);
231232

232233
if (context.getDomain() != null) {
233234
if (context.getDomainConfig().isPresent()) {
@@ -250,12 +251,12 @@ public NextAction apply(Packet packet) {
250251
}
251252
}
252253

253-
if (status.isModified()) {
254+
if (!status.equals(currentStatus)) {
254255
LOGGER.info(MessageKeys.DOMAIN_STATUS, context.getInfo().getDomainUid(), status);
255256
}
256257
LOGGER.exiting();
257258

258-
return status.isModified()
259+
return !status.equals(currentStatus)
259260
? doDomainUpdate(
260261
context.getDomain(), context.getInfo(), packet, StatusUpdateStep.this, getNext())
261262
: doNext(packet);
@@ -433,7 +434,8 @@ public NextAction apply(Packet packet) {
433434
LOGGER.entering();
434435

435436
DomainConditionStepContext context = new DomainConditionStepContext(packet);
436-
DomainStatus status = context.getStatus().clearModified();
437+
DomainStatus status = context.getStatus();
438+
DomainStatus currentStatus = new DomainStatus(status);
437439

438440
status.addCondition(new DomainCondition(Progressing).withStatus(TRUE).withReason(reason));
439441
status.removeConditionIf(c -> c.getType() == Failed);
@@ -444,7 +446,7 @@ public NextAction apply(Packet packet) {
444446
LOGGER.info(MessageKeys.DOMAIN_STATUS, context.getDomain().getDomainUid(), status);
445447
LOGGER.exiting();
446448

447-
return status.isModified()
449+
return !status.equals(currentStatus)
448450
? doDomainUpdate(
449451
context.getDomain(), context.getInfo(), packet, ProgressingStep.this, getNext())
450452
: doNext(packet);
@@ -462,14 +464,15 @@ public NextAction apply(Packet packet) {
462464
LOGGER.entering();
463465

464466
DomainConditionStepContext context = new DomainConditionStepContext(packet);
465-
DomainStatus status = context.getStatus().clearModified();
467+
DomainStatus status = context.getStatus();
468+
DomainStatus currentStatus = new DomainStatus(status);
466469

467470
status.removeConditionIf(c -> c.getType() == Progressing && TRUE.equals(c.getStatus()));
468471

469472
LOGGER.info(MessageKeys.DOMAIN_STATUS, context.getDomain().getDomainUid(), status);
470473
LOGGER.exiting();
471474

472-
return status.isModified()
475+
return !status.equals(currentStatus)
473476
? doDomainUpdate(
474477
context.getDomain(), context.getInfo(), packet, EndProgressingStep.this, getNext())
475478
: doNext(packet);
@@ -489,14 +492,15 @@ public NextAction apply(Packet packet) {
489492
LOGGER.entering();
490493

491494
DomainConditionStepContext context = new DomainConditionStepContext(packet);
492-
DomainStatus status = context.getStatus().clearModified();
495+
DomainStatus status = context.getStatus();
496+
DomainStatus currentStatus = new DomainStatus(status);
493497

494498
status.addCondition(new DomainCondition(Available).withStatus(TRUE).withReason(reason));
495499
status.removeConditionIf(c -> c.getType() == Failed);
496500

497501
LOGGER.info(MessageKeys.DOMAIN_STATUS, context.getDomain().getDomainUid(), status);
498502
LOGGER.exiting();
499-
return status.isModified()
503+
return !status.equals(currentStatus)
500504
? doDomainUpdate(
501505
context.getDomain(), context.getInfo(), packet, AvailableStep.this, getNext())
502506
: doNext(packet);
@@ -516,7 +520,8 @@ public NextAction apply(Packet packet) {
516520
LOGGER.entering();
517521

518522
DomainConditionStepContext context = new DomainConditionStepContext(packet);
519-
final DomainStatus status = context.getStatus().clearModified();
523+
DomainStatus status = context.getStatus();
524+
DomainStatus currentStatus = new DomainStatus(status);
520525

521526
status.addCondition(
522527
new DomainCondition(Failed)
@@ -530,7 +535,7 @@ public NextAction apply(Packet packet) {
530535
LOGGER.info(MessageKeys.DOMAIN_STATUS, context.getDomain().getDomainUid(), status);
531536
LOGGER.exiting();
532537

533-
return status.isModified()
538+
return !status.equals(currentStatus)
534539
? doDomainUpdate(
535540
context.getDomain(), context.getInfo(), packet, FailedStep.this, getNext())
536541
: doNext(packet);

0 commit comments

Comments
 (0)