Ignore:
Timestamp:
05/22/13 16:13:37 (11 years ago)
Author:
yana
Message:

rebuilding the interface - initial version, still not functional!

File:
1 edited

Legend:

Unmodified
Added
Removed
  • SRUAggregator/trunk/src/main/java/eu/clarin/sru/fcs/aggregator/app/Aggregator.java

    r2738 r2926  
    4141import com.sun.jersey.api.client.config.ClientConfig;
    4242import com.sun.jersey.api.client.config.DefaultClientConfig;
     43import eu.clarin.sru.fcs.aggregator.sparam2.Corpus2;
     44import eu.clarin.sru.fcs.aggregator.sparam2.Corpus2Renderer;
     45import eu.clarin.sru.fcs.aggregator.sparam2.CorpusTreeModel2;
    4346import eu.clarin.weblicht.wlfxb.tc.api.GeoLongLatFormat;
    4447import eu.clarin.weblicht.wlfxb.tc.api.Token;
     
    4649import eu.clarin.weblicht.wlfxb.xb.WLData;
    4750import javax.ws.rs.core.MediaType;
     51import org.zkoss.zul.Borderlayout;
     52import org.zkoss.zul.DefaultTreeNode;
     53import org.zkoss.zul.Div;
    4854import org.zkoss.zul.Popup;
     55import org.zkoss.zul.Progressmeter;
    4956
    5057/**
     
    101108    private CenterRegistry registry;
    102109    private boolean testingMode = false;
     110   
     111   
     112    //TODO
     113    @Wire
     114    private Div aboutDiv;
     115    @Wire
     116    private Label aboutLabel;
     117    @Wire
     118    private Div soDiv;
     119    private SearchOptions searchOptionsComposer;
     120    @Wire
     121    private Label soLabel;
     122    @Wire
     123    private Div srDiv;
     124    private SearchResults searchResultsComposer;
     125    @Wire
     126    private Label srLabel;
     127    @Wire
     128    private Div helpDiv;
     129    @Wire
     130    private Label helpLabel;
     131   
     132   
     133    @Wire
     134    Progressmeter pMeter;
    103135
    104136    @Override
     
    107139        super.doAfterCompose(comp);
    108140
    109         processParameters();
    110 
    111         languageSelect.setSelectedItem(anyLanguage);
    112 
    113         searchResultsController = new SearchResultsController(resultsBox, searchResultsProgress);
    114         // assign the search controller to desktop, so that it can be accessed to be shutdown when the desktop is destroyed
    115         Executions.getCurrent().getDesktop().setAttribute(searchResultsController.getClass().getSimpleName(), searchResultsController);
    116         // also add it to the list of actice controllers of the web application, so that they can be shutdown when the application stops
    117         Set<SearchResultsController> activeControllers = (Set<SearchResultsController>) Executions.getCurrent().getDesktop().getWebApp().getAttribute(WebAppListener.ACTIVE_SEARCH_CONTROLLERS);
    118         activeControllers.add(searchResultsController);
    119 
    120         registry = new CenterRegistry();
    121         registry.loadChildren(testingMode);
    122         CorpusTreeModel corporaModel = new CorpusTreeModel(registry);
    123         tree.setModel(corporaModel);
    124         tree.setItemRenderer(new CorpusTreeNodeRenderer());
    125         tree.setMultiple(true);
     141//        processParameters();
     142//
     143//        languageSelect.setSelectedItem(anyLanguage);
     144//
     145//        searchResultsController = new SearchResultsController(resultsBox, searchResultsProgress);
     146//        // assign the search controller to desktop, so that it can be accessed to be shutdown when the desktop is destroyed
     147//        Executions.getCurrent().getDesktop().setAttribute(searchResultsController.getClass().getSimpleName(), searchResultsController);
     148//        // also add it to the list of actice controllers of the web application, so that they can be shutdown when the application stops
     149//        Set<SearchResultsController> activeControllers = (Set<SearchResultsController>) Executions.getCurrent().getDesktop().getWebApp().getAttribute(WebAppListener.ACTIVE_SEARCH_CONTROLLERS);
     150//        activeControllers.add(searchResultsController);
     151//
     152//        registry = new CenterRegistry();
     153//        registry.loadChildren(testingMode);
     154//        CorpusTreeModel corporaModel = new CorpusTreeModel(registry);
     155//        tree.setModel(corporaModel);
     156//        tree.setItemRenderer(new CorpusTreeNodeRenderer());
     157//        tree.setMultiple(true);
    126158
    127159
    128160        //tempMap();
    129 
     161       
     162        searchOptionsComposer = (SearchOptions) soDiv.getChildren().get(0).getChildren().get(0).getAttribute("$" + SearchOptions.class.getSimpleName());
     163        searchResultsComposer = (SearchResults) srDiv.getChildren().get(0).getChildren().get(0).getAttribute("$" + SearchResults.class.getSimpleName());   
     164       
    130165    }
    131166
     
    158193    @Listen("onClick = #searchButton")
    159194    public void onExecuteSearch(Event ev) {
    160         int maxRecords = Integer.parseInt(maximumRecordsSelect.getValue());
    161         searchResultsController.executeSearch(tree.getSelectedItems(), maxRecords, searchString.getText(), version);
     195        //searchResultsController.executeSearch(tree.getSelectedItems(), maxRecords, searchString.getText(), version);
     196        Map<String,Set<Corpus2>> selectedCorpora = searchOptionsComposer.getSelectedCorpora();
     197        boolean emptyCorpora = true;
     198        for (Set<Corpus2> corpora : selectedCorpora.values()) {
     199            if (!corpora.isEmpty()) {
     200                emptyCorpora = false;
     201                break;
     202            }
     203        }
     204        if (emptyCorpora) {
     205            Messagebox.show("No corpora is selected. To perform the search, please select corus/corpora of interest by checking the corpora checkboxes.", "FCS", 0, Messagebox.INFORMATION);
     206        } else if (searchString.getText().isEmpty()) {
     207            Messagebox.show("No query is specified. To perform the search, please enter a keyword of interest in the search input field, e.g. Elefant, and press the 'Search' button.", "FCS", 0, Messagebox.INFORMATION);
     208        } else {
     209            int maxRecords = searchOptionsComposer.getMaxRecords();
     210            searchResultsComposer.executeSearch(selectedCorpora, maxRecords, searchString.getText(), pMeter);
     211            onClickSearchResult(null);
     212        }
    162213    }
    163214
     
    318369        }
    319370    }
     371
     372
     373    @Listen("onClick = #helpLabel")
     374    public void onClickHelp(Event ev) {
     375        this.helpDiv.setVisible(true);
     376        this.helpLabel.setSclass("internalLinkSelected");
     377        this.aboutDiv.setVisible(false);
     378        this.aboutLabel.setSclass("internalLink");
     379        this.soDiv.setVisible(false);
     380        this.soLabel.setSclass("internalLink");
     381        this.srDiv.setVisible(false);
     382        this.srLabel.setSclass("internalLink");
     383    }
     384   
     385    @Listen("onClick = #aboutLabel")
     386    public void onClickAbout(Event ev) {
     387        this.aboutDiv.setVisible(true);
     388        this.aboutLabel.setSclass("internalLinkSelected");
     389        this.helpDiv.setVisible(false);
     390        this.helpLabel.setSclass("internalLink");
     391        this.soDiv.setVisible(false);
     392        this.soLabel.setSclass("internalLink");
     393        this.srDiv.setVisible(false);
     394        this.srLabel.setSclass("internalLink");
     395    }
     396   
     397    @Listen("onClick = #soLabel")
     398    public void onClickAdvSearch(Event ev) {
     399        this.soDiv.setVisible(true);
     400        this.soLabel.setSclass("internalLinkSelected");
     401        this.aboutDiv.setVisible(false);
     402        this.aboutLabel.setSclass("internalLink");
     403        this.helpDiv.setVisible(false);
     404        this.helpLabel.setSclass("internalLink");
     405        this.srDiv.setVisible(false);
     406        this.srLabel.setSclass("internalLink");
     407    }
     408   
     409    @Listen("onClick = #srLabel")
     410    public void onClickSearchResult(Event ev) {
     411        this.srDiv.setVisible(true);
     412        this.srLabel.setSclass("internalLinkSelected");
     413        this.aboutDiv.setVisible(false);
     414        this.aboutLabel.setSclass("internalLink");
     415        this.soDiv.setVisible(false);
     416        this.soLabel.setSclass("internalLink");
     417        this.helpDiv.setVisible(false);
     418        this.helpLabel.setSclass("internalLink");
     419    }
    320420}
Note: See TracChangeset for help on using the changeset viewer.