import org.sonar.server.plugins.ws.InstalledAction;
import org.sonar.server.plugins.ws.PendingAction;
import org.sonar.server.plugins.ws.PluginUpdateAggregator;
-import org.sonar.server.plugins.ws.PluginWSCommons;
import org.sonar.server.plugins.ws.PluginsWs;
import org.sonar.server.plugins.ws.UninstallAction;
import org.sonar.server.plugins.ws.UpdatesAction;
SystemWs.class,
// Plugins WS
- PluginWSCommons.class,
PluginUpdateAggregator.class,
InstalledAction.class,
AvailableAction.class,
// edition
addIfStartupLeader(FinalizeEditionChange.class);
-
+
// system info
addIfCluster(WebSystemInfoModule.forClusterMode()).otherwiseAdd(WebSystemInfoModule.forStandaloneMode());
private static final String ARRAY_INCOMPATIBLE = "incompatible";
private final UpdateCenterMatrixFactory updateCenterFactory;
- private final PluginWSCommons pluginWSCommons;
- public UpgradesAction(UpdateCenterMatrixFactory updateCenterFactory, PluginWSCommons pluginWSCommons) {
+ public UpgradesAction(UpdateCenterMatrixFactory updateCenterFactory) {
this.updateCenterFactory = updateCenterFactory;
- this.pluginWSCommons = pluginWSCommons;
}
private static void writeMetadata(JsonWriter jsonWriter, Release release) {
public void handle(Request request, Response response) throws Exception {
try (JsonWriter jsonWriter = response.newJsonWriter()) {
jsonWriter.setSerializeEmptys(false);
-
writeResponse(jsonWriter);
-
- jsonWriter.close();
}
}
jsonWriter.endObject();
}
- private void writeUpgrades(JsonWriter jsonWriter, Optional<UpdateCenter> updateCenter) {
+ private static void writeUpgrades(JsonWriter jsonWriter, Optional<UpdateCenter> updateCenter) {
jsonWriter.name(ARRAY_UPGRADES).beginArray();
if (updateCenter.isPresent()) {
jsonWriter.endArray();
}
- private void writeUpgrade(JsonWriter jsonWriter, SonarUpdate sonarUpdate) {
+ private static void writeUpgrade(JsonWriter jsonWriter, SonarUpdate sonarUpdate) {
jsonWriter.beginObject();
writeMetadata(jsonWriter, sonarUpdate.getRelease());
jsonWriter.endObject();
}
- private void writePlugins(JsonWriter jsonWriter, SonarUpdate sonarUpdate) {
+ private static void writePlugins(JsonWriter jsonWriter, SonarUpdate sonarUpdate) {
jsonWriter.name(OBJECT_PLUGINS).beginObject();
writePluginsToUpdate(jsonWriter, sonarUpdate.getPluginsToUpgrade());
jsonWriter.endObject();
}
- private void writePluginsToUpdate(JsonWriter jsonWriter, List<Release> pluginsToUpgrade) {
+ private static void writePluginsToUpdate(JsonWriter jsonWriter, List<Release> pluginsToUpgrade) {
jsonWriter.name(ARRAY_REQUIRE_UPDATE).beginArray();
for (Release release : pluginsToUpgrade) {
jsonWriter.beginObject();
- pluginWSCommons.writePlugin(jsonWriter, (Plugin) release.getArtifact());
+ PluginWSCommons.writePlugin(jsonWriter, (Plugin) release.getArtifact());
String version = isNotBlank(release.getDisplayVersion()) ? release.getDisplayVersion() : release.getVersion().toString();
jsonWriter.prop(PROPERTY_VERSION, version);
jsonWriter.endArray();
}
- private void writeIncompatiblePlugins(JsonWriter jsonWriter, List<Plugin> incompatiblePlugins) {
+ private static void writeIncompatiblePlugins(JsonWriter jsonWriter, List<Plugin> incompatiblePlugins) {
jsonWriter.name(ARRAY_INCOMPATIBLE).beginArray();
for (Plugin incompatiblePlugin : incompatiblePlugins) {
jsonWriter.beginObject();
- pluginWSCommons.writePlugin(jsonWriter, incompatiblePlugin);
+ PluginWSCommons.writePlugin(jsonWriter, incompatiblePlugin);
jsonWriter.endObject();
}
@Override
public void start() {
- long begin = System.currentTimeMillis();
loadPreInstalledPlugins();
copyBundledPlugins();
moveDownloadedPlugins();
private final UserSession userSession;
private final UpdateCenterMatrixFactory updateCenterFactory;
- private final PluginWSCommons pluginWSCommons;
- public AvailableAction(UserSession userSession, UpdateCenterMatrixFactory updateCenterFactory, PluginWSCommons pluginWSCommons) {
+ public AvailableAction(UserSession userSession, UpdateCenterMatrixFactory updateCenterFactory) {
this.userSession = userSession;
this.updateCenterFactory = updateCenterFactory;
- this.pluginWSCommons = pluginWSCommons;
}
@Override
Optional<UpdateCenter> updateCenter = updateCenterFactory.getUpdateCenter(DO_NOT_FORCE_REFRESH);
writePlugins(jsonWriter, updateCenter);
- pluginWSCommons.writeUpdateCenterProperties(jsonWriter, updateCenter);
+ PluginWSCommons.writeUpdateCenterProperties(jsonWriter, updateCenter);
jsonWriter.endObject();
jsonWriter.close();
}
- private void writePlugins(JsonWriter jsonWriter, Optional<UpdateCenter> updateCenter) {
+ private static void writePlugins(JsonWriter jsonWriter, Optional<UpdateCenter> updateCenter) {
jsonWriter.name(ARRAY_PLUGINS).beginArray();
if (updateCenter.isPresent()) {
for (PluginUpdate pluginUpdate : retrieveAvailablePlugins(updateCenter.get())) {
- pluginWSCommons.writePluginUpdate(jsonWriter, pluginUpdate);
+ PluginWSCommons.writePluginUpdate(jsonWriter, pluginUpdate);
}
}
jsonWriter.endArray();
private static final String PROPERTY_HOMEPAGE_URL = "homepageUrl";
private static final String PROPERTY_ISSUE_TRACKER_URL = "issueTrackerUrl";
private static final String PROPERTY_EDITION_BUNDLED = "editionBundled";
- private static final String OBJECT_ARTIFACT = "artifact";
- private static final String PROPERTY_URL = "url";
private static final String PROPERTY_TERMS_AND_CONDITIONS_URL = "termsAndConditionsUrl";
private static final String OBJECT_UPDATE = "update";
private static final String OBJECT_RELEASE = "release";
public static final Comparator<PluginUpdate> NAME_KEY_PLUGIN_UPDATE_ORDERING = Ordering.from(NAME_KEY_PLUGIN_ORDERING)
.onResultOf(PluginUpdateToPlugin.INSTANCE);
+ private PluginWSCommons() {
+ // prevent instantiation
+ }
+
public static void writePluginInfo(JsonWriter json, PluginInfo pluginInfo, @Nullable String category, @Nullable PluginDto pluginDto, @Nullable InstalledPlugin installedFile) {
json.beginObject();
json.prop(PROPERTY_KEY, pluginInfo.getKey());
json.endObject();
}
- public void writePlugin(JsonWriter jsonWriter, Plugin plugin) {
+ public static void writePlugin(JsonWriter jsonWriter, Plugin plugin) {
jsonWriter.prop(PROPERTY_KEY, plugin.getKey());
jsonWriter.prop(PROPERTY_NAME, plugin.getName());
jsonWriter.prop(PROPERTY_CATEGORY, plugin.getCategory());
jsonWriter.prop(PROPERTY_EDITION_BUNDLED, isEditionBundled(plugin));
}
- public void writePluginUpdate(JsonWriter json, PluginUpdate pluginUpdate) {
+ public static void writePluginUpdate(JsonWriter json, PluginUpdate pluginUpdate) {
Plugin plugin = pluginUpdate.getPlugin();
json.beginObject();
json.endObject();
}
- public void writeRelease(JsonWriter jsonWriter, Release release) {
+ public static void writeRelease(JsonWriter jsonWriter, Release release) {
jsonWriter.name(OBJECT_RELEASE).beginObject();
String version = isNotBlank(release.getDisplayVersion()) ? release.getDisplayVersion() : release.getVersion().toString();
jsonWriter.endObject();
}
- public void writeArtifact(JsonWriter jsonWriter, Release release) {
+ public static void writeArtifact(JsonWriter jsonWriter, Release release) {
jsonWriter.name(OBJECT_ARTIFACT).beginObject();
jsonWriter.prop(PROPERTY_NAME, release.getFilename());
* }
* </pre>
*/
- public void writeUpdate(JsonWriter jsonWriter, PluginUpdate pluginUpdate) {
+ public static void writeUpdate(JsonWriter jsonWriter, PluginUpdate pluginUpdate) {
jsonWriter.name(OBJECT_UPDATE).beginObject();
writeUpdateProperties(jsonWriter, pluginUpdate);
* ]
* </pre>
*/
- public void writeUpdateProperties(JsonWriter jsonWriter, PluginUpdate pluginUpdate) {
+ public static void writeUpdateProperties(JsonWriter jsonWriter, PluginUpdate pluginUpdate) {
jsonWriter.prop(PROPERTY_STATUS, toJSon(pluginUpdate.getStatus()));
jsonWriter.name(ARRAY_REQUIRES).beginArray();
* "updateCenterRefresh": "2015-04-24T16:08:36+0200"
* </pre>
*/
- public void writeUpdateCenterProperties(JsonWriter json, Optional<UpdateCenter> updateCenter) {
+ public static void writeUpdateCenterProperties(JsonWriter json, Optional<UpdateCenter> updateCenter) {
if (updateCenter.isPresent()) {
json.propDateTime(PROPERTY_UPDATE_CENTER_REFRESH, updateCenter.get().getDate());
}
private final UserSession userSession;
private final UpdateCenterMatrixFactory updateCenterMatrixFactory;
- private final PluginWSCommons pluginWSCommons;
private final PluginUpdateAggregator aggregator;
public UpdatesAction(UserSession userSession, UpdateCenterMatrixFactory updateCenterMatrixFactory,
- PluginWSCommons pluginWSCommons,
PluginUpdateAggregator aggregator) {
this.userSession = userSession;
this.updateCenterMatrixFactory = updateCenterMatrixFactory;
- this.pluginWSCommons = pluginWSCommons;
this.aggregator = aggregator;
}
writePlugins(jsonWriter, updateCenter);
- pluginWSCommons.writeUpdateCenterProperties(jsonWriter, updateCenter);
+ PluginWSCommons.writeUpdateCenterProperties(jsonWriter, updateCenter);
jsonWriter.endObject();
jsonWriter.close();
jsonWriter.endArray();
}
- private void writePluginUpdateAggregate(JsonWriter jsonWriter, PluginUpdateAggregate aggregate) {
+ private static void writePluginUpdateAggregate(JsonWriter jsonWriter, PluginUpdateAggregate aggregate) {
jsonWriter.beginObject();
Plugin plugin = aggregate.getPlugin();
- pluginWSCommons.writePlugin(jsonWriter, plugin);
+ PluginWSCommons.writePlugin(jsonWriter, plugin);
writeUpdates(jsonWriter, aggregate.getUpdates());
jsonWriter.endObject();
}
- private void writeUpdates(JsonWriter jsonWriter, Collection<PluginUpdate> pluginUpdates) {
+ private static void writeUpdates(JsonWriter jsonWriter, Collection<PluginUpdate> pluginUpdates) {
jsonWriter.name(ARRAY_UPDATES).beginArray();
for (PluginUpdate pluginUpdate : ImmutableSortedSet.copyOf(PLUGIN_UPDATE_BY_VERSION_ORDERING, pluginUpdates)) {
jsonWriter.beginObject();
- pluginWSCommons.writeRelease(jsonWriter, pluginUpdate.getRelease());
- pluginWSCommons.writeUpdateProperties(jsonWriter, pluginUpdate);
+ PluginWSCommons.writeRelease(jsonWriter, pluginUpdate.getRelease());
+ PluginWSCommons.writeUpdateProperties(jsonWriter, pluginUpdate);
jsonWriter.endObject();
}
jsonWriter.endArray();
import org.sonar.api.server.ws.WebService;
import org.sonar.api.utils.DateUtils;
import org.sonar.server.plugins.UpdateCenterMatrixFactory;
-import org.sonar.server.plugins.ws.PluginWSCommons;
import org.sonar.server.ws.WsActionTester;
import org.sonar.server.ws.WsTester;
import org.sonar.updatecenter.common.Plugin;
private UpdateCenterMatrixFactory updateCenterFactory = mock(UpdateCenterMatrixFactory.class);
private UpdateCenter updateCenter = mock(UpdateCenter.class);
- private UpgradesAction underTest = new UpgradesAction(updateCenterFactory, new PluginWSCommons());
+ private UpgradesAction underTest = new UpgradesAction(updateCenterFactory);
private Request request = mock(Request.class);
private WsTester.TestResponse response = new WsTester.TestResponse();
import org.sonar.updatecenter.common.Plugin;
import org.sonar.updatecenter.common.PluginUpdate;
import org.sonar.updatecenter.common.Release;
-import org.sonar.updatecenter.common.UpdateCenter;
import static com.google.common.collect.ImmutableList.of;
import static org.assertj.core.api.Assertions.assertThat;
@Rule
public ExpectedException expectedException = ExpectedException.none();
- private AvailableAction underTest = new AvailableAction(userSession, updateCenterFactory, new PluginWSCommons());
+ private AvailableAction underTest = new AvailableAction(userSession, updateCenterFactory);
@Test
public void action_available_is_defined() {
private WsTester.TestResponse response = new WsTester.TestResponse();
private JsonWriter jsonWriter = response.newJsonWriter();
- private PluginWSCommons underTest = new PluginWSCommons();
@Test
public void verify_properties_written_by_writePluginMetadata() {
@Test
public void verify_properties_written_by_writePluginUpdate() {
- underTest.writePluginUpdate(jsonWriter, PluginUpdate.createForPluginRelease(newRelease(), version("1.0")));
+ PluginWSCommons.writePluginUpdate(jsonWriter, PluginUpdate.createForPluginRelease(newRelease(), version("1.0")));
jsonWriter.close();
assertJson(response.outputAsString()).isSimilarTo("{" +
@Test
public void verify_properties_written_by_writeMetadata_from_plugin() {
jsonWriter.beginObject();
- underTest.writePlugin(jsonWriter, newPlugin());
+ PluginWSCommons.writePlugin(jsonWriter, newPlugin());
jsonWriter.endObject();
jsonWriter.close();
@Test
public void writeRelease() {
jsonWriter.beginObject();
- underTest.writeRelease(jsonWriter, newRelease().setDisplayVersion("1.0 (build 42)"));
+ PluginWSCommons.writeRelease(jsonWriter, newRelease().setDisplayVersion("1.0 (build 42)"));
jsonWriter.endObject();
jsonWriter.close();
@Test
public void writeArtifact_from_release_writes_artifact_object_and_file_name() {
jsonWriter.beginObject();
- underTest.writeArtifact(jsonWriter, release("pkey").setDownloadUrl("http://toto.com/file.jar"));
+ PluginWSCommons.writeArtifact(jsonWriter, release("pkey").setDownloadUrl("http://toto.com/file.jar"));
jsonWriter.endObject();
jsonWriter.close();
new Release(newPlugin(), version("1.0")).addOutgoingDependency(newRelease()));
jsonWriter.beginObject();
- underTest.writeUpdate(jsonWriter, pluginUpdate);
+ PluginWSCommons.writeUpdate(jsonWriter, pluginUpdate);
jsonWriter.endObject();
jsonWriter.close();
@Rule
public ExpectedException expectedException = ExpectedException.none();
- private UpdatesAction underTest = new UpdatesAction(userSession, updateCenterFactory,
- new PluginWSCommons(), new PluginUpdateAggregator());
+ private UpdatesAction underTest = new UpdatesAction(userSession, updateCenterFactory, new PluginUpdateAggregator());
@Test
public void action_updatable_is_defined() {
+++ /dev/null
-/*
- * SonarQube
- * Copyright (C) 2009-2018 SonarSource SA
- * mailto:info AT sonarsource DOT com
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-package org.sonar.scanner.bootstrap;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class Slf4jLogger implements org.sonar.home.cache.Logger {
-
- private static final Logger LOG = LoggerFactory.getLogger(Slf4jLogger.class);
-
- @Override
- public void debug(String msg) {
- LOG.debug(msg);
- }
-
- @Override
- public void info(String msg) {
- LOG.info(msg);
- }
-
- @Override
- public void warn(String msg) {
- LOG.warn(msg);
- }
-
- @Override
- public void error(String msg, Throwable t) {
- LOG.error(msg, t);
- }
-
- @Override
- public void error(String msg) {
- LOG.error(msg);
- }
-
-}