source: SRUAggregator/trunk/src/java/clarind/fcs/Aggregator.java @ 2107

Last change on this file since 2107 was 2107, checked in by zastrow, 12 years ago
File size: 4.2 KB
Line 
1package clarind.fcs;
2
3import java.util.ArrayList;
4import org.zkoss.zk.ui.Component;
5import org.zkoss.zk.ui.event.Event;
6import org.zkoss.zk.ui.select.SelectorComposer;
7import org.zkoss.zk.ui.select.annotation.Listen;
8import org.zkoss.zk.ui.select.annotation.Wire;
9import org.zkoss.zul.Textbox;
10import org.zkoss.zul.Messagebox;
11import org.zkoss.zul.Rows;
12import org.zkoss.zul.Row;
13import org.zkoss.zul.Checkbox;
14import org.zkoss.zul.Combobox;
15import org.zkoss.zul.Button;
16import org.zkoss.zul.Groupbox;
17import org.zkoss.zul.Separator;
18import org.zkoss.zul.Label;
19import org.zkoss.zul.Comboitem;
20
21public class Aggregator extends SelectorComposer<Component> {
22
23    @Wire
24    private Textbox searchString;
25    @Wire
26    private Combobox languageSelect;
27    @Wire
28    private Button searchButton;
29    @Wire
30    private Checkbox ids1;
31    @Wire
32    private Groupbox allCorpora;
33     @Wire
34    private Comboitem german;
35
36    @Override
37    public void doAfterCompose(Component comp) throws Exception {
38        super.doAfterCompose(comp); //wire variables and event listners
39        //do whatever you want (you could access wired variables here)
40       
41        languageSelect.setSelectedItem(german);
42       
43        Harvester harv = new Harvester();
44        ArrayList<Endpoint> ep = harv.getEndpoints();
45
46        int i, i2;
47
48        for (i = 0; i < ep.size(); i++) {
49
50            System.out.println("Calling corpora ...: " + ep.get(i).getUrl());
51            ArrayList<Corpus> corpora = harv.getCorporaOfAnEndpoint(ep.get(i).getUrl());
52
53            if (corpora.size() == 0) {
54                Checkbox cb = new Checkbox();
55                 cb.setId(ep.get(i).getUrl() + "?operation=searchRetrieve&version=1.2");
56                cb.setLabel(ep.get(i).getUrl());
57               
58                allCorpora.getChildren().add(cb);
59                allCorpora.getChildren().add(new Separator());
60            } else {
61                Label l = new Label(ep.get(i).getUrl() + ":");
62
63                allCorpora.getChildren().add(l);
64                allCorpora.getChildren().add(new Separator());
65                for (i2 = 0; i2 < corpora.size(); i2++) {
66                    Checkbox cb = new Checkbox();
67                   
68                    //http://clarinws.informatik.uni-leipzig.de:8080/CQL?operation=searchRetrieve&version=1.2&query=Boppard&x-context=11858/00-229C-0000-0003-174F-D&maximumRecords=2
69
70                    cb.setId(ep.get(i).getUrl() + "?operation=searchRetrieve&version=1.2&x-context=" + corpora.get(i2).getValue());
71                    cb.setLabel(corpora.get(i2).getDisplayTerm());
72                   
73                    allCorpora.getChildren().add(cb);
74                    allCorpora.getChildren().add(new Separator());
75                } // for i2 ...
76            } // if corpora.size else
77        } // for i ...
78    }
79
80    @Listen("onSelect = #languageSelect")
81    public void onSelectLanguage(Event ev) {
82        try {
83            ids1.setDisabled(true);
84        } catch (Exception ex) {
85        }
86    }
87
88    @Listen("onClick = #searchButton")
89    public void onExecuteSearch(Event ev) {
90        try {
91           
92            if (languageSelect.getText().trim().equals("")){
93                  Messagebox.show("Please select a language.");
94                  return;
95            }
96           
97            String display = "SearchString: " + searchString.getText() + "\n";
98
99            display = display + "Language: " + languageSelect.getSelectedItem().getLabel() + "\n";
100
101            int i, i2;
102
103            // ----- IDS:
104
105            display = display + "Corpora:\n";
106
107            for (i = 0; i < allCorpora.getChildren().size(); i++) {
108                if (allCorpora.getChildren().get(i) instanceof Checkbox) {
109                    Checkbox cb = (Checkbox) allCorpora.getChildren().get(i);
110                    if (cb.isChecked()) {
111                        // now execute the search:
112                        String query = cb.getId() + "&maximumRecords=10&query=" + searchString.getText();
113                        display = display + query + "\n";
114                    }
115                }
116            } // for i ...
117
118            Messagebox.show(display);
119            System.out.println(display);
120        } catch (Exception ex) {
121            System.out.println(ex.getMessage());
122        }
123
124    }
125}
Note: See TracBrowser for help on using the repository browser.