@@ -927,6 +927,8 @@ public class EcrireGenClasse extends EcrireClasse {
927927 * Var.enUS: entityHtml
928928 */
929929 Boolean entiteHtml ;
930+ Integer entitePrecision ;
931+ String entiteModeDArrondi ;
930932
931933 /**
932934 * Var.enUS: entityModify
@@ -3355,6 +3357,8 @@ public void genCodeEntite(String langueNom, JsonObject langueConfig) throws Exce
33553357 entiteDefaut = doc .getString ("entiteDefaut_stored_string" );
33563358 entiteRequis = doc .getBoolean ("entiteRequis_stored_boolean" );
33573359 entiteHtml = doc .getBoolean ("entiteHtml_stored_boolean" );
3360+ entiteModeDArrondi = doc .getString ("entiteModeDArrondi_stored_string" );
3361+ entitePrecision = doc .getInteger ("entitePrecision_stored_int" );
33583362 Boolean entiteEstListe = (StringUtils .equals (entiteNomCanonique , ArrayList .class .getCanonicalName ()) || StringUtils .equals (entiteNomCanonique , List .class .getCanonicalName ()));
33593363
33603364 Boolean entiteEstZonedDateTime = StringUtils .equals (entiteNomCanonique , ZonedDateTime .class .getCanonicalName ())
@@ -3976,25 +3980,25 @@ else if(entiteSetUpper)
39763980 }
39773981 tl (1 , "}" );
39783982 tl (1 , "public static MathContext staticMathContext" , entiteVarCapitalise , "() {" );
3979- tl (2 , "return new MathContext(precision, RoundingMode.HALF_UP );" );
3983+ tl (2 , "return new MathContext(" , entitePrecision , ", RoundingMode.valueOf( \" " , entiteModeDArrondi , " \" ) );" );
39803984 tl (1 , "}" );
39813985 tl (1 , "public static " , entiteEstListe ? entiteNomSimpleCompletGenerique : entiteNomSimpleComplet , " staticSet" , entiteVarCapitalise , "(" , classePartsRequeteSite .getEtendBase () ? classePartsRequeteSite .getNomSimpleSuperGenerique () : classePartsRequeteSite .nomSimple (langueNom ), " " , langueConfig .getString (I18n .var_requeteSite ), "_, String o) {" );
39823986 tl (2 , "o = StringUtils.removeAll(o, \" [^\\ \\ d\\ \\ .]\" );" );
39833987 tl (2 , "if(NumberUtils.isParsable(o))" );
3984- tl (3 , "return new BigDecimal(o, MathContext.DECIMAL64).setScale(2, RoundingMode.HALF_UP );" );
3988+ tl (3 , "return new BigDecimal(o, staticMathContext" , entiteVarCapitalise , "() );" );
39853989 tl (2 , "return null;" );
39863990 tl (1 , "}" );
39873991 tl (1 , "@JsonIgnore" );
39883992 tl (1 , "public void set" , entiteVarCapitalise , "(Double o) {" );
3989- tl (2 , entiteEstListe ? "add" : "set" , entiteVarCapitalise , "(new BigDecimal(o, MathContext.DECIMAL64).setScale(2, RoundingMode.HALF_UP ));" );
3993+ tl (2 , entiteEstListe ? "add" : "set" , entiteVarCapitalise , "(new BigDecimal(o, staticMathContext" , entiteVarCapitalise , "() ));" );
39903994 tl (1 , "}" );
39913995 tl (1 , "@JsonIgnore" );
39923996 tl (1 , "public void set" , entiteVarCapitalise , "(Integer o) {" );
3993- tl (2 , entiteEstListe ? "add" : "set" , entiteVarCapitalise , "(new BigDecimal(o, MathContext.DECIMAL64).setScale(2, RoundingMode.HALF_UP ));" );
3997+ tl (2 , entiteEstListe ? "add" : "set" , entiteVarCapitalise , "(new BigDecimal(o, staticMathContext" , entiteVarCapitalise , "() ));" );
39943998 tl (1 , "}" );
39953999 tl (1 , "@JsonIgnore" );
39964000 tl (1 , "public void set" , entiteVarCapitalise , "(Number o) {" );
3997- tl (2 , entiteEstListe ? "add" : "set" , entiteVarCapitalise , "(new BigDecimal(o.doubleValue(), MathContext.DECIMAL64).setScale(2, RoundingMode.HALF_UP ));" );
4001+ tl (2 , entiteEstListe ? "add" : "set" , entiteVarCapitalise , "(new BigDecimal(o.doubleValue(), staticMathContext" , entiteVarCapitalise , "() ));" );
39984002 tl (1 , "}" );
39994003 staticSet = true ;
40004004 }
@@ -4051,7 +4055,7 @@ else if(entiteSetUpper)
40514055 tl (4 , "}" );
40524056 tl (4 , "return shape;" );
40534057 tl (3 , "} catch(Exception ex) {" );
4054- tl (4 , "ExceptionUtils.rethrow(ex );" );
4058+ tl (4 , "LOG.error(String.format( \" Could not parse GeoJSON. %s: %s \" , ex.getMessage(), o) );" );
40554059 tl (3 , "}" );
40564060 tl (2 , "}" );
40574061 tl (2 , "return null;" );
@@ -4086,7 +4090,7 @@ else if(entiteSetUpper)
40864090 }
40874091 tl (4 , "return shape" , StringUtils .equals (entiteNomCanoniqueGenerique , VAL_nomCanoniquePolygon ) ? "s" : "" , ";" );
40884092 tl (3 , "} catch(Exception ex) {" );
4089- tl (4 , "ExceptionUtils.rethrow(ex );" );
4093+ tl (4 , "LOG.error(String.format( \" Could not parse GeoJSON. %s: %s \" , ex.getMessage(), o) );" );
40904094 tl (3 , "}" );
40914095 tl (2 , "}" );
40924096 tl (2 , "return null;" );
@@ -4385,19 +4389,22 @@ else if(entiteSetUpper)
43854389
43864390 // Setter BigDecimal //
43874391 if ((activerVertx || activerQuarkus ) && StringUtils .equals (entiteNomCanoniqueGenerique , BigDecimal .class .getCanonicalName ())) {
4392+ tl (1 , "public static MathContext staticMathContext" , entiteVarCapitalise , "() {" );
4393+ tl (2 , "return new MathContext(" , entitePrecision , ", RoundingMode.valueOf(\" " , entiteModeDArrondi , "\" ));" );
4394+ tl (1 , "}" );
43884395 tl (1 , "@JsonIgnore" );
43894396 tl (1 , "public void set" , entiteVarCapitalise , "(JsonArray objects) {" );
43904397 tl (2 , entiteVar , ".clear();" );
43914398 tl (2 , "if(objects == null)" );
43924399 tl (3 , "return;" );
43934400 tl (2 , "for(int i = 0; i < objects.size(); i++) {" );
43944401 tl (3 , entiteListeNomSimpleVertxJson , " o = objects.get" , entiteListeNomSimpleVertxJson , "(i);" );
4395- tl (3 , "add" , entiteVarCapitalise , "(new BigDecimal(o, MathContext.DECIMAL64).setScale(2, RoundingMode.HALF_UP ));" );
4402+ tl (3 , "add" , entiteVarCapitalise , "(new BigDecimal(o, staticMathContext" , entiteVarCapitalise , "() ));" );
43964403 tl (2 , "}" );
43974404 tl (1 , "}" );
43984405 tl (1 , "public " , classeNomSimple , " add" , entiteVarCapitalise , "(String o) {" );
43994406 tl (2 , "if(NumberUtils.isParsable(o)) {" );
4400- tl (3 , entiteNomSimpleCompletGenerique , " p = new BigDecimal(o, MathContext.DECIMAL64).setScale(2, RoundingMode.HALF_UP );" );
4407+ tl (3 , entiteNomSimpleCompletGenerique , " p = new BigDecimal(o, staticMathContext" , entiteVarCapitalise , "() );" );
44014408 tl (3 , "add" , entiteVarCapitalise , "(p);" );
44024409 tl (2 , "}" );
44034410 tl (2 , "return (" , classeNomSimple , ")this;" );
@@ -5605,9 +5612,9 @@ else if(entiteNomSimple.equals("List") || entiteNomSimple.equals("ArrayList") ||
56055612 }
56065613 if (VAL_nomCanoniquePolygon .equals (entiteNomCanoniqueGenerique )) {
56075614 tl (4 , "} else if(val instanceof JsonObject) {" );
5608- tl (5 , "staticSet" , entiteVarCapitalise , "(" , langueConfig .getString (I18n .var_requeteSite ), "_, val.toString()). stream().forEach(v -> add" , entiteVarCapitalise , "(v));" );
5615+ tl (5 , "Optional.ofNullable( staticSet" , entiteVarCapitalise , "(" , langueConfig .getString (I18n .var_requeteSite ), "_, val.toString())).ifPresent(u -> u. stream().forEach(v -> add" , entiteVarCapitalise , "(v) ));" );
56095616 tl (4 , "} else if(val instanceof String) {" );
5610- tl (5 , "staticSet" , entiteVarCapitalise , "(" , langueConfig .getString (I18n .var_requeteSite ), "_, (String)val). stream().forEach(v -> add" , entiteVarCapitalise , "(v));" );
5617+ tl (5 , "Optional.ofNullable( staticSet" , entiteVarCapitalise , "(" , langueConfig .getString (I18n .var_requeteSite ), "_, (String)val)).ifPresent(u -> u. stream().forEach(v -> add" , entiteVarCapitalise , "(v) ));" );
56115618 } else {
56125619 tl (4 , "} else if(val instanceof JsonArray) {" );
56135620 tl (5 , "((JsonArray)val).stream().forEach(v -> add" , entiteVarCapitalise , "(staticSet" , entiteVarCapitalise , "(" , langueConfig .getString (I18n .var_requeteSite ), "_, v.toString())));" );
0 commit comments