Signed-off-by: Oliver Libutzki <oliver@libutzki.de>
This commit is contained in:
Oliver Libutzki 2014-06-03 19:50:52 +02:00
Родитель c4220c99a3
Коммит e0ef616a2e
27 изменённых файлов: 122 добавлений и 68 удалений

Просмотреть файл

@ -7,6 +7,9 @@ Bundle-RequiredExecutionEnvironment: JavaSE-1.7
Service-Component: OSGI-INF/iteminjectorprovider.xml
Bundle-ActivationPolicy: lazy
Bundle-Vendor: Eclipse.org/SmartHome
Fragment-Host: org.eclipse.smarthome.model.item
Import-Package: org.eclipse.core.runtime,
org.eclipse.smarthome.model.core.guice
Import-Package: com.google.inject,
org.eclipse.core.runtime,
org.eclipse.smarthome.model.core.guice,
org.eclipse.xtext.resource,
org.eclipse.xtext.service
Require-Bundle: org.eclipse.smarthome.model.item

Просмотреть файл

@ -2,4 +2,4 @@ source.. = src/
output.. = bin/
bin.includes = META-INF/,\
.,\
fragment.xml
plugin.xml

Просмотреть файл

@ -1,6 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<fragment>
<?eclipse version="3.0"?>
<plugin>
<extension
point="org.eclipse.emf.ecore.extension_parser">
<parser
@ -16,4 +17,4 @@
</resourceServiceProvider>
</extension>
</fragment>
</plugin>

Просмотреть файл

@ -18,8 +18,7 @@ Require-Bundle: org.eclipse.xtext,
org.antlr.runtime,
org.eclipse.xtext.common.types
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
Export-Package: org.eclipse.smarthome.model,
org.eclipse.smarthome.model.formatting,
Export-Package: org.eclipse.smarthome.model.formatting,
org.eclipse.smarthome.model.scoping,
org.eclipse.smarthome.model.validation,
org.eclipse.smarthome.model.services,
@ -29,7 +28,8 @@ Export-Package: org.eclipse.smarthome.model,
org.eclipse.smarthome.model.parser.antlr,
org.eclipse.smarthome.model.parser.antlr.internal,
org.eclipse.smarthome.model.serializer,
org.eclipse.smarthome.model.generator
org.eclipse.smarthome.model.generator,
org.eclipse.smarthome.model
Import-Package: org.apache.log4j,
org.eclipse.smarthome.core.binding,
org.eclipse.smarthome.core.items,

Просмотреть файл

@ -6,6 +6,9 @@ Bundle-Version: 0.7.0.qualifier
Bundle-SymbolicName: org.eclipse.smarthome.model.persistence.runtime;singleton:=true
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
Bundle-ActivationPolicy: lazy
Fragment-Host: org.eclipse.smarthome.model.persistence
Import-Package: org.eclipse.core.runtime,
org.eclipse.smarthome.model.core.guice
Import-Package: com.google.inject,
org.eclipse.core.runtime,
org.eclipse.smarthome.model.core.guice,
org.eclipse.smarthome.model.persistence,
org.eclipse.xtext.resource,
org.eclipse.xtext.service

Просмотреть файл

@ -2,4 +2,4 @@ source.. = src/
output.. = bin/
bin.includes = META-INF/,\
.,\
fragment.xml
plugin.xml

Просмотреть файл

@ -1,6 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<fragment>
<?eclipse version="3.0"?>
<plugin>
<extension
point="org.eclipse.emf.ecore.extension_parser">
<parser
@ -16,4 +17,4 @@
</resourceServiceProvider>
</extension>
</fragment>
</plugin>

Просмотреть файл

