| 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++) {
|