*/
package org.sonar.server.plugins;
+import com.google.common.base.Function;
+import com.google.common.collect.Collections2;
import org.sonar.core.platform.PluginInfo;
import org.sonar.updatecenter.common.PluginManifest;
import org.sonar.updatecenter.common.PluginReferential;
import org.sonar.updatecenter.common.PluginReferentialManifestConverter;
import org.sonar.updatecenter.common.Version;
+import javax.annotation.Nonnull;
+
import java.util.Collection;
import java.util.List;
// Only static call
}
- public static PluginReferential getInstalledPluginReferential(Collection<PluginInfo> metadata) {
- List<PluginManifest> pluginManifestList = getPluginManifestList(metadata);
+ public static PluginReferential getInstalledPluginReferential(Collection<PluginInfo> infos) {
+ List<PluginManifest> pluginManifestList = getPluginManifestList(infos);
return PluginReferentialManifestConverter.fromPluginManifests(pluginManifestList);
}
pluginManifest.setHomepage(metadata.getHomepageUrl());
pluginManifest.setIssueTrackerUrl(metadata.getIssueTrackerUrl());
pluginManifest.setBasePlugin(metadata.getBasePlugin());
- pluginManifest.setRequirePlugins(metadata.getRequiredPlugins().toArray(new String[] {}));
+ pluginManifest.setRequirePlugins(Collections2.transform(metadata.getRequiredPlugins(), RequiredPluginToString.INSTANCE).toArray(
+ new String[metadata.getRequiredPlugins().size()]));
return pluginManifest;
}
+
+ private enum RequiredPluginToString implements Function<PluginInfo.RequiredPlugin, String> {
+ INSTANCE;
+
+ @Override
+ public String apply(@Nonnull PluginInfo.RequiredPlugin requiredPlugin) {
+ return requiredPlugin.toString();
+ }
+ }
}
PluginInfo.RequiredPlugin plugin = PluginInfo.RequiredPlugin.parse("java:1.1");
assertThat(plugin.getKey()).isEqualTo("java");
assertThat(plugin.getMinimalVersion().getName()).isEqualTo("1.1");
+ assertThat(plugin.toString()).isEqualTo("java:1.1");
+ assertThat(plugin.equals(PluginInfo.RequiredPlugin.parse("java:1.2"))).isTrue();
+ assertThat(plugin.equals(PluginInfo.RequiredPlugin.parse("php:1.2"))).isFalse();
try {
PluginInfo.RequiredPlugin.parse("java");