Fix Xtend warnings (#4578)

* Fix Xtend warnings

* Remove unused imports and unnecessary private modifiers
* Use === when comparing to null
* Replace deprecated initializeLater

Signed-off-by: Holger Friedrich <mail@holger-friedrich.de>
pull/4561/head
Holger Friedrich 2025-02-15 16:24:48 +01:00 committed by GitHub
parent ab870d73df
commit 52e1185e41
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 33 additions and 40 deletions

View File

@ -29,8 +29,8 @@ import org.openhab.core.model.script.engine.ScriptEngine
class RulesStandaloneSetup extends RulesStandaloneSetupGenerated { class RulesStandaloneSetup extends RulesStandaloneSetupGenerated {
static Injector injector static Injector injector
private ScriptServiceUtil scriptServiceUtil; ScriptServiceUtil scriptServiceUtil;
private ScriptEngine scriptEngine; ScriptEngine scriptEngine;
override Injector createInjectorAndDoEMFRegistration() { override Injector createInjectorAndDoEMFRegistration() {
ScriptStandaloneSetup.doSetup(scriptServiceUtil, scriptEngine); ScriptStandaloneSetup.doSetup(scriptServiceUtil, scriptEngine);

View File

@ -17,7 +17,6 @@ import java.util.Set
import org.openhab.core.items.Item import org.openhab.core.items.Item
import org.openhab.core.items.ItemRegistry import org.openhab.core.items.ItemRegistry
import org.openhab.core.thing.ThingRegistry import org.openhab.core.thing.ThingRegistry
import org.openhab.core.thing.events.ChannelTriggeredEvent
import org.openhab.core.types.Command import org.openhab.core.types.Command
import org.openhab.core.types.State import org.openhab.core.types.State
import org.openhab.core.model.rule.rules.ChangedEventTrigger import org.openhab.core.model.rule.rules.ChangedEventTrigger
@ -33,14 +32,12 @@ import org.openhab.core.model.rule.rules.ThingStateChangedEventTrigger
import org.openhab.core.model.rule.rules.UpdateEventTrigger import org.openhab.core.model.rule.rules.UpdateEventTrigger
import org.openhab.core.model.script.jvmmodel.ScriptJvmModelInferrer import org.openhab.core.model.script.jvmmodel.ScriptJvmModelInferrer
import org.openhab.core.model.script.scoping.StateAndCommandProvider import org.openhab.core.model.script.scoping.StateAndCommandProvider
import org.eclipse.xtext.naming.IQualifiedNameProvider
import org.eclipse.xtext.xbase.jvmmodel.IJvmDeclaredTypeAcceptor import org.eclipse.xtext.xbase.jvmmodel.IJvmDeclaredTypeAcceptor
import org.eclipse.xtext.xbase.jvmmodel.JvmTypesBuilder import org.eclipse.xtext.xbase.jvmmodel.JvmTypesBuilder
import org.slf4j.Logger import org.slf4j.Logger
import org.slf4j.LoggerFactory import org.slf4j.LoggerFactory
import org.eclipse.xtext.common.types.JvmFormalParameter import org.eclipse.xtext.common.types.JvmFormalParameter
import org.eclipse.emf.common.util.EList import org.eclipse.emf.common.util.EList
import org.openhab.core.events.Event
import org.openhab.core.automation.module.script.rulesupport.shared.ValueCache import org.openhab.core.automation.module.script.rulesupport.shared.ValueCache
/** /**
@ -54,13 +51,12 @@ import org.openhab.core.automation.module.script.rulesupport.shared.ValueCache
*/ */
class RulesJvmModelInferrer extends ScriptJvmModelInferrer { class RulesJvmModelInferrer extends ScriptJvmModelInferrer {
private final Logger logger = LoggerFactory.getLogger(RulesJvmModelInferrer) final Logger logger = LoggerFactory.getLogger(RulesJvmModelInferrer)
/** /**
* conveninence API to build and initialize JvmTypes and their members. * convenience API to build and initialize JvmTypes and their members.
*/ */
@Inject extension JvmTypesBuilder @Inject extension JvmTypesBuilder
@Inject extension IQualifiedNameProvider
@Inject @Inject
ItemRegistry itemRegistry ItemRegistry itemRegistry
@ -82,7 +78,7 @@ class RulesJvmModelInferrer extends ScriptJvmModelInferrer {
*/ */
def dispatch void infer(RuleModel ruleModel, IJvmDeclaredTypeAcceptor acceptor, boolean isPreIndexingPhase) { def dispatch void infer(RuleModel ruleModel, IJvmDeclaredTypeAcceptor acceptor, boolean isPreIndexingPhase) {
val className = ruleModel.eResource.URI.lastSegment.split("\\.").head.toFirstUpper + "Rules" val className = ruleModel.eResource.URI.lastSegment.split("\\.").head.toFirstUpper + "Rules"
acceptor.accept(ruleModel.toClass(className)).initializeLater [ acceptor.accept(ruleModel.toClass(className), [
members += ruleModel.variables.map [ members += ruleModel.variables.map [
toField(name, type?.cloneWithProxies) => [ field | toField(name, type?.cloneWithProxies) => [ field |
field.static = true field.static = true
@ -175,7 +171,7 @@ class RulesJvmModelInferrer extends ScriptJvmModelInferrer {
body = rule.script body = rule.script
] ]
] ]
] ])
} }
def private boolean containsParam(EList<JvmFormalParameter> params, String param) { def private boolean containsParam(EList<JvmFormalParameter> params, String param) {

View File

@ -27,8 +27,8 @@ class ScriptStandaloneSetup extends ScriptStandaloneSetupGenerated {
static Injector injector static Injector injector
private ScriptServiceUtil scriptServiceUtil; ScriptServiceUtil scriptServiceUtil;
private ScriptEngine scriptEngine; ScriptEngine scriptEngine;
def ScriptStandaloneSetup setScriptServiceUtil(ScriptServiceUtil scriptServiceUtil) { def ScriptStandaloneSetup setScriptServiceUtil(ScriptServiceUtil scriptServiceUtil) {
this.scriptServiceUtil = scriptServiceUtil; this.scriptServiceUtil = scriptServiceUtil;

View File

@ -46,7 +46,7 @@ import org.eclipse.xtext.xbase.typesystem.IBatchTypeResolver
* *
*/ */
@SuppressWarnings("restriction") @SuppressWarnings("restriction")
public class ScriptInterpreter extends XbaseInterpreter { class ScriptInterpreter extends XbaseInterpreter {
@Inject @Inject
ItemRegistry itemRegistry ItemRegistry itemRegistry
@ -55,7 +55,7 @@ public class ScriptInterpreter extends XbaseInterpreter {
StateAndCommandProvider stateAndCommandProvider StateAndCommandProvider stateAndCommandProvider
@Inject @Inject
private IBatchTypeResolver typeResolver; IBatchTypeResolver typeResolver;
@Inject @Inject
extension IJvmModelAssociations extension IJvmModelAssociations
@ -130,7 +130,7 @@ public class ScriptInterpreter extends XbaseInterpreter {
// Check if the JvmField is inferred // Check if the JvmField is inferred
val sourceElement = jvmField.sourceElements.head val sourceElement = jvmField.sourceElements.head
if (sourceElement != null) { if (sourceElement !== null) {
context.assignValue(QualifiedName.create(jvmField.simpleName), value) context.assignValue(QualifiedName.create(jvmField.simpleName), value)
value value
} else { } else {
@ -142,7 +142,7 @@ public class ScriptInterpreter extends XbaseInterpreter {
if (expression === null) { if (expression === null) {
return null return null
} else if (expression instanceof QuantityLiteral) { } else if (expression instanceof QuantityLiteral) {
return doEvaluate(expression as QuantityLiteral, context, indicator) return doEvaluate(expression, context, indicator)
} else { } else {
return super.doEvaluate(expression, context, indicator) return super.doEvaluate(expression, context, indicator)
} }

View File

@ -25,7 +25,6 @@ import org.slf4j.LoggerFactory
import org.openhab.core.items.Item import org.openhab.core.items.Item
import org.openhab.core.types.Command import org.openhab.core.types.Command
import org.openhab.core.types.State import org.openhab.core.types.State
import org.openhab.core.events.Event
import org.openhab.core.automation.module.script.rulesupport.shared.ValueCache import org.openhab.core.automation.module.script.rulesupport.shared.ValueCache
/** /**
@ -39,7 +38,7 @@ import org.openhab.core.automation.module.script.rulesupport.shared.ValueCache
*/ */
class ScriptJvmModelInferrer extends AbstractModelInferrer { class ScriptJvmModelInferrer extends AbstractModelInferrer {
static private final Logger logger = LoggerFactory.getLogger(ScriptJvmModelInferrer) static final Logger logger = LoggerFactory.getLogger(ScriptJvmModelInferrer)
/** Variable name for the input string in a "script transformation" or "script profile" */ /** Variable name for the input string in a "script transformation" or "script profile" */
public static final String VAR_INPUT = "input"; public static final String VAR_INPUT = "input";
@ -85,7 +84,7 @@ class ScriptJvmModelInferrer extends AbstractModelInferrer {
public static final String VAR_SHARED_CACHE = "sharedCache"; public static final String VAR_SHARED_CACHE = "sharedCache";
/** /**
* conveninence API to build and initialize JvmTypes and their members. * convenience API to build and initialize JvmTypes and their members.
*/ */
@Inject extension JvmTypesBuilder @Inject extension JvmTypesBuilder
@ -106,7 +105,7 @@ class ScriptJvmModelInferrer extends AbstractModelInferrer {
*/ */
def dispatch void infer(Script script, IJvmDeclaredTypeAcceptor acceptor, boolean isPreIndexingPhase) { def dispatch void infer(Script script, IJvmDeclaredTypeAcceptor acceptor, boolean isPreIndexingPhase) {
val className = script.eResource.URI.lastSegment.split("\\.").head.toFirstUpper + "Script" val className = script.eResource.URI.lastSegment.split("\\.").head.toFirstUpper + "Script"
acceptor.accept(script.toClass(className)).initializeLater [ acceptor.accept(script.toClass(className), [
val Set<String> fieldNames = newHashSet() val Set<String> fieldNames = newHashSet()
@ -167,6 +166,6 @@ class ScriptJvmModelInferrer extends AbstractModelInferrer {
parameters += script.toParameter(VAR_SHARED_CACHE, sharedCacheTypeRef) parameters += script.toParameter(VAR_SHARED_CACHE, sharedCacheTypeRef)
body = script body = script
] ]
] ])
} }
} }

View File

@ -25,10 +25,8 @@ import org.openhab.core.config.core.ConfigDescriptionRegistry
import org.openhab.core.config.core.ConfigUtil import org.openhab.core.config.core.ConfigUtil
import org.openhab.core.config.core.Configuration import org.openhab.core.config.core.Configuration
import org.openhab.core.common.AbstractUID import org.openhab.core.common.AbstractUID
import org.openhab.core.common.registry.AbstractProvider
import org.openhab.core.i18n.LocaleProvider import org.openhab.core.i18n.LocaleProvider
import org.openhab.core.service.ReadyMarker import org.openhab.core.service.ReadyMarker
import org.openhab.core.service.ReadyMarkerFilter
import org.openhab.core.service.ReadyService import org.openhab.core.service.ReadyService
import org.openhab.core.service.StartLevelService import org.openhab.core.service.StartLevelService
import org.openhab.core.thing.Channel import org.openhab.core.thing.Channel
@ -77,31 +75,31 @@ import org.slf4j.LoggerFactory
@Component(immediate=true, service=ThingProvider) @Component(immediate=true, service=ThingProvider)
class GenericThingProvider extends AbstractProviderLazyNullness<Thing> implements ThingProvider, ModelRepositoryChangeListener, ReadyService.ReadyTracker { class GenericThingProvider extends AbstractProviderLazyNullness<Thing> implements ThingProvider, ModelRepositoryChangeListener, ReadyService.ReadyTracker {
private static final String XML_THING_TYPE = "openhab.xmlThingTypes"; static final String XML_THING_TYPE = "openhab.xmlThingTypes";
private LocaleProvider localeProvider LocaleProvider localeProvider
private ModelRepository modelRepository ModelRepository modelRepository
private ThingTypeRegistry thingTypeRegistry ThingTypeRegistry thingTypeRegistry
private ChannelTypeRegistry channelTypeRegistry ChannelTypeRegistry channelTypeRegistry
private BundleResolver bundleResolver; BundleResolver bundleResolver;
private Map<String, Collection<Thing>> thingsMap = new ConcurrentHashMap Map<String, Collection<Thing>> thingsMap = new ConcurrentHashMap
private List<ThingHandlerFactory> thingHandlerFactories = new CopyOnWriteArrayList<ThingHandlerFactory>() List<ThingHandlerFactory> thingHandlerFactories = new CopyOnWriteArrayList<ThingHandlerFactory>()
private ConfigDescriptionRegistry configDescriptionRegistry ConfigDescriptionRegistry configDescriptionRegistry
private val List<QueueContent> queue = new CopyOnWriteArrayList val List<QueueContent> queue = new CopyOnWriteArrayList
private var Thread lazyRetryThread = null var Thread lazyRetryThread = null
private static final Logger logger = LoggerFactory.getLogger(GenericThingProvider) static final Logger logger = LoggerFactory.getLogger(GenericThingProvider)
private val Set<String> loadedXmlThingTypes = new CopyOnWriteArraySet val Set<String> loadedXmlThingTypes = new CopyOnWriteArraySet
private var modelLoaded = false var modelLoaded = false
def void activate() { def void activate() {
modelRepository.getAllModelNamesOfType("things").forEach [ modelRepository.getAllModelNamesOfType("things").forEach [
@ -138,7 +136,7 @@ class GenericThingProvider extends AbstractProviderLazyNullness<Thing> implement
val factory = thingHandlerFactories.findFirst [ val factory = thingHandlerFactories.findFirst [
supportsThingType(thingTypeUID) supportsThingType(thingTypeUID)
] ]
if (factory == null && modelLoaded) { if (factory === null && modelLoaded) {
logger.info("No ThingHandlerFactory found for thing {} (thing-type is {}). Deferring initialization.", logger.info("No ThingHandlerFactory found for thing {} (thing-type is {}). Deferring initialization.",
thingUID, thingTypeUID) thingUID, thingTypeUID)
} }
@ -602,7 +600,7 @@ class GenericThingProvider extends AbstractProviderLazyNullness<Thing> implement
} }
def private createThingsFromModelForThingHandlerFactory(String modelName, ThingHandlerFactory factory) { def private createThingsFromModelForThingHandlerFactory(String modelName, ThingHandlerFactory factory) {
if (!loadedXmlThingTypes.contains(factory.bundleName) || modelRepository == null) { if (!loadedXmlThingTypes.contains(factory.bundleName) || modelRepository === null) {
return return
} }
val things = thingsMap.get(modelName) val things = thingsMap.get(modelName)
@ -633,7 +631,7 @@ class GenericThingProvider extends AbstractProviderLazyNullness<Thing> implement
] ]
} }
private val lazyRetryRunnable = new Runnable() { val lazyRetryRunnable = new Runnable() {
override run() { override run() {
logger.debug("Starting lazy retry thread") logger.debug("Starting lazy retry thread")
while (!queue.empty) { while (!queue.empty) {