bunti/src/main/java/de/ctdo/bunti/ethersex/EthersexMixerImpl.java

58 lines
1.6 KiB
Java

package de.ctdo.bunti.ethersex;
import de.ctdo.bunti.control.DeviceChangedEvent;
import de.ctdo.bunti.model.BuntiEthersexDevice;
import de.ctdo.bunti.model.BuntiDevice;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationListener;
import org.springframework.stereotype.Component;
import java.util.Map;
@Component
public class EthersexMixerImpl implements EthersexMixer, ApplicationListener<DeviceChangedEvent> {
private static final Logger LOGGER = LoggerFactory.getLogger(EthersexMixerImpl.class);
// private boolean hasDataChanged = true;
ECMDSender sender;
@Autowired
public void setECMDSender(ECMDSender sender) {
this.sender = sender;
}
@Override
public final boolean updateDevice(BuntiDevice device, Map<String, Object> options) {
if(device == null || options == null || options.size() == 0) {
return false;
}
BuntiEthersexDevice edev = (BuntiEthersexDevice) device;
// BuntiDMXDevice dmxDev = (BuntiDMXDevice) device;
//
// if (dmxDev.setValuesFromOptions(options)) {
//
// dmxMap.putAll(dmxDev.getChannelData());
//
// LOGGER.info("setValuesFromOptions on " + device);
// return true;
// }
LOGGER.info("setValuesFromOptions on " + device + " failed");
return false;
}
@Override
public final void onApplicationEvent(DeviceChangedEvent arg0) {
if (arg0.getDevice() instanceof BuntiEthersexDevice) {
updateDevice(arg0.getDevice(), arg0.getOptions());
}
}
}