removed auto-approve service as this is now contained in ESH (#202)
Signed-off-by: Kai Kreuzer <kai@openhab.org>pull/203/head
parent
f4d2c1ac6b
commit
cd9d02ab94
|
@ -1,16 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
|
||||
Copyright (c) 2015-2017 by the respective copyright holders.
|
||||
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are made available under the terms of the Eclipse Public License v1.0
|
||||
which accompanies this distribution, and is available at
|
||||
http://www.eclipse.org/legal/epl-v10.html
|
||||
|
||||
-->
|
||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" configuration-policy="require" immediate="true" name="org.openhab.autoapprove">
|
||||
<implementation class="org.openhab.core.internal.inbox.AutoApproveService"/>
|
||||
<reference bind="setInbox" cardinality="1..1" interface="org.eclipse.smarthome.config.discovery.inbox.Inbox" name="Inbox" policy="static" unbind="unsetInbox"/>
|
||||
<property name="service.pid" type="String" value="org.openhab.autoapprove"/>
|
||||
</scr:component>
|
|
@ -1,82 +0,0 @@
|
|||
/**
|
||||
* Copyright (c) 2015-2017 by the respective copyright holders.
|
||||
*
|
||||
* All rights reserved. This program and the accompanying materials
|
||||
* are made available under the terms of the Eclipse Public License v1.0
|
||||
* which accompanies this distribution, and is available at
|
||||
* http://www.eclipse.org/legal/epl-v10.html
|
||||
*/
|
||||
package org.openhab.core.internal.inbox;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import org.eclipse.smarthome.config.discovery.DiscoveryResult;
|
||||
import org.eclipse.smarthome.config.discovery.DiscoveryResultFlag;
|
||||
import org.eclipse.smarthome.config.discovery.inbox.Inbox;
|
||||
import org.eclipse.smarthome.config.discovery.inbox.InboxListener;
|
||||
import org.osgi.service.cm.ConfigurationException;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
* This class is an OSGi service, which automatically approves all newly
|
||||
* discovered things in the inbox. As a result, the inbox will always be empty
|
||||
* and as thing instances are immediately created. This feature needs to be
|
||||
* activated through a configuration, which is provided in services.cfg.
|
||||
*
|
||||
* @author Kai Kreuzer
|
||||
*
|
||||
*/
|
||||
public class AutoApproveService implements InboxListener {
|
||||
|
||||
final static private Logger logger = LoggerFactory.getLogger(AutoApproveService.class);
|
||||
|
||||
private Inbox inbox;
|
||||
|
||||
protected void activate(Map<String, Object> configProps) throws ConfigurationException {
|
||||
String enabled = (String) configProps.get("enabled");
|
||||
enable(enabled);
|
||||
}
|
||||
|
||||
protected void modified(Map<String, Object> configProps) throws ConfigurationException {
|
||||
String enabled = (String) configProps.get("enabled");
|
||||
enable(enabled);
|
||||
}
|
||||
|
||||
private void enable(String enabled) {
|
||||
if ("true".equalsIgnoreCase(enabled)) {
|
||||
inbox.addInboxListener(this);
|
||||
for (DiscoveryResult result : inbox.getAll()) {
|
||||
if (result.getFlag().equals(DiscoveryResultFlag.NEW)) {
|
||||
thingAdded(inbox, result);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
this.inbox.removeInboxListener(this);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void thingAdded(Inbox source, DiscoveryResult result) {
|
||||
logger.debug("Approving inbox entry '{}'", result.toString());
|
||||
inbox.approve(result.getThingUID(), result.getLabel());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void thingUpdated(Inbox source, DiscoveryResult result) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void thingRemoved(Inbox source, DiscoveryResult result) {
|
||||
}
|
||||
|
||||
protected void setInbox(Inbox inbox) {
|
||||
this.inbox = inbox;
|
||||
}
|
||||
|
||||
protected void unsetInbox(Inbox inbox) {
|
||||
this.inbox.removeInboxListener(this);
|
||||
this.inbox = null;
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue