Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 103 → Rev 104

/trunk/src/org/tela_botanica/client/modeles/ExportObservationsDAO.java
26,6 → 26,7
{
requete += "&";
}
requete += criteres[i][0]+"="+criteres[i][1] ;
}
}
/trunk/src/org/tela_botanica/client/modeles/LienImageAsynchroneDAO.java
49,8 → 49,7
raf = r ;
// et on envoie ça au serveur
RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, iModele
.getConfig().getServiceBaseUrl()
RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, Configuration.getServiceBaseUrl()
+ "/inventoryImageLink/" + iModele.getIdentifiant() + "/" + paramGet);
try {
rb.sendRequest(null, new RequestCallback() {
129,8 → 128,7
raf = r ;
 
// et on envoie ça au serveur
RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, oModele
.getConfig().getServiceBaseUrl()
RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, Configuration.getServiceBaseUrl()
+ "/inventoryImageLink/" + utilisateur + "/" + paramGet);
try {
rb.sendRequest(null, new RequestCallback() {
143,7 → 141,7
public void onResponseReceived(Request request,
Response response) {
String baseUrl = "http://162.38.234.9/Documents/images_serveur/";
String baseUrl = Configuration.getImageBaseUrl() ;
final JSONValue responseValue = JSONParser.parse(response
.getText());
154,7 → 152,7
final int taillemax = reponse.size();
String urlTab[] = new String[taillemax] ;
String imgTab[] = new String[taillemax] ;
for(int i = 0 ;i<taillemax ;i++)
{
161,33 → 159,16
final JSONArray reponseInt = reponse.get(i).isArray();
String idImg = ((JSONString)reponseInt.get(0)).stringValue() ;
imgTab[i] = idImg ;
int maxZeros = 9 - idImg.length();
for (int j = 0; j < maxZeros; j++) {
idImg = "0" + idImg;
}
String dossierNv1 = idImg.substring(0, 3);
String dossierNv2 = idImg.substring(3, 6);
String fichierNv = idImg.substring(6, 9);
String nomFichier = dossierNv1 + "_" + dossierNv2 + "_" + fichierNv;
String[] infosFichier = { nomFichier, dossierNv1, dossierNv2 };
String url_img = baseUrl + infosFichier[1] + "/" + infosFichier[2] + "/M/"
+ infosFichier[0] + "_M.jpg";
urlTab[i]= url_img ;
}
raf.rafraichir(urlTab, false) ;
raf.rafraichir(imgTab, false) ;
}
else
{
String urlTab[] = new String[0] ;
raf.rafraichir(urlTab, false) ;
String imgTab[] = new String[0] ;
raf.rafraichir(imgTab, false) ;
}
}
208,8 → 189,7
postData += "&identifiant="+iModele.getIdentifiant() ;
 
// et on envoie ça au serveur
RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, iModele
.getConfig().getServiceBaseUrl()
RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, Configuration.getServiceBaseUrl()
+ "/inventoryImageLink/");
if(Window.confirm("Lier les images "+idsImages+" aux observations "+idsObs+" ?"))
239,4 → 219,48
}
}
}
 
public void supprimerLienImageObservation(String idImg, String idObs) {
String postData = "";
postData += "&action=DELETE" ;
String identifiant = "" ;
if(iModele == null) {
identifiant = oModele.getIdentifiant() ; ;
}
else
{
identifiant = iModele.getIdentifiant() ;
}
 
// et on envoie ça au serveur
RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, Configuration.getServiceBaseUrl()
+ "/inventoryImageLink/"+identifiant+"/"+idImg+"/"+idObs);
try {
rb.sendRequest(postData, new RequestCallback() {
public void onError(Request request, Throwable exception) {
// TODO Auto-generated method stub
}
public void onResponseReceived(Request request,
Response response) {
// quand la requête est éxecutée on le signale au modèle
// poru qu'il mette à jour les données
// et en notifie le médiateur
// iModele.requeteTerminee();
}
});
} catch (RequestException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
/trunk/src/org/tela_botanica/client/observation/ObservationModele.java
294,5 → 294,21
}
 
 
 
public void supprimerLiaisonImages(String idImg, String idObs) {
LienImageAsynchroneDAO lienDAO = new LienImageAsynchroneDAO(this) ;
lienDAO.supprimerLienImageObservation(idImg, idObs) ;
}
 
 
 
public String getIdentifiant() {
return observationMediateur.getIdentifiant() ;
}
}
/trunk/src/org/tela_botanica/client/observation/ObservationMediateur.java
266,11 → 266,9
cacheObservation = listeObservation.getCacheListeObservation() ;
if(cacheObservation.size() == 0)
{
formulaireSaisieObservationVue.viderChampsObservation() ;
formulaireSaisieObservationVue.raz() ;
}
carnetEnLigneMediateur.donneesRafraichies(cacheObservation) ;
 
