Capital与PDM集成时检出、修订、撤销检出、下载功能界面整合

来源:互联网 发布:淘宝网店盈利模式 编辑:程序博客网 时间:2024/06/05 07:49

界面如下


代码如下:

 * @project: capital-pdm-sj-jszxpackage com.acconsys.avidm4.ui;import java.awt.BorderLayout;public class CheckOutDialog extends JDialog implements ActionListener {private static final int Main_WIDTH = 900;private static final int Main_HEIGHT = 600;private String[] options = new String[] { ">", ">>", "<", "<<" };private List<IXBuildList> buildLists;private Map<String, IXBuildList> buildListMap;private Vector<String> allBuildlistName;private JPanel buttonPanel;private JPanel designPanel;private JPanel selectedDesignPanel;private JPanel infoPanel;private JPanel optionPanel;private IXApplicationContext context;private JButton b1;private JButton b2;private JButton b4;private JButton b3;private DesignListModelForCheckout selectedDesignModel;private DesignListModelForCheckout designModel;private JList selecteddesign;private JList design;private BoxLayout centerLayout;private JPanel centerPanel;private JLabel label;private JLabel label_1;private JLabel label_2;private JLabel lblNewLabel;private JComboBox designTypeCB;private JLabel lblNewLabel_1;private JTextField queryTF;// private Map<String, IXDesign> designMap;private Set<IXDesign> allDesigns;private Map<String, IXDesign> allDesignMap;private HashSet<IXDesign> logicDesignSet;private Map<String, IXDesign> logicDesignMap;private HashSet<IXDesign> topologyDesignSet;private Map<String, IXDesign> topologyDesignMap;private HashSet<IXDesign> integratorDesignSet;private Map<String, IXDesign> integratorDesignMap;private HashSet<IXDesign> harnessDesignSet;private Map<String, IXDesign> harnessDesignMap;private Vector<String> logicBuildlistName;private Vector<String> topologyBuildlistName;private Vector<String> analysisBuildlistName;private Vector<String> harnessBuildlistName;private JComboBox buildListCB;private JScrollPane designSP;private JScrollPane selectedDesignSP;private JPopupMenu designPopupMenu = null;private JPopupMenu selectedDesignPopupMenu = null;private JButton checkoutB;private JButton reviseB;private JButton undoCheckoutB;private JButton downloadB;public CheckOutDialog(IXApplicationContext context) {super(context.getParentFrame(), true);this.context = context;initData();initUI();}private void initUI() {this.setTitle("Capital-Pdm集成接口设计处理");getContentPane().setLayout(new BorderLayout());this.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);// 上方:描述区域{infoPanel = new JPanel();JTextField info = new JTextField("选择左边的一个或多个设计执行操作。");info.setEditable(false);infoPanel.add(info);getContentPane().add(infoPanel, BorderLayout.NORTH);}// 中间位置{centerPanel = new JPanel();centerLayout = new BoxLayout(centerPanel,javax.swing.BoxLayout.X_AXIS);centerPanel.setLayout(centerLayout);// centerPanel.setSize(900, 550);getContentPane().add(centerPanel, BorderLayout.CENTER);// 左方:设计区域{designPanel = new JPanel();designPanel.setPreferredSize(new Dimension(400, 500));designPanel.setBorder(BorderFactory.createTitledBorder("请选择要检出的设计"));designPanel.setLayout(new BorderLayout());JPanel buildListP = new JPanel();buildListP.setLayout(new GridLayout(0, 2, 0, 0));{lblNewLabel = new JLabel("设计类型");buildListP.add(lblNewLabel);}{designTypeCB = new JComboBox(new String[] { "所有类型","logic", "topology", "integrator", "harness" });designTypeCB.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {Set<String> selectedDesignInfo = new HashSet<String>();for (int i = 0; i < selectedDesignModel.size(); i++) {selectedDesignInfo.add((String) selectedDesignModel.getElementAt(i));}if ("所有类型".equals(designTypeCB.getSelectedItem())) {Set<String> designInfo = allDesignMap.keySet();designInfo.removeAll(selectedDesignInfo);designModel.addDesigns(designInfo);design.setModel(designModel);buildListCB.setModel(new DefaultComboBoxModel(allBuildlistName));buildListCB.setSelectedItem("---");}if ("logic".equals(designTypeCB.getSelectedItem())) {Set<String> designInfo = logicDesignMap.keySet();designInfo.removeAll(selectedDesignInfo);designModel.addDesigns(designInfo);design.setModel(designModel);buildListCB.setModel(new DefaultComboBoxModel(logicBuildlistName));buildListCB.setSelectedItem("---");}if ("topology".equals(designTypeCB.getSelectedItem())) {Set<String> designInfo = topologyDesignMap.keySet();designInfo.removeAll(selectedDesignInfo);designModel.addDesigns(designInfo);buildListCB.setModel(new DefaultComboBoxModel(topologyBuildlistName));buildListCB.setSelectedItem("---");}if ("integrator".equals(designTypeCB.getSelectedItem())) {Set<String> designInfo = integratorDesignMap.keySet();designInfo.removeAll(selectedDesignInfo);designModel.addDesigns(designInfo);Vector<String> tmp = new Vector<String>();tmp.add("---");buildListCB.setModel(new DefaultComboBoxModel(tmp));}if ("harness".equals(designTypeCB.getSelectedItem())) {Set<String> designInfo = harnessDesignMap.keySet();designInfo.removeAll(selectedDesignInfo);designModel.addDesigns(designInfo);buildListCB.setModel(new DefaultComboBoxModel(harnessBuildlistName));buildListCB.setSelectedItem("---");}design.updateUI();buildListCB.updateUI();// JOptionPane.showMessageDialog(CheckOutDialog2.this,// designTypeCB.getSelectedItem());}});buildListP.add(designTypeCB);}{JLabel buildListL = new JLabel("设计集合:");buildListP.add(buildListL);}{buildListCB = new JComboBox(allBuildlistName);buildListCB.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {Set<String> selectedDesignInfo = new HashSet<String>();for (int i = 0; i < selectedDesignModel.size(); i++) {selectedDesignInfo.add((String) selectedDesignModel.getElementAt(i));}String buildname = (String) buildListCB.getSelectedItem();if (!buildname.equals("---")) {IXBuildList buildlist = buildListMap.get(buildname);Set<IXDesign> designs = buildlist.getDesigns();Map<String, IXDesign> currentBuildListContainsDesignMap = new HashMap<String, IXDesign>();for (IXDesign design : designs) {currentBuildListContainsDesignMap.put(design.getAttribute("Name")+ "("+ design.getAttribute("Revision")+ ")", design);}Set<String> designInfo = currentBuildListContainsDesignMap.keySet();designInfo.removeAll(selectedDesignInfo);designModel.addDesigns(designInfo);design.setModel(designModel);design.updateUI();}}});buildListP.add(buildListCB);designPanel.add(buildListP, BorderLayout.NORTH);}{lblNewLabel_1 = new JLabel("条件查询");buildListP.add(lblNewLabel_1);}{queryTF = new JTextField();Document dt = queryTF.getDocument();// 当文本发生更改时,用更改之后的去模糊匹配设计列表中的信息dt.addDocumentListener(new DocumentListener() {@Overridepublic void removeUpdate(DocumentEvent e) {getCurrentOptionAllDesign();updateDesignList();// JOptionPane.showMessageDialog(CheckOutDialog2.this,// "删减之后内容为:"+queryTF.getText());}@Overridepublic void insertUpdate(DocumentEvent e) {updateDesignList();// JOptionPane.showMessageDialog(CheckOutDialog2.this,// "输入之后内容为:"+queryTF.getText());}@Overridepublic void changedUpdate(DocumentEvent e) {JOptionPane.showMessageDialog(CheckOutDialog.this,"改变之后内容为:" + queryTF.getText());}});buildListP.add(queryTF);queryTF.setColumns(10);}{design = new JList();designModel = new DesignListModelForCheckout();// 默认刚开始是显示所有设计// for (String key : allDesignMap.keySet()) {// JOptionPane.showMessageDialog(null,// key+">>>>"+allDesignMap.get(key));//// }designModel.addDesigns(allDesignMap.keySet());design.setModel(designModel);design.setCellRenderer(new FontCellRenderer());designSP = new JScrollPane(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);designSP.setViewportView(design);designSP.setPreferredSize(new Dimension(400, 400));designPanel.add(designSP, BorderLayout.CENTER);design.addMouseListener(new MouseListener() {@Overridepublic void mouseReleased(MouseEvent e) {maybeShowPopup(e);}@Overridepublic void mousePressed(MouseEvent e) {}@Overridepublic void mouseExited(MouseEvent e) {// TODO Auto-generated method stub}@Overridepublic void mouseEntered(MouseEvent e) {// TODO Auto-generated method stub}@Overridepublic void mouseClicked(MouseEvent e) {// 处理鼠标双击事件if (e.getClickCount() == 2) {// 当双击左侧列表时,会将左侧列表去掉,并将双击的那项添加到右侧列表。int index = design.locationToIndex(e.getPoint());String designInfo = (String) designModel.getElementAt(index);selectedDesignModel.addDesign(designInfo);selecteddesign.setModel(selectedDesignModel);selecteddesign.updateUI();designModel.removeElementAt(index);design.setModel(designModel);design.updateUI();}}// 弹出菜单private void maybeShowPopup(MouseEvent e) {if (e.isPopupTrigger()&& design.getSelectedIndex() != -1) {designPopupMenu.show(e.getComponent(),e.getX(), e.getY());}}});}centerPanel.add(designPanel);}// 中间:选择区域{optionPanel = new JPanel();optionPanel.setAlignmentX(Component.RIGHT_ALIGNMENT);optionPanel.setAlignmentY(Component.TOP_ALIGNMENT);optionPanel.setPreferredSize(new Dimension(80, 500));b1 = new JButton(">");b1.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// 获取选择项的值Object[] selected = design.getSelectedValues();if (selected.length == 0) {JOptionPane.showMessageDialog(CheckOutDialog.this,"请至少选择左边列表中一项再操作");} else {for (Object designInfo : selected) {selectedDesignModel.addDesign((String) designInfo);selecteddesign.setModel(selectedDesignModel);designModel.removeElement(designInfo);design.setModel(designModel);// designTypeCB.setSelectedIndex(0);// buildListCB.setSelectedIndex(0);}design.updateUI();selecteddesign.updateUI();}}});b2 = new JButton(">>");b2.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// 获取选择项的值int size = designModel.getSize();for (int i = 0; i < size; i++) {selectedDesignModel.addDesign((String) designModel.getElementAt(i));selecteddesign.setModel(selectedDesignModel);}designModel.clear();design.updateUI();selecteddesign.updateUI();}});b3 = new JButton("<");b3.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// 获取选择项的值Object[] selected = selecteddesign.getSelectedValues();if (selected.length == 0) {JOptionPane.showMessageDialog(CheckOutDialog.this,"请至少选择右边列表中一项再操作");} else {for (Object designInfo : selected) {designModel.addDesign((String) designInfo);design.setModel(designModel);selectedDesignModel.removeElement(designInfo);selecteddesign.setModel(selectedDesignModel);// designTypeCB.setSelectedIndex(0);// buildListCB.setSelectedIndex(0);}design.updateUI();selecteddesign.updateUI();}}});b4 = new JButton("<<");b4.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {int size = selectedDesignModel.getSize();for (int i = 0; i < size; i++) {designModel.addDesign((String) selectedDesignModel.getElementAt(i));design.setModel(designModel);}selectedDesignModel.clear();design.updateUI();selecteddesign.updateUI();}});optionPanel.setLayout(new FlowLayout(FlowLayout.CENTER, 5, 5));optionPanel.add(b1);optionPanel.add(b2);optionPanel.add(b3);optionPanel.add(b4);centerPanel.add(optionPanel);}// 右方:选中的设计区域{selectedDesignPanel = new JPanel();selectedDesignPanel.setPreferredSize(new Dimension(390, 480));selectedDesignPanel.setBorder(BorderFactory.createTitledBorder("选中的设计如下:"));selecteddesign = new JList();selecteddesign.setAutoscrolls(true);selectedDesignModel = new DesignListModelForCheckout();// selectedDesignModel.addDesigns(allDesigns);selecteddesign.setModel(selectedDesignModel);selecteddesign.setCellRenderer(new FontCellRenderer());selecteddesign.addMouseListener(new MouseListener() {@Overridepublic void mouseReleased(MouseEvent e) {maybeShowPopup(e);}@Overridepublic void mousePressed(MouseEvent e) {// TODO Auto-generated method stub}@Overridepublic void mouseExited(MouseEvent e) {// TODO Auto-generated method stub}@Overridepublic void mouseEntered(MouseEvent e) {// TODO Auto-generated method stub}@Overridepublic void mouseClicked(MouseEvent e) {// 处理鼠标双击事件if (e.getClickCount() == 2) {// 当双击左侧列表时,会将左侧列表去掉,并将双击的那项添加到右侧列表。int index = selecteddesign.locationToIndex(e.getPoint());String designInfo = (String) selectedDesignModel.getElementAt(index);designModel.addDesign(designInfo);design.setModel(designModel);design.updateUI();selectedDesignModel.removeElementAt(index);selecteddesign.setModel(selectedDesignModel);// designTypeCB.setSelectedIndex(0);// buildListCB.setSelectedIndex(0);selecteddesign.updateUI();}}// 弹出菜单private void maybeShowPopup(MouseEvent e) {if (e.isPopupTrigger()&& selecteddesign.getSelectedIndex() != -1) {// 获取选择项的值Object selected = selecteddesign.getModel().getElementAt(selecteddesign.getSelectedIndex());System.out.println(selected);selectedDesignPopupMenu.show(e.getComponent(),e.getX(), e.getY());}}});selectedDesignSP = new JScrollPane(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);selectedDesignSP.setViewportView(selecteddesign);selectedDesignSP.setPreferredSize(new Dimension(390, 490));selectedDesignPanel.add(selectedDesignSP);centerPanel.add(selectedDesignPanel);}}// 下方 :按钮区域{buttonPanel = new JPanel();checkoutB = new JButton("检出",new ImageIcon("D:\\eclipse_wks\\capital-pdm-sj-jszx\\images\\process.gif"));checkoutB.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {}});checkoutB.setBackground(Color.WHITE);checkoutB.setFont(new Font("宋体", Font.BOLD, 20));checkoutB.addActionListener(this);reviseB = new JButton("\u4fee\u8ba2");reviseB.setIcon(new ImageIcon("D:\\eclipse_wks\\capital-pdm-sj-jszx\\images\\process.gif"));reviseB.setFont(new Font("宋体", Font.BOLD, 20));reviseB.addActionListener(this);undoCheckoutB = new JButton("\u64a4\u9500\u68c0\u51fa");undoCheckoutB.setIcon(new ImageIcon("D:\\eclipse_wks\\capital-pdm-sj-jszx\\images\\process.gif"));undoCheckoutB.setFont(new Font("宋体", Font.BOLD, 20));undoCheckoutB.addActionListener(this);downloadB = new JButton("\u4e0b\u8f7d");downloadB.setIcon(new ImageIcon("D:\\eclipse_wks\\capital-pdm-sj-jszx\\images\\process.gif"));downloadB.setFont(new Font("宋体", Font.BOLD, 20));downloadB.addActionListener(this);buttonPanel.add(checkoutB);buttonPanel.add(reviseB);buttonPanel.add(undoCheckoutB);buttonPanel.add(downloadB);getContentPane().add(buttonPanel, BorderLayout.SOUTH);}// -----------------------------------------------this.setResizable(true);this.setSize(Main_WIDTH, Main_HEIGHT);// 屏幕居中int windowWidth = this.getWidth(); // 获得窗口宽int windowHeight = this.getHeight(); // 获得窗口高Toolkit kit = Toolkit.getDefaultToolkit(); // 定义工具包Dimension screenSize = kit.getScreenSize(); // 获取屏幕的尺寸int screenWidth = screenSize.width; // 获取屏幕的宽int screenHeight = screenSize.height; // 获取屏幕的高this.setLocation(screenWidth / 2 - windowWidth / 2, screenHeight / 2- windowHeight / 2);}protected void getCurrentOptionAllDesign() {// 如果BuildList没选择,则以设计类型的选择为准。if ("---".equals(buildListCB.getSelectedItem())) {if ("所有类型".equals(designTypeCB.getSelectedItem())) {designModel.addDesigns(allDesignMap.keySet());design.setModel(designModel);}if ("logic".equals(designTypeCB.getSelectedItem())) {designModel.addDesigns(logicDesignMap.keySet());design.setModel(designModel);}if ("topology".equals(designTypeCB.getSelectedItem())) {designModel.addDesigns(topologyDesignMap.keySet());design.setModel(designModel);}if ("integrator".equals(designTypeCB.getSelectedItem())) {designModel.addDesigns(integratorDesignMap.keySet());design.setModel(designModel);}if ("harness".equals(designTypeCB.getSelectedItem())) {designModel.addDesigns(harnessDesignMap.keySet());design.setModel(designModel);}design.updateUI();} else {IXBuildList buildlist = buildListMap.get(buildListCB.getSelectedItem());Set<IXDesign> designs = buildlist.getDesigns();Map<String, IXDesign> currentBuildListContainsDesignMap = new HashMap<String, IXDesign>();for (IXDesign design : designs) {currentBuildListContainsDesignMap.put(design.getAttribute("Name") + "("+ design.getAttribute("Revision") + ")", design);}designModel.addDesigns(currentBuildListContainsDesignMap.keySet());design.setModel(designModel);design.updateUI();}}protected void updateDesignList() {String queryString = queryTF.getText();Set<String> designSet = new HashSet<String>();for (int index = 0; index < designModel.size(); index++) {// 忽略大小写,都统一设置为大写来判断。String designInfo = (String) designModel.get(index);if (designInfo.toUpperCase().contains(queryString.toUpperCase())) {designSet.add(designInfo);}}designModel.addDesigns(designSet);design.setModel(designModel);design.updateUI();}private void initData() {designPopupMenu = new JPopupMenu();JMenuItem left2right = new JMenuItem("添加到右侧列表");left2right.addMouseListener(new MouseAdapter() {@Overridepublic void mouseReleased(MouseEvent e) {// 获取选择项的值Object[] selected = design.getSelectedValues();for (Object designInfo : selected) {selectedDesignModel.addDesign((String) designInfo);selecteddesign.setModel(selectedDesignModel);designModel.removeElement(designInfo);design.setModel(designModel);// designTypeCB.setSelectedIndex(0);// buildListCB.setSelectedIndex(0);}design.updateUI();selecteddesign.updateUI();}});designPopupMenu.add(left2right); // 添加菜单项selectedDesignPopupMenu = new JPopupMenu();JMenuItem right2left = new JMenuItem("添加到左侧列表");right2left.addMouseListener(new MouseAdapter() {@Overridepublic void mouseReleased(MouseEvent e) {// 获取选择项的值Object[] selected = selecteddesign.getSelectedValues();for (Object designInfo : selected) {designModel.addDesign((String) designInfo);design.setModel(designModel);selectedDesignModel.removeElement(designInfo);selecteddesign.setModel(selectedDesignModel);// designTypeCB.setSelectedIndex(0);// buildListCB.setSelectedIndex(0);}design.updateUI();selecteddesign.updateUI();}});selectedDesignPopupMenu.add(right2left); // 添加菜单项// 处理设计allDesigns = context.getCurrentProject().getDesigns();allDesignMap = new HashMap<String, IXDesign>();logicDesignSet = new HashSet<IXDesign>();logicDesignMap = new HashMap<String, IXDesign>();topologyDesignSet = new HashSet<IXDesign>();topologyDesignMap = new HashMap<String, IXDesign>();integratorDesignSet = new HashSet<IXDesign>();integratorDesignMap = new HashMap<String, IXDesign>();harnessDesignSet = new HashSet<IXDesign>();harnessDesignMap = new HashMap<String, IXDesign>();for (IXDesign design : allDesigns) {if (design instanceof IXLogicDesign) {logicDesignSet.add((IXLogicDesign) design);logicDesignMap.put(design.getAttribute("Name") + "("+ design.getAttribute("Revision") + ")", design);}if (design instanceof IXTopologyDesign) {topologyDesignSet.add((IXTopologyDesign) design);topologyDesignMap.put(design.getAttribute("Name") + "("+ design.getAttribute("Revision") + ")", design);}if (design instanceof IXIntegratorDesign) {integratorDesignSet.add((IXIntegratorDesign) design);integratorDesignMap.put(design.getAttribute("Name") + "("+ design.getAttribute("Revision") + ")", design);}if (design instanceof IXHarnessDesign) {harnessDesignSet.add((IXHarnessDesign) design);harnessDesignMap.put(design.getAttribute("Name") + "("+ design.getAttribute("Revision") + ")", design);}allDesignMap.put(design.getAttribute("Name") + "("+ design.getAttribute("Revision") + ")", design);}// 处理BuildListSet<IXBuildList> buildListSet = context.getCurrentProject().getBuildLists();buildLists = new ArrayList<IXBuildList>();for (IXBuildList buildList : buildListSet) {buildLists.add(buildList);}allBuildlistName = new Vector<String>();allBuildlistName.add("---");logicBuildlistName = new Vector<String>();logicBuildlistName.add("---");topologyBuildlistName = new Vector<String>();topologyBuildlistName.add("---");harnessBuildlistName = new Vector<String>();harnessBuildlistName.add("---");buildListMap = new HashMap<String, IXBuildList>();for (IXBuildList buildlist : buildLists) {// JOptionPane.showMessageDialog(null,// buildlist.getAttribute("Type"));if ("logic".equals(buildlist.getAttribute("Type"))|| "analysis ".equals(buildlist.getAttribute("Type"))) {logicBuildlistName.add(buildlist.getAttribute("Name"));}if ("topology".equals(buildlist.getAttribute("Type"))) {topologyBuildlistName.add(buildlist.getAttribute("Name"));}if ("harness".equals(buildlist.getAttribute("Type"))) {harnessBuildlistName.add(buildlist.getAttribute("Name"));}allBuildlistName.add(buildlist.getAttribute("Name"));buildListMap.put(buildlist.getAttribute("Name"), buildlist);}}@Overridepublic void actionPerformed(ActionEvent e) {// 检出操作if (e.getSource() == checkoutB) {// 获取右侧要处理的设计集合List<IXDesign> designList = new ArrayList<IXDesign>();int size = selectedDesignModel.getSize();for (int i = 0; i < size; i++) {String designInfo = (String) selectedDesignModel.getElementAt(i);IXDesign design = allDesignMap.get(designInfo);designList.add(design);}// 把集合中的设计封装成检出xml格式的字符串。IntegrateForMentor ifm = new IntegrateForMentor();ifm.setEventType("checkOut");ifm.setUsername("");List<IntegrateForMentor.Document> documents = new ArrayList<IntegrateForMentor.Document>();boolean flag = true;for (IXDesign design : designList) {IntegrateForMentor.Document document = new IntegrateForMentor.Document();String number = design.getProperty("number");if (number == null || "".equals(number.trim())) {JOptionPane.showMessageDialog(CheckOutDialog.this,"设计名称:" + design.getAttribute("Name") + "设计版本:"+ design.getAttribute("Revision")+ "的property:number不存在或值为空");flag = false;break;} else {document.setNumber(number);documents.add(document);}}// 当设计都有property:number时才执行检出操作。if (flag) {ifm.setDocument(documents);String checkoutxml = JaxbUtil.convertToXml(ifm);System.out.println(checkoutxml);JOptionPane.showMessageDialog(CheckOutDialog.this, checkoutxml);LoginDialog loginDialog = new LoginDialog(null, context,"checkOut", ifm);loginDialog.setVisible(true);}// ifm.setDocument(document);}// 修订操作if (e.getSource() == reviseB) {// 获取右侧要处理的设计集合List<IXDesign> designList = new ArrayList<IXDesign>();int size = selectedDesignModel.getSize();for (int i = 0; i < size; i++) {String designInfo = (String) selectedDesignModel.getElementAt(i);IXDesign design = allDesignMap.get(designInfo);designList.add(design);}// 把集合中的设计封装成检出xml格式的字符串。IntegrateForMentor ifm = new IntegrateForMentor();ifm.setEventType("revise");ifm.setUsername("");List<IntegrateForMentor.Document> documents = new ArrayList<IntegrateForMentor.Document>();boolean flag = true;for (IXDesign design : designList) {IntegrateForMentor.Document document = new IntegrateForMentor.Document();String number = design.getProperty("number");if (number == null || "".equals(number.trim())) {JOptionPane.showMessageDialog(CheckOutDialog.this,"设计名称:" + design.getAttribute("Name") + "设计版本:"+ design.getAttribute("Revision")+ "的property:number不存在或值为空");flag = false;break;} else {document.setNumber(number);documents.add(document);}}// 当设计都有property:number时才执行检出操作。if (flag) {ifm.setDocument(documents);String checkoutxml = JaxbUtil.convertToXml(ifm);System.out.println(checkoutxml);JOptionPane.showMessageDialog(CheckOutDialog.this, checkoutxml);LoginDialog loginDialog = new LoginDialog(null, context,"revise", ifm);loginDialog.setVisible(true);}// ifm.setDocument(document);}// 撤销检出操作if (e.getSource() == undoCheckoutB) {// 获取右侧要处理的设计集合List<IXDesign> designList = new ArrayList<IXDesign>();int size = selectedDesignModel.getSize();for (int i = 0; i < size; i++) {String designInfo = (String) selectedDesignModel.getElementAt(i);IXDesign design = allDesignMap.get(designInfo);designList.add(design);}// 把集合中的设计封装成检出xml格式的字符串。IntegrateForMentor ifm = new IntegrateForMentor();ifm.setEventType("undocheckOut");ifm.setUsername("");List<IntegrateForMentor.Document> documents = new ArrayList<IntegrateForMentor.Document>();boolean flag = true;for (IXDesign design : designList) {IntegrateForMentor.Document document = new IntegrateForMentor.Document();String number = design.getProperty("number");if (number == null || "".equals(number.trim())) {JOptionPane.showMessageDialog(CheckOutDialog.this,"设计名称:" + design.getAttribute("Name") + "设计版本:"+ design.getAttribute("Revision")+ "的property:number不存在或值为空");flag = false;break;} else {document.setNumber(number);documents.add(document);}}// 当设计都有property:number时才执行检出操作。if (flag) {ifm.setDocument(documents);String checkoutxml = JaxbUtil.convertToXml(ifm);System.out.println(checkoutxml);JOptionPane.showMessageDialog(CheckOutDialog.this, checkoutxml);LoginDialog loginDialog = new LoginDialog(null, context,"undocheckOut", ifm);loginDialog.setVisible(true);}// ifm.setDocument(document);}// 下载操作if (e.getSource() == downloadB) {// 获取右侧要处理的设计集合List<IXDesign> designList = new ArrayList<IXDesign>();int size = selectedDesignModel.getSize();for (int i = 0; i < size; i++) {String designInfo = (String) selectedDesignModel.getElementAt(i);IXDesign design = allDesignMap.get(designInfo);designList.add(design);}// 把集合中的设计封装成检出xml格式的字符串。IntegrateForMentor ifm = new IntegrateForMentor();ifm.setEventType("downloadFile");ifm.setUsername("");List<IntegrateForMentor.Document> documents = new ArrayList<IntegrateForMentor.Document>();boolean flag = true;for (IXDesign design : designList) {IntegrateForMentor.Document document = new IntegrateForMentor.Document();String number = design.getProperty("number");if (number == null || "".equals(number.trim())) {JOptionPane.showMessageDialog(CheckOutDialog.this,"设计名称:" + design.getAttribute("Name") + "设计版本:"+ design.getAttribute("Revision")+ "的property:number不存在或值为空");flag = false;break;} else {document.setNumber(number);documents.add(document);}}// 当设计都有property:number时才执行检出操作。if (flag) {ifm.setDocument(documents);String checkoutxml = JaxbUtil.convertToXml(ifm);System.out.println(checkoutxml);JOptionPane.showMessageDialog(CheckOutDialog.this, checkoutxml);LoginDialog loginDialog = new LoginDialog(null, context,"downloadFile", ifm);loginDialog.setVisible(true);}// ifm.setDocument(document);}}}/******************************************************************************* * <B>Revision History</B><BR> * [type 'revision' and press Alt + / to insert revision block]<BR> *  *  *  * Copyright 2017 AcconSys All rights reserved. ******************************************************************************/


原创粉丝点击