Rev 12 | Rev 14 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
package org.tela_botanica.client;// TODO : sortie User vers une classe ...// TODO : sortie les boutons supprimer et exporter et inclure iciimport com.google.gwt.i18n.client.Dictionary;import com.google.gwt.json.client.JSONParser;import com.google.gwt.json.client.JSONString;import com.google.gwt.json.client.JSONValue;import com.google.gwt.user.client.HTTPRequest;import com.google.gwt.user.client.ResponseTextHandler;import com.google.gwt.user.client.ui.TextBox;public class Mediator {private String serviceBaseUrl = getServiceBaseUrlFromDictionnary();private String user = null;private InventoryItemList inventoryItemList = null;private LocationList locationList = null;private DateList dateList = null;private NameAssistant nameAssistant=null;private LocationAssistant locationAssistant=null;private InventoryItem inventoryItem=null;private EntryPanel entryPanel=null;private ActionPanel actionPanel=null;private SearchPanel searchPanel=null;private TextBox date = null;private TextBox complementLocation = null;private TextBox comment = null;private Cel cel = null;Mediator() {}/*** Recuperation information utilisateur**/public void initUser() {getUserFromService();}/*** Action initialisation*/public void onInit() {this.onLocationSelected("all");}/*** Action sur selection d'une observation : affichage du detail*/public void onInventoryItemSelected(String ordre) {entryPanel.setOrdre(ordre);entryPanel.update();}/*** Action sur selection d'un lieu : affichage de la liste des taxons correspondants*/public void onSearch(String search) {if (search.trim().compareTo("")==0) {search="all";}inventoryItemList.setSearch(search);inventoryItemList.updateCount();}/*** Action sur selection d'un lieu : affichage de la liste des taxons correspondants*/public void onLocationSelected(String loc) {inventoryItemList.setLocation(loc);inventoryItemList.setDate("all");inventoryItemList.updateCount();if ((loc.compareTo("000null")==0) || (loc.compareTo("all")==0)) {locationAssistant.setText("");}else {locationAssistant.setText(loc);}}/*** Action sur selection d'une date : affichage de la liste des taxons correspondants*/public void onDateSelected(String date) {inventoryItemList.setDate(date);inventoryItemList.updateCount();/*if ((loc.compareTo("000null")==0) || (loc.compareTo("all")==0)) {locationAssistant.setText("");}else {locationAssistant.setText(loc);}*/}/*** Action posterieure à l'affichage des observations : mise a jour affichage des localites*/public void onInventoryItemUpdate(String loc) {locationList.setLocation(loc);locationList.updateCount();}/*** Action posterieure à l'affichage des localites : mise a jour affichage des dates*/public void onLocationUpdate(String loc) {dateList.setLocation(loc);dateList.updateCount();}/*** Action prealable à l'ajout d'une observation : controle presence champs requis et lancement mise a jour**/public void onAddInventoryItem() {// TODO : singleton ?registerInventoryItem(new InventoryItem(nameAssistant.getText(),nameAssistant.getValue(),locationAssistant.getText(),locationAssistant.getValue(),date.getText(),complementLocation.getText(),comment.getText(),"null"));inventoryItemList.addelement();}/*** Action prealable à la modification d'une observation : controle presence champs requis et lancement mise a jour**/public void onModifyInventoryItem(String ordre) {// TODO : singleton ?registerInventoryItem(new InventoryItem(nameAssistant.getText(),nameAssistant.getValue(),locationAssistant.getText(),locationAssistant.getValue(),date.getText(),complementLocation.getText(),comment.getText(),ordre));inventoryItemList.updateElement();}public boolean inventoryItemIsValid() {// TODO : controle dateif (inventoryItem.getName().compareTo("")==0) {return false;}else {return true;}}/*** Declaration InventoryItem* @param cel*/public void registerInventoryItem(InventoryItem inventoryItem) {this.inventoryItem=inventoryItem;}/*** Declaration InventoryItemList* @param inventoryItemList*/public void registerInventoryItemList(InventoryItemList inventoryItemList) {this.inventoryItemList=inventoryItemList;}/*** Declaration LocationList* @param locationList*/public void registerLocationList(LocationList locationList) {this.locationList=locationList;}/*** Declaration DateList* @param locationList*/public void registerDateList(DateList dateList) {this.dateList=dateList;}/*** Declaration Cel* @param cel*/public void registerCel(Cel cel) {this.cel=cel;}/*** Declaration NameAssistant* @param nameassistant*/public void registerNameAssistant(NameAssistant nameAssistant) {this.nameAssistant=nameAssistant;}/*** Declaration LocationAssistant* @param locationassistant*/public void registerLocationAssistant(LocationAssistant locationAssistant) {this.locationAssistant=locationAssistant;}/*** Declaration date* @param date*/public void registerDate(TextBox date) {this.date=date;}/*** Declaration complementLocation* @param complementLocation*/public void registerComplementLocation(TextBox complementLocation) {this.complementLocation=complementLocation;}public void registerEntryPanel(EntryPanel entryPanel) {this.entryPanel=entryPanel;}public void registerActionPanel(ActionPanel actionPanel) {this.actionPanel=actionPanel;}public void registerSearchPanel(SearchPanel searchPanel) {this.searchPanel=searchPanel;}/*** Declaration commentaire* @param commentaire*/public void registerComment(TextBox comment) {this.comment=comment;}/*** Recherche distante et asynchrone de l'utilisateur connecté, en retour lancement methode initialisation* de l'appellant Cel. (initAsync)**/private void getUserFromService() {HTTPRequest.asyncGet(serviceBaseUrl + "/User/",new ResponseTextHandler() {public void onCompletion(String str) {JSONValue jsonValue = JSONParser.parse(str);JSONString jsonString;if ((jsonString = jsonValue.isString()) != null) {user = jsonString.stringValue();}cel.initAsync();}});}/*** Accesseur Url de base* @return Url de base*/public String getServiceBaseUrl() {return serviceBaseUrl;}/*** Recuperation du prefixe d'appel des services* @return prefix appel des service*/private String getServiceBaseUrlFromDictionnary() {Dictionary theme = Dictionary.getDictionary("Parameters");return theme.get("serviceBaseUrl");}/*** Accesseur Utilisateur* @return utilisateur connecté ou identifiant de session*/public String getUser() {return user;}public InventoryItemList getInventoryItemList() {return inventoryItemList;}public LocationList getLocationList() {return locationList;}public DateList getDateList() {return dateList;}public NameAssistant getNameAssistant() {return nameAssistant;}public LocationAssistant getLocationAssistant() {return locationAssistant;}public InventoryItem getInventoryItem() {return inventoryItem;}public EntryPanel getEntryPanel() {return entryPanel;}}