diff --git a/bundles/org.openhab.core.model.rule/src/org/openhab/core/model/rule/RulesRuntimeModule.xtend b/bundles/org.openhab.core.model.rule/src/org/openhab/core/model/rule/RulesRuntimeModule.xtend index 6a93f2827..abec2525b 100644 --- a/bundles/org.openhab.core.model.rule/src/org/openhab/core/model/rule/RulesRuntimeModule.xtend +++ b/bundles/org.openhab.core.model.rule/src/org/openhab/core/model/rule/RulesRuntimeModule.xtend @@ -24,7 +24,6 @@ import org.openhab.core.model.script.jvmmodel.ScriptTypeComputer import org.openhab.core.model.script.scoping.ActionClassLoader import org.openhab.core.model.script.scoping.ScriptImplicitlyImportedTypes import org.openhab.core.model.script.scoping.ScriptImportSectionNamespaceScopeProvider -import org.openhab.core.model.script.scoping.StateAndCommandProvider import org.eclipse.xtext.common.types.access.IJvmTypeProvider import org.eclipse.xtext.common.types.access.reflect.ReflectionTypeProviderFactory import org.eclipse.xtext.common.types.access.reflect.ReflectionTypeScopeProvider @@ -57,10 +56,6 @@ import org.eclipse.xtext.xbase.typesystem.computation.ITypeComputer return ScriptImplicitlyImportedTypes } - def Class bindStateAndCommandProvider() { - return StateAndCommandProvider - } - override Class bindIGenerator() { return NullGenerator } diff --git a/bundles/org.openhab.core.model.rule/src/org/openhab/core/model/rule/jvmmodel/RulesJvmModelInferrer.xtend b/bundles/org.openhab.core.model.rule/src/org/openhab/core/model/rule/jvmmodel/RulesJvmModelInferrer.xtend index 5b2e66dc0..c96c75b76 100644 --- a/bundles/org.openhab.core.model.rule/src/org/openhab/core/model/rule/jvmmodel/RulesJvmModelInferrer.xtend +++ b/bundles/org.openhab.core.model.rule/src/org/openhab/core/model/rule/jvmmodel/RulesJvmModelInferrer.xtend @@ -65,9 +65,6 @@ class RulesJvmModelInferrer extends ScriptJvmModelInferrer { @Inject ThingRegistry thingRegistry - @Inject - StateAndCommandProvider stateAndCommandProvider - /** * Is called for each instance of the first argument's type contained in a resource. * @@ -90,8 +87,7 @@ class RulesJvmModelInferrer extends ScriptJvmModelInferrer { val Set fieldNames = newHashSet() - val types = stateAndCommandProvider.allTypes - types.forEach [ type | + StateAndCommandProvider::allTypes.forEach [ type | val name = type.toString if (fieldNames.add(name)) { members += ruleModel.toField(name, typeRef(type.class)) [ diff --git a/bundles/org.openhab.core.model.script/src/org/openhab/core/model/script/interpreter/ScriptInterpreter.xtend b/bundles/org.openhab.core.model.script/src/org/openhab/core/model/script/interpreter/ScriptInterpreter.xtend index 99a222f91..7a44d95cd 100644 --- a/bundles/org.openhab.core.model.script/src/org/openhab/core/model/script/interpreter/ScriptInterpreter.xtend +++ b/bundles/org.openhab.core.model.script/src/org/openhab/core/model/script/interpreter/ScriptInterpreter.xtend @@ -51,9 +51,6 @@ class ScriptInterpreter extends XbaseInterpreter { @Inject ItemRegistry itemRegistry - @Inject - StateAndCommandProvider stateAndCommandProvider - @Inject IBatchTypeResolver typeResolver; @@ -100,7 +97,7 @@ class ScriptInterpreter extends XbaseInterpreter { } def protected Type getStateOrCommand(String name) { - for (Type type : stateAndCommandProvider.getAllTypes()) { + for (Type type : StateAndCommandProvider::allTypes) { if (type.toString == name) { return type } diff --git a/bundles/org.openhab.core.model.script/src/org/openhab/core/model/script/jvmmodel/ScriptJvmModelInferrer.xtend b/bundles/org.openhab.core.model.script/src/org/openhab/core/model/script/jvmmodel/ScriptJvmModelInferrer.xtend index c84d4da2e..48beda1b0 100644 --- a/bundles/org.openhab.core.model.script/src/org/openhab/core/model/script/jvmmodel/ScriptJvmModelInferrer.xtend +++ b/bundles/org.openhab.core.model.script/src/org/openhab/core/model/script/jvmmodel/ScriptJvmModelInferrer.xtend @@ -98,9 +98,6 @@ class ScriptJvmModelInferrer extends AbstractModelInferrer { @Inject ItemRegistry itemRegistry - @Inject - StateAndCommandProvider stateAndCommandProvider - /** * Is called for each instance of the first argument's type contained in a resource. * @@ -116,8 +113,7 @@ class ScriptJvmModelInferrer extends AbstractModelInferrer { val Set fieldNames = newHashSet() - val types = stateAndCommandProvider.allTypes - types.forEach [ type | + StateAndCommandProvider::allTypes.forEach [ type | val name = type.toString if (fieldNames.add(name)) { members += script.toField(name, typeRef(type.class)) [ diff --git a/bundles/org.openhab.core.model.script/src/org/openhab/core/model/script/scoping/StateAndCommandProvider.java b/bundles/org.openhab.core.model.script/src/org/openhab/core/model/script/scoping/StateAndCommandProvider.java index 5f81234e0..2dd642608 100644 --- a/bundles/org.openhab.core.model.script/src/org/openhab/core/model/script/scoping/StateAndCommandProvider.java +++ b/bundles/org.openhab.core.model.script/src/org/openhab/core/model/script/scoping/StateAndCommandProvider.java @@ -29,8 +29,6 @@ import org.openhab.core.types.State; import org.openhab.core.types.Type; import org.openhab.core.types.UnDefType; -import com.google.inject.Singleton; - /** * This is a class which provides all available states and commands (obviously only the enum-based ones with a fixed * name). @@ -38,7 +36,6 @@ import com.google.inject.Singleton; * * @author Kai Kreuzer - Initial contribution */ -@Singleton public class StateAndCommandProvider { protected static final Set COMMANDS = new HashSet<>(); @@ -79,15 +76,15 @@ public class StateAndCommandProvider { TYPES.addAll(STATES); } - public Iterable getAllTypes() { + static public Iterable getAllTypes() { return TYPES; } - public Iterable getAllCommands() { + static public Iterable getAllCommands() { return COMMANDS; } - public Iterable getAllStates() { + static public Iterable getAllStates() { return STATES; } }