Subversion Repositories eFlore/Applications.coel

Rev

Rev 1417 | Rev 1610 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1417 Rev 1513
1
package org.tela_botanica.client.modeles.collection;
1
package org.tela_botanica.client.modeles.collection;
-
 
2
 
-
 
3
import java.util.Iterator;
-
 
4
import java.util.Map;
-
 
5
import java.util.Set;
2
 
6
 
-
 
7
import org.tela_botanica.client.modeles.aDonnee;
3
import org.tela_botanica.client.modeles.aDonnee;
8
import org.tela_botanica.client.modeles.personne.Personne;
-
 
9
import org.tela_botanica.client.modeles.publication.Publication;
-
 
10
import org.tela_botanica.client.util.Debug;
4
import org.tela_botanica.client.modeles.publication.Publication;
11
 
5
 
12
import com.extjs.gxt.ui.client.data.ModelData;
6
import com.google.gwt.json.client.JSONObject;
13
import com.google.gwt.json.client.JSONObject;
7
 
14
 
8
public class CollectionAPublication extends aDonnee {
15
public class CollectionAPublication extends aDonnee {
9
	
16
	
10
	private static final long serialVersionUID = 1L;
17
	private static final long serialVersionUID = 1L;
11
	
18
	
12
	public static final String PREFIXE = "ccapu";
19
	public static final String PREFIXE = "ccapu";
-
 
20
	private boolean removePrefix = true;
13
	private Publication publicationLiee = null;
21
	private Publication publicationLiee = null;
14
	public static String[] champsObligatoires = {"ccapu_id_collection", "ccapu_id_publication"};
22
	public static String[] champsObligatoires = {"ccapu_id_collection", "ccapu_id_publication"};
15
	
23
	
16
	public CollectionAPublication() {
24
	public CollectionAPublication() {
17
		initialiser(new JSONObject());
25
		initialiser(new JSONObject());
18
	}
26
	}
-
 
27
	
-
 
28
	public CollectionAPublication(boolean removePrefix) {
-
 
29
		this.removePrefix = removePrefix;
-
 
30
		initialiser(new JSONObject());
-
 
31
	}
19
			
32
			
20
	public CollectionAPublication(JSONObject collectionAPublicationListe) {
33
	public CollectionAPublication(JSONObject collectionAPublicationListe) {
21
		initialiser(collectionAPublicationListe);
34
		initialiser(collectionAPublicationListe);
22
	}
35
	}
-
 
36
	
-
 
37
	public CollectionAPublication(ModelData model, boolean removePrefix)
-
 
38
	{
-
 
39
		this.removePrefix = removePrefix;
-
 
40
		
-
 
41
		Map<String, Object> a = model.getProperties();
-
 
42
		
-
 
43
		Set<String> cles = a.keySet();
-
 
44
		Iterator<String> it = cles.iterator();
-
 
45
		while (it.hasNext()) {
-
 
46
			String cle = it.next();
-
 
47
			if (a.get(cle) != null) {
-
 
48
				String cleObjet = "";
-
 
49
				if (removePrefix) {
-
 
50
					cleObjet = cle.replaceFirst("^"+Publication.PREFIXE+"_", "");
-
 
51
					cleObjet = cle.replaceFirst("^"+Personne.PREFIXE+"_", "");
-
 
52
					cleObjet = cleObjet.replaceFirst("^"+PREFIXE+"_", "");
-
 
53
				}
-
 
54
				else {
-
 
55
					cleObjet = cle;
-
 
56
				}
-
 
57
				this.set(cleObjet, a.get(cle));
-
 
58
			}
-
 
59
		}
-
 
60
 
-
 
61
		setPublication(new Publication(model, removePrefix));
-
 
62
		this.set("_etat_", a.get("_etat_"));
-
 
63
	}
23
	
64
	
24
	@Override
65
	@Override
25
	protected String getPrefixe() {
66
	protected String getPrefixe() {
26
		return PREFIXE;
67
		return PREFIXE;
27
	}
68
	}
28
	
69
	
29
	protected String[] getChampsObligatoires()	{
70
	protected String[] getChampsObligatoires()	{
30
		return champsObligatoires;
71
		return champsObligatoires;
31
	}
72
	}
32
	
73
	
33
	private void initialiser(JSONObject collectionAPublicationListe) {
74
	private void initialiser(JSONObject collectionAPublicationListe) {
34
		setPublication(new Publication(collectionAPublicationListe));
75
		setPublication(new Publication(collectionAPublicationListe));
35
		initialiserChampsPourGrille();
76
		initialiserChampsPourGrille();
36
		initialiserModele(collectionAPublicationListe);
77
		initialiserModele(collectionAPublicationListe);
37
	}
78
	}
38
	
79
	
39
	// PUBLICATION
80
	// PUBLICATION
40
	public Publication getPublication() {
81
	public Publication getPublication() {
41
		return publicationLiee;
82
		return publicationLiee;
42
	}
83
	}
43
	public void setPublication(Publication publication) {
84
	public void setPublication(Publication publication) {
44
		publicationLiee = publication;
85
		publicationLiee = publication;
45
		initialiserChampsPourGrille();
86
		initialiserChampsPourGrille();
46
		if (publication != null) {
87
		if (publication != null) {
47
			setIdPublication(publication.getId());
88
			setIdPublication(publication.getId());
48
		}
89
		}
49
	}
90
	}
50
	
91
	
51
	private void initialiserChampsPourGrille() {
92
	private void initialiserChampsPourGrille() {
-
 
93
		if (removePrefix) {
52
		set("fmt_auteur", getPublication().getAuteur());
94
			set("fmt_auteur", getPublication().getAuteur());
53
		set("titre", getPublication().getTitre());
95
			set("titre", getPublication().getTitre());
54
		set("collection", getPublication().getCollection());
96
			set("collection", getPublication().getCollection());
55
		set("_editeur_", "");
97
			set("_editeur_", "");
56
		set("_annee_", "");
98
			set("_annee_", "");
57
		set("indication_nvt", getPublication().getIndicationNvt());
99
			set("indication_nvt", getPublication().getIndicationNvt());
58
		set("fascicule", getPublication().getFascicule());
100
			set("fascicule", getPublication().getFascicule());
59
		set("truk_pages", getPublication().getPages());
101
			set("truk_pages", getPublication().getPages());
60
		set("_etat_", "");
102
			set("_etat_", "");
-
 
103
		} else {
-
 
104
			set(Publication.PREFIXE+"_fmt_auteur", getPublication().getAuteur());
-
 
105
			set(Publication.PREFIXE+"_titre", getPublication().getTitre());
-
 
106
			set(Publication.PREFIXE+"_collection", getPublication().getCollection());
-
 
107
			set("_editeur_", "");
-
 
108
			set("_annee_", "");
-
 
109
			set(Publication.PREFIXE+"_indication_nvt", getPublication().getIndicationNvt());
-
 
110
			set(Publication.PREFIXE+"_fascicule", getPublication().getFascicule());
-
 
111
			set(Publication.PREFIXE+"_truk_pages", getPublication().getPages());
-
 
112
			set("_etat_", "");
-
 
113
		}
61
	}
114
	}
62
	
115
	
63
	// ID
116
	// ID
64
	/** Génère un identifiant de CollectionAPersonne.
117
	/** Génère un identifiant de CollectionAPersonne.
65
	 * 
118
	 * 
66
	 * C'est une concaténation des clés primaires de la table coel_collection_a_personne séparées par un tiret "-".
119
	 * C'est une concaténation des clés primaires de la table coel_collection_a_personne séparées par un tiret "-".
67
	 * 
120
	 * 
68
	 * @return identifiant unique d'une relation "collection à personne".
121
	 * @return identifiant unique d'une relation "collection à personne".
69
	 */
122
	 */
70
	public String getId() {
123
	public String getId() {
71
		String idCollection = getIdCollection();
124
		String idCollection = getIdCollection();
72
		String idPublication = getIdPublication();
125
		String idPublication = getIdPublication();
73
		if (idCollection.equals("") && idPublication.equals("")) {
126
		if (idCollection.equals("") && idPublication.equals("")) {
74
			return null;
127
			return null;
75
		} else {
128
		} else {
76
			return (idCollection+"-"+idPublication);
129
			return (idCollection+"-"+idPublication);
77
		}
130
		}
78
	}
131
	}
79
	
132
	
80
	//+---------------------------------------------------------------------------------------------------------------+
133
	//+---------------------------------------------------------------------------------------------------------------+
81
	// CHAMPS PROVENANT de la TABLE COEL_COLLECTION_A_PERSONNE
134
	// CHAMPS PROVENANT de la TABLE COEL_COLLECTION_A_PERSONNE
82
	
135
	
83
	// ID COLLECTION
136
	// ID COLLECTION
84
	public String getIdCollection() {
137
	public String getIdCollection() {
-
 
138
		if (removePrefix) return renvoyerValeurCorrecte("id_collection");
85
		return renvoyerValeurCorrecte("id_collection");
139
		else return renvoyerValeurCorrecte(PREFIXE+"_id_collection");
86
	}
140
	}
87
	public void setIdCollection(String idCollection) {
141
	public void setIdCollection(String idCollection) {
-
 
142
		if (removePrefix) set("id_collection", idCollection);
88
		set("id_collection", idCollection);
143
		else set(PREFIXE+"_id_collection", idCollection);
89
	}
144
	}
90
	
145
	
91
	// ID PUBLICATION
146
	// ID PUBLICATION
92
	public String getIdPublication() {
147
	public String getIdPublication() {
-
 
148
		if (removePrefix) return renvoyerValeurCorrecte("id_publication");
93
		return renvoyerValeurCorrecte("id_publication");
149
		else return renvoyerValeurCorrecte(PREFIXE+"_id_publication");
94
	}
150
	}
95
	public void setIdPublication(String ip) {
151
	public void setIdPublication(String ip) {
-
 
152
		if (removePrefix) set("id_publication", ip);
96
		set("id_publication", ip);
153
		else set(PREFIXE+"_id_publication", ip);
97
	}
154
	}
98
			
155
			
99
}
156
}