@@ -0,0 +1,1769 @@
+/*******************************************************************************%0A * This file is part of OpenNMS(R).%0A *%0A * Copyright (C) 2017 The OpenNMS Group, Inc.%0A * OpenNMS(R) is Copyright (C) 1999-2017 The OpenNMS Group, Inc.%0A *%0A * OpenNMS(R) is a registered trademark of The OpenNMS Group, Inc.%0A *%0A * OpenNMS(R) is free software: you can redistribute it and/or modify%0A * it under the terms of the GNU Affero General Public License as published%0A * by the Free Software Foundation, either version 3 of the License,%0A * or (at your option) any later version.%0A *%0A * OpenNMS(R) is distributed in the hope that it will be useful,%0A * but WITHOUT ANY WARRANTY; without even the implied warranty of%0A * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the%0A * GNU Affero General Public License for more details.%0A *%0A * You should have received a copy of the GNU Affero General Public License%0A * along with OpenNMS(R).  If not, see:%0A *      http://www.gnu.org/licenses/%0A *%0A * For more information contact:%0A *     OpenNMS(R) Licensing %3Clicense@opennms.org%3E%0A *     http://www.opennms.org/%0A *     http://www.opennms.com/%0A *******************************************************************************/%0A%0Apackage org.opennms.core.xml;%0A%0Aimport javax.xml.bind.annotation.adapters.XmlAdapter;%0A%0Apublic class DoubleAdapter extends XmlAdapter%3CString, Double%3E %7B%0A%0A    @Override%0A    public Double unmarshal(final String v) throws Exception %7B%0A        return Double.valueOf(v);%0A    %7D%0A%0A    @Override%0A    public String marshal(final Double v) throws Exception %7B%0A        if (v == null) %7B%0A            return null;%0A        %7D%0A        if (!v.isNaN() && !v.isInfinite() && v == Math.rint(v)) %7B%0A            return String.valueOf(v.intValue());%0A        %7D%0A        return v.toString();%0A    %7D%0A%0A%7D%0A

add an XmlAdapter for Double that returns the integer value if it is an integer