package org.infosec.ismp.applet.manager.task;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JOptionPane;
import javax.swing.SwingWorker;
import org.infosec.ismp.applet.manager.component.dialog.SensorAllotDialog;
import org.infosec.ismp.applet.manager.model.NodeModel;
import org.infosec.ismp.applet.manager.model.TopoSensorModel;
import org.infosec.ismp.applet.manager.utilities.ChangeModelUtil;
import org.infosec.ismp.applet.manager.utilities.ServiceUtil;
import org.infosec.ismp.manager.rmi.tm.manager.model.DeviceEntity;
public class GetAllUnDomainSensorTask extends SwingWorker<List<DeviceEntity>,Object>{
private SensorAllotDialog sensor = null;
public GetAllUnDomainSensorTask(SensorAllotDialog sensor) {
this.sensor = sensor;
}
@Override
protected List<DeviceEntity> doInBackground() throws Exception {
return ServiceUtil.newInstance().getWebDeviceService().getSensorAllByUnDomain();
}
protected void done() {
try {
List<DeviceEntity> devices = get();
if(devices == null || devices.size() == 0) {
return;
}
List<NodeModel> nodes = new ArrayList<NodeModel>();
for(DeviceEntity device:devices) {
NodeModel node = new TopoSensorModel();
nodes.add(ChangeModelUtil.changeModel(node, device));
}
if(sensor != null) {
sensor.setSensorModel(nodes);
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null,"获取未分配域PC发生错误!" , "错误", JOptionPane.ERROR_MESSAGE);
e.printStackTrace();
}
}
}