00001 package edu.ksu.cis.bandera.bui;
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035 import java.util.*;
00036 import java.awt.*;
00037 import java.awt.event.*;
00038 import javax.swing.*;
00039 public class JPFOption extends JDialog {
00040 private JPanel ivjJPFOptionDialogContentPane = null;
00041 private JPanel ivjRuntimeAnalysisPanel = null;
00042 private JPanel ivjVerificationPanel = null;
00043 private JButton ivjOkButton = null;
00044 private JPanel ivjOptionPanel = null;
00045 IvjEventHandler ivjEventHandler = new IvjEventHandler();
00046 private JCheckBox ivjHashCompactCheckBox = null;
00047 private JCheckBox ivjSearchDepthCheckBox = null;
00048 private JTextField ivjSearchDepthTextField = null;
00049 private JPanel ivjFillerPanel1 = null;
00050 private JPanel ivjPropertyPanel = null;
00051 private JPanel ivjStateReductionPanel = null;
00052 private JCheckBox ivjAtomicLinesCheckBox = null;
00053 private JCheckBox ivjGarbageCollectionCheckBox = null;
00054 private JCheckBox ivjHeapSymmetryCheckBox = null;
00055 private JCheckBox ivjPOCheckBox = null;
00056 private JCheckBox ivjRaceCheckBox = null;
00057 private JPanel ivjFillerPanel2 = null;
00058 private JPanel ivjFillerPanel3 = null;
00059 private JPanel ivjFillerPanel4 = null;
00060 private JPanel ivjFillerPanel5 = null;
00061 private JCheckBox ivjPostVerifyCheckBox = null;
00062 private JTextField ivjRaceLevelTextField = null;
00063 private JCheckBox ivjLockOrderCheckBox = null;
00064 private JCheckBox ivjDDependCheckBox = null;
00065 private JPanel ivjDebugPanel = null;
00066 private JCheckBox ivjDependCheckBox = null;
00067 private JCheckBox ivjDLockOrderCheckBox = null;
00068 private JCheckBox ivjDRaceCheckBox = null;
00069 private JPanel ivjRadioPanel = null;
00070 private JRadioButton ivjRuntimeAnalysisRadioButton = null;
00071 private JRadioButton ivjVerificationRadioButton = null;
00072 private JCheckBox ivjAssertionCheckBox = null;
00073
00074 class IvjEventHandler implements java.awt.event.ActionListener {
00075 public void actionPerformed(java.awt.event.ActionEvent e) {
00076 if (e.getSource() == JPFOption.this.getOkButton())
00077 connEtoM1(e);
00078 if (e.getSource() == JPFOption.this.getSearchDepthCheckBox())
00079 connEtoC1();
00080 if (e.getSource() == JPFOption.this.getVerificationRadioButton())
00081 connEtoC2();
00082 if (e.getSource() == JPFOption.this.getRuntimeAnalysisRadioButton())
00083 connEtoC3();
00084 if (e.getSource() == JPFOption.this.getGarbageCollectionCheckBox())
00085 connEtoC4();
00086 if (e.getSource() == JPFOption.this.getHeapSymmetryCheckBox())
00087 connEtoC5();
00088 if (e.getSource() == JPFOption.this.getRaceCheckBox())
00089 connEtoC6();
00090 if (e.getSource() == JPFOption.this.getLockOrderCheckBox())
00091 connEtoC7();
00092 if (e.getSource() == JPFOption.this.getPostVerifyCheckBox())
00093 connEtoC8();
00094 if (e.getSource() == JPFOption.this.getDependCheckBox())
00095 connEtoC10();
00096 };
00097 };
00098
00099
00100
00101 public JPFOption() {
00102 super();
00103 initialize();
00104 }
00105
00106
00107
00108
00109 public JPFOption(Dialog owner) {
00110 super(owner);
00111 }
00112
00113
00114
00115
00116
00117 public JPFOption(Dialog owner, String title) {
00118 super(owner, title);
00119 }
00120
00121
00122
00123
00124
00125
00126 public JPFOption(Dialog owner, String title, boolean modal) {
00127 super(owner, title, modal);
00128 }
00129
00130
00131
00132
00133
00134 public JPFOption(Dialog owner, boolean modal) {
00135 super(owner, modal);
00136 }
00137
00138
00139
00140
00141 public JPFOption(Frame owner) {
00142 super(owner);
00143 }
00144
00145
00146
00147
00148
00149 public JPFOption(Frame owner, String title) {
00150 super(owner, title);
00151 }
00152
00153
00154
00155
00156
00157
00158 public JPFOption(Frame owner, String title, boolean modal) {
00159 super(owner, title, modal);
00160 }
00161
00162
00163
00164
00165
00166 public JPFOption(Frame owner, boolean modal) {
00167 super(owner, modal);
00168 }
00169
00170
00171
00172
00173 private void connEtoC1() {
00174 try {
00175
00176
00177 this.searchDepthCheckBox_ActionEvents();
00178
00179
00180 } catch (java.lang.Throwable ivjExc) {
00181
00182
00183 handleException(ivjExc);
00184 }
00185 }
00186
00187
00188
00189
00190 private void connEtoC10() {
00191 try {
00192
00193
00194 this.dependCheckBox_ActionEvents();
00195
00196
00197 } catch (java.lang.Throwable ivjExc) {
00198
00199
00200 handleException(ivjExc);
00201 }
00202 }
00203
00204
00205
00206
00207 private void connEtoC2() {
00208 try {
00209
00210
00211 this.verificationRadioButton_ActionEvents();
00212
00213
00214 } catch (java.lang.Throwable ivjExc) {
00215
00216
00217 handleException(ivjExc);
00218 }
00219 }
00220
00221
00222
00223
00224 private void connEtoC3() {
00225 try {
00226
00227
00228 this.runtimeAnalysisRadioButton_ActionEvents();
00229
00230
00231 } catch (java.lang.Throwable ivjExc) {
00232
00233
00234 handleException(ivjExc);
00235 }
00236 }
00237
00238
00239
00240
00241 private void connEtoC4() {
00242 try {
00243
00244
00245 this.garbageCollectionCheckBox_ActionEvents();
00246
00247
00248 } catch (java.lang.Throwable ivjExc) {
00249
00250
00251 handleException(ivjExc);
00252 }
00253 }
00254
00255
00256
00257
00258 private void connEtoC5() {
00259 try {
00260
00261
00262 this.heapSymmetryCheckBox_ActionEvents();
00263
00264
00265 } catch (java.lang.Throwable ivjExc) {
00266
00267
00268 handleException(ivjExc);
00269 }
00270 }
00271
00272
00273
00274
00275 private void connEtoC6() {
00276 try {
00277
00278
00279 this.raceCheckBox_ActionEvents();
00280
00281
00282 } catch (java.lang.Throwable ivjExc) {
00283
00284
00285 handleException(ivjExc);
00286 }
00287 }
00288
00289
00290
00291
00292 private void connEtoC7() {
00293 try {
00294
00295
00296 this.lockOrderCheckBox_ActionEvents();
00297
00298
00299 } catch (java.lang.Throwable ivjExc) {
00300
00301
00302 handleException(ivjExc);
00303 }
00304 }
00305
00306
00307
00308
00309 private void connEtoC8() {
00310 try {
00311
00312
00313 this.postVerifyCheckBox_ActionEvents();
00314
00315
00316 } catch (java.lang.Throwable ivjExc) {
00317
00318
00319 handleException(ivjExc);
00320 }
00321 }
00322
00323
00324
00325
00326
00327 private void connEtoM1(java.awt.event.ActionEvent arg1) {
00328 try {
00329
00330
00331 this.dispose();
00332
00333
00334 } catch (java.lang.Throwable ivjExc) {
00335
00336
00337 handleException(ivjExc);
00338 }
00339 }
00340
00341
00342
00343 public void dependCheckBox_ActionEvents() {
00344 if (getDependCheckBox().isSelected()) {
00345 getDDependCheckBox().setEnabled(true);
00346 } else {
00347 getDDependCheckBox().setEnabled(false);
00348 getDDependCheckBox().setSelected(false);
00349 }
00350 }
00351
00352
00353
00354 public void garbageCollectionCheckBox_ActionEvents() {
00355 if (getGarbageCollectionCheckBox().isSelected()) {
00356 getHeapSymmetryCheckBox().setSelected(true);
00357 }
00358 }
00359
00360
00361
00362
00363
00364 private javax.swing.JCheckBox getAssertionCheckBox() {
00365 if (ivjAssertionCheckBox == null) {
00366 try {
00367 ivjAssertionCheckBox = new javax.swing.JCheckBox();
00368 ivjAssertionCheckBox.setName("AssertionCheckBox");
00369 ivjAssertionCheckBox.setText("Assertions");
00370 ivjAssertionCheckBox.setBackground(new java.awt.Color(204,204,255));
00371
00372
00373 } catch (java.lang.Throwable ivjExc) {
00374
00375
00376 handleException(ivjExc);
00377 }
00378 }
00379 return ivjAssertionCheckBox;
00380 }
00381
00382
00383
00384
00385
00386 private javax.swing.JCheckBox getAtomicLinesCheckBox() {
00387 if (ivjAtomicLinesCheckBox == null) {
00388 try {
00389 ivjAtomicLinesCheckBox = new javax.swing.JCheckBox();
00390 ivjAtomicLinesCheckBox.setName("AtomicLinesCheckBox");
00391 ivjAtomicLinesCheckBox.setSelected(true);
00392 ivjAtomicLinesCheckBox.setText("Atomic Lines");
00393 ivjAtomicLinesCheckBox.setBackground(new java.awt.Color(204,204,255));
00394
00395
00396 } catch (java.lang.Throwable ivjExc) {
00397
00398
00399 handleException(ivjExc);
00400 }
00401 }
00402 return ivjAtomicLinesCheckBox;
00403 }
00404
00405
00406
00407
00408 private static void getBuilderData() {
00409
00410
00411
00412
00413
00414
00415
00416
00417
00418
00419
00420
00421
00422
00423
00424
00425
00426
00427
00428
00429
00430
00431
00432
00433
00434
00435
00436
00437
00438
00439
00440
00441
00442
00443
00444
00445
00446
00447
00448
00449
00450
00451
00452
00453
00454
00455
00456
00457
00458
00459
00460
00461
00462
00463
00464
00465
00466
00467
00468
00469
00470
00471
00472
00473
00474
00475
00476
00477
00478
00479 }
00480
00481
00482
00483
00484
00485 private javax.swing.JCheckBox getDDependCheckBox() {
00486 if (ivjDDependCheckBox == null) {
00487 try {
00488 ivjDDependCheckBox = new javax.swing.JCheckBox();
00489 ivjDDependCheckBox.setName("DDependCheckBox");
00490 ivjDDependCheckBox.setText("Depend");
00491 ivjDDependCheckBox.setBackground(new java.awt.Color(204,204,255));
00492 ivjDDependCheckBox.setEnabled(false);
00493
00494
00495 } catch (java.lang.Throwable ivjExc) {
00496
00497
00498 handleException(ivjExc);
00499 }
00500 }
00501 return ivjDDependCheckBox;
00502 }
00503
00504
00505
00506
00507
00508 private javax.swing.JPanel getDebugPanel() {
00509 if (ivjDebugPanel == null) {
00510 try {
00511 ivjDebugPanel = new javax.swing.JPanel();
00512 ivjDebugPanel.setName("DebugPanel");
00513 ivjDebugPanel.setBorder(BorderFactory.createTitledBorder("Debug"));
00514 ivjDebugPanel.setLayout(new java.awt.GridBagLayout());
00515 ivjDebugPanel.setBackground(new java.awt.Color(204,204,255));
00516
00517 java.awt.GridBagConstraints constraintsDRaceCheckBox = new java.awt.GridBagConstraints();
00518 constraintsDRaceCheckBox.gridx = 0; constraintsDRaceCheckBox.gridy = 0;
00519 constraintsDRaceCheckBox.fill = java.awt.GridBagConstraints.HORIZONTAL;
00520 constraintsDRaceCheckBox.weightx = 1.0;
00521 constraintsDRaceCheckBox.insets = new java.awt.Insets(10, 10, 10, 0);
00522 getDebugPanel().add(getDRaceCheckBox(), constraintsDRaceCheckBox);
00523
00524 java.awt.GridBagConstraints constraintsDLockOrderCheckBox = new java.awt.GridBagConstraints();
00525 constraintsDLockOrderCheckBox.gridx = 1; constraintsDLockOrderCheckBox.gridy = 0;
00526 constraintsDLockOrderCheckBox.fill = java.awt.GridBagConstraints.HORIZONTAL;
00527 constraintsDLockOrderCheckBox.weightx = 1.0;
00528 constraintsDLockOrderCheckBox.insets = new java.awt.Insets(10, 10, 10, 0);
00529 getDebugPanel().add(getDLockOrderCheckBox(), constraintsDLockOrderCheckBox);
00530
00531 java.awt.GridBagConstraints constraintsDDependCheckBox = new java.awt.GridBagConstraints();
00532 constraintsDDependCheckBox.gridx = 2; constraintsDDependCheckBox.gridy = 0;
00533 constraintsDDependCheckBox.fill = java.awt.GridBagConstraints.HORIZONTAL;
00534 constraintsDDependCheckBox.weightx = 1.0;
00535 constraintsDDependCheckBox.insets = new java.awt.Insets(10, 10, 10, 10);
00536 getDebugPanel().add(getDDependCheckBox(), constraintsDDependCheckBox);
00537
00538
00539 } catch (java.lang.Throwable ivjExc) {
00540
00541
00542 handleException(ivjExc);
00543 }
00544 }
00545 return ivjDebugPanel;
00546 }
00547
00548
00549
00550
00551
00552 private javax.swing.JCheckBox getDependCheckBox() {
00553 if (ivjDependCheckBox == null) {
00554 try {
00555 ivjDependCheckBox = new javax.swing.JCheckBox();
00556 ivjDependCheckBox.setName("DependCheckBox");
00557 ivjDependCheckBox.setText("Depend");
00558 ivjDependCheckBox.setBackground(new java.awt.Color(204,204,255));
00559 ivjDependCheckBox.setEnabled(false);
00560
00561
00562 } catch (java.lang.Throwable ivjExc) {
00563
00564
00565 handleException(ivjExc);
00566 }
00567 }
00568 return ivjDependCheckBox;
00569 }
00570
00571
00572
00573
00574
00575 private javax.swing.JCheckBox getDLockOrderCheckBox() {
00576 if (ivjDLockOrderCheckBox == null) {
00577 try {
00578 ivjDLockOrderCheckBox = new javax.swing.JCheckBox();
00579 ivjDLockOrderCheckBox.setName("DLockOrderCheckBox");
00580 ivjDLockOrderCheckBox.setText("Lock Ordering");
00581 ivjDLockOrderCheckBox.setBackground(new java.awt.Color(204,204,255));
00582 ivjDLockOrderCheckBox.setEnabled(false);
00583
00584
00585 } catch (java.lang.Throwable ivjExc) {
00586
00587
00588 handleException(ivjExc);
00589 }
00590 }
00591 return ivjDLockOrderCheckBox;
00592 }
00593
00594
00595
00596
00597
00598 private javax.swing.JCheckBox getDRaceCheckBox() {
00599 if (ivjDRaceCheckBox == null) {
00600 try {
00601 ivjDRaceCheckBox = new javax.swing.JCheckBox();
00602 ivjDRaceCheckBox.setName("DRaceCheckBox");
00603 ivjDRaceCheckBox.setText("Race Condition");
00604 ivjDRaceCheckBox.setBackground(new java.awt.Color(204,204,255));
00605 ivjDRaceCheckBox.setEnabled(false);
00606
00607
00608 } catch (java.lang.Throwable ivjExc) {
00609
00610
00611 handleException(ivjExc);
00612 }
00613 }
00614 return ivjDRaceCheckBox;
00615 }
00616
00617
00618
00619
00620
00621 private javax.swing.JPanel getFillerPanel1() {
00622 if (ivjFillerPanel1 == null) {
00623 try {
00624 ivjFillerPanel1 = new javax.swing.JPanel();
00625 ivjFillerPanel1.setName("FillerPanel1");
00626 ivjFillerPanel1.setLayout(null);
00627 ivjFillerPanel1.setBackground(new java.awt.Color(204,204,255));
00628
00629
00630 } catch (java.lang.Throwable ivjExc) {
00631
00632
00633 handleException(ivjExc);
00634 }
00635 }
00636 return ivjFillerPanel1;
00637 }
00638
00639
00640
00641
00642
00643 private javax.swing.JPanel getFillerPanel2() {
00644 if (ivjFillerPanel2 == null) {
00645 try {
00646 ivjFillerPanel2 = new javax.swing.JPanel();
00647 ivjFillerPanel2.setName("FillerPanel2");
00648 ivjFillerPanel2.setLayout(null);
00649 ivjFillerPanel2.setBackground(new java.awt.Color(204,204,255));
00650
00651
00652 } catch (java.lang.Throwable ivjExc) {
00653
00654
00655 handleException(ivjExc);
00656 }
00657 }
00658 return ivjFillerPanel2;
00659 }
00660
00661
00662
00663
00664
00665 private javax.swing.JPanel getFillerPanel3() {
00666 if (ivjFillerPanel3 == null) {
00667 try {
00668 ivjFillerPanel3 = new javax.swing.JPanel();
00669 ivjFillerPanel3.setName("FillerPanel3");
00670 ivjFillerPanel3.setLayout(null);
00671 ivjFillerPanel3.setBackground(new java.awt.Color(204,204,255));
00672
00673
00674 } catch (java.lang.Throwable ivjExc) {
00675
00676
00677 handleException(ivjExc);
00678 }
00679 }
00680 return ivjFillerPanel3;
00681 }
00682
00683
00684
00685
00686
00687 private javax.swing.JPanel getFillerPanel4() {
00688 if (ivjFillerPanel4 == null) {
00689 try {
00690 ivjFillerPanel4 = new javax.swing.JPanel();
00691 ivjFillerPanel4.setName("FillerPanel4");
00692 ivjFillerPanel4.setLayout(null);
00693 ivjFillerPanel4.setBackground(new java.awt.Color(204,204,255));
00694
00695
00696 } catch (java.lang.Throwable ivjExc) {
00697
00698
00699 handleException(ivjExc);
00700 }
00701 }
00702 return ivjFillerPanel4;
00703 }
00704
00705
00706
00707
00708
00709 private javax.swing.JPanel getFillerPanel5() {
00710 if (ivjFillerPanel5 == null) {
00711 try {
00712 ivjFillerPanel5 = new javax.swing.JPanel();
00713 ivjFillerPanel5.setName("FillerPanel5");
00714 ivjFillerPanel5.setLayout(null);
00715 ivjFillerPanel5.setBackground(new java.awt.Color(204,204,255));
00716
00717
00718 } catch (java.lang.Throwable ivjExc) {
00719
00720
00721 handleException(ivjExc);
00722 }
00723 }
00724 return ivjFillerPanel5;
00725 }
00726
00727
00728
00729
00730
00731 private javax.swing.JCheckBox getGarbageCollectionCheckBox() {
00732 if (ivjGarbageCollectionCheckBox == null) {
00733 try {
00734 ivjGarbageCollectionCheckBox = new javax.swing.JCheckBox();
00735 ivjGarbageCollectionCheckBox.setName("GarbageCollectionCheckBox");
00736 ivjGarbageCollectionCheckBox.setText("Garbage Collection");
00737 ivjGarbageCollectionCheckBox.setBackground(new java.awt.Color(204,204,255));
00738
00739
00740 } catch (java.lang.Throwable ivjExc) {
00741
00742
00743 handleException(ivjExc);
00744 }
00745 }
00746 return ivjGarbageCollectionCheckBox;
00747 }
00748
00749
00750
00751
00752
00753 private javax.swing.JCheckBox getHashCompactCheckBox() {
00754 if (ivjHashCompactCheckBox == null) {
00755 try {
00756 ivjHashCompactCheckBox = new javax.swing.JCheckBox();
00757 ivjHashCompactCheckBox.setName("HashCompactCheckBox");
00758 ivjHashCompactCheckBox.setMnemonic('h');
00759 ivjHashCompactCheckBox.setText("Hash Compaction");
00760 ivjHashCompactCheckBox.setBackground(new java.awt.Color(204,204,255));
00761
00762
00763 } catch (java.lang.Throwable ivjExc) {
00764
00765
00766 handleException(ivjExc);
00767 }
00768 }
00769 return ivjHashCompactCheckBox;
00770 }
00771
00772
00773
00774
00775
00776 private javax.swing.JCheckBox getHeapSymmetryCheckBox() {
00777 if (ivjHeapSymmetryCheckBox == null) {
00778 try {
00779 ivjHeapSymmetryCheckBox = new javax.swing.JCheckBox();
00780 ivjHeapSymmetryCheckBox.setName("HeapSymmetryCheckBox");
00781 ivjHeapSymmetryCheckBox.setText("Heap Symmetry");
00782 ivjHeapSymmetryCheckBox.setBackground(new java.awt.Color(204,204,255));
00783
00784
00785 } catch (java.lang.Throwable ivjExc) {
00786
00787
00788 handleException(ivjExc);
00789 }
00790 }
00791 return ivjHeapSymmetryCheckBox;
00792 }
00793
00794
00795
00796
00797
00798 private javax.swing.JPanel getJPFOptionDialogContentPane() {
00799 if (ivjJPFOptionDialogContentPane == null) {
00800 try {
00801 ivjJPFOptionDialogContentPane = new javax.swing.JPanel();
00802 ivjJPFOptionDialogContentPane.setName("JPFOptionDialogContentPane");
00803 ivjJPFOptionDialogContentPane.setLayout(new java.awt.BorderLayout());
00804 ivjJPFOptionDialogContentPane.setBackground(new java.awt.Color(204,204,255));
00805 getJPFOptionDialogContentPane().add(getOkButton(), "South");
00806 getJPFOptionDialogContentPane().add(getRadioPanel(), "North");
00807 getJPFOptionDialogContentPane().add(getOptionPanel(), "Center");
00808
00809
00810 } catch (java.lang.Throwable ivjExc) {
00811
00812
00813 handleException(ivjExc);
00814 }
00815 }
00816 return ivjJPFOptionDialogContentPane;
00817 }
00818
00819
00820
00821
00822
00823 private javax.swing.JCheckBox getLockOrderCheckBox() {
00824 if (ivjLockOrderCheckBox == null) {
00825 try {
00826 ivjLockOrderCheckBox = new javax.swing.JCheckBox();
00827 ivjLockOrderCheckBox.setName("LockOrderCheckBox");
00828 ivjLockOrderCheckBox.setText("Lock Ordering");
00829 ivjLockOrderCheckBox.setBackground(new java.awt.Color(204,204,255));
00830
00831
00832 } catch (java.lang.Throwable ivjExc) {
00833
00834
00835 handleException(ivjExc);
00836 }
00837 }
00838 return ivjLockOrderCheckBox;
00839 }
00840
00841
00842
00843
00844
00845 private javax.swing.JButton getOkButton() {
00846 if (ivjOkButton == null) {
00847 try {
00848 ivjOkButton = new javax.swing.JButton();
00849 ivjOkButton.setName("OkButton");
00850 ivjOkButton.setMnemonic('o');
00851 ivjOkButton.setText("Ok");
00852 ivjOkButton.setBackground(new java.awt.Color(204,204,255));
00853
00854
00855 } catch (java.lang.Throwable ivjExc) {
00856
00857
00858 handleException(ivjExc);
00859 }
00860 }
00861 return ivjOkButton;
00862 }
00863
00864
00865
00866
00867
00868 private javax.swing.JPanel getOptionPanel() {
00869 if (ivjOptionPanel == null) {
00870 try {
00871 ivjOptionPanel = new javax.swing.JPanel();
00872 ivjOptionPanel.setName("OptionPanel");
00873 ivjOptionPanel.setLayout(new java.awt.CardLayout());
00874 ivjOptionPanel.setBackground(new java.awt.Color(204,204,255));
00875 getOptionPanel().add(getVerificationPanel(), getVerificationPanel().getName());
00876
00877 getOptionPanel().add(getRuntimeAnalysisPanel(), getRuntimeAnalysisPanel().getName());
00878
00879 } catch (java.lang.Throwable ivjExc) {
00880
00881
00882 handleException(ivjExc);
00883 }
00884 }
00885 return ivjOptionPanel;
00886 }
00887
00888
00889
00890
00891 public static String getOptions() {
00892 String result = "";
00893 if (BUI.jpfOption.isVerification()) {
00894 if (BUI.jpfOption.getPOCheckBox().isSelected()) {
00895 result += "-po-reduction ";
00896 } else {
00897 result += "-no-po-reduction ";
00898 }
00899
00900 if (BUI.jpfOption.getGarbageCollectionCheckBox().isSelected()) {
00901 result += "-garbage-collection ";
00902 } else {
00903 result += "-no-garbage-collection ";
00904 }
00905
00906 if (BUI.jpfOption.getHashCompactCheckBox().isSelected()) {
00907 result += "-hashcompact ";
00908 } else {
00909 result += "-no-hashcompact ";
00910 }
00911
00912 if (BUI.jpfOption.getSearchDepthCheckBox().isSelected()) {
00913 result += ("-search-depth " + BUI.jpfOption.getSearchDepthTextField().getText().trim() + " ");
00914 }
00915
00916 if (BUI.jpfOption.getHeapSymmetryCheckBox().isSelected()) {
00917 result += "-heap-symmetry ";
00918 } else {
00919 result += "-no-heap-symmetry ";
00920 }
00921
00922 if (BUI.jpfOption.getAtomicLinesCheckBox().isSelected()) {
00923 result += "-atomic-lines ";
00924 } else {
00925 result += "-no-atomic-lines ";
00926 }
00927
00928 if (BUI.jpfOption.getAssertionCheckBox().isSelected()) {
00929 result += "-assertions ";
00930 } else {
00931 result += "-no-assertions ";
00932 }
00933 } else {
00934 result += "-no-verify ";
00935
00936 if (BUI.jpfOption.getRaceCheckBox().isSelected()) {
00937 result += "-race ";
00938 result += "-race-level ";
00939 result += BUI.jpfOption.getRaceLevelTextField().getText().trim() + " ";
00940 }
00941
00942 if (BUI.jpfOption.getLockOrderCheckBox().isSelected()) {
00943 result += "-lock ";
00944 }
00945
00946 if (BUI.jpfOption.getPostVerifyCheckBox().isSelected()) {
00947 result += "-post-verify ";
00948 }
00949
00950 if (BUI.jpfOption.getDependCheckBox().isSelected()) {
00951 result += "-depend ";
00952 }
00953
00954 if (BUI.jpfOption.getDRaceCheckBox().isSelected()) {
00955 result += "-debugs race ";
00956 }
00957
00958 if (BUI.jpfOption.getLockOrderCheckBox().isSelected()) {
00959 result += "-debugs lock ";
00960 }
00961
00962 if (BUI.jpfOption.getDDependCheckBox().isSelected()) {
00963 result += "-debugs depend ";
00964 }
00965
00966 }
00967 return result;
00968 }
00969
00970
00971
00972
00973
00974 private javax.swing.JCheckBox getPOCheckBox() {
00975 if (ivjPOCheckBox == null) {
00976 try {
00977 ivjPOCheckBox = new javax.swing.JCheckBox();
00978 ivjPOCheckBox.setName("POCheckBox");
00979 ivjPOCheckBox.setText("Partial Order Reduction");
00980 ivjPOCheckBox.setBackground(new java.awt.Color(204,204,255));
00981
00982
00983 } catch (java.lang.Throwable ivjExc) {
00984
00985
00986 handleException(ivjExc);
00987 }
00988 }
00989 return ivjPOCheckBox;
00990 }
00991
00992
00993
00994
00995
00996 private javax.swing.JCheckBox getPostVerifyCheckBox() {
00997 if (ivjPostVerifyCheckBox == null) {
00998 try {
00999 ivjPostVerifyCheckBox = new javax.swing.JCheckBox();
01000 ivjPostVerifyCheckBox.setName("PostVerifyCheckBox");
01001 ivjPostVerifyCheckBox.setText("Post Verify");
01002 ivjPostVerifyCheckBox.setBackground(new java.awt.Color(204,204,255));
01003 ivjPostVerifyCheckBox.setEnabled(false);
01004
01005
01006 } catch (java.lang.Throwable ivjExc) {
01007
01008
01009 handleException(ivjExc);
01010 }
01011 }
01012 return ivjPostVerifyCheckBox;
01013 }
01014
01015
01016
01017
01018
01019 private javax.swing.JPanel getPropertyPanel() {
01020 if (ivjPropertyPanel == null) {
01021 try {
01022 ivjPropertyPanel = new javax.swing.JPanel();
01023 ivjPropertyPanel.setName("PropertyPanel");
01024 ivjPropertyPanel.setBorder(BorderFactory.createTitledBorder("Property"));
01025 ivjPropertyPanel.setLayout(new java.awt.GridBagLayout());
01026 ivjPropertyPanel.setBackground(new java.awt.Color(204,204,255));
01027
01028 java.awt.GridBagConstraints constraintsAssertionCheckBox = new java.awt.GridBagConstraints();
01029 constraintsAssertionCheckBox.gridx = 0; constraintsAssertionCheckBox.gridy = 0;
01030 constraintsAssertionCheckBox.fill = java.awt.GridBagConstraints.HORIZONTAL;
01031 constraintsAssertionCheckBox.insets = new java.awt.Insets(10, 10, 0, 10);
01032 getPropertyPanel().add(getAssertionCheckBox(), constraintsAssertionCheckBox);
01033
01034 java.awt.GridBagConstraints constraintsFillerPanel1 = new java.awt.GridBagConstraints();
01035 constraintsFillerPanel1.gridx = 0; constraintsFillerPanel1.gridy = 1;
01036 constraintsFillerPanel1.fill = java.awt.GridBagConstraints.BOTH;
01037 constraintsFillerPanel1.weightx = 1.0;
01038 constraintsFillerPanel1.weighty = 1.0;
01039 constraintsFillerPanel1.insets = new java.awt.Insets(4, 4, 4, 4);
01040 getPropertyPanel().add(getFillerPanel1(), constraintsFillerPanel1);
01041
01042
01043 } catch (java.lang.Throwable ivjExc) {
01044
01045
01046 handleException(ivjExc);
01047 }
01048 }
01049 return ivjPropertyPanel;
01050 }
01051
01052
01053
01054
01055
01056 private javax.swing.JCheckBox getRaceCheckBox() {
01057 if (ivjRaceCheckBox == null) {
01058 try {
01059 ivjRaceCheckBox = new javax.swing.JCheckBox();
01060 ivjRaceCheckBox.setName("RaceCheckBox");
01061 ivjRaceCheckBox.setText("Race Condition");
01062 ivjRaceCheckBox.setBackground(new java.awt.Color(204,204,255));
01063
01064
01065 } catch (java.lang.Throwable ivjExc) {
01066
01067
01068 handleException(ivjExc);
01069 }
01070 }
01071 return ivjRaceCheckBox;
01072 }
01073
01074
01075
01076
01077
01078 private javax.swing.JTextField getRaceLevelTextField() {
01079 if (ivjRaceLevelTextField == null) {
01080 try {
01081 ivjRaceLevelTextField = new javax.swing.JTextField();
01082 ivjRaceLevelTextField.setName("RaceLevelTextField");
01083 ivjRaceLevelTextField.setBorder(BorderFactory.createLoweredBevelBorder());
01084 ivjRaceLevelTextField.setEditable(false);
01085
01086
01087 } catch (java.lang.Throwable ivjExc) {
01088
01089
01090 handleException(ivjExc);
01091 }
01092 }
01093 return ivjRaceLevelTextField;
01094 }
01095
01096
01097
01098
01099
01100 private javax.swing.JPanel getRadioPanel() {
01101 if (ivjRadioPanel == null) {
01102 try {
01103 ivjRadioPanel = new javax.swing.JPanel();
01104 ivjRadioPanel.setName("RadioPanel");
01105 ivjRadioPanel.setBorder(BorderFactory.createRaisedBevelBorder());
01106 ivjRadioPanel.setLayout(new java.awt.GridBagLayout());
01107 ivjRadioPanel.setBackground(new java.awt.Color(204,204,255));
01108
01109 java.awt.GridBagConstraints constraintsVerificationRadioButton = new java.awt.GridBagConstraints();
01110 constraintsVerificationRadioButton.gridx = 0; constraintsVerificationRadioButton.gridy = 0;
01111 constraintsVerificationRadioButton.fill = java.awt.GridBagConstraints.HORIZONTAL;
01112 constraintsVerificationRadioButton.weightx = 1.0;
01113 constraintsVerificationRadioButton.weighty = 1.0;
01114 constraintsVerificationRadioButton.insets = new java.awt.Insets(10, 10, 10, 0);
01115 getRadioPanel().add(getVerificationRadioButton(), constraintsVerificationRadioButton);
01116
01117 java.awt.GridBagConstraints constraintsRuntimeAnalysisRadioButton = new java.awt.GridBagConstraints();
01118 constraintsRuntimeAnalysisRadioButton.gridx = 1; constraintsRuntimeAnalysisRadioButton.gridy = 0;
01119 constraintsRuntimeAnalysisRadioButton.fill = java.awt.GridBagConstraints.HORIZONTAL;
01120 constraintsRuntimeAnalysisRadioButton.weightx = 1.0;
01121 constraintsRuntimeAnalysisRadioButton.weighty = 1.0;
01122 constraintsRuntimeAnalysisRadioButton.insets = new java.awt.Insets(10, 10, 10, 10);
01123 getRadioPanel().add(getRuntimeAnalysisRadioButton(), constraintsRuntimeAnalysisRadioButton);
01124
01125
01126 } catch (java.lang.Throwable ivjExc) {
01127
01128
01129 handleException(ivjExc);
01130 }
01131 }
01132 return ivjRadioPanel;
01133 }
01134
01135
01136
01137
01138
01139 private javax.swing.JPanel getRuntimeAnalysisPanel() {
01140 if (ivjRuntimeAnalysisPanel == null) {
01141 try {
01142 ivjRuntimeAnalysisPanel = new javax.swing.JPanel();
01143 ivjRuntimeAnalysisPanel.setName("RuntimeAnalysisPanel");
01144 ivjRuntimeAnalysisPanel.setLayout(new java.awt.GridBagLayout());
01145 ivjRuntimeAnalysisPanel.setBackground(new java.awt.Color(204,204,255));
01146 ivjRuntimeAnalysisPanel.setBounds(36, 480, 648, 272);
01147
01148 java.awt.GridBagConstraints constraintsRaceCheckBox = new java.awt.GridBagConstraints();
01149 constraintsRaceCheckBox.gridx = 0; constraintsRaceCheckBox.gridy = 0;
01150 constraintsRaceCheckBox.fill = java.awt.GridBagConstraints.HORIZONTAL;
01151 constraintsRaceCheckBox.insets = new java.awt.Insets(15, 10, 0, 0);
01152 getRuntimeAnalysisPanel().add(getRaceCheckBox(), constraintsRaceCheckBox);
01153
01154 java.awt.GridBagConstraints constraintsLockOrderCheckBox = new java.awt.GridBagConstraints();
01155 constraintsLockOrderCheckBox.gridx = 0; constraintsLockOrderCheckBox.gridy = 1;
01156 constraintsLockOrderCheckBox.fill = java.awt.GridBagConstraints.HORIZONTAL;
01157 constraintsLockOrderCheckBox.insets = new java.awt.Insets(0, 10, 0, 0);
01158 getRuntimeAnalysisPanel().add(getLockOrderCheckBox(), constraintsLockOrderCheckBox);
01159
01160 java.awt.GridBagConstraints constraintsDependCheckBox = new java.awt.GridBagConstraints();
01161 constraintsDependCheckBox.gridx = 0; constraintsDependCheckBox.gridy = 3;
01162 constraintsDependCheckBox.fill = java.awt.GridBagConstraints.HORIZONTAL;
01163 constraintsDependCheckBox.insets = new java.awt.Insets(0, 40, 0, 0);
01164 getRuntimeAnalysisPanel().add(getDependCheckBox(), constraintsDependCheckBox);
01165
01166 java.awt.GridBagConstraints constraintsRaceLevelTextField = new java.awt.GridBagConstraints();
01167 constraintsRaceLevelTextField.gridx = 1; constraintsRaceLevelTextField.gridy = 0;
01168 constraintsRaceLevelTextField.fill = java.awt.GridBagConstraints.HORIZONTAL;
01169 constraintsRaceLevelTextField.weightx = 1.0;
01170 constraintsRaceLevelTextField.insets = new java.awt.Insets(15, 10, 0, 0);
01171 getRuntimeAnalysisPanel().add(getRaceLevelTextField(), constraintsRaceLevelTextField);
01172
01173 java.awt.GridBagConstraints constraintsFillerPanel4 = new java.awt.GridBagConstraints();
01174 constraintsFillerPanel4.gridx = 1; constraintsFillerPanel4.gridy = 3;
01175 constraintsFillerPanel4.fill = java.awt.GridBagConstraints.BOTH;
01176 constraintsFillerPanel4.weightx = 1.0;
01177 constraintsFillerPanel4.insets = new java.awt.Insets(4, 4, 4, 4);
01178 getRuntimeAnalysisPanel().add(getFillerPanel4(), constraintsFillerPanel4);
01179
01180 java.awt.GridBagConstraints constraintsFillerPanel5 = new java.awt.GridBagConstraints();
01181 constraintsFillerPanel5.gridx = 2; constraintsFillerPanel5.gridy = 3;
01182 constraintsFillerPanel5.fill = java.awt.GridBagConstraints.BOTH;
01183 constraintsFillerPanel5.weightx = 1.0;
01184 constraintsFillerPanel5.insets = new java.awt.Insets(4, 4, 4, 4);
01185 getRuntimeAnalysisPanel().add(getFillerPanel5(), constraintsFillerPanel5);
01186
01187 java.awt.GridBagConstraints constraintsDebugPanel = new java.awt.GridBagConstraints();
01188 constraintsDebugPanel.gridx = 0; constraintsDebugPanel.gridy = 4;
01189 constraintsDebugPanel.gridwidth = 3;
01190 constraintsDebugPanel.fill = java.awt.GridBagConstraints.BOTH;
01191 constraintsDebugPanel.weightx = 1.0;
01192 constraintsDebugPanel.weighty = 1.0;
01193 constraintsDebugPanel.insets = new java.awt.Insets(15, 10, 10, 10);
01194 getRuntimeAnalysisPanel().add(getDebugPanel(), constraintsDebugPanel);
01195
01196 java.awt.GridBagConstraints constraintsPostVerifyCheckBox = new java.awt.GridBagConstraints();
01197 constraintsPostVerifyCheckBox.gridx = 0; constraintsPostVerifyCheckBox.gridy = 2;
01198 constraintsPostVerifyCheckBox.fill = java.awt.GridBagConstraints.HORIZONTAL;
01199 constraintsPostVerifyCheckBox.insets = new java.awt.Insets(5, 25, 0, 0);
01200 getRuntimeAnalysisPanel().add(getPostVerifyCheckBox(), constraintsPostVerifyCheckBox);
01201
01202
01203 } catch (java.lang.Throwable ivjExc) {
01204
01205
01206 handleException(ivjExc);
01207 }
01208 }
01209 return ivjRuntimeAnalysisPanel;
01210 }
01211
01212
01213
01214
01215
01216 private javax.swing.JRadioButton getRuntimeAnalysisRadioButton() {
01217 if (ivjRuntimeAnalysisRadioButton == null) {
01218 try {
01219 ivjRuntimeAnalysisRadioButton = new javax.swing.JRadioButton();
01220 ivjRuntimeAnalysisRadioButton.setName("RuntimeAnalysisRadioButton");
01221 ivjRuntimeAnalysisRadioButton.setText("Runtime Analysis");
01222 ivjRuntimeAnalysisRadioButton.setBackground(new java.awt.Color(204,204,255));
01223
01224
01225 } catch (java.lang.Throwable ivjExc) {
01226
01227
01228 handleException(ivjExc);
01229 }
01230 }
01231 return ivjRuntimeAnalysisRadioButton;
01232 }
01233
01234
01235
01236
01237
01238 private javax.swing.JCheckBox getSearchDepthCheckBox() {
01239 if (ivjSearchDepthCheckBox == null) {
01240 try {
01241 ivjSearchDepthCheckBox = new javax.swing.JCheckBox();
01242 ivjSearchDepthCheckBox.setName("SearchDepthCheckBox");
01243 ivjSearchDepthCheckBox.setText("Maximum Search Depth:");
01244 ivjSearchDepthCheckBox.setBackground(new java.awt.Color(204,204,255));
01245
01246
01247 } catch (java.lang.Throwable ivjExc) {
01248
01249
01250 handleException(ivjExc);
01251 }
01252 }
01253 return ivjSearchDepthCheckBox;
01254 }
01255
01256
01257
01258
01259
01260 private javax.swing.JTextField getSearchDepthTextField() {
01261 if (ivjSearchDepthTextField == null) {
01262 try {
01263 ivjSearchDepthTextField = new javax.swing.JTextField();
01264 ivjSearchDepthTextField.setName("SearchDepthTextField");
01265 ivjSearchDepthTextField.setBorder(BorderFactory.createLoweredBevelBorder());
01266 ivjSearchDepthTextField.setEnabled(true);
01267 ivjSearchDepthTextField.setEditable(false);
01268
01269
01270 } catch (java.lang.Throwable ivjExc) {
01271
01272
01273 handleException(ivjExc);
01274 }
01275 }
01276 return ivjSearchDepthTextField;
01277 }
01278
01279
01280
01281
01282
01283 private javax.swing.JPanel getStateReductionPanel() {
01284 if (ivjStateReductionPanel == null) {
01285 try {
01286 ivjStateReductionPanel = new javax.swing.JPanel();
01287 ivjStateReductionPanel.setName("StateReductionPanel");
01288 ivjStateReductionPanel.setBorder(BorderFactory.createTitledBorder("State Space Reductions"));
01289 ivjStateReductionPanel.setLayout(new java.awt.GridBagLayout());
01290 ivjStateReductionPanel.setBackground(new java.awt.Color(204,204,255));
01291
01292 java.awt.GridBagConstraints constraintsPOCheckBox = new java.awt.GridBagConstraints();
01293 constraintsPOCheckBox.gridx = 0; constraintsPOCheckBox.gridy = 0;
01294 constraintsPOCheckBox.fill = java.awt.GridBagConstraints.HORIZONTAL;
01295 constraintsPOCheckBox.weightx = 1.0;
01296 constraintsPOCheckBox.insets = new java.awt.Insets(10, 10, 0, 10);
01297 getStateReductionPanel().add(getPOCheckBox(), constraintsPOCheckBox);
01298
01299 java.awt.GridBagConstraints constraintsGarbageCollectionCheckBox = new java.awt.GridBagConstraints();
01300 constraintsGarbageCollectionCheckBox.gridx = 0; constraintsGarbageCollectionCheckBox.gridy = 2;
01301 constraintsGarbageCollectionCheckBox.fill = java.awt.GridBagConstraints.HORIZONTAL;
01302 constraintsGarbageCollectionCheckBox.insets = new java.awt.Insets(0, 25, 0, 10);
01303 getStateReductionPanel().add(getGarbageCollectionCheckBox(), constraintsGarbageCollectionCheckBox);
01304
01305 java.awt.GridBagConstraints constraintsHeapSymmetryCheckBox = new java.awt.GridBagConstraints();
01306 constraintsHeapSymmetryCheckBox.gridx = 0; constraintsHeapSymmetryCheckBox.gridy = 1;
01307 constraintsHeapSymmetryCheckBox.fill = java.awt.GridBagConstraints.HORIZONTAL;
01308 constraintsHeapSymmetryCheckBox.insets = new java.awt.Insets(0, 10, 0, 10);
01309 getStateReductionPanel().add(getHeapSymmetryCheckBox(), constraintsHeapSymmetryCheckBox);
01310
01311 java.awt.GridBagConstraints constraintsAtomicLinesCheckBox = new java.awt.GridBagConstraints();
01312 constraintsAtomicLinesCheckBox.gridx = 0; constraintsAtomicLinesCheckBox.gridy = 3;
01313 constraintsAtomicLinesCheckBox.fill = java.awt.GridBagConstraints.HORIZONTAL;
01314 constraintsAtomicLinesCheckBox.insets = new java.awt.Insets(0, 10, 10, 10);
01315 getStateReductionPanel().add(getAtomicLinesCheckBox(), constraintsAtomicLinesCheckBox);
01316
01317 java.awt.GridBagConstraints constraintsFillerPanel2 = new java.awt.GridBagConstraints();
01318 constraintsFillerPanel2.gridx = 0; constraintsFillerPanel2.gridy = 4;
01319 constraintsFillerPanel2.fill = java.awt.GridBagConstraints.BOTH;
01320 constraintsFillerPanel2.weightx = 1.0;
01321 constraintsFillerPanel2.weighty = 1.0;
01322 constraintsFillerPanel2.insets = new java.awt.Insets(4, 4, 4, 4);
01323 getStateReductionPanel().add(getFillerPanel2(), constraintsFillerPanel2);
01324
01325
01326 } catch (java.lang.Throwable ivjExc) {
01327
01328
01329 handleException(ivjExc);
01330 }
01331 }
01332 return ivjStateReductionPanel;
01333 }
01334
01335
01336
01337
01338
01339 private javax.swing.JPanel getVerificationPanel() {
01340 if (ivjVerificationPanel == null) {
01341 try {
01342 ivjVerificationPanel = new javax.swing.JPanel();
01343 ivjVerificationPanel.setName("VerificationPanel");
01344 ivjVerificationPanel.setLayout(new java.awt.GridBagLayout());
01345 ivjVerificationPanel.setBackground(new java.awt.Color(204,204,255));
01346
01347 java.awt.GridBagConstraints constraintsHashCompactCheckBox = new java.awt.GridBagConstraints();
01348 constraintsHashCompactCheckBox.gridx = 0; constraintsHashCompactCheckBox.gridy = 0;
01349 constraintsHashCompactCheckBox.gridwidth = 4;
01350 constraintsHashCompactCheckBox.fill = java.awt.GridBagConstraints.HORIZONTAL;
01351 constraintsHashCompactCheckBox.insets = new java.awt.Insets(15, 10, 0, 10);
01352 getVerificationPanel().add(getHashCompactCheckBox(), constraintsHashCompactCheckBox);
01353
01354 java.awt.GridBagConstraints constraintsSearchDepthCheckBox = new java.awt.GridBagConstraints();
01355 constraintsSearchDepthCheckBox.gridx = 0; constraintsSearchDepthCheckBox.gridy = 1;
01356 constraintsSearchDepthCheckBox.fill = java.awt.GridBagConstraints.HORIZONTAL;
01357 constraintsSearchDepthCheckBox.insets = new java.awt.Insets(0, 10, 0, 0);
01358 getVerificationPanel().add(getSearchDepthCheckBox(), constraintsSearchDepthCheckBox);
01359
01360 java.awt.GridBagConstraints constraintsStateReductionPanel = new java.awt.GridBagConstraints();
01361 constraintsStateReductionPanel.gridx = 0; constraintsStateReductionPanel.gridy = 2;
01362 constraintsStateReductionPanel.gridwidth = 2;
01363 constraintsStateReductionPanel.fill = java.awt.GridBagConstraints.BOTH;
01364 constraintsStateReductionPanel.weightx = 1.0;
01365 constraintsStateReductionPanel.weighty = 1.0;
01366 constraintsStateReductionPanel.insets = new java.awt.Insets(10, 10, 10, 0);
01367 getVerificationPanel().add(getStateReductionPanel(), constraintsStateReductionPanel);
01368
01369 java.awt.GridBagConstraints constraintsSearchDepthTextField = new java.awt.GridBagConstraints();
01370 constraintsSearchDepthTextField.gridx = 1; constraintsSearchDepthTextField.gridy = 1;
01371 constraintsSearchDepthTextField.fill = java.awt.GridBagConstraints.HORIZONTAL;
01372 constraintsSearchDepthTextField.insets = new java.awt.Insets(0, 10, 0, 0);
01373 getVerificationPanel().add(getSearchDepthTextField(), constraintsSearchDepthTextField);
01374
01375 java.awt.GridBagConstraints constraintsPropertyPanel = new java.awt.GridBagConstraints();
01376 constraintsPropertyPanel.gridx = 2; constraintsPropertyPanel.gridy = 2;
01377 constraintsPropertyPanel.gridwidth = 2;
01378 constraintsPropertyPanel.fill = java.awt.GridBagConstraints.BOTH;
01379 constraintsPropertyPanel.weightx = 1.0;
01380 constraintsPropertyPanel.weighty = 1.0;
01381 constraintsPropertyPanel.insets = new java.awt.Insets(10, 10, 10, 10);
01382 getVerificationPanel().add(getPropertyPanel(), constraintsPropertyPanel);
01383
01384 java.awt.GridBagConstraints constraintsFillerPanel3 = new java.awt.GridBagConstraints();
01385 constraintsFillerPanel3.gridx = 0; constraintsFillerPanel3.gridy = 3;
01386 constraintsFillerPanel3.gridwidth = 4;
01387 constraintsFillerPanel3.fill = java.awt.GridBagConstraints.BOTH;
01388 constraintsFillerPanel3.weightx = 1.0;
01389 constraintsFillerPanel3.weighty = 1.0;
01390 constraintsFillerPanel3.insets = new java.awt.Insets(4, 4, 4, 4);
01391 getVerificationPanel().add(getFillerPanel3(), constraintsFillerPanel3);
01392
01393
01394 } catch (java.lang.Throwable ivjExc) {
01395
01396
01397 handleException(ivjExc);
01398 }
01399 }
01400 return ivjVerificationPanel;
01401 }
01402
01403
01404
01405
01406
01407 private javax.swing.JRadioButton getVerificationRadioButton() {
01408 if (ivjVerificationRadioButton == null) {
01409 try {
01410 ivjVerificationRadioButton = new javax.swing.JRadioButton();
01411 ivjVerificationRadioButton.setName("VerificationRadioButton");
01412 ivjVerificationRadioButton.setSelected(true);
01413 ivjVerificationRadioButton.setText("Verification");
01414 ivjVerificationRadioButton.setBackground(new java.awt.Color(204,204,255));
01415
01416
01417 } catch (java.lang.Throwable ivjExc) {
01418
01419
01420 handleException(ivjExc);
01421 }
01422 }
01423 return ivjVerificationRadioButton;
01424 }
01425
01426
01427
01428
01429 private void handleException(java.lang.Throwable exception) {
01430
01431
01432
01433
01434 }
01435
01436
01437
01438 public void heapSymmetryCheckBox_ActionEvents() {
01439 if (!getHeapSymmetryCheckBox().isSelected())
01440 getGarbageCollectionCheckBox().setSelected(false);
01441 }
01442
01443
01444
01445
01446
01447 private void initConnections() throws java.lang.Exception {
01448
01449
01450 getOkButton().addActionListener(ivjEventHandler);
01451 getSearchDepthCheckBox().addActionListener(ivjEventHandler);
01452 getVerificationRadioButton().addActionListener(ivjEventHandler);
01453 getRuntimeAnalysisRadioButton().addActionListener(ivjEventHandler);
01454 getGarbageCollectionCheckBox().addActionListener(ivjEventHandler);
01455 getHeapSymmetryCheckBox().addActionListener(ivjEventHandler);
01456 getRaceCheckBox().addActionListener(ivjEventHandler);
01457 getLockOrderCheckBox().addActionListener(ivjEventHandler);
01458 getPostVerifyCheckBox().addActionListener(ivjEventHandler);
01459 getDependCheckBox().addActionListener(ivjEventHandler);
01460 }
01461
01462
01463
01464
01465 private void initialize() {
01466 try {
01467
01468
01469 setName("JPFOption");
01470 setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
01471 setSize(653, 331);
01472 setTitle("JPF Options");
01473 setContentPane(getJPFOptionDialogContentPane());
01474 initConnections();
01475 } catch (java.lang.Throwable ivjExc) {
01476 handleException(ivjExc);
01477 }
01478
01479 ButtonGroup bg = new ButtonGroup();
01480 bg.add(getVerificationRadioButton());
01481 bg.add(getRuntimeAnalysisRadioButton());
01482
01483 }
01484
01485
01486
01487
01488 public boolean isVerification() {
01489 return getVerificationRadioButton().isSelected();
01490 }
01491
01492
01493
01494 public void lockOrderCheckBox_ActionEvents() {
01495 if (getLockOrderCheckBox().isSelected()) {
01496 getPostVerifyCheckBox().setEnabled(true);
01497 getDLockOrderCheckBox().setEnabled(true);
01498 } else {
01499 if (!getRaceCheckBox().isSelected()) {
01500 getPostVerifyCheckBox().setEnabled(false);
01501 getPostVerifyCheckBox().setSelected(false);
01502 getDependCheckBox().setEnabled(false);
01503 getDependCheckBox().setSelected(false);
01504 getDDependCheckBox().setEnabled(false);
01505 getDDependCheckBox().setSelected(false);
01506 }
01507 getDLockOrderCheckBox().setEnabled(false);
01508 getDLockOrderCheckBox().setSelected(false);
01509 }
01510 }
01511
01512
01513
01514
01515 public static void main(java.lang.String[] args) {
01516 try {
01517 JPFOption aJPFOption;
01518 aJPFOption = new JPFOption();
01519 aJPFOption.setModal(true);
01520 aJPFOption.addWindowListener(new java.awt.event.WindowAdapter() {
01521 public void windowClosing(java.awt.event.WindowEvent e) {
01522 System.exit(0);
01523 };
01524 });
01525 aJPFOption.setVisible(true);
01526 } catch (Throwable exception) {
01527 System.err.println("Exception occurred in main() of javax.swing.JDialog");
01528 exception.printStackTrace(System.out);
01529 }
01530 }
01531
01532
01533
01534
01535 public static void parseOptions(String options) {
01536 boolean isVisible = BUI.jpfOption.isVisible();
01537 BUI.jpfOption = new JPFOption();
01538 BUI.jpfOption.setVisible(isVisible);
01539
01540 for (StringTokenizer t = new StringTokenizer(options); t.hasMoreTokens();) {
01541 String opt = t.nextToken();
01542 boolean enabled = !opt.startsWith("-no");
01543 if (!enabled) opt = opt.substring(3);
01544
01545 if ("-po-reduction".equals(opt)) {
01546 BUI.jpfOption.getPOCheckBox().setSelected(enabled);
01547 } else if ("-garbage-collection".equals(opt)) {
01548 BUI.jpfOption.getGarbageCollectionCheckBox().setSelected(enabled);
01549 } else if ("-hashcompact".equals(opt)) {
01550 BUI.jpfOption.getHashCompactCheckBox().setSelected(enabled);
01551 } else if ("-search-depth".equals(opt)) {
01552 BUI.jpfOption.getSearchDepthCheckBox().setSelected(true);
01553 BUI.jpfOption.searchDepthCheckBox_ActionEvents();
01554 BUI.jpfOption.getSearchDepthTextField().setText(t.nextToken());
01555 } else if ("-heap-symmetry".equals(opt)) {
01556 BUI.jpfOption.getHeapSymmetryCheckBox().setSelected(enabled);
01557 } else if ("-atomic-lines".equals(opt)) {
01558 BUI.jpfOption.getAtomicLinesCheckBox().setSelected(enabled);
01559 } else if ("-assertions".equals(opt)) {
01560 BUI.jpfOption.getAssertionCheckBox().setSelected(enabled);
01561 } else if ("-verify".equals(opt)) {
01562 BUI.jpfOption.getRuntimeAnalysisRadioButton().setSelected(!enabled);
01563 ((CardLayout) BUI.jpfOption.getOptionPanel().getLayout()).last(BUI.jpfOption.getOptionPanel());
01564 } else if ("-race".equals(opt)) {
01565 BUI.jpfOption.getRaceCheckBox().setSelected(true);
01566 BUI.jpfOption.raceCheckBox_ActionEvents();
01567 t.nextToken();
01568 BUI.jpfOption.getRaceLevelTextField().setText(t.nextToken());
01569 } else if ("-lock".equals(opt)) {
01570 BUI.jpfOption.getLockOrderCheckBox().setSelected(true);
01571 BUI.jpfOption.lockOrderCheckBox_ActionEvents();
01572 } else if ("-post-verify".equals(opt)) {
01573 BUI.jpfOption.getPostVerifyCheckBox().setSelected(true);
01574 BUI.jpfOption.postVerifyCheckBox_ActionEvents();
01575 } else if ("-depend".equals(opt)) {
01576 BUI.jpfOption.getDependCheckBox().setSelected(true);
01577 } else if ("-debugs".equals(opt)) {
01578 String subOpt = t.nextToken();
01579 if ("race".equals(subOpt)) {
01580 BUI.jpfOption.getDRaceCheckBox().setSelected(true);
01581 } else if ("lock".equals(subOpt)) {
01582 BUI.jpfOption.getDLockOrderCheckBox().setSelected(true);
01583 } else if ("depend".equals(subOpt)) {
01584 BUI.jpfOption.getDDependCheckBox().setSelected(true);
01585 }
01586 }
01587 }
01588 }
01589
01590
01591
01592 public void postVerifyCheckBox_ActionEvents() {
01593 if (getPostVerifyCheckBox().isSelected()) {
01594 getDependCheckBox().setEnabled(true);
01595 } else {
01596 getDependCheckBox().setEnabled(false);
01597 getDependCheckBox().setSelected(false);
01598 getDDependCheckBox().setEnabled(false);
01599 getDDependCheckBox().setSelected(false);
01600 }
01601 }
01602
01603
01604
01605 public void raceCheckBox_ActionEvents() {
01606 if (getRaceCheckBox().isSelected()) {
01607 getPostVerifyCheckBox().setEnabled(true);
01608 getDRaceCheckBox().setEnabled(true);
01609 getRaceLevelTextField().setEditable(true);
01610 getRaceLevelTextField().setText("10");
01611 } else {
01612 if (!getLockOrderCheckBox().isSelected()) {
01613 getPostVerifyCheckBox().setEnabled(false);
01614 getPostVerifyCheckBox().setSelected(false);
01615 getDependCheckBox().setEnabled(false);
01616 getDependCheckBox().setSelected(false);
01617 getDDependCheckBox().setEnabled(false);
01618 getDDependCheckBox().setSelected(false);
01619 }
01620 getDRaceCheckBox().setEnabled(false);
01621 getDRaceCheckBox().setSelected(false);
01622
01623 getRaceLevelTextField().setEditable(false);
01624 getRaceLevelTextField().setText("");
01625 }
01626 }
01627
01628
01629
01630 public void runtimeAnalysisRadioButton_ActionEvents() {
01631 ((CardLayout) getOptionPanel().getLayout()).last(getOptionPanel());
01632 }
01633
01634
01635
01636 public void searchDepthCheckBox_ActionEvents() {
01637 if (getSearchDepthCheckBox().isSelected()) {
01638 getSearchDepthTextField().setEditable(true);
01639 getSearchDepthTextField().setText("-1");
01640 } else {
01641 getSearchDepthTextField().setEditable(false);
01642 getSearchDepthTextField().setText("");
01643 }
01644 }
01645
01646
01647
01648 public void verificationRadioButton_ActionEvents() {
01649 ((CardLayout) getOptionPanel().getLayout()).first(getOptionPanel());
01650 }
01651 }