Merge changes from topic 'plugin-api'
* changes: ServerInfoIT: Use API to install plugin Add implementation of PluginApi PluginLoader: Ensure that $site/plugins folder exists Plugins#ListRequest: Remove parameter from all() method
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
// Copyright (C) 2017 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.plugins;
|
||||
|
||||
import com.google.gerrit.extensions.common.PluginInfo;
|
||||
import com.google.gerrit.extensions.restapi.NotImplementedException;
|
||||
import com.google.gerrit.extensions.restapi.RestApiException;
|
||||
|
||||
public interface PluginApi {
|
||||
PluginInfo get() throws RestApiException;
|
||||
|
||||
void enable() throws RestApiException;
|
||||
|
||||
void disable() throws RestApiException;
|
||||
|
||||
void reload() throws RestApiException;
|
||||
|
||||
/**
|
||||
* A default implementation which allows source compatibility when adding new methods to the
|
||||
* interface.
|
||||
*/
|
||||
class NotImplemented implements PluginApi {
|
||||
@Override
|
||||
public PluginInfo get() throws RestApiException {
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void enable() throws RestApiException {
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void disable() throws RestApiException {
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void reload() throws RestApiException {
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -14,6 +14,7 @@
|
||||
|
||||
package com.google.gerrit.extensions.api.plugins;
|
||||
|
||||
import com.google.gerrit.extensions.common.InstallPluginInput;
|
||||
import com.google.gerrit.extensions.common.PluginInfo;
|
||||
import com.google.gerrit.extensions.restapi.NotImplementedException;
|
||||
import com.google.gerrit.extensions.restapi.RestApiException;
|
||||
@@ -24,7 +25,11 @@ import java.util.SortedMap;
|
||||
|
||||
public interface Plugins {
|
||||
|
||||
ListRequest list();
|
||||
ListRequest list() throws RestApiException;
|
||||
|
||||
PluginApi name(String name) throws RestApiException;
|
||||
|
||||
PluginApi install(String name, InstallPluginInput input) throws RestApiException;
|
||||
|
||||
abstract class ListRequest {
|
||||
private boolean all;
|
||||
@@ -40,8 +45,8 @@ public interface Plugins {
|
||||
|
||||
public abstract SortedMap<String, PluginInfo> getAsMap() throws RestApiException;
|
||||
|
||||
public ListRequest all(boolean all) {
|
||||
this.all = all;
|
||||
public ListRequest all() {
|
||||
this.all = true;
|
||||
return this;
|
||||
}
|
||||
|
||||
@@ -59,5 +64,15 @@ public interface Plugins {
|
||||
public ListRequest list() {
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
@Override
|
||||
public PluginApi name(String name) {
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
@Override
|
||||
public PluginApi install(String name, InstallPluginInput input) throws RestApiException {
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user