@ -7,6 +7,35 @@ Bundle-SymbolicName: org.eclipse.smarthome.model.rule.runtime;singleton:=true
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
Bundle-ActivationPolicy: lazy
Service-Component: OSGI-INF/ruleengine.xml
Fragment-Host: org.eclipse.smarthome.model.rule
Import-Package: org.eclipse.core.runtime,
org.eclipse.smarthome.model.core.guice
Import-Package: com.google.common.collect,
com.google.inject,
org.eclipse.core.runtime,
org.eclipse.emf.common.notify,
org.eclipse.emf.common.util,
org.eclipse.emf.ecore,
org.eclipse.emf.ecore.resource,
org.eclipse.emf.ecore.util,
org.eclipse.smarthome.core.events,
org.eclipse.smarthome.core.items,
org.eclipse.smarthome.core.scriptengine,
org.eclipse.smarthome.core.types,
org.eclipse.smarthome.model.core,
org.eclipse.smarthome.model.core.guice,
org.eclipse.smarthome.model.rule,
org.eclipse.smarthome.model.rule.jvmmodel,
org.eclipse.smarthome.model.rule.rules,
org.eclipse.xtext.naming,
org.eclipse.xtext.resource,
org.eclipse.xtext.xbase,
org.eclipse.xtext.xbase.interpreter,
org.eclipse.xtext.xbase.interpreter.impl,
org.osgi.framework,
org.osgi.service.event,
org.osgi.util.tracker,
org.quartz,
org.quartz.impl,
org.quartz.impl.matchers,
org.quartz.spi,
org.quartz.utils,
org.slf4j
Bundle-Activator: org.eclipse.smarthome.model.rule.runtime.internal.RuleModelRuntimeActivator

Просмотреть файл

@ -3,4 +3,4 @@ output.. = bin/
bin.includes = META-INF/,\
.,\
OSGI-INF/,\
fragment.xml
plugin.xml

Просмотреть файл

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<fragment>
<plugin>
<extension
point="org.eclipse.emf.ecore.extension_parser">
<parser
@ -15,5 +15,4 @@
uriExtension="rules">
</resourceServiceProvider>
</extension>
</fragment>
</plugin>

Просмотреть файл

