1 package fr.ifremer.quadrige3.core.config; 2 3 /*- 4 * #%L 5 * Quadrige3 Core :: Client API 6 * %% 7 * Copyright (C) 2017 - 2019 Ifremer 8 * %% 9 * This program is free software: you can redistribute it and/or modify 10 * it under the terms of the GNU Affero General Public License as published by 11 * the Free Software Foundation, either version 3 of the License, or 12 * (at your option) any later version. 13 * 14 * This program is distributed in the hope that it will be useful, 15 * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 * GNU General Public License for more details. 18 * 19 * You should have received a copy of the GNU Affero General Public License 20 * along with this program. If not, see <http://www.gnu.org/licenses/>. 21 * #L% 22 */ 23 import org.apache.commons.lang3.ArrayUtils; 24 import org.nuiton.config.ApplicationConfig; 25 import org.nuiton.config.ApplicationConfigScope; 26 27 /** 28 * Fixed version of nuiton ApplicationConfig 29 * 30 * @author peck7 on 14/06/2019. 31 */ 32 public class QuadrigeApplicationConfig extends ApplicationConfig { 33 34 @Override 35 protected void remove(String key, ApplicationConfigScope... scopes) { 36 37 // add CURRENT scope to allow remove option from current config, not only OPTIONS (which don't hold all options from file) 38 if (scopes != null) { 39 scopes = ArrayUtils.add(scopes, ApplicationConfigScope.CURRENT); 40 } 41 42 super.remove(key, scopes); 43 } 44 }