package org.infosec.ismp.applet.manager.task; import java.util.List; import java.util.Map; import java.util.Set; import javax.swing.JOptionPane; import javax.swing.SwingWorker; 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.DeviceModelEntity; import org.infosec.ismp.manager.rmi.tm.manager.model.TradeMarkEntity; public class InitBrandAndModelTask extends SwingWorker<Map<TradeMarkEntity, List<DeviceModelEntity>>,Object>{ @Override protected Map<TradeMarkEntity, List<DeviceModelEntity>> doInBackground() throws Exception { return ServiceUtil.newInstance().getWebDeviceService().getModelsByTradeMark(); } protected void done() { try { Map<TradeMarkEntity, List<DeviceModelEntity>> map = get(); Set<TradeMarkEntity> set = map.keySet(); TopoConst.TRADE_MARKS = new TradeMarkEntity[set.size()]; int j = 0; for(TradeMarkEntity key : set) { List<DeviceModelEntity> list = map.get(key); if(list == null) continue; TopoConst.TRADE_MARKS[j++] = key; DeviceModelEntity[] temp = new DeviceModelEntity[list.size()]; for(int i = 0;i<list.size();i++) { temp[i] = list.get(i); } TopoConst.MODELS_WITH_BRAND.put(key, temp); } } catch (Exception e) { JOptionPane.showMessageDialog(null,"初始化品牌、类型发生错误!" , "错误", JOptionPane.ERROR_MESSAGE); e.printStackTrace(); } } }