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.model.NodeModel; import org.infosec.ismp.applet.manager.utilities.ChangeModelUtil; import org.infosec.ismp.applet.manager.utilities.ServiceUtil; import org.infosec.ismp.applet.manager.utilities.TopoConst; import org.infosec.ismp.manager.rmi.tm.manager.model.DeviceEntity; import org.infosec.ismp.manager.rmi.tm.manager.model.NodeEntity; import org.infosec.ismp.manager.rmi.tm.manager.service.TopoManagerService; public class SaveDomainSensorTask extends SwingWorker<Void,Object>{ List<NodeModel> nodes; public SaveDomainSensorTask(List<NodeModel> nodes) { if(nodes == null || nodes.size() == 0) { return; } this.nodes = nodes; } @Override protected Void doInBackground() throws Exception { TopoManagerService severice = ServiceUtil.newInstance().getTopoManagerDeviceService(); List<DeviceEntity> devices = new ArrayList<DeviceEntity>(); for(NodeModel node:nodes) { NodeEntity nodeEntity = new NodeEntity(); DeviceEntity d = new DeviceEntity(); ChangeModelUtil.changeModel(nodeEntity, node); d.setNode(nodeEntity); d.setSensor(node.getSensor()); devices.add(d); } severice.allotSensorDomain(devices); return null; } protected void done() { try { get(); TopoConst.BOX.addElements(nodes); } catch (Exception e) { JOptionPane.showMessageDialog(null,"PC设备分配域失败!" , "错误", JOptionPane.ERROR_MESSAGE); e.printStackTrace(); } } }