carnetEnLigneMediateur.donneesRafraichies(cacheObservation) ;
}
/**
308,10 → 306,6
}
 
 
// ACCES au Modèle
323,13 → 317,9
* TODO : afficher un message du type "observation ajouté".
* Lance la creation d'une observation
* @param obs : l'observation saisie
*/
*/
public void ajouterObservation(Observation obs) {
// On raffraichi la liste d'observation
observationModele.ajouterObservation(listeObservation, obs) ;
filtres.getArbreEntiteGeographiqueObservationFiltreVue().rafraichir(obs,true) ;
348,8 → 338,10
 
public void obtenirNombreObservation() {
observationModele.obtenirNombreObservation(listeObservation) ;
mvz.raz() ;
imageGeneriqueVue.raz() ;
informationRepartitionVue.raz() ;
observationModele.obtenirNombreObservation(listeObservation) ;
}
 
368,7 → 360,7
public void obtenirListeObservation(Rafraichissable r) {
listeObservation.masquerChargement() ;
formulaireSaisieObservationVue.viderChampsObservation() ;
formulaireSaisieObservationVue.raz() ;
observationModele.obtenirListeObservation(r,listeObservation.getTaillePage(),listeObservation.getPageEncours()) ;
}
588,5 → 580,32
observationModele.exporterObservations() ;
}
 
 
public void deconnecterUtilisateur() {
listeObservation.raz() ;
formulaireSaisieObservationVue.raz() ;
filtres.getArbreDateObservationFiltreVue().raz() ;
filtres.getArbreEntiteGeographiqueObservationFiltreVue().raz() ;
informationRepartitionVue.raz() ;
imageGeneriqueVue.raz() ;
mvz.raz() ;
}
 
 
public void supprimerLiaisonObsImage() {
String idObs = listeObservation.getIdSelectionnees()[0] ;
String idImg = mvz.getIdImage() ;
if(Window.confirm("Supprimer le lien entre l'image "+idImg+" et l'observations "+idObs+" ?"))
{
mvz.supprimerLiaisonImage() ;
observationModele.supprimerLiaisonImages(idImg,idObs) ;
}
}
}
/trunk/src/org/tela_botanica/client/image/ImageMediateur.java
1544,4 → 1544,17
getMetadonneesIptcExif().getMiniListeObservation().rafraichir(data, false) ;
}
 
public void supprimerLiaisonObsImage() {
String idImg = getVueSelectionnee().getIdSelectionnees()[0] ;
String idObs = getMetadonneesIptcExif().getMiniListeObservation().getIdSelectionnees() ;
if(Window.confirm("Supprimer le lien entre l'image "+idImg+" et l'observation "+idObs+" ?"))
{
getMetadonneesIptcExif().getMiniListeObservation().supprimerLiaison() ;
iModele.supprimerLiaisonImages(idImg,idObs) ;
}
}
 
}
/trunk/src/org/tela_botanica/client/image/ImageModele.java
862,4 → 862,12
}
 
public void supprimerLiaisonImages(String idImg, String idObs) {
idImg = cacheImage.get(idImg).getId() ;
LienImageAsynchroneDAO lienDAO = new LienImageAsynchroneDAO(this) ;
lienDAO.supprimerLienImageObservation(idImg, idObs) ;
}
 
}
/trunk/src/org/tela_botanica/client/vues/MiniListeObservationVue.java
151,11 → 151,10
this.addGridListener(new GridListenerAdapter() {
 
@Override
public void onContextMenu(EventObject e) {
e.stopEvent() ;
MenuLiaisonVue mlv = new MenuLiaisonVue(iMediateur) ;
MenuLiaisonVue mlv = new MenuLiaisonVue(iMediateur,liaison) ;
mlv.showAt(e.getXY()) ;
}
336,6 → 335,29
}
}
public String getIdSelectionnees() {
Record[] sels = getSelectionModel().getSelections() ;
String id = sels[0].getAsString("id_obs") ;
return id ;
}
public void supprimerLiaison() {
Record[] rdObs = getSelectionModel().getSelections() ;
for(int i = 0 ; i < rdObs.length ; i++) {
getStore().remove(rdObs[i]) ;
this.getView().refresh() ;
}
}
 
}
/trunk/src/org/tela_botanica/client/vues/GalerieImageVue.java
254,7 → 254,7
dView.setAutoHeight(true);
dView.setMultiSelect(true);
dView.setOverCls("x-view-over");
dView.setEmptyText("Aucune image à afficher");
dView.setEmptyText("Aucune image à afficher. Si vous n'en avez pas encore envoyé, selectionnez le menu \"Fichiers\" puis \"Uploader des images\"");
 
