/* (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.catalog.WorkspaceInfo; import org.geoserver.ows.LocalWorkspace; /** * Transfers the LocalWorkspace management to another thread * * @author Andrea Aime - GeoSolutions * */ public class LocalWorkspaceThreadLocalTransfer implements ThreadLocalTransfer { public static final String KEY = LocalWorkspace.class.getName() + "#threadLocal"; @Override public void collect(Map<String, Object> storage) { WorkspaceInfo wi = LocalWorkspace.get(); storage.put(KEY, wi); } @Override public void apply(Map<String, Object> storage) { WorkspaceInfo wi = (WorkspaceInfo) storage.get(KEY); LocalWorkspace.set(wi); } @Override public void cleanup() { LocalWorkspace.remove(); } }