94168e0006d117a3f807ed3c0adb4563aba84459
[platform/upstream/iotivity.git] / service / simulator / java / eclipse-plugin / ServiceProviderPlugin / src / oic / simulator / logger / LoggerCallback.java
1 package oic.simulator.logger;
2
3 import java.util.Calendar;
4 import java.util.Date;
5
6 import oic.simulator.serviceprovider.Activator;
7 import oic.simulator.serviceprovider.utils.Constants;
8
9 import org.oic.simulator.ILogger;
10
11 public class LoggerCallback implements ILogger {
12
13     @Override
14     public void write(String time, int level, String message) {
15         if (null == time || level < 0 || null == message) {
16             return;
17         }
18         // Parse the time
19         Date date = parseTime(time);
20         if (null == date) {
21             return;
22         }
23         Activator activator = Activator.getDefault();
24         if (null == activator) {
25             return;
26         }
27         activator.getLogManager().log(level, date, message);
28     }
29
30     private Date parseTime(String time) {
31         Date date;
32         String[] token = time.split("\\.");
33         int h, m, s;
34         try {
35             if (token.length == Constants.PROPER_LOG_TIME_TOKEN_LENGTH) {
36                 h = Integer.parseInt(token[0]);
37                 m = Integer.parseInt(token[1]);
38                 s = Integer.parseInt(token[2]);
39
40                 Calendar calendar;
41                 calendar = Calendar.getInstance();
42                 calendar.set(Calendar.HOUR, h);
43                 calendar.set(Calendar.MINUTE, m);
44                 calendar.set(Calendar.SECOND, s);
45
46                 date = calendar.getTime();
47             } else {
48                 date = null;
49             }
50         } catch (NumberFormatException nfe) {
51             date = null;
52         }
53         return date;
54     }
55 }