// creation du store
FieldDef defNumImage = new IntegerFieldDef("num_image");
/trunk/src/org/tela_botanica/client/vues/ArbreDateObservationFiltreVue.java
588,5 → 588,33
}
 
public void raz() {
arbreCharge = false ;
arbreDonneesDates.clear() ;
TreeNode root = new TreeNode("Dates");
root.setId("racine_date");
String[] usObject = { "Dates" };
root.setUserObject(usObject);
 
arbreDonneesDates.setRootNode(root);
arbreDonneesDates.getRootNode().addListener(new TreeNodeListenerAdapter() {
public void onExpand(Node node) {
if(!arbreCharge)
{
observationMediateur.obtenirDatesObservation() ;
arbreCharge = true ;
}
}
}) ;
this.doLayout() ;
}
 
 
}
/trunk/src/org/tela_botanica/client/vues/FormulaireSaisieObservationVue.java
448,7 → 448,7
}
else
{
viderChampsObservation();
raz();
}
621,7 → 621,7
public void afficherDetailsObservation(Observation obs)
{
viderChampsObservation() ;
raz() ;
if(!obs.getDate().equals("null") && !obs.getDate().equals("000null")) {
String[] dateEtHeure = obs.getDate().split(" ", 2);
657,7 → 657,7
}
public void viderChampsObservation()
public void raz()
{
 
date.reset() ;
708,6 → 708,5
{
return modification ;
}
 
}
/trunk/src/org/tela_botanica/client/vues/MenuLiaisonVue.java
30,6 → 30,11
* Item pour afficher la selection d'images
*/
private Item afficherSelection = null;
/**
* Item pour supprimer la liaison entre une observation et une image
*/
private Item supprimerLiaison = null ;
 
/**
* Constructeur sans argument (privé car ne doit être utilisé)
61,6 → 66,29
ajouterListeners();
}
 
public MenuLiaisonVue(ImageMediateur mediateur, boolean liaison) {
iMediateur = mediateur;
lierSelection = new Item("Lier le tampon à la sélection d'observation");
afficherSelection = new Item("Afficher le tampon");
addItem(lierSelection);
addItem(afficherSelection);
iMediateur = mediateur;
if(liaison) {
supprimerLiaison = new Item("Supprimer la liaison") ;
addItem(supprimerLiaison);
}
// on ajoute les listeners
ajouterListeners();
}
 
/**
* Ajoute les listeners pour la gestions des évènements
*/
81,6 → 109,10
if (item.equals(afficherSelection)) {
getIMediateur().afficherIdSelectionImages();
}
if(item.equals(supprimerLiaison)) {
getIMediateur().supprimerLiaisonObsImage() ;
}
 
// enfin, on cache le menu
hide();
/trunk/src/org/tela_botanica/client/vues/ArbreEntiteGeographiqueObservationFiltreVue.java
563,5 → 563,36
} ;
}
 
public void raz() {
arbreCharge = false ;
arbreEntitesGeographiques.clear() ;
// on crée une racine pour l'arbre
TreeNode root = new TreeNode("Localités");
root.setId("racine_entite");
String[] usObject = { "Localités" };
root.setUserObject(usObject);
 
arbreEntitesGeographiques.setRootNode(root);
arbreEntitesGeographiques.getRootNode().addListener(new TreeNodeListenerAdapter() {
public void onExpand(Node node) {
if(!arbreCharge)
{
observationMediateur.obtenirDatesObservation() ;
arbreCharge = true ;
}
}
}) ;
arbreCharge = false ;
this.doLayout() ;
}
}
/trunk/src/org/tela_botanica/client/vues/ListeObservationVue.java
653,4 → 653,31
this.setTitle(titre) ;
}
 
public void raz() {
// creation du store qui les contient
FieldDef defEtatObservation = new StringFieldDef("etat_observation");
FieldDef defNomSaisiObservation = new StringFieldDef("nomSaisi_observation");
FieldDef defNomRetenuObservation = new StringFieldDef("nomRetenu_observation");
FieldDef defLieuObservation = new StringFieldDef("lieu_observation");
FieldDef defDateObservation = new StringFieldDef("date_observation");
FieldDef defOrdreObservation = new StringFieldDef("ordre_observation");
// Non affiches :
FieldDef defNumeroNomenclaturalSaisiObservation = new StringFieldDef("numeroNomenclaturalSaisi_observation");
FieldDef[] defTab = { defEtatObservation, defNomSaisiObservation, defNomRetenuObservation,
defLieuObservation, defDateObservation, defOrdreObservation };
RecordDef rd = new RecordDef(defTab);
st = new Store(rd);
// on associe le store
this.setStore(st);
}
 
}
/trunk/src/org/tela_botanica/client/vues/MiniZoomImageVue.java
2,6 → 2,7
 
