Skip to content

Commit a7a6863

Browse files
authored
Merge pull request opentelecoms-org#58 from roadrunner/master
OptionalParameter:deserialize log level changed to DEBUG
2 parents 4251dc1 + 9926681 commit a7a6863

File tree

3 files changed

+29
-3
lines changed

3 files changed

+29
-3
lines changed

jsmpp/src/main/java/org/jsmpp/bean/DeliveryReceipt.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -418,8 +418,12 @@ private static Date string2Date(String date) {
418418
int day = Integer.parseInt(date.substring(4, 6));
419419
int hour = Integer.parseInt(date.substring(6, 8));
420420
int minute = Integer.parseInt(date.substring(8, 10));
421+
int second = 0;
422+
if (date.length() >= 12){
423+
second = Integer.parseInt(date.substring(10, 12));
424+
}
421425
Calendar cal = Calendar.getInstance();
422-
cal.set(convertTwoDigitYear(year), month - 1, day, hour, minute, 0);
426+
cal.set(convertTwoDigitYear(year), month - 1, day, hour, minute, second);
423427
cal.set(Calendar.MILLISECOND, 0);
424428
return cal.getTime();
425429
}

jsmpp/src/main/java/org/jsmpp/bean/OptionalParameters.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ public static OptionalParameter.Byte newSarTotalSegments(int value) {
110110
public static OptionalParameter deserialize(short tagCode, byte[] content) {
111111
Tag tag = Tag.valueOf(tagCode);
112112
if (tag == null) {
113-
logger.info("Optional Parameter Tag not recognized for deserialization: {}", tagCode);
113+
logger.debug("Optional Parameter Tag not recognized for deserialization: {}", tagCode);
114114
return new OctetString(tagCode, content);
115115
}
116116

jsmpp/src/test/java/org/jsmpp/util/DeliveryReceiptParserTest.java

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,10 +71,32 @@ public void parseWithNoTextAttribute() {
7171
fail("Failed parsing delivery receipt:" + e.getMessage());
7272
}
7373
}
74+
75+
@Test
76+
public void parseWithSecondInDate() {
77+
try {
78+
DeliveryReceipt delReceipt = decomposer.deliveryReceipt("id:0123456789 sub:001 dlvrd:001 submit date:080901113012 done date:080901113147 stat:DELIVRD err:000 " + ORIGINAL_MESSAGE);
79+
assertEquals(delReceipt.getText(), null);
80+
81+
Date submitDate = delReceipt.getSubmitDate();
82+
Date expectedSubmitDate = createDate(2008, 9, 1, 11, 30, 12);
83+
assertEquals(submitDate, expectedSubmitDate);
84+
85+
Date doneDate = delReceipt.getDoneDate();
86+
Date expectedDoneDate = createDate(2008, 9, 1, 11, 31, 47);
87+
assertEquals(doneDate, expectedDoneDate);
88+
} catch (InvalidDeliveryReceiptException e) {
89+
e.printStackTrace();
90+
fail("Failed parsing delivery receipt:" + e.getMessage());
91+
}
92+
}
7493

7594
private static Date createDate(int year, int month, int day, int hour, int minute) {
95+
return createDate(year, month, day, hour, minute, 0);
96+
}
97+
private static Date createDate(int year, int month, int day, int hour, int minute, int second) {
7698
Calendar cal = Calendar.getInstance();
77-
cal.set(year, month - 1, day, hour, minute, 0);
99+
cal.set(year, month - 1, day, hour, minute, second);
78100
cal.set(Calendar.MILLISECOND, 0);
79101
return cal.getTime();
80102
}

0 commit comments

Comments
 (0)