1 package jp.sourceforge.stigmata.ui.swing.filter;
7 import java.awt.GridLayout;
8 import java.util.ArrayList;
11 import javax.swing.JComboBox;
12 import javax.swing.JLabel;
13 import javax.swing.JTextField;
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;
23 * @author Haruaki TAMADA
24 * @version $Revision$ $Date$
26 public class TargetNameComparisonPairFilterComponentService extends AbstractComparisonPairFilterComponentService{
28 public ComparisonPairFilterPane createComponent(StigmataFrame frame, ComparisonPairFilterSpi service){
29 return new Pane(frame, service);
32 public String getFilterName(){
36 public ComparisonPairFilterSpi getComparisonPairFilterService(){
37 return new TargetNameComparisonPairFilterService();
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;
47 public Pane(StigmataFrame frame, ComparisonPairFilterSpi service){
49 this.service = service;
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"));
60 return errors.toArray(new String[errors.size()]);
64 public ComparisonPairFilter getFilter(){
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()));
78 public void resetComponents(){
80 criterionType.setSelectedIndex(0);
81 targetType.setSelectedItem(getDisplayTarget(FilterTarget.BOTH_TARGETS));
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()));
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();
98 setLayout(new GridLayout(4, 1));