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();
}
Aggregations