Subversion Repositories eFlore/Applications.coel

Rev

Rev 1610 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

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