import org.tela_botanica.client.image.ImageMediateur;
import org.tela_botanica.client.interfaces.Rafraichissable;
import org.tela_botanica.client.modeles.Configuration;
import org.tela_botanica.client.observation.ObservationMediateur;
 
import com.google.gwt.user.client.DOM;
9,6 → 10,7
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.ClickListener;
import com.google.gwt.user.client.ui.Image;
import com.google.gwt.user.client.ui.MenuItem;
import com.google.gwt.user.client.ui.Widget;
import com.gwtext.client.core.EventObject;
import com.gwtext.client.core.RegionPosition;
22,6 → 24,11
import com.gwtext.client.widgets.grid.GridDragData;
import com.gwtext.client.widgets.layout.BorderLayout;
import com.gwtext.client.widgets.layout.BorderLayoutData;
import com.gwtext.client.widgets.menu.BaseItem;
import com.gwtext.client.widgets.menu.Item;
import com.gwtext.client.widgets.menu.Menu;
import com.gwtext.client.widgets.menu.event.MenuListener;
import com.gwtext.client.widgets.menu.event.MenuListenerAdapter;
 
/**
* Panneau d'affichage d'une image avec des boutons précdents et suivant
123,6 → 130,13
suiv.click();
}
}
if(Event.ONCONTEXTMENU == DOM.eventGetType(event)) {
event.preventDefault() ;
int[] xy = {event.getClientX(),event.getClientY()} ;
afficherMenu(xy) ;
}
}
};
142,6 → 156,7
// alors on lui dit manuellement de capter l'évènement double clic
image.sinkEvents(Event.ONDBLCLICK);
image.sinkEvents(Event.ONMOUSEWHEEL);
image.sinkEvents(Event.ONCONTEXTMENU) ;
 
// l'image de base est vide
image.setUrl("");
197,11 → 212,10
if(infosImages.length != 0)
{
activerPanneau() ;
getImage().setUrl(infosImages[index]);
getImage().setUrl(convertirIdEnUrl(infosImages[index]));
}
else
{
//getImage().setUrl("");
desactiverPanneau() ;
}
}
299,7 → 313,7
*/
public String getIdImage()
{
return idImage ;
return infosImages[index] ;
}
 
/**
362,5 → 376,86
return imageConteneur;
 
}
 
public void raz() {
infosImages = new String[0] ;
getImage().setUrl("");
}
public void supprimerLiaisonImage() {
if(infosImages.length > 0) {
getImage().setUrl("") ;
int nouvelleTaille = infosImages.length - 1 ;
int indexSupp = index ;
String[] nouveauInfosImages = new String[nouvelleTaille] ;
int j = 0 ;
for(int i = 0 ; i < infosImages.length ; i++) {
if(i != indexSupp) {
nouveauInfosImages[j] = infosImages[i] ;
j++ ;
}
}
infosImages = nouveauInfosImages ;
index = 0 ;
afficherImage() ;
}
}
public void afficherMenu(int[] xy) {
Menu mn = new Menu() ;
final Item suppLiaison = new Item("Supprimer la liaison") ;
mn.addItem(suppLiaison) ;
mn.addListener(new MenuListenerAdapter() {
public void onItemClick(BaseItem item, EventObject e) {
// si c'est l'aide
if (item.equals(suppLiaison)) {
// on notifie le médiateur
getIMediateur().supprimerLiaisonObsImage() ;
}
}
}) ;
mn.showAt(xy) ;
}
public String convertirIdEnUrl(String idImg)
{
int maxZeros = 9 - idImg.length();
for (int j = 0; j < maxZeros; j++) {
idImg = "0" + idImg;
}
String baseUrl = Configuration.getImageBaseUrl() ;
 
String dossierNv1 = idImg.substring(0, 3);
String dossierNv2 = idImg.substring(3, 6);
String fichierNv = idImg.substring(6, 9);
 
String nomFichier = dossierNv1 + "_" + dossierNv2 + "_" + fichierNv;
 
String[] infosFichier = { nomFichier, dossierNv1, dossierNv2 };
String urlImg = baseUrl + infosFichier[1] + "/" + infosFichier[2] + "/M/"
+ infosFichier[0] + "_M.jpg";
return urlImg ;
}
}