26
26
import java .time .ZoneOffset ;
27
27
import java .util .HashMap ;
28
28
import java .util .Map ;
29
- import java .util .Optional ;
30
29
import java .util .Properties ;
31
30
32
31
import org .adempiere .core .domains .models .I_C_Order ;
@@ -167,7 +166,9 @@ public static Value.Builder getValueFromString(String value) {
167
166
return getValueFromNull ();
168
167
}
169
168
return Value .newBuilder ().setStringValue (
170
- validateNull (value )
169
+ StringManager .getValidString (
170
+ value
171
+ )
171
172
);
172
173
}
173
174
@@ -339,8 +340,12 @@ public static Timestamp getTimestampFromValue(Value dateValue) {
339
340
if (type == null || value == null ) {
340
341
return null ;
341
342
}
342
- String validType = Optional .ofNullable (type .getStringValue ()).orElse ("" );
343
- String validValue = Optional .ofNullable (value .getStringValue ()).orElse ("" );
343
+ String validType = StringManager .getValidString (
344
+ type .getStringValue ()
345
+ );
346
+ String validValue = StringManager .getValidString (
347
+ value .getStringValue ()
348
+ );
344
349
if ((!validType .equals (TYPE_DATE )
345
350
&& !validType .equals (TYPE_DATE_TIME ))
346
351
|| validValue .length () == 0 ) {
@@ -398,7 +403,14 @@ public static Value.Builder getValueFromTimestamp(Timestamp value) {
398
403
}
399
404
400
405
401
-
406
+ /**
407
+ * Get String from a value
408
+ * @param value
409
+ * @return
410
+ */
411
+ public static String getStringFromValue (Value value ) {
412
+ return getStringFromValue (value , false );
413
+ }
402
414
/**
403
415
* Get String from a value
404
416
* @param value
@@ -416,16 +428,8 @@ public static String getStringFromValue(Value value, boolean uppercase) {
416
428
}
417
429
return stringValue ;
418
430
}
419
-
420
- /**
421
- * Get String from a value
422
- * @param value
423
- * @return
424
- */
425
- public static String getStringFromValue (Value value ) {
426
- return getStringFromValue (value , false );
427
- }
428
-
431
+
432
+
429
433
/**
430
434
* Get integer from a value
431
435
* @param value
@@ -488,7 +492,10 @@ public static Value.Builder getValueFromReference(Object value, int referenceId)
488
492
return getValueFromBigDecimal (bigDecimalValue );
489
493
} else if (DisplayType .YesNo == referenceId ) {
490
494
if (value instanceof String ) {
491
- return getValueFromStringBoolean ((String ) value );
495
+ String stringValue = StringManager .getStringFromObject (
496
+ value
497
+ );
498
+ return getValueFromStringBoolean (stringValue );
492
499
}
493
500
return getValueFromBoolean ((Boolean ) value );
494
501
} else if (DisplayType .isDate (referenceId )) {
@@ -497,7 +504,12 @@ public static Value.Builder getValueFromReference(Object value, int referenceId)
497
504
);
498
505
return getValueFromTimestamp (dateValue );
499
506
} else if (DisplayType .isText (referenceId ) || DisplayType .List == referenceId ) {
500
- return getValueFromString ((String ) value );
507
+ String stringValue = StringManager .getStringFromObject (
508
+ value
509
+ );
510
+ return getValueFromString (
511
+ stringValue
512
+ );
501
513
} else if (DisplayType .Button == referenceId ) {
502
514
if (value instanceof Integer ) {
503
515
return getValueFromInteger ((Integer ) value );
@@ -512,8 +524,11 @@ public static Value.Builder getValueFromReference(Object value, int referenceId)
512
524
);
513
525
return getValueFromInteger (bigDecimalValue );
514
526
} else if (value instanceof String ) {
527
+ String stringValue = StringManager .getStringFromObject (
528
+ value
529
+ );
515
530
return getValueFromString (
516
- ( String ) value
531
+ stringValue
517
532
);
518
533
}
519
534
return getValueFromObject (value );
@@ -690,7 +705,7 @@ public static Map<String, Object> convertValuesMapToObjects(Map<String, Value> v
690
705
/**
691
706
* Convert Selection values from gRPC to ADempiere values
692
707
* @param values
693
- * @param displayTypeColumns < ColumnName, DisplayType>
708
+ * @param displayTypeColumns Map( ColumnName, DisplayType)
694
709
* @return
695
710
*/
696
711
public static Map <String , Object > convertValuesMapToObjects (Map <String , Value > values , Map <String , Integer > displayTypeColumns ) {
@@ -803,7 +818,9 @@ public static boolean isDateValue(Value value) {
803
818
if (type == null ) {
804
819
return false ;
805
820
}
806
- String validType = Optional .ofNullable (type .getStringValue ()).orElse ("" );
821
+ String validType = StringManager .getValidString (
822
+ type .getStringValue ()
823
+ );
807
824
return validType .equals (TYPE_DATE ) || validType .equals (TYPE_DATE_TIME );
808
825
}
809
826
@@ -824,9 +841,9 @@ public static boolean isDecimalValue(Value value) {
824
841
if (type == null ) {
825
842
return false ;
826
843
}
827
- String validType = Optional . ofNullable (
844
+ String validType = StringManager . getValidString (
828
845
type .getStringValue ()
829
- ). orElse ( "" ) ;
846
+ );
830
847
return validType .equals (TYPE_DECIMAL );
831
848
}
832
849
@@ -888,14 +905,13 @@ public static boolean isLookup(int displayType) {
888
905
/**
889
906
* Convert null on ""
890
907
* @param value
908
+ * @deprecated Use {@link StringManager#getValidString()} instead.
891
909
* @return
892
910
*/
893
911
public static String validateNull (String value ) {
894
- if (value == null ) {
895
- value = "" ;
896
- }
897
- //
898
- return value ;
912
+ return StringManager .getValidString (
913
+ value
914
+ );
899
915
}
900
916
901
917
0 commit comments