Removed AccessApi and AccessApi Impl

I have implemented the logic from this class
directly in ProjectApi to remove overhead

Change-Id: I0a79a3095ccfb0dbbf288355d084b008e82d7696
diff --git a/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/api/projects/AccessApi.java b/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/api/projects/AccessApi.java
deleted file mode 100644
index bd6035f..0000000
--- a/gerrit-extension-api/src/main/java/com/google/gerrit/extensions/api/projects/AccessApi.java
+++ /dev/null
@@ -1,34 +0,0 @@
-// Copyright (C) 2016 The Android Open Source Project
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-package com.google.gerrit.extensions.api.projects;
-
-import com.google.gerrit.extensions.api.access.ProjectAccessInfo;
-import com.google.gerrit.extensions.restapi.NotImplementedException;
-import com.google.gerrit.extensions.restapi.RestApiException;
-
-public interface AccessApi {
-  ProjectAccessInfo get() throws RestApiException;
-
-  /**
-   * A default implementation which allows source compatibility
-   * when adding new methods to the interface.
-   **/
-  class NotImplemented implements AccessApi {
-    @Override
-    public ProjectAccessInfo get() throws RestApiException {
-      throw new NotImplementedException();
-    }
-  }
-}
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/api/projects/AccessApiImpl.java b/gerrit-server/src/main/java/com/google/gerrit/server/api/projects/AccessApiImpl.java
deleted file mode 100644
index 9bc4d39..0000000
--- a/gerrit-server/src/main/java/com/google/gerrit/server/api/projects/AccessApiImpl.java
+++ /dev/null
@@ -1,50 +0,0 @@
-// Copyright (C) 2016 The Android Open Source Project
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-package com.google.gerrit.server.api.projects;
-
-import com.google.gerrit.extensions.api.projects.AccessApi;
-import com.google.gerrit.extensions.api.access.ProjectAccessInfo;
-import com.google.gerrit.extensions.restapi.RestApiException;
-import com.google.gerrit.server.project.GetAccess;
-import com.google.gerrit.server.project.ProjectResource;
-import com.google.inject.Inject;
-import com.google.inject.assistedinject.Assisted;
-
-import java.io.IOException;
-
-public class AccessApiImpl implements AccessApi {
-  interface Factory {
-    AccessApiImpl create(ProjectResource project);
-  }
-
-  private final ProjectResource project;
-  private final GetAccess getAccess;
-
-  @Inject
-  AccessApiImpl(GetAccess getAccess,
-    @Assisted ProjectResource project) {
-    this.project = project;
-    this.getAccess = getAccess;
-  }
-
-  @Override
-  public ProjectAccessInfo get() throws RestApiException {
-    try {
-      return getAccess.apply(project);
-    } catch (IOException e) {
-      throw new RestApiException("Cannot get access rights", e);
-    }
-  }
-}
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/api/projects/Module.java b/gerrit-server/src/main/java/com/google/gerrit/server/api/projects/Module.java
index f7a4306..975e6c1 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/api/projects/Module.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/api/projects/Module.java
@@ -26,6 +26,5 @@
     factory(TagApiImpl.Factory.class);
     factory(ProjectApiImpl.Factory.class);
     factory(ChildProjectApiImpl.Factory.class);
-    factory(AccessApiImpl.Factory.class);
   }
 }
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/api/projects/ProjectApiImpl.java b/gerrit-server/src/main/java/com/google/gerrit/server/api/projects/ProjectApiImpl.java
index 01aeba2..2378e62 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/api/projects/ProjectApiImpl.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/api/projects/ProjectApiImpl.java
@@ -35,6 +35,7 @@
 import com.google.gerrit.server.CurrentUser;
 import com.google.gerrit.server.project.ChildProjectsCollection;
 import com.google.gerrit.server.project.CreateProject;
+import com.google.gerrit.server.project.GetAccess;
 import com.google.gerrit.server.project.GetDescription;
 import com.google.gerrit.server.project.ListBranches;
 import com.google.gerrit.server.project.ListChildProjects;
@@ -71,7 +72,7 @@
   private final String name;
   private final BranchApiImpl.Factory branchApi;
   private final TagApiImpl.Factory tagApi;
-  private final AccessApiImpl.Factory accessApi;
+  private final GetAccess getAccess;
   private final Provider<ListBranches> listBranchesProvider;
   private final Provider<ListTags> listTagsProvider;
 
@@ -87,13 +88,13 @@
       ProjectJson projectJson,
       BranchApiImpl.Factory branchApiFactory,
       TagApiImpl.Factory tagApiFactory,
-      AccessApiImpl.Factory accessApiFactory,
+      GetAccess getAccess,
       Provider<ListBranches> listBranchesProvider,
       Provider<ListTags> listTagsProvider,
       @Assisted ProjectResource project) {
     this(user, createProjectFactory, projectApi, projects, getDescription,
         putDescription, childApi, children, projectJson, branchApiFactory,
-        tagApiFactory, accessApiFactory, listBranchesProvider, listTagsProvider,
+        tagApiFactory, getAccess, listBranchesProvider, listTagsProvider,
         project, null);
   }
 
@@ -109,13 +110,13 @@
       ProjectJson projectJson,
       BranchApiImpl.Factory branchApiFactory,
       TagApiImpl.Factory tagApiFactory,
-      AccessApiImpl.Factory accessApiFactory,
+      GetAccess getAccess,
       Provider<ListBranches> listBranchesProvider,
       Provider<ListTags> listTagsProvider,
       @Assisted String name) {
     this(user, createProjectFactory, projectApi, projects, getDescription,
         putDescription, childApi, children, projectJson, branchApiFactory,
-        tagApiFactory, accessApiFactory, listBranchesProvider, listTagsProvider,
+        tagApiFactory, getAccess, listBranchesProvider, listTagsProvider,
         null, name);
   }
 
@@ -130,7 +131,7 @@
       ProjectJson projectJson,
       BranchApiImpl.Factory branchApiFactory,
       TagApiImpl.Factory tagApiFactory,
-      AccessApiImpl.Factory accessApiFactory,
+      GetAccess getAccess,
       Provider<ListBranches> listBranchesProvider,
       Provider<ListTags> listTagsProvider,
       ProjectResource project,
@@ -148,7 +149,7 @@
     this.name = name;
     this.branchApi = branchApiFactory;
     this.tagApi = tagApiFactory;
-    this.accessApi = accessApiFactory;
+    this.getAccess = getAccess;
     this.listBranchesProvider = listBranchesProvider;
     this.listTagsProvider = listTagsProvider;
   }
@@ -191,7 +192,11 @@
 
   @Override
   public ProjectAccessInfo access() throws RestApiException {
-    return accessApi.create(checkExists()).get();
+    try {
+      return getAccess.apply(checkExists());
+    } catch (IOException e) {
+      throw new RestApiException("Cannot get access rights", e);
+    }
   }
 
   @Override