Skip to content

Commit db97610

Browse files
authored
Replace StringBuffer usages with StringBuilder (#3668)
See: https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/StringBuilder.html > This class provides an API compatible with StringBuffer, but with no guarantee of synchronization. > This class is designed for use as a drop-in replacement for StringBuffer in places where the string buffer was being used by a single thread (as is generally the case). > Where possible, it is recommended that this class be used in preference to StringBuffer as it will be faster under most implementations. Signed-off-by: Wouter Born <[email protected]>
1 parent 78e6674 commit db97610

File tree

5 files changed

+15
-20
lines changed

5 files changed

+15
-20
lines changed

bundles/org.openhab.core.automation/src/main/java/org/openhab/core/automation/internal/RuleEngineImpl.java

+9-14
Original file line numberDiff line numberDiff line change
@@ -266,7 +266,7 @@ public RuleEngineImpl(final @Reference ModuleTypeRegistry moduleTypeRegistry,
266266
this.ruleRegistry = ruleRegistry;
267267
this.readyService = readyService;
268268

269-
listener = new RegistryChangeListener<Rule>() {
269+
listener = new RegistryChangeListener<>() {
270270
@Override
271271
public void added(Rule rule) {
272272
RuleEngineImpl.this.addRule(rule);
@@ -337,8 +337,7 @@ public void added(ModuleType moduleType) {
337337
synchronized (this) {
338338
Set<String> rulesPerModule = mapModuleTypeToRules.get(moduleTypeName);
339339
if (rulesPerModule != null) {
340-
rules = new HashSet<>();
341-
rules.addAll(rulesPerModule);
340+
rules = new HashSet<>(rulesPerModule);
342341
}
343342
}
344343
if (rules != null) {
@@ -366,8 +365,7 @@ public void updated(ModuleType oldElement, ModuleType moduleType) {
366365
synchronized (this) {
367366
Set<String> rulesPerModule = mapModuleTypeToRules.get(moduleTypeName);
368367
if (rulesPerModule != null) {
369-
rules = new HashSet<>();
370-
rules.addAll(rulesPerModule);
368+
rules = new HashSet<>(rulesPerModule);
371369
}
372370
}
373371
if (rules != null) {
@@ -402,8 +400,7 @@ protected void addModuleHandlerFactory(ModuleHandlerFactory moduleHandlerFactory
402400
moduleHandlerFactories.put(moduleTypeName, moduleHandlerFactory);
403401
Set<String> rulesPerModule = mapModuleTypeToRules.get(moduleTypeName);
404402
if (rulesPerModule != null) {
405-
rules = new HashSet<>();
406-
rules.addAll(rulesPerModule);
403+
rules = new HashSet<>(rulesPerModule);
407404
}
408405
}
409406
if (rules != null) {
@@ -505,10 +502,8 @@ private void setRule(WrappedRule rule) {
505502
final boolean activated = activateRule(rule);
506503
if (activated) {
507504
Future<?> f = scheduleTasks.remove(rUID);
508-
if (f != null) {
509-
if (!f.isDone()) {
510-
f.cancel(true);
511-
}
505+
if ((f != null) && !f.isDone()) {
506+
f.cancel(true);
512507
}
513508
}
514509
}
@@ -942,7 +937,7 @@ private void removeMissingModuleTypes(Collection<String> moduleTypes) {
942937
for (Entry<String, List<String>> e : mapMissingHandlers.entrySet()) {
943938
String rUID = e.getKey();
944939
List<String> missingTypes = e.getValue();
945-
StringBuffer sb = new StringBuffer();
940+
StringBuilder sb = new StringBuilder();
946941
sb.append("Missing handlers: ");
947942
for (String typeUID : missingTypes) {
948943
sb.append(typeUID).append(", ");
@@ -1097,7 +1092,7 @@ private Map<String, Object> getContext(String ruleUID, @Nullable Set<Connection>
10971092
throw new IllegalStateException("context cannot be null at that point - please report a bug.");
10981093
}
10991094
if (connections != null) {
1100-
StringBuffer sb = new StringBuffer();
1095+
StringBuilder sb = new StringBuilder();
11011096
for (Connection c : connections) {
11021097
String outputModuleId = c.getOutputModuleId();
11031098
if (outputModuleId != null) {
@@ -1438,7 +1433,7 @@ public void onReadyMarkerRemoved(ReadyMarker readyMarker) {
14381433
private void executeRulesWithStartLevel() {
14391434
getScheduledExecutor().submit(() -> {
14401435
ruleRegistry.getAll().stream() //
1441-
.filter(r -> mustTrigger(r)) //
1436+
.filter(this::mustTrigger) //
14421437
.forEach(r -> runNow(r.getUID(), true,
14431438
Map.of(SystemTriggerHandler.OUT_STARTLEVEL, StartLevelService.STARTLEVEL_RULES)));
14441439
started = true;

bundles/org.openhab.core.automation/src/main/java/org/openhab/core/automation/internal/RuleRegistryImpl.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -500,7 +500,7 @@ private void validateConfiguration(List<ConfigDescriptionParameter> configDescri
500500
if (isOptionalConfig(configDescriptions)) {
501501
return;
502502
} else {
503-
StringBuffer statusDescription = new StringBuffer();
503+
StringBuilder statusDescription = new StringBuilder();
504504
String msg = " '%s';";
505505
for (ConfigDescriptionParameter configParameter : configDescriptions) {
506506
if (configParameter.isRequired()) {
@@ -517,7 +517,7 @@ private void validateConfiguration(List<ConfigDescriptionParameter> configDescri
517517
processValue(configurations.remove(configParameterName), configParameter);
518518
}
519519
if (!configurations.isEmpty()) {
520-
StringBuffer statusDescription = new StringBuffer();
520+
StringBuilder statusDescription = new StringBuilder();
521521
String msg = " '%s';";
522522
for (String name : configurations.keySet()) {
523523
statusDescription.append(String.format(msg, name));
@@ -610,7 +610,7 @@ private boolean checkType(Type type, Object configValue) {
610610
*/
611611
private void resolveModuleConfigReferences(List<? extends Module> modules, Map<String, ?> ruleConfiguration) {
612612
if (modules != null) {
613-
StringBuffer statusDescription = new StringBuffer();
613+
StringBuilder statusDescription = new StringBuilder();
614614
for (Module module : modules) {
615615
try {
616616
ReferenceResolver.updateConfiguration(module.getConfiguration(), ruleConfiguration, logger);

bundles/org.openhab.core.io.console/src/main/java/org/openhab/core/io/console/ConsoleInterpreter.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ public class ConsoleInterpreter {
3333
public static String getHelp(final String base, final String separator,
3434
Collection<ConsoleCommandExtension> extensions) {
3535
final List<String> usages = ConsoleInterpreter.getUsages(extensions);
36-
final StringBuffer buffer = new StringBuffer();
36+
final StringBuilder buffer = new StringBuilder();
3737

3838
buffer.append("---openHAB commands---\n\t");
3939
for (int i = 0; i < usages.size(); i++) {

bundles/org.openhab.core.test.magic/src/main/java/org/openhab/core/magic/binding/internal/MagicServiceConfig.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ public class MagicServiceConfig {
4646

4747
@Override
4848
public String toString() {
49-
StringBuffer b = new StringBuffer();
49+
StringBuilder b = new StringBuilder();
5050
for (Field field : this.getClass().getDeclaredFields()) {
5151
Object value;
5252
try {

bundles/org.openhab.core.thing/src/main/java/org/openhab/core/thing/internal/console/FirmwareUpdateConsoleCommandExtension.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ private void listFirmwareStatus(Console console, String[] args) {
132132
FirmwareStatusInfo firmwareStatusInfo = firmwareUpdateService.getFirmwareStatusInfo(thingUID);
133133

134134
if (firmwareStatusInfo != null) {
135-
StringBuffer sb = new StringBuffer();
135+
StringBuilder sb = new StringBuilder();
136136
sb.append(String.format("Firmware status for thing with UID %s is %s.", thingUID,
137137
firmwareStatusInfo.getFirmwareStatus()));
138138

0 commit comments

Comments
 (0)