@ -5,11 +5,10 @@
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*/
package org.eclipse.smarthome.model.rule.internal;
package org.eclipse.smarthome.model.rule.runtime.internal;
import org.eclipse.smarthome.core.scriptengine.ScriptEngine;
import org.eclipse.smarthome.model.core.ModelRepository;
import org.eclipse.smarthome.model.rule.RulesStandaloneSetup;
import org.osgi.framework.BundleActivator;
import org.osgi.framework.BundleContext;
import org.osgi.util.tracker.ServiceTracker;
@ -22,9 +21,9 @@ import org.slf4j.LoggerFactory;
*
* @author Kai Kreuzer - Initial contribution and API
*/
public class RuleModelActivator implements BundleActivator {
public class RuleModelRuntimeActivator implements BundleActivator {
private final static Logger logger = LoggerFactory.getLogger(RuleModelActivator.class);
private final static Logger logger = LoggerFactory.getLogger(RuleModelRuntimeActivator.class);
public static ServiceTracker<ModelRepository, ModelRepository> modelRepositoryTracker;
public static ServiceTracker<ScriptEngine, ScriptEngine> scriptEngineTracker;

Просмотреть файл

@ -12,9 +12,9 @@ import org.eclipse.smarthome.core.scriptengine.Script;
import org.eclipse.smarthome.core.scriptengine.ScriptEngine;
import org.eclipse.smarthome.core.scriptengine.ScriptExecutionException;
import org.eclipse.smarthome.model.core.ModelRepository;
import org.eclipse.smarthome.model.rule.internal.RuleModelActivator;
import org.eclipse.smarthome.model.rule.rules.Rule;
import org.eclipse.smarthome.model.rule.rules.RuleModel;
import org.eclipse.smarthome.model.rule.runtime.internal.RuleModelRuntimeActivator;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
@ -44,8 +44,8 @@ public class ExecuteRuleJob implements Job {
String modelName = (String) context.getJobDetail().getJobDataMap().get(JOB_DATA_RULEMODEL);
String ruleName = (String) context.getJobDetail().getJobDataMap().get(JOB_DATA_RULENAME);
ModelRepository modelRepository = RuleModelActivator.modelRepositoryTracker.getService();
ScriptEngine scriptEngine = RuleModelActivator.scriptEngineTracker.getService();
ModelRepository modelRepository = RuleModelRuntimeActivator.modelRepositoryTracker.getService();
ScriptEngine scriptEngine = RuleModelRuntimeActivator.scriptEngineTracker.getService();
if(modelRepository!=null && scriptEngine!=null) {
EObject model = modelRepository.getModel(modelName);

Просмотреть файл

@ -1,13 +1,13 @@
package org.eclipse.smarthome.model.rule.runtime.internal.engine;
import org.quartz.Job;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.quartz.spi.JobFactory;
import org.quartz.spi.TriggerFiredBundle;
import org.quartz.Job;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.quartz.spi.JobFactory;
import org.quartz.spi.TriggerFiredBundle;
import com.google.inject.Inject;
import com.google.inject.Injector;
import com.google.inject.Inject;
import com.google.inject.Injector;
public class GuiceAwareJobFactory implements JobFactory {

Просмотреть файл

@ -11,10 +11,10 @@ import org.eclipse.emf.common.notify.Adapter;
import org.eclipse.emf.ecore.util.EContentAdapter;
import org.eclipse.smarthome.core.scriptengine.ScriptEngine;
import org.eclipse.smarthome.core.scriptengine.ScriptExecutionException;
import org.eclipse.smarthome.model.rule.internal.RuleModelActivator;
import org.eclipse.smarthome.model.rule.rules.Rule;
import org.eclipse.smarthome.model.rule.rules.RuleModel;
import org.eclipse.smarthome.model.rule.rules.VariableDeclaration;
import org.eclipse.smarthome.model.rule.runtime.internal.RuleModelRuntimeActivator;
import org.eclipse.xtext.naming.QualifiedName;
import org.eclipse.xtext.xbase.interpreter.IEvaluationContext;
import org.slf4j.Logger;
@ -34,7 +34,7 @@ public class RuleContextHelper {
private static final Logger logger = LoggerFactory.getLogger(RuleContextHelper.class);
private static ScriptEngine scriptEngine = RuleModelActivator.scriptEngineTracker.getService();
private static ScriptEngine scriptEngine = RuleModelRuntimeActivator.scriptEngineTracker.getService();
/**
* Retrieves the evaluation context (= set of variables) for a rule. The context is shared with all rules in the same model (= rule file).

Просмотреть файл

@ -69,9 +69,10 @@ public class RuleEngine implements EventHandler, ItemRegistryChangeListener, Sta
private RuleTriggerManager triggerManager;
private Injector injector = RuleRuntimeInjectorProvider.getInjector();
private Injector injector;
public void activate() {
injector = RuleRuntimeInjectorProvider.getInjector();
triggerManager = injector.getInstance(RuleTriggerManager.class);
if(!isEnabled()) {

Просмотреть файл

@ -58,4 +58,3 @@ Export-Package: org.eclipse.smarthome.model.rule,
org.eclipse.smarthome.model.rule.formatting,
org.eclipse.smarthome.model.rule.jvmmodel,
org.eclipse.smarthome.model.rule.serializer
Bundle-Activator: org.eclipse.smarthome.model.rule.internal.RuleModelActivator

Просмотреть файл

@ -6,6 +6,22 @@ Bundle-Version: 0.7.0.qualifier
Bundle-SymbolicName: org.eclipse.smarthome.model.script.runtime;singleton:=true
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
Service-Component: OSGI-INF/scriptengine.xml
Fragment-Host: org.eclipse.smarthome.model.script
Import-Package: org.eclipse.core.runtime,
org.eclipse.smarthome.model.core.guice
Import-Package: com.google.common.base,
com.google.common.collect,
com.google.inject,
org.eclipse.core.runtime,
org.eclipse.emf.common.util,
org.eclipse.emf.ecore,
org.eclipse.emf.ecore.resource,
org.eclipse.emf.ecore.resource.impl,
org.eclipse.smarthome.core.scriptengine,
org.eclipse.smarthome.model.core.guice,
org.eclipse.smarthome.model.script,
org.eclipse.xtext.diagnostics,
org.eclipse.xtext.resource,
org.eclipse.xtext.service,
org.eclipse.xtext.util,
org.eclipse.xtext.validation,
org.eclipse.xtext.xbase,
org.eclipse.xtext.xbase.interpreter
Bundle-ActivationPolicy: lazy

Просмотреть файл

@ -3,4 +3,4 @@ output.. = bin/
bin.includes = META-INF/,\
.,\
OSGI-INF/,\
fragment.xml
plugin.xml

Просмотреть файл

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<fragment>
<plugin>
<extension
point="org.eclipse.emf.ecore.extension_parser">
<parser
@ -15,4 +15,4 @@
uriExtension="script">
</resourceServiceProvider>
</extension>
</fragment>
</plugin>

Просмотреть файл

@ -7,11 +7,11 @@
*/
package org.eclipse.smarthome.model.script.runtime.internal.engine;
import static com.google.common.collect.Iterables.filter;
import java.io.IOException;
import java.util.List;
import static com.google.common.collect.Iterables.filter;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.EObject;
@ -47,18 +47,16 @@ public class ScriptEngineImpl implements ScriptEngine {
protected XtextResourceSet resourceSet;
private Injector injector = ScriptRuntimeInjectorProvider.getInjector();
public ScriptEngineImpl() {}
public void activate() {
}
private XtextResourceSet getResourceSet() {
if (resourceSet == null) {
resourceSet = injector.getInstance(XtextResourceSet.class);
resourceSet = ScriptRuntimeInjectorProvider.getInjector().getInstance(XtextResourceSet.class);
resourceSet.addLoadOption(XtextResource.OPTION_RESOLVE_ALL, Boolean.TRUE);
}
return resourceSet;
@ -80,7 +78,7 @@ public class ScriptEngineImpl implements ScriptEngine {
* {@inheritDoc}
*/
public Script newScriptFromXExpression(XExpression expression) {
ScriptImpl script = injector.getInstance(ScriptImpl.class);
ScriptImpl script = ScriptRuntimeInjectorProvider.getInjector().getInstance(ScriptImpl.class);
script.setXExpression(expression);
return script;
}

Просмотреть файл

@ -5,7 +5,10 @@ Bundle-Vendor: Eclipse.org/SmartHome
Bundle-Version: 0.7.0.qualifier
Bundle-SymbolicName: org.eclipse.smarthome.model.sitemap.runtime;singleton:=true
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
Fragment-Host: org.eclipse.smarthome.model.sitemap
Import-Package: org.eclipse.core.runtime,
org.eclipse.smarthome.model.core.guice
Import-Package: com.google.inject,
org.eclipse.core.runtime,
org.eclipse.smarthome.model.core.guice,
org.eclipse.xtext.resource,
org.eclipse.xtext.service
Bundle-ActivationPolicy: lazy
Require-Bundle: org.eclipse.smarthome.model.sitemap

Просмотреть файл

@ -2,4 +2,4 @@ source.. = src/
output.. = bin/
bin.includes = META-INF/,\
.,\
fragment.xml
plugin.xml

Просмотреть файл

@ -1,6 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<fragment>
<?eclipse version="3.0"?>
<plugin>
<extension
point="org.eclipse.emf.ecore.extension_parser">
<parser
@ -16,4 +17,4 @@
</resourceServiceProvider>
</extension>
</fragment>
</plugin>

Просмотреть файл

@ -5,6 +5,7 @@ import org.eclipse.smarthome.model.SitemapRuntimeModule;
import com.google.inject.Guice;
import com.google.inject.Injector;
public class SitemapRuntimeInjectorProvider {
private static Injector injector;

Просмотреть файл

@ -225,7 +225,6 @@
download-size="0"
install-size="0"
version="0.0.0"
fragment="true"
unpack="false"/>
<plugin
@ -233,7 +232,6 @@
download-size="0"
install-size="0"
version="0.0.0"
fragment="true"
unpack="false"/>
<plugin
@ -241,7 +239,6 @@
download-size="0"
install-size="0"
version="0.0.0"
fragment="true"
unpack="false"/>
<plugin
@ -249,7 +246,6 @@
download-size="0"
install-size="0"
version="0.0.0"
fragment="true"
unpack="false"/>
<plugin
@ -257,7 +253,6 @@
download-size="0"
install-size="0"
version="0.0.0"
fragment="true"
unpack="false"/>
</feature>

Просмотреть файл

@ -70,9 +70,14 @@
<plugin id="org.eclipse.smarthome.io.transport.mqtt" autoStart="true" startLevel="0" />
<plugin id="org.eclipse.smarthome.model.core" autoStart="true" startLevel="0" />
<plugin id="org.eclipse.smarthome.model.item" autoStart="true" startLevel="4" />
<plugin id="org.eclipse.smarthome.model.item.runtime" autoStart="true" startLevel="3" />
<plugin id="org.eclipse.smarthome.model.persistence.runtime" autoStart="true" startLevel="3" />
<plugin id="org.eclipse.smarthome.model.rule" autoStart="true" startLevel="5" />
<plugin id="org.eclipse.smarthome.model.rule.runtime" autoStart="true" startLevel="3" />
<plugin id="org.eclipse.smarthome.model.script" autoStart="true" startLevel="0" />
<plugin id="org.eclipse.smarthome.model.script.runtime" autoStart="true" startLevel="3" />
<plugin id="org.eclipse.smarthome.model.sitemap" autoStart="true" startLevel="4" />
<plugin id="org.eclipse.smarthome.model.sitemap.runtime" autoStart="true" startLevel="3" />
<plugin id="org.eclipse.smarthome.ui" autoStart="true" startLevel="0" />
<plugin id="org.eclipse.smarthome.ui.webapp" autoStart="true" startLevel="0" />
</configurations>

Просмотреть файл

@ -23,7 +23,7 @@
<stringAttribute key="product" value=""/>
<stringAttribute key="productFile" value="/org.eclipse.smarthome.runtime.product/org.eclipse.smarthome.runtime.product.product"/>
<stringAttribute key="selected_target_plugins" value="ch.qos.logback.classic*1.0.0.v20111214-2030@default:default,ch.qos.logback.classic*1.0.7.v20121108-1250@default:default,ch.qos.logback.core*1.0.0.v20111214-2030@default:default,ch.qos.logback.core*1.0.7.v20121108-1250@default:default,ch.qos.logback.slf4j*1.0.7.v20121108-1250@default:false,com.google.guava@default:default,com.google.inject@default:default,com.ibm.icu@default:default,com.sun.jersey@default:default,javax.inject@default:default,javax.servlet@default:default,javax.ws.rs@default:default,javax.xml@default:default,org.antlr.runtime@default:default,org.apache.commons.codec@default:default,org.apache.commons.collections@default:default,org.apache.commons.exec@default:default,org.apache.commons.httpclient@default:default,org.apache.commons.io@default:default,org.apache.commons.lang@default:default,org.apache.commons.logging@default:default,org.apache.commons.net@default:default,org.apache.felix.gogo.command@default:true,org.apache.felix.gogo.runtime@default:true,org.apache.felix.gogo.shell@default:true,org.apache.httpcomponents.httpclient@default:default,org.apache.httpcomponents.httpcore@default:default,org.codehaus.jackson.core@default:default,org.codehaus.jackson.jaxrs@default:default,org.codehaus.jackson.mapper@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.resources@default:default,org.eclipse.core.runtime@default:true,org.eclipse.emf.common@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.cm@3:true,org.eclipse.equinox.common@2:true,org.eclipse.equinox.console@default:true,org.eclipse.equinox.ds@2:true,org.eclipse.equinox.event@2:true,org.eclipse.equinox.frameworkadmin.equinox@3:true,org.eclipse.equinox.frameworkadmin@default:default,org.eclipse.equinox.http.servlet*1.1.400.v20130418-1354@default:default,org.eclipse.equinox.p2.artifact.repository@default:default,org.eclipse.equinox.p2.console@3:true,org.eclipse.equinox.p2.core@default:default,org.eclipse.equinox.p2.director@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.equinox.p2.garbagecollector@default:default,org.eclipse.equinox.p2.jarprocessor@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.equinox.p2.ql@default:default,org.eclipse.equinox.p2.repository@default:default,org.eclipse.equinox.p2.touchpoint.eclipse@default:default,org.eclipse.equinox.p2.touchpoint.natives@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.security@default:default,org.eclipse.equinox.simpleconfigurator.manipulator@3:true,org.eclipse.equinox.simpleconfigurator@1:true,org.eclipse.equinox.util@default:default,org.eclipse.jdt.core@default:default,org.eclipse.jetty.continuation*8.1.14.v20131031@default:default,org.eclipse.jetty.continuation*8.1.3.v20120522@default:default,org.eclipse.jetty.deploy@default:default,org.eclipse.jetty.http*8.1.14.v20131031@default:default,org.eclipse.jetty.http*8.1.3.v20120522@default:default,org.eclipse.jetty.io*8.1.14.v20131031@default:default,org.eclipse.jetty.io*8.1.3.v20120522@default:default,org.eclipse.jetty.osgi.boot@default:true,org.eclipse.jetty.osgi.httpservice@default:true,org.eclipse.jetty.security*8.1.14.v20131031@default:default,org.eclipse.jetty.security*8.1.3.v20120522@default:default,org.eclipse.jetty.server*8.1.14.v20131031@default:true,org.eclipse.jetty.server*8.1.3.v20120522@default:true,org.eclipse.jetty.servlet*8.1.14.v20131031@default:true,org.eclipse.jetty.util*8.1.14.v20131031@default:default,org.eclipse.jetty.util*8.1.3.v20120522@default:default,org.eclipse.jetty.webapp@default:default,org.eclipse.jetty.xml@default:default,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.eclipse.text@default:default,org.eclipse.xtend.lib@default:default,org.eclipse.xtext.common.types@default:true,org.eclipse.xtext.ecore@default:default,org.eclipse.xtext.util@default:default,org.eclipse.xtext.xbase.lib@default:default,org.eclipse.xtext.xbase@default:default,org.eclipse.xtext@default:default,org.objectweb.asm@default:default,org.sat4j.core@default:default,org.sat4j.pb@default:default,org.slf4j.api*1.7.2.v20121108-1250@default:default,org.slf4j.jcl*1.7.2.v20130115-1340@default:default,org.slf4j.jul*1.7.2.v20121108-1250@default:default,org.slf4j.log4j*1.7.2.v20130115-1340@default:default"/>
<stringAttribute key="selected_workspace_plugins" value="org.eclipse.smarthome.config.core@default:true,org.eclipse.smarthome.core.autoupdate@default:true,org.eclipse.smarthome.core.library@default:true,org.eclipse.smarthome.core.persistence@default:true,org.eclipse.smarthome.core.scheduler@default:true,org.eclipse.smarthome.core.scriptengine@default:true,org.eclipse.smarthome.core.transform@default:true,org.eclipse.smarthome.core@default:true,org.eclipse.smarthome.io.console@default:true,org.eclipse.smarthome.io.monitor@default:true,org.eclipse.smarthome.io.multimedia@default:true,org.eclipse.smarthome.io.net@default:true,org.eclipse.smarthome.io.rest@default:true,org.eclipse.smarthome.io.servicediscovery@default:true,org.eclipse.smarthome.model.core@default:true,org.eclipse.smarthome.model.item.runtime@default:false,org.eclipse.smarthome.model.item@3:true,org.eclipse.smarthome.model.persistence.runtime@default:false,org.eclipse.smarthome.model.persistence@3:true,org.eclipse.smarthome.model.rule.runtime@default:false,org.eclipse.smarthome.model.rule@3:true,org.eclipse.smarthome.model.script.runtime@default:false,org.eclipse.smarthome.model.script@3:true,org.eclipse.smarthome.model.sitemap.runtime@default:false,org.eclipse.smarthome.model.sitemap@3:true,org.eclipse.smarthome.ui.webapp@default:true,org.eclipse.smarthome.ui@default:true"/>
<stringAttribute key="selected_workspace_plugins" value="org.eclipse.smarthome.config.core@default:true,org.eclipse.smarthome.core.autoupdate@default:true,org.eclipse.smarthome.core.library@default:true,org.eclipse.smarthome.core.persistence@default:true,org.eclipse.smarthome.core.scheduler@default:true,org.eclipse.smarthome.core.scriptengine@default:true,org.eclipse.smarthome.core.transform@default:true,org.eclipse.smarthome.core@default:true,org.eclipse.smarthome.io.console@default:true,org.eclipse.smarthome.io.monitor@default:true,org.eclipse.smarthome.io.multimedia@default:true,org.eclipse.smarthome.io.net@default:true,org.eclipse.smarthome.io.rest@default:true,org.eclipse.smarthome.io.servicediscovery@default:true,org.eclipse.smarthome.model.core@4:true,org.eclipse.smarthome.model.item.runtime@3:true,org.eclipse.smarthome.model.item@3:true,org.eclipse.smarthome.model.persistence.runtime@3:true,org.eclipse.smarthome.model.persistence@3:true,org.eclipse.smarthome.model.rule.runtime@3:true,org.eclipse.smarthome.model.rule@3:true,org.eclipse.smarthome.model.script.runtime@3:true,org.eclipse.smarthome.model.script@3:true,org.eclipse.smarthome.model.sitemap.runtime@3:true,org.eclipse.smarthome.model.sitemap@3:true,org.eclipse.smarthome.ui.webapp@default:true,org.eclipse.smarthome.ui@default:true,org.eclipse.smarthome.xtext.runtime@1:true"/>
<booleanAttribute key="show_selected_only" value="false"/>
<booleanAttribute key="tracing" value="false"/>
<booleanAttribute key="useCustomFeatures" value="false"/>