package io.cattle.platform.agent.connection.simulator; import io.cattle.platform.eventing.model.Event; import io.cattle.platform.eventing.model.EventVO; import io.cattle.platform.eventing.util.EventUtils; import io.cattle.platform.iaas.event.delegate.DelegateEvent; import java.util.Map; public class DelegateSimulator implements Simulator { Simulator target; Map<String, Object> instanceData; public DelegateSimulator(Simulator target, Map<String, Object> instanceData) { super(); this.target = target; this.instanceData = instanceData; } @Override public Event execute(Event event) { Event resp = target.execute(new DelegateEvent(instanceData, event)); if (resp == null) { return null; } Event data = (Event)resp.getData(); EventVO<?> reply = EventVO.reply(event).withData(data.getData()); EventUtils.copyTransitioning(data, reply); return reply; } }