/* (c) 2014 Open Source Geospatial Foundation - all rights reserved * (c) 2013 OpenPlans * This code is licensed under the GPL 2.0 license, available at the root * application directory. */ package org.geoserver.threadlocals; import java.util.Map; import org.geoserver.security.AdminRequest; /** * Transfers the {@link AdminRequest} management to another thread * * @author Andrea Aime - GeoSolutions * */ public class AdminRequestThreadLocalTransfer implements ThreadLocalTransfer { public static final String KEY = AdminRequest.class.getName() + "#threadLocal"; @Override public void collect(Map<String, Object> storage) { Object state = AdminRequest.get(); storage.put(KEY, state); } @Override public void apply(Map<String, Object> storage) { Object state = storage.get(KEY); AdminRequest.start(state); } @Override public void cleanup() { AdminRequest.finish(); } }