OSDN Git Service

change package name. jp.naist.se.stigmata -> jp.sourceforge.stigmata
[stigmata/stigmata.git] / src / main / java / jp / sourceforge / stigmata / ui / swing / filter / TargetNameComparisonPairFilterComponentService.java
1 package jp.sourceforge.stigmata.ui.swing.filter;
2
3 /*
4  * $Id$
5  */
6
7 import java.awt.GridLayout;
8 import java.util.ArrayList;
9 import java.util.List;
10
11 import javax.swing.JComboBox;
12 import javax.swing.JLabel;
13 import javax.swing.JTextField;
14
15 import jp.sourceforge.stigmata.ComparisonPairFilter;
16 import jp.sourceforge.stigmata.filter.FilterTarget;
17 import jp.sourceforge.stigmata.filter.TargetNameComparisonPairFilter;
18 import jp.sourceforge.stigmata.filter.TargetNameComparisonPairFilterService;
19 import jp.sourceforge.stigmata.spi.ComparisonPairFilterSpi;
20 import jp.sourceforge.stigmata.ui.swing.StigmataFrame;
21
22 /**
23  * @author Haruaki TAMADA
24  * @version $Revision$ $Date$
25  */
26 public class TargetNameComparisonPairFilterComponentService extends AbstractComparisonPairFilterComponentService{
27
28     public ComparisonPairFilterPane createComponent(StigmataFrame frame, ComparisonPairFilterSpi service){
29         return new Pane(frame, service);
30     }
31
32     public String getFilterName(){
33         return "name";
34     }
35
36     public ComparisonPairFilterSpi getComparisonPairFilterService(){
37         return new TargetNameComparisonPairFilterService();
38     }
39
40     private static class Pane extends ComparisonPairFilterPane{
41         private static final long serialVersionUID = 8912037614500713027L;
42         private ComparisonPairFilterSpi service;
43         private JComboBox criterionType;
44         private JTextField value;
45         private JComboBox targetType;
46
47         public Pane(StigmataFrame frame, ComparisonPairFilterSpi service){
48             super(frame);
49             this.service = service;
50             initLayouts();
51         }
52
53         @Override
54         public String[] getErrors(){
55             List<String> errors = new ArrayList<String>();
56             if(value.getText().trim().equals("")){
57                 errors.add(getMessages().get("error.empty.value"));
58             }
59
60             return errors.toArray(new String[errors.size()]);
61         }
62
63         @Override
64         public ComparisonPairFilter getFilter(){
65             try{
66                 TargetNameComparisonPairFilter filter = new TargetNameComparisonPairFilter(service);
67                 filter.setCriterion(getCriterion((String)criterionType.getSelectedItem()));
68                 filter.setValue(value.getText());
69                 filter.setTarget(getTarget((String)targetType.getSelectedItem()));
70
71                 return filter;
72             } catch(Exception e){
73             }
74             return null;
75         }
76
77         @Override
78         public void resetComponents(){
79             value.setText("");
80             criterionType.setSelectedIndex(0);
81             targetType.setSelectedItem(getDisplayTarget(FilterTarget.BOTH_TARGETS));
82         }
83
84         @Override
85         public void setFilter(ComparisonPairFilter cpf){
86             TargetNameComparisonPairFilter filter = (TargetNameComparisonPairFilter)cpf;
87             criterionType.setSelectedItem(getDisplayCriterion(filter.getCriterion()));
88             value.setText(filter.getValue());
89             targetType.setSelectedItem(getDisplayTarget(filter.getTarget()));
90         }
91
92         private void initLayouts(){
93             JLabel label = new JLabel(getMessages().get("filter.name.label"));
94             value = new JTextField();
95             criterionType = createCriteriaBox(TargetNameComparisonPairFilter.getValidCriteria());
96             targetType = createTargetBox();
97
98             setLayout(new GridLayout(4, 1));
99             add(label);
100             add(targetType);
101             add(criterionType);
102             add(value);
103         }
104     };
105 }