diff --git a/gerrit-gwtui/pom.xml b/gerrit-gwtui/pom.xml
index 178f8f4060..b33be07126 100644
--- a/gerrit-gwtui/pom.xml
+++ b/gerrit-gwtui/pom.xml
@@ -192,7 +192,7 @@ limitations under the License.
com.google.gerrit.GerritGwtUI
-Xmx512m
- ${gwt.soyc}
+ ${gwt.compileReport}
true
true
diff --git a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/Init.java b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/Init.java
index b10e1db7b4..712702716d 100644
--- a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/Init.java
+++ b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/Init.java
@@ -258,7 +258,7 @@ public class Init extends SiteProgram {
}
}
- void start() throws IOException {
+ void start() throws Exception {
if (flags.autoStart) {
if (HostPlatform.isWin32()) {
System.err.println("Automatic startup not supported on Win32.");
diff --git a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/Browser.java b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/Browser.java
index 42013b9980..ea1304374f 100644
--- a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/Browser.java
+++ b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/Browser.java
@@ -33,11 +33,11 @@ public class Browser {
this.cfg = cfg;
}
- public void open() throws IOException {
+ public void open() throws Exception {
open(null /* root page */);
}
- public void open(final String link) throws IOException {
+ public void open(final String link) throws Exception {
String url = cfg.getString("httpd", null, "listenUrl");
if (url == null) {
return;
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/cache/CachePool.java b/gerrit-server/src/main/java/com/google/gerrit/server/cache/CachePool.java
index 5230ff6b53..2e81201437 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/cache/CachePool.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/cache/CachePool.java
@@ -22,7 +22,6 @@ import com.google.gerrit.server.config.ConfigUtil;
import com.google.gerrit.server.config.GerritServerConfig;
import com.google.gerrit.server.config.SitePaths;
import com.google.inject.Inject;
-import com.google.inject.ProvisionException;
import com.google.inject.Singleton;
import net.sf.ehcache.CacheManager;
@@ -143,9 +142,12 @@ public class CachePool {
c.setMaxElementsInMemory(getInt(name, "memorylimit", p.memoryLimit()));
- c.setTimeToIdleSeconds(0);
- c.setTimeToLiveSeconds(getSeconds(name, "maxage", p.maxAge()));
- c.setEternal(c.getTimeToLiveSeconds() == 0);
+ long ttl = getSeconds(name, "maxage", p.maxAge());
+ c.setEternal(ttl == 0);
+ if (ttl != 0) {
+ c.setTimeToIdleSeconds(0);
+ c.setTimeToLiveSeconds(ttl);
+ }
if (p.disk() && mgr.getDiskStoreConfiguration() != null) {
c.setMaxElementsOnDisk(getInt(name, "disklimit", p.diskLimit()));
@@ -220,8 +222,6 @@ public class CachePool {
c.setMaxElementsInMemory(1024);
c.setMemoryStoreEvictionPolicyFromObject(MemoryStoreEvictionPolicy.LFU);
- c.setTimeToIdleSeconds(0);
- c.setTimeToLiveSeconds(0 /* infinite */);
c.setEternal(true);
if (mgr.getDiskStoreConfiguration() != null) {
@@ -237,14 +237,10 @@ public class CachePool {
}
private CacheConfiguration newCache(final String name) {
- try {
- final CacheConfiguration c;
- c = mgr.getDefaultCacheConfiguration().clone();
- c.setName(name);
- return c;
- } catch (CloneNotSupportedException e) {
- throw new ProvisionException("Cannot configure cache " + name, e);
- }
+ final CacheConfiguration c;
+ c = mgr.getDefaultCacheConfiguration().clone();
+ c.setName(name);
+ return c;
}
}
}
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/cache/ProxyEhcache.java b/gerrit-server/src/main/java/com/google/gerrit/server/cache/ProxyEhcache.java
index 8b3179a314..2568cb30e2 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/cache/ProxyEhcache.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/cache/ProxyEhcache.java
@@ -29,7 +29,11 @@ import net.sf.ehcache.loader.CacheLoader;
import net.sf.ehcache.statistics.CacheUsageListener;
import net.sf.ehcache.statistics.LiveCacheStatistics;
import net.sf.ehcache.statistics.sampled.SampledCacheStatistics;
+import net.sf.ehcache.transaction.manager.TransactionManagerLookup;
+import net.sf.ehcache.writer.CacheWriter;
+import net.sf.ehcache.writer.CacheWriterManager;
+import java.beans.PropertyChangeListener;
import java.io.Serializable;
import java.util.Collection;
import java.util.List;
@@ -70,55 +74,66 @@ final class ProxyEhcache implements Ehcache {
//
// Everything else delegates through self.
//
-
+ @Override
public void bootstrap() {
self().bootstrap();
}
+ @Override
public long calculateInMemorySize() throws IllegalStateException,
CacheException {
return self().calculateInMemorySize();
}
+ @Override
public void clearStatistics() {
self().clearStatistics();
}
+ @Override
public void dispose() throws IllegalStateException {
self().dispose();
}
+ @Override
public void evictExpiredElements() {
self().evictExpiredElements();
}
+ @Override
public void flush() throws IllegalStateException, CacheException {
self().flush();
}
+ @Override
public Element get(Object key) throws IllegalStateException, CacheException {
return self().get(key);
}
+ @Override
public Element get(Serializable key) throws IllegalStateException,
CacheException {
return self().get(key);
}
@SuppressWarnings("unchecked")
+ @Override
public Map getAllWithLoader(Collection keys, Object loaderArgument)
throws CacheException {
return self().getAllWithLoader(keys, loaderArgument);
}
+ @Override
public float getAverageGetTime() {
return self().getAverageGetTime();
}
+ @Override
public BootstrapCacheLoader getBootstrapCacheLoader() {
return self().getBootstrapCacheLoader();
}
+ @Override
public CacheConfiguration getCacheConfiguration() {
if (self == null) {
// In Ehcache 1.7, BlockingCache wants to ask us if we are
@@ -131,263 +146,423 @@ final class ProxyEhcache implements Ehcache {
return self().getCacheConfiguration();
}
+ @Override
public RegisteredEventListeners getCacheEventNotificationService() {
return self().getCacheEventNotificationService();
}
+ @Override
public CacheExceptionHandler getCacheExceptionHandler() {
return self().getCacheExceptionHandler();
}
+ @Override
public CacheManager getCacheManager() {
return self().getCacheManager();
}
+ @Override
public int getDiskStoreSize() throws IllegalStateException {
return self().getDiskStoreSize();
}
+ @Override
public String getGuid() {
return self().getGuid();
}
@SuppressWarnings("unchecked")
+ @Override
public List getKeys() throws IllegalStateException, CacheException {
return self().getKeys();
}
@SuppressWarnings("unchecked")
+ @Override
public List getKeysNoDuplicateCheck() throws IllegalStateException {
return self().getKeysNoDuplicateCheck();
}
@SuppressWarnings("unchecked")
+ @Override
public List getKeysWithExpiryCheck() throws IllegalStateException,
CacheException {
return self().getKeysWithExpiryCheck();
}
+ @Override
public long getMemoryStoreSize() throws IllegalStateException {
return self().getMemoryStoreSize();
}
+ @Override
public Element getQuiet(Object key) throws IllegalStateException,
CacheException {
return self().getQuiet(key);
}
+ @Override
public Element getQuiet(Serializable key) throws IllegalStateException,
CacheException {
return self().getQuiet(key);
}
+ @Override
public List getRegisteredCacheExtensions() {
return self().getRegisteredCacheExtensions();
}
+ @Override
public List getRegisteredCacheLoaders() {
return self().getRegisteredCacheLoaders();
}
+ @Override
public int getSize() throws IllegalStateException, CacheException {
return self().getSize();
}
+ @Override
public Statistics getStatistics() throws IllegalStateException {
return self().getStatistics();
}
+ @Override
public int getStatisticsAccuracy() {
return self().getStatisticsAccuracy();
}
+ @Override
public Status getStatus() {
return self().getStatus();
}
+ @Override
public Element getWithLoader(Object key, CacheLoader loader,
Object loaderArgument) throws CacheException {
return self().getWithLoader(key, loader, loaderArgument);
}
+ @Override
public void initialise() {
self().initialise();
}
+ @Override
public boolean isDisabled() {
return self().isDisabled();
}
+ @Override
public boolean isElementInMemory(Object key) {
return self().isElementInMemory(key);
}
+ @Override
public boolean isElementInMemory(Serializable key) {
return self().isElementInMemory(key);
}
+ @Override
public boolean isElementOnDisk(Object key) {
return self().isElementOnDisk(key);
}
+ @Override
public boolean isElementOnDisk(Serializable key) {
return self().isElementOnDisk(key);
}
+ @Override
public boolean isExpired(Element element) throws IllegalStateException,
NullPointerException {
return self().isExpired(element);
}
+ @Override
public boolean isKeyInCache(Object key) {
return self().isKeyInCache(key);
}
+ @Override
public boolean isValueInCache(Object value) {
return self().isValueInCache(value);
}
+ @Override
public void load(Object key) throws CacheException {
self().load(key);
}
@SuppressWarnings("unchecked")
+ @Override
public void loadAll(Collection keys, Object argument) throws CacheException {
self().loadAll(keys, argument);
}
+ @Override
public void put(Element element, boolean doNotNotifyCacheReplicators)
throws IllegalArgumentException, IllegalStateException, CacheException {
self().put(element, doNotNotifyCacheReplicators);
}
+ @Override
public void put(Element element) throws IllegalArgumentException,
IllegalStateException, CacheException {
self().put(element);
}
+ @Override
public void putQuiet(Element element) throws IllegalArgumentException,
IllegalStateException, CacheException {
self().putQuiet(element);
}
+ @Override
public void registerCacheExtension(CacheExtension cacheExtension) {
self().registerCacheExtension(cacheExtension);
}
+ @Override
public void registerCacheLoader(CacheLoader cacheLoader) {
self().registerCacheLoader(cacheLoader);
}
+ @Override
public boolean remove(Object key, boolean doNotNotifyCacheReplicators)
throws IllegalStateException {
return self().remove(key, doNotNotifyCacheReplicators);
}
+ @Override
public boolean remove(Object key) throws IllegalStateException {
return self().remove(key);
}
+ @Override
public boolean remove(Serializable key, boolean doNotNotifyCacheReplicators)
throws IllegalStateException {
return self().remove(key, doNotNotifyCacheReplicators);
}
+ @Override
public boolean remove(Serializable key) throws IllegalStateException {
return self().remove(key);
}
+ @Override
public void removeAll() throws IllegalStateException, CacheException {
self().removeAll();
}
+ @Override
public void removeAll(boolean doNotNotifyCacheReplicators)
throws IllegalStateException, CacheException {
self().removeAll(doNotNotifyCacheReplicators);
}
+ @Override
public boolean removeQuiet(Object key) throws IllegalStateException {
return self().removeQuiet(key);
}
+ @Override
public boolean removeQuiet(Serializable key) throws IllegalStateException {
return self().removeQuiet(key);
}
+ @Override
public void setBootstrapCacheLoader(BootstrapCacheLoader bootstrapCacheLoader)
throws CacheException {
self().setBootstrapCacheLoader(bootstrapCacheLoader);
}
+ @Override
public void setCacheExceptionHandler(
CacheExceptionHandler cacheExceptionHandler) {
self().setCacheExceptionHandler(cacheExceptionHandler);
}
+ @Override
public void setCacheManager(CacheManager cacheManager) {
self().setCacheManager(cacheManager);
}
+ @Override
public void setDisabled(boolean disabled) {
self().setDisabled(disabled);
}
+ @Override
public void setDiskStorePath(String diskStorePath) throws CacheException {
self().setDiskStorePath(diskStorePath);
}
+ @Override
public void setStatisticsAccuracy(int statisticsAccuracy) {
self().setStatisticsAccuracy(statisticsAccuracy);
}
+ @Override
public void unregisterCacheExtension(CacheExtension cacheExtension) {
self().unregisterCacheExtension(cacheExtension);
}
+ @Override
public void unregisterCacheLoader(CacheLoader cacheLoader) {
self().unregisterCacheLoader(cacheLoader);
}
+ @Override
public Object getInternalContext() {
- return self.getInternalContext();
+ return self().getInternalContext();
}
+ @Override
public LiveCacheStatistics getLiveCacheStatistics() throws IllegalStateException {
- return self.getLiveCacheStatistics();
+ return self().getLiveCacheStatistics();
}
+ @Override
public SampledCacheStatistics getSampledCacheStatistics() {
- return self.getSampledCacheStatistics();
+ return self().getSampledCacheStatistics();
}
+ @Override
public int getSizeBasedOnAccuracy(int statisticsAccuracy) throws IllegalArgumentException,
IllegalStateException, CacheException {
- return self.getSizeBasedOnAccuracy(statisticsAccuracy);
+ return self().getSizeBasedOnAccuracy(statisticsAccuracy);
}
+ @Override
public boolean isSampledStatisticsEnabled() {
- return self.isSampledStatisticsEnabled();
+ return self().isSampledStatisticsEnabled();
}
+ @Override
public boolean isStatisticsEnabled() {
- return self.isStatisticsEnabled();
+ return self().isStatisticsEnabled();
}
+ @Override
public void registerCacheUsageListener(CacheUsageListener cacheUsageListener)
throws IllegalStateException {
- self.registerCacheUsageListener(cacheUsageListener);
+ self().registerCacheUsageListener(cacheUsageListener);
}
+ @Override
public void removeCacheUsageListener(CacheUsageListener cacheUsageListener)
throws IllegalStateException {
- self.removeCacheUsageListener(cacheUsageListener);
+ self().removeCacheUsageListener(cacheUsageListener);
}
+ @Override
public void setSampledStatisticsEnabled(boolean enableStatistics) {
- self.setSampledStatisticsEnabled(enableStatistics);
+ self().setSampledStatisticsEnabled(enableStatistics);
}
+ @Override
public void setStatisticsEnabled(boolean enableStatistics) {
- self.setStatisticsEnabled(enableStatistics);
+ self().setStatisticsEnabled(enableStatistics);
+ }
+
+ @Override
+ public void putWithWriter(Element element) throws IllegalArgumentException, IllegalStateException, CacheException {
+ self().putWithWriter(element);
+ }
+
+ @Override
+ public Element putIfAbsent(Element element) throws NullPointerException {
+ return self().putIfAbsent(element);
+ }
+
+ @Override
+ public boolean removeElement(Element element) throws NullPointerException {
+ return self().removeElement(element);
+ }
+
+ @Override
+ public boolean replace(Element element, Element element1) throws NullPointerException, IllegalArgumentException {
+ return self().replace(element, element1);
+ }
+
+ @Override
+ public Element replace(Element element) throws NullPointerException {
+ return self().replace(element);
+ }
+
+ @Override
+ public boolean removeWithWriter(Object o) throws IllegalStateException, CacheException {
+ return self().removeWithWriter(o);
+ }
+
+ @Override
+ public long calculateOffHeapSize() throws IllegalStateException, CacheException {
+ return self().calculateOffHeapSize();
+ }
+
+ @Override
+ public long getOffHeapStoreSize() throws IllegalStateException {
+ return self().getOffHeapStoreSize();
+ }
+
+ @Override
+ public void registerCacheWriter(CacheWriter cacheWriter) {
+ self().registerCacheWriter(cacheWriter);
+ }
+
+ @Override
+ public void unregisterCacheWriter() {
+ self().unregisterCacheWriter();
+ }
+
+ @Override
+ public CacheWriter getRegisteredCacheWriter() {
+ return self().getRegisteredCacheWriter();
+ }
+
+ @Override
+ public void disableDynamicFeatures() {
+ self().disableDynamicFeatures();
+ }
+
+ @Override
+ public CacheWriterManager getWriterManager() {
+ return self().getWriterManager();
+ }
+
+ @Override
+ public boolean isClusterCoherent() {
+ return self().isClusterCoherent();
+ }
+
+ @Override
+ public boolean isNodeCoherent() {
+ return self().isNodeCoherent();
+ }
+
+ @Override
+ public void setNodeCoherent(boolean b) throws UnsupportedOperationException {
+ self().setNodeCoherent(b);
+ }
+
+ @Override
+ public void waitUntilClusterCoherent() throws UnsupportedOperationException {
+ self().waitUntilClusterCoherent();
+ }
+
+ @Override
+ public void setTransactionManagerLookup(TransactionManagerLookup transactionManagerLookup) {
+ self().setTransactionManagerLookup(transactionManagerLookup);
+ }
+
+ @Override
+ public void addPropertyChangeListener(PropertyChangeListener propertyChangeListener) {
+ self().addPropertyChangeListener(propertyChangeListener);
+ }
+
+ @Override
+ public void removePropertyChangeListener(PropertyChangeListener propertyChangeListener) {
+ self().removePropertyChangeListener(propertyChangeListener);
}
}
diff --git a/pom.xml b/pom.xml
index ee8ad688a2..8f0df57b55 100644
--- a/pom.xml
+++ b/pom.xml
@@ -56,7 +56,7 @@ limitations under the License.
7.2.1.v20101111
1.0
- false
+ false
UTF-8
@@ -497,7 +497,7 @@ limitations under the License.
net.sf.ehcache
ehcache-core
- 1.7.2
+ 2.3.0
@@ -540,7 +540,7 @@ limitations under the License.
commons-net
commons-net
- 2.0
+ 2.2
@@ -558,7 +558,7 @@ limitations under the License.
commons-pool
commons-pool
- 1.5.4
+ 1.5.5
@@ -681,13 +681,13 @@ limitations under the License.
com.h2database
h2
- 1.2.134
+ 1.2.147
postgresql
postgresql
- 8.4-701.jdbc4
+ 9.0-801.jdbc4
@@ -712,7 +712,7 @@ limitations under the License.
org.apache.tomcat
servlet-api
- 6.0.24
+ 6.0.29