Line 11... |
Line 11... |
11 |
import java.util.Set;
|
11 |
import java.util.Set;
|
12 |
import java.util.TreeSet;
|
12 |
import java.util.TreeSet;
|
Line 13... |
Line 13... |
13 |
|
13 |
|
14 |
import org.tela_botanica.client.util.Debug;
|
14 |
import org.tela_botanica.client.util.Debug;
|
- |
|
15 |
import org.tela_botanica.client.util.UtilArray;
|
Line 15... |
Line 16... |
15 |
import org.tela_botanica.client.util.UtilArray;
|
16 |
import org.tela_botanica.client.util.UtilString;
|
16 |
|
17 |
|
17 |
import com.extjs.gxt.ui.client.core.FastMap;
|
18 |
import com.extjs.gxt.ui.client.core.FastMap;
|
18 |
import com.extjs.gxt.ui.client.data.BaseModelData;
|
19 |
import com.extjs.gxt.ui.client.data.BaseModelData;
|
Line 122... |
Line 123... |
122 |
* @param valeur la valeur à ajouter
|
123 |
* @param valeur la valeur à ajouter
|
123 |
*/
|
124 |
*/
|
124 |
protected void ajouterChaineDenormaliseAvecType(String champ, String type, Object valeur) {
|
125 |
protected void ajouterChaineDenormaliseAvecType(String champ, String type, Object valeur) {
|
125 |
if (valeur instanceof String) {
|
126 |
if (valeur instanceof String) {
|
126 |
String chaineExistante = renvoyerValeurCorrecte(champ);
|
127 |
String chaineExistante = renvoyerValeurCorrecte(champ);
|
127 |
if (chaineExistante.equals("")) {
|
128 |
if (UtilString.isEmpty(chaineExistante)) {
|
128 |
this.set(champ, type+SEPARATEUR_TYPE_VALEUR+valeur);
|
129 |
this.set(champ, type+SEPARATEUR_TYPE_VALEUR+valeur);
|
129 |
} else {
|
130 |
} else {
|
130 |
// Si la valeur à ajouter n'est pas déjà présente, nous l'ajoutons
|
131 |
// Si la valeur à ajouter n'est pas déjà présente, nous l'ajoutons
|
131 |
if (!chaineExistante.matches("(^|"+SEPARATEUR_VALEURS+")"+type+SEPARATEUR_TYPE_VALEUR+valeur+"("+SEPARATEUR_VALEURS+"|$)")) {
|
132 |
if (!chaineExistante.matches("(^|"+SEPARATEUR_VALEURS+")"+type+SEPARATEUR_TYPE_VALEUR+valeur+"("+SEPARATEUR_VALEURS+"|$)")) {
|
132 |
this.set(champ, chaineExistante+";;"+type+SEPARATEUR_TYPE_VALEUR+valeur);
|
133 |
this.set(champ, chaineExistante+";;"+type+SEPARATEUR_TYPE_VALEUR+valeur);
|
Line 135... |
Line 136... |
135 |
}
|
136 |
}
|
136 |
}
|
137 |
}
|
Line 137... |
Line 138... |
137 |
|
138 |
|
138 |
protected void supprimerTypeDansChaineDenormalise(String champ, String type) {
|
139 |
protected void supprimerTypeDansChaineDenormalise(String champ, String type) {
|
139 |
String chaineExistante = renvoyerValeurCorrecte(champ);
|
140 |
String chaineExistante = renvoyerValeurCorrecte(champ);
|
140 |
if (!chaineExistante.equals("")) {
|
141 |
if (!UtilString.isEmpty(chaineExistante)) {
|
141 |
if (chaineExistante.matches("(?:^|.*"+SEPARATEUR_VALEURS+")"+type+SEPARATEUR_TYPE_VALEUR+".*")) {
|
142 |
if (chaineExistante.matches("(?:^|.*"+SEPARATEUR_VALEURS+")"+type+SEPARATEUR_TYPE_VALEUR+".*")) {
|
142 |
chaineExistante = chaineExistante.replaceFirst("(^|.*"+SEPARATEUR_VALEURS+")"+type+SEPARATEUR_TYPE_VALEUR+".*?("+SEPARATEUR_VALEURS+".*|$)", "$1$2");
|
143 |
chaineExistante = chaineExistante.replaceFirst("(^|.*"+SEPARATEUR_VALEURS+")"+type+SEPARATEUR_TYPE_VALEUR+".*?("+SEPARATEUR_VALEURS+".*|$)", "$1$2");
|
143 |
chaineExistante = chaineExistante.replaceAll("(.*)"+SEPARATEUR_VALEURS+SEPARATEUR_VALEURS+"(.*)", "$1"+SEPARATEUR_VALEURS+"$2");
|
144 |
chaineExistante = chaineExistante.replaceAll("(.*)"+SEPARATEUR_VALEURS+SEPARATEUR_VALEURS+"(.*)", "$1"+SEPARATEUR_VALEURS+"$2");
|
144 |
chaineExistante = chaineExistante.replaceAll("^"+SEPARATEUR_VALEURS+"(.*)", "$1");
|
145 |
chaineExistante = chaineExistante.replaceAll("^"+SEPARATEUR_VALEURS+"(.*)", "$1");
|
Line 164... |
Line 165... |
164 |
* @param valeur la valeur à ajouter
|
165 |
* @param valeur la valeur à ajouter
|
165 |
*/
|
166 |
*/
|
166 |
protected void ajouterChaineDenormalise(String champ, Object valeur) {
|
167 |
protected void ajouterChaineDenormalise(String champ, Object valeur) {
|
167 |
if (valeur instanceof String) {
|
168 |
if (valeur instanceof String) {
|
168 |
String chaineExistante = renvoyerValeurCorrecte(champ);
|
169 |
String chaineExistante = renvoyerValeurCorrecte(champ);
|
169 |
if (chaineExistante.equals("")) {
|
170 |
if (UtilString.isEmpty(chaineExistante)) {
|
170 |
this.set(champ, valeur);
|
171 |
this.set(champ, valeur);
|
171 |
} else {
|
172 |
} else {
|
172 |
// Si la valeur à ajouter n'est pas déjà présente, nous l'ajoutons
|
173 |
// Si la valeur à ajouter n'est pas déjà présente, nous l'ajoutons
|
173 |
if (!chaineExistante.matches("(^|"+SEPARATEUR_VALEURS+")"+valeur+"("+SEPARATEUR_VALEURS+"|$)")) {
|
174 |
if (!chaineExistante.matches("(^|"+SEPARATEUR_VALEURS+")"+valeur+"("+SEPARATEUR_VALEURS+"|$)")) {
|
174 |
this.set(champ, chaineExistante+SEPARATEUR_VALEURS+valeur);
|
175 |
this.set(champ, chaineExistante+SEPARATEUR_VALEURS+valeur);
|
Line 183... |
Line 184... |
183 |
* @param champ le nom du champ dénormalisé
|
184 |
* @param champ le nom du champ dénormalisé
|
184 |
* @param type le type de la valeur à ajouter
|
185 |
* @param type le type de la valeur à ajouter
|
185 |
* @param valeur la valeur à ajouter
|
186 |
* @param valeur la valeur à ajouter
|
186 |
*/
|
187 |
*/
|
187 |
protected void setChaineDenormaliseUnique(String champ, String type, String valeur) {
|
188 |
protected void setChaineDenormaliseUnique(String champ, String type, String valeur) {
|
188 |
if (valeur == null || valeur.equals("")) {
|
189 |
if (valeur == null || UtilString.isEmpty(valeur)) {
|
189 |
this.set(champ, "");
|
190 |
this.set(champ, "");
|
190 |
} else if (valeur instanceof String) {
|
191 |
} else if (valeur instanceof String) {
|
191 |
if (((String) valeur).matches("^[0-9]+$")) {
|
192 |
if (((String) valeur).matches("^[0-9]+$")) {
|
192 |
this.set(champ, valeur);
|
193 |
this.set(champ, valeur);
|
193 |
} else {
|
194 |
} else {
|
Line 202... |
Line 203... |
202 |
* @param champ le nom du champ dénormalisé
|
203 |
* @param champ le nom du champ dénormalisé
|
203 |
*/
|
204 |
*/
|
204 |
protected String getChaineDenormaliseUnique(String champ) {
|
205 |
protected String getChaineDenormaliseUnique(String champ) {
|
205 |
String valeur = renvoyerValeurCorrecte(champ);
|
206 |
String valeur = renvoyerValeurCorrecte(champ);
|
Line 206... |
Line 207... |
206 |
|
207 |
|
207 |
if (!valeur.equals("")) {
|
208 |
if (!UtilString.isEmpty(valeur)) {
|
208 |
valeur = valeur.replaceFirst("^"+TYPE_AUTRE+SEPARATEUR_TYPE_VALEUR, "");
|
209 |
valeur = valeur.replaceFirst("^"+TYPE_AUTRE+SEPARATEUR_TYPE_VALEUR, "");
|
Line 209... |
Line 210... |
209 |
}
|
210 |
}
|
210 |
|
211 |
|
Line 211... |
Line 212... |
211 |
return valeur;
|
212 |
return valeur;
|
212 |
}
|
213 |
}
|
213 |
|
214 |
|
214 |
protected String getInfoDenormaliseParType(String chaineExistante, String type) {
|
215 |
protected String getInfoDenormaliseParType(String chaineExistante, String type) {
|
215 |
String sortie = "";
|
216 |
String sortie = "";
|
216 |
if (!chaineExistante.equals("")) {
|
217 |
if (!UtilString.isEmpty(chaineExistante)) {
|
217 |
String[] valeurs = chaineExistante.split(SEPARATEUR_VALEURS);
|
218 |
String[] valeurs = chaineExistante.split(SEPARATEUR_VALEURS);
|
218 |
for (int i = 0; i < valeurs.length; i++) {
|
219 |
for (int i = 0; i < valeurs.length; i++) {
|
Line 284... |
Line 285... |
284 |
if (valeur == null || valeur.equals("")) {
|
285 |
if (valeur == null || valeur.equals("")) {
|
285 |
supprimerTypeDansChaineDenormalise(champ, type);
|
286 |
supprimerTypeDansChaineDenormalise(champ, type);
|
286 |
} else if (valeur instanceof String) {
|
287 |
} else if (valeur instanceof String) {
|
287 |
String chaineExistante = renvoyerValeurCorrecte(champ);
|
288 |
String chaineExistante = renvoyerValeurCorrecte(champ);
|
Line 288... |
Line 289... |
288 |
|
289 |
|
289 |
if (chaineExistante.equals("")) {
|
290 |
if (UtilString.isEmpty(chaineExistante)) {
|
290 |
this.set(champ, type+SEPARATEUR_TYPE_VALEUR+valeur);
|
291 |
this.set(champ, type+SEPARATEUR_TYPE_VALEUR+valeur);
|
291 |
} else {
|
292 |
} else {
|
292 |
String[] valeurs = chaineExistante.split(SEPARATEUR_VALEURS);
|
293 |
String[] valeurs = chaineExistante.split(SEPARATEUR_VALEURS);
|
293 |
HashMap<String,String> valeursModifiees = new HashMap<String,String>();
|
294 |
HashMap<String,String> valeursModifiees = new HashMap<String,String>();
|
Line 307... |
Line 308... |
307 |
}
|
308 |
}
|
308 |
}
|
309 |
}
|
Line 309... |
Line 310... |
309 |
|
310 |
|
310 |
protected String getInfoDenormaliseParPosition(String chaineExistante, int position) {
|
311 |
protected String getInfoDenormaliseParPosition(String chaineExistante, int position) {
|
311 |
String sortie = "";
|
312 |
String sortie = "";
|
312 |
if (!chaineExistante.equals("")) {
|
313 |
if (!UtilString.isEmpty(chaineExistante)) {
|
313 |
String[] valeurs = chaineExistante.split(SEPARATEUR_VALEURS);
|
314 |
String[] valeurs = chaineExistante.split(SEPARATEUR_VALEURS);
|
314 |
if (valeurs.length >= position) {
|
315 |
if (valeurs.length >= position) {
|
315 |
for (int i = 0; i < valeurs.length; i++) {
|
316 |
for (int i = 0; i < valeurs.length; i++) {
|
316 |
if (i == (position - 1)) {
|
317 |
if (i == (position - 1)) {
|
Line 340... |
Line 341... |
340 |
protected void modifierChaineDenormaliseParPosition(String champ, int position, Object valeur) {
|
341 |
protected void modifierChaineDenormaliseParPosition(String champ, int position, Object valeur) {
|
341 |
if (valeur == null || valeur.equals("")) {
|
342 |
if (valeur == null || valeur.equals("")) {
|
342 |
supprimerChaineDenormaliseParPosition(champ, position);
|
343 |
supprimerChaineDenormaliseParPosition(champ, position);
|
343 |
} else if (valeur instanceof String) {
|
344 |
} else if (valeur instanceof String) {
|
344 |
String chaineExistante = renvoyerValeurCorrecte(champ);
|
345 |
String chaineExistante = renvoyerValeurCorrecte(champ);
|
345 |
if (chaineExistante.equals("")) {
|
346 |
if (UtilString.isEmpty(chaineExistante)) {
|
346 |
this.set(champ, valeur);
|
347 |
this.set(champ, valeur);
|
347 |
} else {
|
348 |
} else {
|
348 |
String[] valeurs = chaineExistante.split(SEPARATEUR_VALEURS);
|
349 |
String[] valeurs = chaineExistante.split(SEPARATEUR_VALEURS);
|
349 |
if (valeurs.length >= position) {
|
350 |
if (valeurs.length >= position) {
|
350 |
for (int i = 0; i < valeurs.length; i++) {
|
351 |
for (int i = 0; i < valeurs.length; i++) {
|
Line 359... |
Line 360... |
359 |
}
|
360 |
}
|
360 |
}
|
361 |
}
|
Line 361... |
Line 362... |
361 |
|
362 |
|
362 |
protected void supprimerChaineDenormaliseParPosition(String champ, int position) {
|
363 |
protected void supprimerChaineDenormaliseParPosition(String champ, int position) {
|
363 |
String chaineExistante = renvoyerValeurCorrecte(champ);
|
364 |
String chaineExistante = renvoyerValeurCorrecte(champ);
|
364 |
if (!chaineExistante.equals("")) {
|
365 |
if (!UtilString.isEmpty(chaineExistante)) {
|
365 |
String[] valeurs = chaineExistante.split(SEPARATEUR_VALEURS);
|
366 |
String[] valeurs = chaineExistante.split(SEPARATEUR_VALEURS);
|
366 |
HashMap<String,String> valeursModifiees = new HashMap<String,String>();
|
367 |
HashMap<String,String> valeursModifiees = new HashMap<String,String>();
|
367 |
if (valeurs.length >= position) {
|
368 |
if (valeurs.length >= position) {
|
368 |
for (int i = 0; i < valeurs.length; i++) {
|
369 |
for (int i = 0; i < valeurs.length; i++) {
|