Add module holms-actions code
[holmes/common.git] / holmes-actions / src / main / java / org / openo / holmes / common / utils / DateForJsonSerializer.java
1 /**\r
2  * Copyright 2017 ZTE Corporation.\r
3  *\r
4  * Licensed under the Apache License, Version 2.0 (the "License");\r
5  * you may not use this file except in compliance with the License.\r
6  * You may obtain a copy of the License at\r
7  *\r
8  *     http://www.apache.org/licenses/LICENSE-2.0\r
9  *\r
10  * Unless required by applicable law or agreed to in writing, software\r
11  * distributed under the License is distributed on an "AS IS" BASIS,\r
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
13  * See the License for the specific language governing permissions and\r
14  * limitations under the License.\r
15  */\r
16 package org.openo.holmes.common.utils;\r
17 \r
18 import com.fasterxml.jackson.core.JsonGenerator;\r
19 import com.fasterxml.jackson.core.JsonProcessingException;\r
20 import com.fasterxml.jackson.databind.JsonSerializer;\r
21 import com.fasterxml.jackson.databind.SerializerProvider;\r
22 \r
23 import java.io.IOException;\r
24 import java.text.SimpleDateFormat;\r
25 import java.util.Date;\r
26 \r
27 public class DateForJsonSerializer extends JsonSerializer < Date > {\r
28     @Override\r
29     public void serialize( Date date, JsonGenerator jsonGenerator,\r
30                            SerializerProvider serializerProvider ) throws IOException, JsonProcessingException {\r
31         if ( date != null ) {\r
32             SimpleDateFormat formatter = new SimpleDateFormat( "yyyy-MM-dd'T'HH:mm:ss.SSSXXX" );\r
33             String formattedDate = formatter.format( date );\r
34             jsonGenerator.writeString( formattedDate );\r
35         }\r
36     }\r
37 }\r