001/* 002 * Copyright 2020 Global Biodiversity Information Facility (GBIF) 003 * 004 * Licensed under the Apache License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.apache.org/licenses/LICENSE-2.0 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 */ 016package org.gbif.api.jackson; 017 018import org.gbif.dwc.terms.Term; 019 020import java.io.IOException; 021import java.util.List; 022import java.util.Map; 023 024import com.fasterxml.jackson.core.JsonGenerator; 025import com.fasterxml.jackson.databind.JsonSerializer; 026import com.fasterxml.jackson.databind.SerializationFeature; 027import com.fasterxml.jackson.databind.SerializerProvider; 028 029@Deprecated 030public class TermMapListSerializer extends JsonSerializer<List<Map<Term, String>>> { 031 @Override 032 public void serialize(List<Map<Term, String>> value, JsonGenerator jgen, SerializerProvider provider) throws IOException { 033 034 if ((value == null || value.isEmpty()) && provider.getConfig().isEnabled(SerializationFeature.WRITE_EMPTY_JSON_ARRAYS)) { 035 jgen.writeStartArray(); 036 jgen.writeEndArray(); 037 } else { 038 jgen.writeStartArray(); 039 for (Map<Term, String> extension : value) { 040 jgen.writeStartObject(); 041 for (Map.Entry<Term, String> entry : extension.entrySet()) { 042 jgen.writeStringField(entry.getKey().qualifiedName(), entry.getValue()); 043 } 044 jgen.writeEndObject(); 045 } 046 jgen.writeEndArray(); 047 } 048 } 049}