Adjust to changes in Gerrit core

Change-Id: Ib03ad58339ec6cfe4fb9bd15d048d3af7685d49c
diff --git a/src/main/java/com/googlesource/gerrit/plugins/deleteproject/DeleteProject.java b/src/main/java/com/googlesource/gerrit/plugins/deleteproject/DeleteProject.java
index 4b36826..40463b2 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/deleteproject/DeleteProject.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/deleteproject/DeleteProject.java
@@ -86,7 +86,7 @@
       if (!preserve || !cfg.projectOnPreserveHidden()) {
         dbHandler.delete(project);
         try {
-          fsHandler.delete(project, preserve);
+          fsHandler.delete(project.getNameKey(), preserve);
         } catch (RepositoryNotFoundException e) {
           throw new ResourceNotFoundException(project.getName(), e);
         }
diff --git a/src/main/java/com/googlesource/gerrit/plugins/deleteproject/HideProject.java b/src/main/java/com/googlesource/gerrit/plugins/deleteproject/HideProject.java
index 7656726..c23be2b 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/deleteproject/HideProject.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/deleteproject/HideProject.java
@@ -62,8 +62,7 @@
       MetaDataUpdate md = metaDataUpdateFactory.create(rsrc.getNameKey());
 
       ProjectConfig projectConfig = projectConfigFactory.read(md);
-      Project p = projectConfig.getProject();
-      p.setState(ProjectState.HIDDEN);
+      projectConfig.updateProject(p -> p.setState(ProjectState.HIDDEN));
 
       for (AccessSection as : projectConfig.getAccessSections()) {
         projectConfig.remove(as);
@@ -71,7 +70,7 @@
 
       String parentForDeletedProjects = cfg.getDeletedProjectsParent();
       createProjectIfMissing(parentForDeletedProjects);
-      p.setParentName(parentForDeletedProjects);
+      projectConfig.updateProject(p -> p.setParent(parentForDeletedProjects));
 
       md.setMessage("Hide project\n");
       projectConfig.commit(md);
diff --git a/src/main/java/com/googlesource/gerrit/plugins/deleteproject/fs/FilesystemDeleteHandler.java b/src/main/java/com/googlesource/gerrit/plugins/deleteproject/fs/FilesystemDeleteHandler.java
index a5436c1..053b2fc 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/deleteproject/fs/FilesystemDeleteHandler.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/deleteproject/fs/FilesystemDeleteHandler.java
@@ -58,14 +58,14 @@
     this.config = config;
   }
 
-  public void delete(Project project, boolean preserveGitRepository)
+  public void delete(Project.NameKey project, boolean preserveGitRepository)
       throws IOException, RepositoryNotFoundException {
     // Remove from the jgit cache
-    Repository repository = repoManager.openRepository(project.getNameKey());
+    Repository repository = repoManager.openRepository(project);
     cleanCache(repository);
     if (!preserveGitRepository) {
       Path repoPath = repository.getDirectory().toPath();
-      String projectName = project.getNameKey().get();
+      String projectName = project.get();
       if (config.shouldArchiveDeletedRepos()) {
         archiveGitRepository(projectName, repoPath);
       } else {
diff --git a/src/test/java/com/googlesource/gerrit/plugins/deleteproject/fs/FilesystemDeleteHandlerTest.java b/src/test/java/com/googlesource/gerrit/plugins/deleteproject/fs/FilesystemDeleteHandlerTest.java
index ce291e4..9cffd14 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/deleteproject/fs/FilesystemDeleteHandlerTest.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/deleteproject/fs/FilesystemDeleteHandlerTest.java
@@ -63,11 +63,10 @@
     String repoName = "testRepo";
     Repository repository = createRepository(repoName);
     Project.NameKey nameKey = Project.nameKey(repoName);
-    Project project = new Project(nameKey);
     when(repoManager.openRepository(nameKey)).thenReturn(repository);
     when(config.shouldArchiveDeletedRepos()).thenReturn(false);
     fsDeleteHandler = new FilesystemDeleteHandler(repoManager, deletedListener, config);
-    fsDeleteHandler.delete(project, false);
+    fsDeleteHandler.delete(nameKey, false);
     assertThat(repository.getDirectory().exists()).isFalse();
   }
 
@@ -76,10 +75,9 @@
     String repoName = "a/b/c";
     Repository repository = createRepository(repoName);
     Project.NameKey nameKey = Project.nameKey(repoName);
-    Project project = new Project(nameKey);
     when(repoManager.openRepository(nameKey)).thenReturn(repository);
     fsDeleteHandler = new FilesystemDeleteHandler(repoManager, deletedListener, config);
-    fsDeleteHandler.delete(project, false);
+    fsDeleteHandler.delete(nameKey, false);
     assertThat(repository.getDirectory().exists()).isFalse();
   }
 
@@ -92,10 +90,9 @@
     Repository repoToKeep = createRepository(repoToKeepName);
 
     Project.NameKey nameKey = Project.nameKey(repoToDeleteName);
-    Project project = new Project(nameKey);
     when(repoManager.openRepository(nameKey)).thenReturn(repoToDelete);
     fsDeleteHandler = new FilesystemDeleteHandler(repoManager, deletedListener, config);
-    fsDeleteHandler.delete(project, false);
+    fsDeleteHandler.delete(nameKey, false);
     assertThat(repoToDelete.getDirectory().exists()).isFalse();
     assertThat(repoToKeep.getDirectory().exists()).isTrue();
   }
@@ -105,10 +102,9 @@
     String repoName = "preservedRepo";
     Repository repository = createRepository(repoName);
     Project.NameKey nameKey = Project.nameKey(repoName);
-    Project project = new Project(nameKey);
     when(repoManager.openRepository(nameKey)).thenReturn(repository);
     fsDeleteHandler = new FilesystemDeleteHandler(repoManager, deletedListener, config);
-    fsDeleteHandler.delete(project, true);
+    fsDeleteHandler.delete(nameKey, true);
     assertThat(repository.getDirectory().exists()).isTrue();
   }
 
@@ -127,10 +123,9 @@
     when(config.shouldArchiveDeletedRepos()).thenReturn(true);
     when(config.getArchiveFolder()).thenReturn(archiveFolder);
     Project.NameKey nameKey = Project.nameKey(repoName);
-    Project project = new Project(nameKey);
     when(repoManager.openRepository(nameKey)).thenReturn(repository);
     fsDeleteHandler = new FilesystemDeleteHandler(repoManager, deletedListener, config);
-    fsDeleteHandler.delete(project, false);
+    fsDeleteHandler.delete(nameKey, false);
     assertThat(repository.getDirectory().exists()).isFalse();
     String patternToVerify = archiveFolder.resolve(repoName).toString() + "*%archived%.git";
     assertThat(pathExistsWithPattern(archiveFolder, patternToVerify)).isTrue();