Java tutorial
/* * Copyright 2017. ThoughtWorks, Inc. * * 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 cd.go.notification.gitter; import cd.go.notification.gitter.exceptions.ServerRequestFailedException; import cd.go.notification.gitter.models.PluginSettings; import com.thoughtworks.go.plugin.api.GoApplicationAccessor; import com.thoughtworks.go.plugin.api.request.DefaultGoApiRequest; import com.thoughtworks.go.plugin.api.response.GoApiResponse; import org.apache.commons.lang3.StringUtils; public class PluginRequest { private final GoApplicationAccessor accessor; public PluginRequest(GoApplicationAccessor accessor) { this.accessor = accessor; } public PluginSettings getPluginSettings() throws ServerRequestFailedException { DefaultGoApiRequest request = new DefaultGoApiRequest(Constants.REQUEST_SERVER_GET_PLUGIN_SETTINGS, Constants.API_VERSION, Constants.PLUGIN_IDENTIFIER); GoApiResponse response = accessor.submit(request); if (response.responseCode() != 200) { throw ServerRequestFailedException.getPluginSettings(response); } if (StringUtils.isNotBlank(response.responseBody())) { return PluginSettings.fromJSON(response.responseBody()); } return new PluginSettings(); } }