58 lines
1.6 KiB
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());
|
|
}
|
|
}
|
|
}
|