Skip to content

Commit d38c5b0

Browse files
authored
Chore: use enhanced switch syntax
1 parent d0b2d79 commit d38c5b0

6 files changed

Lines changed: 65 additions & 154 deletions

File tree

modules/flowable-dmn-xml-converter/src/main/java/org/flowable/dmn/converter/child/InputEntryParser.java

Lines changed: 15 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -104,37 +104,23 @@ protected void migrateExtensionElement(DmnExtensionElement extensionElement, Inp
104104

105105
String elementText = extensionElement.getElementText();
106106
String typeRef = inputClause.getInputExpression().getTypeRef();
107-
String newElementText = null;
107+
String newElementText;
108108
if ("collection".equalsIgnoreCase(typeRef)) {
109-
switch (elementText) {
110-
case "IN":
111-
newElementText = "ALL OF";
112-
break;
113-
case "NOT IN":
114-
newElementText = "NONE OF";
115-
break;
116-
case "ANY":
117-
newElementText = "ANY OF";
118-
break;
119-
case "NOT ANY":
120-
newElementText = "NOT ALL OF";
121-
break;
122-
}
109+
newElementText = switch (elementText) {
110+
case "IN" -> "ALL OF";
111+
case "NOT IN" -> "NONE OF";
112+
case "ANY" -> "ANY OF";
113+
case "NOT ANY" -> "NOT ALL OF";
114+
default -> null;
115+
};
123116
} else {
124-
switch (elementText) {
125-
case "IN":
126-
newElementText = "IS IN";
127-
break;
128-
case "NOT IN":
129-
newElementText = "IS NOT IN";
130-
break;
131-
case "ANY":
132-
newElementText = "IS IN";
133-
break;
134-
case "NOT ANY":
135-
newElementText = "IS NOT IN";
136-
break;
137-
}
117+
newElementText = switch (elementText) {
118+
case "IN" -> "IS IN";
119+
case "NOT IN" -> "IS NOT IN";
120+
case "ANY" -> "IS IN";
121+
case "NOT ANY" -> "IS NOT IN";
122+
default -> null;
123+
};
138124
}
139125

140126
if (newElementText != null) {

modules/flowable-engine-common/src/main/java/org/flowable/common/engine/impl/calendar/CronExpression.java

Lines changed: 23 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@
2121

2222
import java.io.Serializable;
2323
import java.text.ParseException;
24+
import java.time.Month;
25+
import java.time.Year;
2426
import java.util.Calendar;
2527
import java.util.Date;
2628
import java.util.HashMap;
@@ -1061,30 +1063,16 @@ protected void addToSet(int val, int end, int incr, int type) throws ParseExcept
10611063
// type, and using modulus max to determine the value being added.
10621064
int max = -1;
10631065
if (stopAt < startAt) {
1064-
switch (type) {
1065-
case SECOND:
1066-
max = 60;
1067-
break;
1068-
case MINUTE:
1069-
max = 60;
1070-
break;
1071-
case HOUR:
1072-
max = 24;
1073-
break;
1074-
case MONTH:
1075-
max = 12;
1076-
break;
1077-
case DAY_OF_WEEK:
1078-
max = 7;
1079-
break;
1080-
case DAY_OF_MONTH:
1081-
max = 31;
1082-
break;
1083-
case YEAR:
1084-
throw new IllegalArgumentException("Start year must be less than stop year");
1085-
default:
1086-
throw new IllegalArgumentException("Unexpected type encountered");
1087-
}
1066+
max = switch (type) {
1067+
case SECOND -> 60;
1068+
case MINUTE -> 60;
1069+
case HOUR -> 24;
1070+
case MONTH -> 12;
1071+
case DAY_OF_WEEK -> 7;
1072+
case DAY_OF_MONTH -> 31;
1073+
case YEAR -> throw new IllegalArgumentException("Start year must be less than stop year");
1074+
default -> throw new IllegalArgumentException("Unexpected type encountered");
1075+
};
10881076
stopAt += max;
10891077
}
10901078

@@ -1108,24 +1096,16 @@ protected void addToSet(int val, int end, int incr, int type) throws ParseExcept
11081096
}
11091097

11101098
TreeSet<Integer> getSet(int type) {
1111-
switch (type) {
1112-
case SECOND:
1113-
return seconds;
1114-
case MINUTE:
1115-
return minutes;
1116-
case HOUR:
1117-
return hours;
1118-
case DAY_OF_MONTH:
1119-
return daysOfMonth;
1120-
case MONTH:
1121-
return months;
1122-
case DAY_OF_WEEK:
1123-
return daysOfWeek;
1124-
case YEAR:
1125-
return years;
1126-
default:
1127-
return null;
1128-
}
1099+
return switch (type) {
1100+
case SECOND -> seconds;
1101+
case MINUTE -> minutes;
1102+
case HOUR -> hours;
1103+
case DAY_OF_MONTH -> daysOfMonth;
1104+
case MONTH -> months;
1105+
case DAY_OF_WEEK -> daysOfWeek;
1106+
case YEAR -> years;
1107+
default -> null;
1108+
};
11291109
}
11301110

11311111
protected ValueSet getValue(int v, String s, int i) {
@@ -1623,35 +1603,7 @@ protected boolean isLeapYear(int year) {
16231603
}
16241604

16251605
protected int getLastDayOfMonth(int monthNum, int year) {
1626-
1627-
switch (monthNum) {
1628-
case 1:
1629-
return 31;
1630-
case 2:
1631-
return isLeapYear(year) ? 29 : 28;
1632-
case 3:
1633-
return 31;
1634-
case 4:
1635-
return 30;
1636-
case 5:
1637-
return 31;
1638-
case 6:
1639-
return 30;
1640-
case 7:
1641-
return 31;
1642-
case 8:
1643-
return 31;
1644-
case 9:
1645-
return 30;
1646-
case 10:
1647-
return 31;
1648-
case 11:
1649-
return 30;
1650-
case 12:
1651-
return 31;
1652-
default:
1653-
throw new IllegalArgumentException("Illegal month number: " + monthNum);
1654-
}
1606+
return Month.of(monthNum).length(Year.isLeap(year));
16551607
}
16561608

16571609
private void readObject(java.io.ObjectInputStream stream) throws java.io.IOException, ClassNotFoundException {

modules/flowable-engine/src/main/java/org/flowable/engine/impl/bpmn/behavior/CallActivityBehavior.java

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -240,17 +240,11 @@ public void execute(DelegateExecution execution) {
240240
}
241241

242242
protected ProcessDefinition getProcessDefinition(DelegateExecution execution, CallActivity callActivity, ProcessEngineConfigurationImpl processEngineConfiguration) {
243-
ProcessDefinition processDefinition;
244-
switch (StringUtils.isNotEmpty(calledElementType) ? calledElementType : CALLED_ELEMENT_TYPE_KEY) {
245-
case CALLED_ELEMENT_TYPE_ID:
246-
processDefinition = getProcessDefinitionById(execution, processEngineConfiguration);
247-
break;
248-
case CALLED_ELEMENT_TYPE_KEY:
249-
processDefinition = getProcessDefinitionByKey(execution, callActivity.isSameDeployment(), processEngineConfiguration);
250-
break;
251-
default:
252-
throw new FlowableException("Unrecognized calledElementType [" + calledElementType + "] in " + execution);
253-
}
243+
ProcessDefinition processDefinition = switch (StringUtils.isNotEmpty(calledElementType) ? calledElementType : CALLED_ELEMENT_TYPE_KEY) {
244+
case CALLED_ELEMENT_TYPE_ID -> getProcessDefinitionById(execution, processEngineConfiguration);
245+
case CALLED_ELEMENT_TYPE_KEY -> getProcessDefinitionByKey(execution, callActivity.isSameDeployment(), processEngineConfiguration);
246+
default -> throw new FlowableException("Unrecognized calledElementType [" + calledElementType + "] in " + execution);
247+
};
254248
return processDefinition;
255249
}
256250

modules/flowable-engine/src/test/java/org/flowable/engine/test/concurrency/SetRandomVariablesTaskListener.java

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -45,17 +45,13 @@ public void notify(DelegateTask delegateTask) {
4545
}
4646

4747
protected Object getRandomValue() {
48-
switch (new Random().nextInt(4)) {
49-
case 0:
50-
return new Random().nextLong();
51-
case 1:
52-
return new Random().nextDouble();
53-
case 2:
54-
return "Activiti is a light-weight workflow and Business Process Management (BPM) Platform";
55-
default:
56-
return new Random().nextBoolean();
57-
// return "Some bytearray".getBytes();
58-
}
48+
return switch (new Random().nextInt(4)) {
49+
case 0 -> new Random().nextLong();
50+
case 1 -> new Random().nextDouble();
51+
case 2 -> "Activiti is a light-weight workflow and Business Process Management (BPM) Platform";
52+
default -> new Random().nextBoolean();
53+
// return "Some bytearray".getBytes();
54+
};
5955
}
6056

6157
}

modules/flowable-idm-engine/src/main/java/org/flowable/idm/engine/impl/authentication/ApacheDigester.java

Lines changed: 8 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -43,21 +43,14 @@ public Digester getDigester() {
4343

4444
private String encodePassword(CharSequence rawPassword, PasswordSalt passwordSalt) {
4545
String salt = rawPassword + passwordSalt.getSource().getSalt();
46-
switch (digester) {
47-
case MD5:
48-
return DigestUtils.md5Hex(salt);
49-
case SHA:
50-
return DigestUtils.sha1Hex(salt);
51-
case SHA256:
52-
return DigestUtils.sha256Hex(salt);
53-
case SHA348:
54-
return DigestUtils.sha384Hex(salt);
55-
case SHA512:
56-
return DigestUtils.sha512Hex(salt);
57-
default:
58-
break;
59-
}
60-
return null;
46+
return switch (digester) {
47+
case MD5 -> DigestUtils.md5Hex(salt);
48+
case SHA -> DigestUtils.sha1Hex(salt);
49+
case SHA256 -> DigestUtils.sha256Hex(salt);
50+
case SHA348 -> DigestUtils.sha384Hex(salt);
51+
case SHA512 -> DigestUtils.sha512Hex(salt);
52+
default -> null;
53+
};
6154
}
6255

6356
public enum Digester {

modules/flowable-idm-engine/src/main/java/org/flowable/idm/engine/impl/persistence/entity/AbstractIdmEngineEntityManager.java

Lines changed: 7 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -33,23 +33,13 @@ public AbstractIdmEngineEntityManager(IdmEngineConfiguration idmEngineConfigurat
3333

3434
@Override
3535
protected FlowableEntityEvent createEntityEvent(FlowableEngineEventType eventType, Entity entity) {
36-
FlowableIdmEventType idmEventType;
37-
switch (eventType) {
38-
case ENTITY_CREATED:
39-
idmEventType = FlowableIdmEventType.ENTITY_CREATED;
40-
break;
41-
case ENTITY_INITIALIZED:
42-
idmEventType = FlowableIdmEventType.ENTITY_INITIALIZED;
43-
break;
44-
case ENTITY_UPDATED:
45-
idmEventType = FlowableIdmEventType.ENTITY_UPDATED;
46-
break;
47-
case ENTITY_DELETED:
48-
idmEventType = FlowableIdmEventType.ENTITY_DELETED;
49-
break;
50-
default:
51-
idmEventType = null;
52-
}
36+
FlowableIdmEventType idmEventType = switch (eventType) {
37+
case ENTITY_CREATED -> FlowableIdmEventType.ENTITY_CREATED;
38+
case ENTITY_INITIALIZED -> FlowableIdmEventType.ENTITY_INITIALIZED;
39+
case ENTITY_UPDATED -> FlowableIdmEventType.ENTITY_UPDATED;
40+
case ENTITY_DELETED -> FlowableIdmEventType.ENTITY_DELETED;
41+
default -> null;
42+
};
5343

5444
if (idmEventType != null) {
5545
return FlowableIdmEventBuilder.createEntityEvent(idmEventType, entity);

0 commit comments

Comments
 (0)