Search in sources :

Example 1 with Status

use of jp.ossc.nimbus.service.test.TestCase.Status in project nimbus by nimbus-org.

the class TestCaseListPanel method setupTestCaseCompornents.

/**
 * テストケースコンポーネントのセットアップ
 * @throws Exception
 */
private void setupTestCaseCompornents() throws Exception {
    // 列間の余白
    int ROW_SPACE = 10;
    Font font = new Font("MS ゴシック", Font.BOLD, 16);
    int tmpX = 0;
    int tmpY = 0;
    String DATE_PATTERN = "yyyy/MM/dd HH:mm";
    SimpleDateFormat dateFormat = new SimpleDateFormat(DATE_PATTERN);
    // 初期化
    this.removeAll();
    this.setLayout(null);
    int winWidth = this.getWidth();
    ROW_SPACE = (winWidth - (NO_WIDTH + START_DATE_WIDTH + END_DATE_WIDTH + STATE_WIDTH + STATE_WIDTH + START_BUTTON_WIDTH + END_BUTTON_WIDTH + DOWNLOAD_BUTTON_WIDTH + MARGIN + MARGIN)) / 2;
    ID_WIDTH = ROW_SPACE;
    TITLE_WIDTH = ROW_SPACE;
    // タイトル行のセットアップ
    JLabel label1 = new JLabel("No");
    JLabel label2 = new JLabel("テストケースID");
    JLabel label3 = new JLabel("テストケース名");
    JLabel label4 = new JLabel("開始日時");
    JLabel label5 = new JLabel("終了日時");
    JLabel label6 = new JLabel("エラー状態");
    JLabel label7 = new JLabel("状態");
    JLabel label8 = new JLabel(" ");
    JLabel label9 = new JLabel(" ");
    JLabel label10 = new JLabel(" ");
    label1.setFont(font);
    label2.setFont(font);
    label3.setFont(font);
    label4.setFont(font);
    label5.setFont(font);
    label6.setFont(font);
    label7.setFont(font);
    label8.setFont(font);
    label9.setFont(font);
    label10.setFont(font);
    tmpX += MARGIN;
    tmpY += MARGIN;
    label1.setBounds(tmpX, tmpY, NO_WIDTH, HEIGHT);
    tmpX += NO_WIDTH;
    label2.setBounds(tmpX, tmpY, ID_WIDTH, HEIGHT);
    tmpX += ID_WIDTH;
    label3.setBounds(tmpX, tmpY, TITLE_WIDTH, HEIGHT);
    tmpX += TITLE_WIDTH;
    label4.setBounds(tmpX, tmpY, START_DATE_WIDTH, HEIGHT);
    tmpX += START_DATE_WIDTH;
    label5.setBounds(tmpX, tmpY, END_DATE_WIDTH, HEIGHT);
    tmpX += END_DATE_WIDTH;
    label6.setBounds(tmpX, tmpY, STATE_WIDTH, HEIGHT);
    tmpX += STATE_WIDTH;
    label7.setBounds(tmpX, tmpY, STATE_WIDTH, HEIGHT);
    tmpX += STATE_WIDTH;
    label8.setBounds(tmpX, tmpY, START_BUTTON_WIDTH, HEIGHT);
    tmpX += START_BUTTON_WIDTH;
    label9.setBounds(tmpX, tmpY, END_BUTTON_WIDTH, HEIGHT);
    tmpX += END_BUTTON_WIDTH;
    label10.setBounds(tmpX, tmpY, DOWNLOAD_BUTTON_WIDTH, HEIGHT);
    this.add(label1);
    this.add(label2);
    this.add(label3);
    this.add(label4);
    this.add(label5);
    this.add(label6);
    this.add(label7);
    this.add(label8);
    this.add(label9);
    if (testCaseList != null) {
        boolean startTestCaseFlg = false;
        lineList = new ArrayList();
        for (int i = 0; i < testCaseList.size(); i++) {
            tmpX = MARGIN;
            tmpY += HEIGHT + MARGIN;
            TestCase testCase = (TestCase) testCaseList.get(i);
            label1 = new JLabel((new Integer(i + 1)).toString());
            label2 = new JLabel(testCase.getTestCaseId());
            label2.setToolTipText(testCase.getTestCaseId());
            label3 = new JLabel(testCase.getTestCaseResource().getTitle());
            label3.setToolTipText(testCase.getTestCaseResource().getTitle());
            label4 = new JLabel("");
            label5 = new JLabel("");
            label6 = new JLabel("");
            TestErrorStatusDispButton tmpErrorStatusButton = new TestErrorStatusDispButton(this.ownerFrame);
            Status status = null;
            try {
                status = testCase.getStatus();
            } catch (Exception e) {
            }
            label1.setFont(font);
            label2.setFont(font);
            label3.setFont(font);
            label4.setFont(font);
            label5.setFont(font);
            label6.setFont(font);
            Point xLinePoint = new Point(tmpX, tmpY - ((int) (MARGIN / 2)));
            label1.setBounds(tmpX, tmpY, NO_WIDTH, HEIGHT);
            tmpX += NO_WIDTH;
            label2.setBounds(tmpX, tmpY, ID_WIDTH, HEIGHT);
            tmpX += ID_WIDTH;
            label3.setBounds(tmpX, tmpY, TITLE_WIDTH, HEIGHT);
            tmpX += TITLE_WIDTH;
            label4.setBounds(tmpX, tmpY, START_DATE_WIDTH, HEIGHT);
            tmpX += START_DATE_WIDTH;
            label5.setBounds(tmpX, tmpY, END_DATE_WIDTH, HEIGHT);
            tmpX += END_DATE_WIDTH;
            tmpErrorStatusButton.setBounds(tmpX, tmpY, STATE_WIDTH, HEIGHT);
            tmpX += STATE_WIDTH;
            label6.setBounds(tmpX, tmpY, STATE_WIDTH, HEIGHT);
            tmpX += STATE_WIDTH;
            Point yLinePoint = new Point(tmpX, tmpY - ((int) (MARGIN / 2)));
            lineList.add(new Line(xLinePoint, yLinePoint));
            // 開始時間、終了時間、状態 を表示
            if (status != null) {
                if (status.getStartTime() != null)
                    label4.setText(dateFormat.format(status.getStartTime()));
                if (status.getEndTime() != null)
                    label5.setText(dateFormat.format(status.getEndTime()));
                label6.setText(status.getStateString());
            }
            tmpErrorStatusButton.change(status);
            JButton tmpButton1 = new JButton("開始");
            tmpButton1.addActionListener(new StartButtonActionListener(testCase));
            JButton tmpButton2 = new JButton("終了");
            tmpButton2.addActionListener(new EndButtonActionListener(testCase));
            JButton tmpButton3 = new JButton("結果DL");
            tmpButton3.addActionListener(new DownloadButtonActionListener(testCase));
            if (status != null && status.getState() == TestCase.Status.STARTED) {
                tmpButton1.setEnabled(false);
                tmpButton2.setEnabled(true);
                tmpButton3.setEnabled(false);
                startTestCaseFlg = true;
            } else if (status != null && (status.getState() == TestCase.Status.ERROR || !status.getResult())) {
                try {
                    testController.cancelTestCase(scenarioId, testCase.getTestCaseId());
                } catch (Exception e2) {
                    e2.printStackTrace();
                }
                tmpButton1.setEnabled(true);
                tmpButton2.setEnabled(false);
                tmpButton3.setEnabled(true);
            } else {
                if (!startTestCaseFlg) {
                    tmpButton1.setEnabled(true);
                } else {
                    tmpButton1.setEnabled(false);
                }
                tmpButton2.setEnabled(false);
                tmpButton3.setEnabled(false);
            }
            tmpButton1.setFont(font);
            tmpButton2.setFont(font);
            tmpButton3.setFont(font);
            tmpButton1.setBounds(tmpX, tmpY, START_BUTTON_WIDTH, HEIGHT);
            tmpX += START_BUTTON_WIDTH;
            tmpButton2.setBounds(tmpX, tmpY, END_BUTTON_WIDTH, HEIGHT);
            tmpX += END_BUTTON_WIDTH;
            tmpButton3.setBounds(tmpX, tmpY, DOWNLOAD_BUTTON_WIDTH, HEIGHT);
            this.add(label1);
            this.add(label2);
            this.add(label3);
            this.add(label4);
            this.add(label5);
            this.add(tmpErrorStatusButton);
            this.add(label6);
            this.add(tmpButton1);
            this.add(tmpButton2);
            this.add(tmpButton3);
        }
    }
    int tmpW = winWidth;
    int tmpH = tmpY + HEIGHT + MARGIN;
    this.setPreferredSize(new Dimension(tmpW, tmpH));
    this.repaint();
}
Also used : Status(jp.ossc.nimbus.service.test.TestCase.Status) ArrayList(java.util.ArrayList) JButton(javax.swing.JButton) JLabel(javax.swing.JLabel) Point(java.awt.Point) Dimension(java.awt.Dimension) Point(java.awt.Point) Font(java.awt.Font) TestCase(jp.ossc.nimbus.service.test.TestCase) SimpleDateFormat(java.text.SimpleDateFormat)

Aggregations

Dimension (java.awt.Dimension)1 Font (java.awt.Font)1 Point (java.awt.Point)1 SimpleDateFormat (java.text.SimpleDateFormat)1 ArrayList (java.util.ArrayList)1 JButton (javax.swing.JButton)1 JLabel (javax.swing.JLabel)1 TestCase (jp.ossc.nimbus.service.test.TestCase)1 Status (jp.ossc.nimbus.service.test.TestCase.Status)1