Merge branch 'stable-2.11'

* stable-2.11:
  Do not backup empty local database
  Fix SQLModule class name case to match others
  Move sql store implementation into its own package
  Check that local db exists before restoring events

Change-Id: I9d3c719926adf81ae26541aab6e558035007e7d9
diff --git a/lib/BUCK b/lib/BUCK
index 5e5b5bd..8b0ec04 100644
--- a/lib/BUCK
+++ b/lib/BUCK
@@ -16,15 +16,24 @@
 
 maven_jar(
   name = 'junit',
-  id = 'junit:junit:4.10',
-  sha1 = 'e4f1766ce7404a08f45d859fb9c226fc9e41a861',
+  id = 'junit:junit:4.11',
+  sha1 = '4e031bb61df09069aeb2bffb4019e7a5034a4ee0',
   license = 'DO_NOT_DISTRIBUTE',
+  exported_deps = [':hamcrest-core'],
+)
+
+maven_jar(
+  name = 'hamcrest-core',
+  id = 'org.hamcrest:hamcrest-core:1.3',
+  sha1 = '42a25dc3219429f0e5d060061f71acb49bf010a0',
+  license = 'DO_NOT_DISTRIBUTE',
+  visibility = ['//lib:junit'],
 )
 
 maven_jar(
   name = 'truth',
-  id = 'com.google.truth:truth:0.25',
-  sha1 = '503ba892e8482976b81eb2b2df292858fbac3782',
+  id = 'com.google.truth:truth:0.26',
+  sha1 = 'b5802815625d82f39c33219299771f3d64301b06',
   license = 'DO_NOT_DISTRIBUTE',
   exported_deps = [
     ':guava',
diff --git a/lib/easymock/BUCK b/lib/easymock/BUCK
index 2a774a9..11d95a4 100644
--- a/lib/easymock/BUCK
+++ b/lib/easymock/BUCK
@@ -2,8 +2,8 @@
 
 maven_jar(
   name = 'easymock',
-  id = 'org.easymock:easymock:3.2',
-  sha1 = '00c82f7fa3ef377d8954b1db25123944b5af2ba4',
+  id = 'org.easymock:easymock:3.3.1',
+  sha1 = 'a497d7f00c9af78b72b6d8f24762d9210309148a',
   license = 'DO_NOT_DISTRIBUTE',
   deps = [
     ':cglib-2_2',
@@ -21,8 +21,8 @@
 
 maven_jar(
   name = 'objenesis',
-  id = 'org.objenesis:objenesis:1.2',
-  sha1 = 'bfcb0539a071a4c5a30690388903ac48c0667f2a',
+  id = 'org.objenesis:objenesis:2.1',
+  sha1 = '87c0ea803b69252868d09308b4618f766f135a96',
   license = 'DO_NOT_DISTRIBUTE',
   visibility = ['//lib/powermock:powermock-reflect'],
   attach_source = False,
diff --git a/lib/gerrit/BUCK b/lib/gerrit/BUCK
index 37e0081..85b90a8 100644
--- a/lib/gerrit/BUCK
+++ b/lib/gerrit/BUCK
@@ -1,12 +1,11 @@
 include_defs('//bucklets/maven_jar.bucklet')
 
-VER = '2.11.1'
-REPO = MAVEN_CENTRAL
+VER = '2.12-SNAPSHOT'
+REPO = MAVEN_LOCAL
 
 maven_jar(
   name = 'plugin-api',
   id = 'com.google.gerrit:gerrit-plugin-api:' + VER,
-  sha1 = 'ac0ff45ff294b6f92c1c5cb0e166be6c3803bcd2',
   license = 'Apache2.0',
   attach_source = False,
   repository = REPO,
diff --git a/src/test/java/com/ericsson/gerrit/plugins/eventslog/EventsLogConfigTest.java b/src/test/java/com/ericsson/gerrit/plugins/eventslog/EventsLogConfigTest.java
index d5943e1..3e939a4 100644
--- a/src/test/java/com/ericsson/gerrit/plugins/eventslog/EventsLogConfigTest.java
+++ b/src/test/java/com/ericsson/gerrit/plugins/eventslog/EventsLogConfigTest.java
@@ -47,7 +47,8 @@
 import org.junit.Test;
 import org.junit.rules.TemporaryFolder;
 
-import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.nio.file.Files;
 
 public class EventsLogConfigTest {
   private SitePaths site;
@@ -62,10 +63,10 @@
   public TemporaryFolder gerrit_site = new TemporaryFolder();
 
   @Before
-  public void setUp() throws FileNotFoundException {
+  public void setUp() throws IOException {
     easyMock = new EasyMockSupport();
-    site = new SitePaths(gerrit_site.getRoot());
-    site.etc_dir.mkdirs();
+    site = new SitePaths(gerrit_site.getRoot().toPath());
+    Files.createDirectories(site.etc_dir);
     defaultLocalStorePath = site.site_path.toString() + "/events-db/";
     configMock = easyMock.createMock(PluginConfig.class);
     cfgFactoryMock = easyMock.createMock(PluginConfigFactory.class);
diff --git a/src/test/java/com/ericsson/gerrit/plugins/eventslog/EventsRestApiServletTest.java b/src/test/java/com/ericsson/gerrit/plugins/eventslog/EventsRestApiServletTest.java
index abc5f48..8df7942 100644
--- a/src/test/java/com/ericsson/gerrit/plugins/eventslog/EventsRestApiServletTest.java
+++ b/src/test/java/com/ericsson/gerrit/plugins/eventslog/EventsRestApiServletTest.java
@@ -15,6 +15,7 @@
 package com.ericsson.gerrit.plugins.eventslog;
 
 import static com.google.common.truth.Truth.assertThat;
+import static org.easymock.EasyMock.newCapture;
 import static org.easymock.EasyMock.capture;
 import static org.easymock.EasyMock.expect;
 import static org.easymock.EasyMock.expectLastCall;
@@ -73,7 +74,7 @@
     Map<String, String> paramMock = new HashMap<>();
     paramMock.put("a", "1");
     paramMock.put("b", "2");
-    Capture<Map<String, String>> catcher = new Capture<>();
+    Capture<Map<String, String>> catcher = newCapture();
     easyMock.resetAll();
     expect(userProviderMock.get()).andStubReturn(userMock);
     expect(userMock.isIdentifiedUser()).andStubReturn(true);
@@ -91,7 +92,7 @@
   @Test
   public void badQueryString() throws Exception {
     String queryStringMock = "a;b";
-    Capture<Map<String, String>> catcher = new Capture<>();
+    Capture<Map<String, String>> catcher = newCapture();
     easyMock.resetAll();
     expect(userProviderMock.get()).andStubReturn(userMock);
     expect(userMock.isIdentifiedUser()).andStubReturn(true);
diff --git a/src/test/java/com/ericsson/gerrit/plugins/eventslog/sql/SQLStoreTest.java b/src/test/java/com/ericsson/gerrit/plugins/eventslog/sql/SQLStoreTest.java
index e4787e1..e8aaa51 100644
--- a/src/test/java/com/ericsson/gerrit/plugins/eventslog/sql/SQLStoreTest.java
+++ b/src/test/java/com/ericsson/gerrit/plugins/eventslog/sql/SQLStoreTest.java
@@ -302,11 +302,14 @@
     NoSuchProjectException e =
         easyMock.createNiceMock(NoSuchProjectException.class);
     expect(
-        pcFactoryMock.controlFor(EasyMock.anyObject(Project.NameKey.class),
-            EasyMock.anyObject(CurrentUser.class))).andReturn(pc).times(2);
+        pcFactoryMock.controlFor(EasyMock.eq(mockEvent.getProjectNameKey()),
+            EasyMock.anyObject(CurrentUser.class))).andReturn(pc).once();
+    expect(
+        pcFactoryMock.controlFor(EasyMock.eq(mockEvent2.getProjectNameKey()),
+            EasyMock.anyObject(CurrentUser.class))).andReturn(pc).once();
     expect(pc.isVisible()).andReturn(true).times(2);
     expect(
-        pcFactoryMock.controlFor(EasyMock.anyObject(Project.NameKey.class),
+        pcFactoryMock.controlFor(EasyMock.eq(mockEvent3.getProjectNameKey()),
             EasyMock.anyObject(CurrentUser.class))).andThrow(e);
     easyMock.replayAll();