Skip to content

Commit 8fc6f89

Browse files
authored
Merge pull request #38 from mendix/dat/decimals-scale
Trim zeros when comparing decimals
2 parents b725094 + 01b8f24 commit 8fc6f89

File tree

4 files changed

+24
-14
lines changed

4 files changed

+24
-14
lines changed

Audit trail.mpr

16 KB
Binary file not shown.

javasource/audittrail/log/CreateLogObject.java

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package audittrail.log;
22

33
import java.lang.IllegalArgumentException;
4+
import java.math.BigDecimal;
45
import java.text.DateFormat;
56
import java.text.SimpleDateFormat;
67
import java.util.ArrayList;
@@ -428,25 +429,28 @@ private static List<IMendixObject> createReferenceSetLogLine(final IMendixObject
428429

429430
private static String getMemberValueString(final IMendixObjectMember<?> member, final boolean fromCache, final IContext context) {
430431
Object value = null;
431-
// Values from cache
432-
if (fromCache == true)
432+
433+
if (fromCache == true) {
434+
// Values from cache
433435
value = member.getValue(context);
434-
435-
// Values form DB
436-
else
436+
} else {
437+
// Values form DB
437438
value = member.getOriginalValue(context);
439+
}
438440

439441
if (value != null) {
440-
441-
if (value instanceof Date)
442+
if (value instanceof Date) {
442443
return parseDate((Date) value, context);
443-
444-
else if (value instanceof String)
444+
} else if (value instanceof BigDecimal) {
445+
return String.valueOf(((BigDecimal) value).stripTrailingZeros()).trim();
446+
} else if (value instanceof String) {
445447
return (String) value;
446-
447-
return String.valueOf(value).trim();
448-
} else
449-
return "";
448+
} else {
449+
return String.valueOf(value).trim();
450+
}
451+
}
452+
453+
return "";
450454
}
451455

452456
private static String parseDate(final Date date, final IContext context) {

javasource/test_crm/tests/TestAuditInheritance.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,10 @@
1515
import test_crm.tests.actual.ActualLog;
1616
import test_crm.tests.expected.ExpectedLog;
1717

18-
import static test_crm.proxies.Company.MemberNames.Name;
1918
import static test_crm.proxies.Company.MemberNames.CompanyNr;
19+
import static test_crm.proxies.Company.MemberNames.Dec;
20+
import static test_crm.proxies.Company.MemberNames.Name;
21+
import static test_crm.proxies.Company.MemberNames.Number;
2022
import static test_crm.proxies.Company.MemberNames.InternNr;
2123
import static test_crm.proxies.Company.MemberNames.Company_Group;
2224

@@ -50,12 +52,14 @@ public void testChangeRecord() throws CoreException {
5052
final Company company = createBaseCompany();
5153

5254
company.setName(NAME2);
55+
company.setDec(new java.math.BigDecimal("0.00000000")); // should not be considered changed
5356
company.commit();
5457

5558
// Assert log was created
5659
final ExpectedLog expectedLog = createExpectedLog(TypeOfLog.Change, company).changeAttribute(Name, NAME, NAME2);
5760

5861
final ActualLog actualLog = ActualLog.getLastLog(context, company.getMendixObject().getId().toLong());
62+
5963
expectedLog.verify(actualLog);
6064
}
6165

@@ -170,11 +174,13 @@ private ExpectedLog createExpectedLog(final TypeOfLog typeOfLog, final Company c
170174
return new ExpectedLog(typeOfLog, Company.entityName, admin, initialDate, Company.entityName)
171175
.addAttribute(Name, NAME).addAttribute(CompanyNr, COMPANY_NR)
172176
.addAttribute(InternNr, company.getInternNr())
177+
.addAttribute(Dec, 0).addAttribute(Number, 0)
173178
.addReferences(Company_Group, context, MemberType.ReferenceSet, groupObjects);
174179
} else {
175180
return new ExpectedLog(typeOfLog, Company.entityName, admin, initialDate, Company.entityName)
176181
.keepAttribute(Name, NAME).keepAttribute(CompanyNr, COMPANY_NR)
177182
.keepAttribute(InternNr, company.getInternNr())
183+
.keepAttribute(Dec, 0).keepAttribute(Number, 0)
178184
.keepReferences(Company_Group, context, MemberType.ReferenceSet, groupObjects);
179185
}
180186
}

widgets/formatstring.mpk

-98 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)