001package ca.uhn.fhir.jpa.util; 002 003/*- 004 * #%L 005 * HAPI FHIR Storage api 006 * %% 007 * Copyright (C) 2014 - 2022 Smile CDR, Inc. 008 * %% 009 * Licensed under the Apache License, Version 2.0 (the "License"); 010 * you may not use this file except in compliance with the License. 011 * You may obtain a copy of the License at 012 * 013 * http://www.apache.org/licenses/LICENSE-2.0 014 * 015 * Unless required by applicable law or agreed to in writing, software 016 * distributed under the License is distributed on an "AS IS" BASIS, 017 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 018 * See the License for the specific language governing permissions and 019 * limitations under the License. 020 * #L% 021 */ 022 023import com.fasterxml.jackson.core.JsonParser; 024import com.fasterxml.jackson.databind.DeserializationContext; 025import com.fasterxml.jackson.databind.JsonDeserializer; 026import org.hl7.fhir.dstu3.model.DateTimeType; 027 028import java.io.IOException; 029import java.util.Date; 030 031import static org.apache.commons.lang3.StringUtils.isNotBlank; 032 033public class JsonDateDeserializer extends JsonDeserializer<Date> { 034 035 @Override 036 public Date deserialize(JsonParser theParser, DeserializationContext theDeserializationContext) throws IOException { 037 String string = theParser.getValueAsString(); 038 if (isNotBlank(string)) { 039 return new DateTimeType(string).getValue(); 040 } 041 return null; 042 } 043 044}