fix missing proxy changes

This commit is contained in:
Sebastian Sdorra
2011-09-06 12:17:29 +02:00
parent 18ad80dfa9
commit 7eed55982e
2 changed files with 27 additions and 19 deletions

View File

@@ -40,7 +40,6 @@ import com.google.inject.Provider;
import com.google.inject.Singleton;
import sonia.scm.config.ScmConfiguration;
import sonia.scm.plugin.PluginManager;
import sonia.scm.util.ScmConfigurationUtil;
import sonia.scm.util.SecurityUtil;
import sonia.scm.web.security.WebSecurityContext;
@@ -72,16 +71,14 @@ public class ConfigurationResource
*
* @param configuration
* @param securityContextProvider
* @param pluginManager
*/
@Inject
public ConfigurationResource(
Provider<WebSecurityContext> securityContextProvider,
ScmConfiguration configuration, PluginManager pluginManager)
ScmConfiguration configuration)
{
this.securityContextProvider = securityContextProvider;
this.configuration = configuration;
this.pluginManager = pluginManager;
}
//~--- get methods ----------------------------------------------------------
@@ -127,12 +124,6 @@ public class ConfigurationResource
ScmConfiguration newConfig)
{
SecurityUtil.assertIsAdmin(securityContextProvider);
if (!configuration.getPluginUrl().equals(newConfig.getPluginUrl()))
{
pluginManager.clearCache();
}
configuration.load(newConfig);
synchronized (ScmConfiguration.class)
@@ -148,9 +139,6 @@ public class ConfigurationResource
/** Field description */
public ScmConfiguration configuration;
/** Field description */
private PluginManager pluginManager;
/** Field description */
private Provider<WebSecurityContext> securityContextProvider;
}

View File

@@ -42,6 +42,7 @@ import com.google.inject.Singleton;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import sonia.scm.ConfigChangedListener;
import sonia.scm.ConfigurationException;
import sonia.scm.SCMContext;
import sonia.scm.SCMContextProvider;
@@ -80,7 +81,8 @@ import javax.xml.bind.Unmarshaller;
* @author Sebastian Sdorra
*/
@Singleton
public class DefaultPluginManager implements PluginManager
public class DefaultPluginManager
implements PluginManager, ConfigChangedListener
{
/** Field description */
@@ -111,21 +113,22 @@ public class DefaultPluginManager implements PluginManager
* @param configuration
* @param pluginLoader
* @param cacheManager
* @param client
* @param clientProvider
*/
@Inject
public DefaultPluginManager(
SCMContextProvider context,
Provider<SecurityContext> securityContextProvicer,
ScmConfiguration configuration, PluginLoader pluginLoader,
CacheManager cacheManager, HttpClient client)
CacheManager cacheManager, Provider<HttpClient> clientProvider)
{
this.context = context;
this.securityContextProvicer = securityContextProvicer;
this.configuration = configuration;
this.configuration.addListener(this);
this.cache = cacheManager.getCache(String.class, PluginCenter.class,
CACHE_NAME);
this.client = client;
this.clientProvider = clientProvider;
installedPlugins = new HashMap<String, Plugin>();
for (Plugin plugin : pluginLoader.getInstalledPlugins())
@@ -158,9 +161,26 @@ public class DefaultPluginManager implements PluginManager
@Override
public void clearCache()
{
if (logger.isDebugEnabled())
{
logger.debug("clear plugin cache");
}
cache.clear();
}
/**
* Method description
*
*
* @param config
*/
@Override
public void configChanged(Object config)
{
clearCache();
}
/**
* Method description
*
@@ -534,7 +554,7 @@ public class DefaultPluginManager implements PluginManager
try
{
input = client.get(pluginUrl).getContent();
input = clientProvider.get().get(pluginUrl).getContent();
/*
* TODO: add gzip support
@@ -648,7 +668,7 @@ public class DefaultPluginManager implements PluginManager
private Cache<String, PluginCenter> cache;
/** Field description */
private HttpClient client;
private Provider<HttpClient> clientProvider;
/** Field description */
private ScmConfiguration configuration;