mirror of
https://github.com/scm-manager/scm-manager.git
synced 2026-02-01 12:19:14 +01:00
highlight links in plugin descriptions
This commit is contained in:
@@ -35,6 +35,7 @@ package sonia.scm.plugin;
|
||||
|
||||
//~--- non-JDK imports --------------------------------------------------------
|
||||
|
||||
import sonia.scm.util.LinkTextParser;
|
||||
import sonia.scm.util.Util;
|
||||
|
||||
//~--- JDK imports ------------------------------------------------------------
|
||||
@@ -101,6 +102,28 @@ public class PluginUtil
|
||||
return filtered;
|
||||
}
|
||||
|
||||
/**
|
||||
* Method description
|
||||
*
|
||||
*
|
||||
* @param plugin
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public static PluginInformation prepareForView(PluginInformation plugin)
|
||||
{
|
||||
String description = plugin.getDescription();
|
||||
|
||||
if (Util.isNotEmpty(description))
|
||||
{
|
||||
plugin = plugin.clone();
|
||||
description = LinkTextParser.parseText(description);
|
||||
plugin.setDescription(description);
|
||||
}
|
||||
|
||||
return plugin;
|
||||
}
|
||||
|
||||
//~--- get methods ----------------------------------------------------------
|
||||
|
||||
/**
|
||||
@@ -121,7 +144,8 @@ public class PluginUtil
|
||||
|
||||
if (Util.isNotEmpty(pluginVersions))
|
||||
{
|
||||
Collections.sort(pluginVersions, PluginInformationNameComparator.INSTANCE);
|
||||
Collections.sort(pluginVersions,
|
||||
PluginInformationNameComparator.INSTANCE);
|
||||
pluginVersions = PluginUtil.filterSameVersions(pluginVersions);
|
||||
}
|
||||
|
||||
|
||||
@@ -158,7 +158,7 @@ public class DetailResource extends CachedViewableResource
|
||||
pluginVersions);
|
||||
Map<String, Object> vars = createVarMap(latest.getName());
|
||||
|
||||
vars.put("latest", latest);
|
||||
vars.put("latest", PluginUtil.prepareForView(latest));
|
||||
vars.put("versions", detailList);
|
||||
viewable = new Viewable("/detail", vars);
|
||||
putToCache(cacheKey, viewable);
|
||||
|
||||
@@ -37,11 +37,13 @@ package sonia.scm.plugin.rest;
|
||||
|
||||
import com.google.inject.Inject;
|
||||
|
||||
import sonia.scm.plugin.*;
|
||||
import sonia.scm.plugin.BackendConfiguration;
|
||||
import sonia.scm.plugin.Category;
|
||||
import sonia.scm.plugin.CategoryNameComaparator;
|
||||
import sonia.scm.plugin.PluginBackend;
|
||||
import sonia.scm.plugin.PluginInformation;
|
||||
import sonia.scm.util.LinkTextParser;
|
||||
import sonia.scm.util.Util;
|
||||
|
||||
//~--- JDK imports ------------------------------------------------------------
|
||||
@@ -133,7 +135,7 @@ public class OverviewResource extends ViewableResource
|
||||
categories.put(name, category);
|
||||
}
|
||||
|
||||
category.getPlugins().add(plugin);
|
||||
category.getPlugins().add(PluginUtil.prepareForView(plugin));
|
||||
}
|
||||
|
||||
//~--- get methods ----------------------------------------------------------
|
||||
|
||||
@@ -36,6 +36,7 @@ package sonia.scm.plugin.rest;
|
||||
//~--- non-JDK imports --------------------------------------------------------
|
||||
|
||||
import sonia.scm.plugin.PluginInformation;
|
||||
import sonia.scm.plugin.PluginUtil;
|
||||
|
||||
/**
|
||||
*
|
||||
@@ -52,7 +53,7 @@ public class PluginDetailWrapper
|
||||
*/
|
||||
public PluginDetailWrapper(PluginInformation plugin)
|
||||
{
|
||||
this.plugin = plugin;
|
||||
this(plugin, null);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -64,7 +65,7 @@ public class PluginDetailWrapper
|
||||
*/
|
||||
public PluginDetailWrapper(PluginInformation plugin, String compareUrl)
|
||||
{
|
||||
this.plugin = plugin;
|
||||
this.plugin = PluginUtil.prepareForView(plugin);
|
||||
this.compareUrl = compareUrl;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user