<commit_before><div id="catalogue">
    <a href="http://jmeter.apache.org/" target="_blank" class="pull-right"><img width="150"
                                                                                src="https://jmeter.apache.org/images/logo.svg"
                                                                                alt="Apache JMeter"/></a>
    <h1>Custom Plugins for Apache JMeter&trade;</h1>
    <p>
        This project is an independent set of plugins for <a href="http://jmeter.apache.org/">Apache JMeter</a>,
        the popular Open-Source load and performance testing tool.
    </p>
    <hr/>
    <div>
        This catalogue lists plugins available for use with Plugins Manager. If you're first time here, consider
        installing <a href="/wiki/PluginsManager/">Plugins Manager</a> into your JMeter.
    </div>
    <div>
        <p>
            <i class="count pull-right">
                Items found: <span></span>
            </i>
            <i class="fa fa-spin fa-spinner text-muted" style="position: relative; top: 2em; right: 1.2em"></i>
            <input placeholder="Search..."/>
        </p>
    </div>
    <div class="clearfix"></div>
    <div class="list"><i class="fa fa-spin fa-spinner fa-4x"></i></div>
</div>

<script>
    function values(dict) {
        var values = [];
        var keys = Object.keys(dict).sort();
        for (var k = 0; k < keys.length; k++) {
            values.push(dict[keys[k]]);
        }
        return values;
    }

    function getParameterByName(name, url) {
        if (!url) url = window.location.href;
        name = name.replace(/[\[\]]/g, "\\$&");
        var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
            results = regex.exec(url);
        if (!results) return null;
        if (!results[2]) return '';
        return decodeURIComponent(results[2].replace(/\+/g, " "));
    }

    $(function () {
        var plugins = [];
        var cat = $("#catalogue");
        cat.find("input").val(getParameterByName("search"));

        function getSparkline(stats) {
            var pluginSpark = $("<div></div>").addClass("sparkline-container");
            var vals = values(stats);
            while (vals.length > 30) {
                vals.shift();
            }
            var span = $("<span></span>").addClass("sparkline").text(vals);
            pluginSpark.append(span);
            pluginSpark.append("<br/>");
            pluginSpark.append("<small>Users: " + vals[vals.length - 1] + "</small>");
            return pluginSpark;
        }

        function getPluginCard(plugin) {
            var left = $("<div></div>").addClass("col-md-6");
            left.append("<h4><a href='" + plugin.helpUrl + "'>" + plugin.name + "</a></h4>");
            left.append("<p>" + plugin.description + "</p>");

            var vers_list = Object.keys(plugin.versions);
            if (vers_list[0] != "" && plugin.versions[vers_list[0]].downloadUrl && plugin.id !== 'jpgc-plugins-manager') {
                var vers = $("<p><i class='fa fa-download'></i> Download Versions: </p>").addClass('small');
                for (var n = 0; n < vers_list.length; n++) {
                    var ver_link = $('<a href="/files/packages/' + plugin.id + '-' + vers_list[n] + '.zip">' + vers_list[n] + "</a>");
                    if (plugin.versions[vers_list[n]]['changes']) {
                        ver_link.attr('title', 'Changes: ' + plugin.versions[vers_list[n]]['changes']);
                    }
                    vers.append(ver_link);
                    if (n < vers_list.length - 1) {
                        vers.append(", ")
                    }
                }
                left.append("<br/>");
                left.append(vers);
            }

            var mid = $("<div></div>").addClass("pull-left col-md-3 text-center");
            if (plugin.screenshotUrl) {
                var a = $("<a href='" + plugin.helpUrl + "'></a>");
                a.append("<img src='" + plugin.screenshotUrl + "'/>");
                mid.append(a);
            }

            var right = $("<div></div>").addClass("col-md-3 text-right");
            right.append("<small>ID: " + plugin.id + "</small>");

            if (plugin.versions[vers_list[vers_list.length - 1]].depends) {
                right.append("<p><small>Depends: " + plugin.versions[vers_list[vers_list.length - 1]].depends + "</small></p>");
            }

            $.get('/dat/stats/plugins/'+plugin.id+'.json').success(function (json) {
                var sparkline = getSparkline(json['usage']);
                right.append(sparkline);
                sparkline.find(".sparkline").sparkline("html", {type: "bar", width: "100%", height: "2em"});
            });

            var card = $("<div></div>").addClass("row");
            card.addClass("alert");
            card.append(left);
            card.append(mid);
            card.append(right);
            card.append("<div class='clearfix'></div>");
            return card;
        }

        function refreshCatalogue() {
            var cnt = 0;
            var list = cat.find(".list");
            list.empty();
            var filter = cat.find("input").val().toLowerCase();
            console.log("Refresh", filter);<commit_msg>Add Maven information to Plugin Card  (#202)<commit_after><div id="catalogue">
    <a href="http://jmeter.apache.org/" target="_blank" class="pull-right"><img width="150"
                                                                                src="https://jmeter.apache.org/images/logo.svg"
                                                                                alt="Apache JMeter"/></a>
    <h1>Custom Plugins for Apache JMeter&trade;</h1>
    <p>
        This project is an independent set of plugins for <a href="http://jmeter.apache.org/">Apache JMeter</a>,
        the popular Open-Source load and performance testing tool.
    </p>
    <hr/>
    <div>
        This catalogue lists plugins available for use with Plugins Manager. If you're first time here, consider
        installing <a href="/wiki/PluginsManager/">Plugins Manager</a> into your JMeter.
    </div>
    <div>
        <p>
            <i class="count pull-right">
                Items found: <span></span>
            </i>
            <i class="fa fa-spin fa-spinner text-muted" style="position: relative; top: 2em; right: 1.2em"></i>
            <input placeholder="Search..."/>
        </p>
    </div>
    <div class="clearfix"></div>
    <div class="list"><i class="fa fa-spin fa-spinner fa-4x"></i></div>
</div>

<script>
    function values(dict) {
        var values = [];
        var keys = Object.keys(dict).sort();
        for (var k = 0; k < keys.length; k++) {
            values.push(dict[keys[k]]);
        }
        return values;
    }

    function getParameterByName(name, url) {
        if (!url) url = window.location.href;
        name = name.replace(/[\[\]]/g, "\\$&");
        var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
            results = regex.exec(url);
        if (!results) return null;
        if (!results[2]) return '';
        return decodeURIComponent(results[2].replace(/\+/g, " "));
    }

    $(function () {
        var plugins = [];
        var cat = $("#catalogue");
        cat.find("input").val(getParameterByName("search"));

        function getSparkline(stats) {
            var pluginSpark = $("<div></div>").addClass("sparkline-container");
            var vals = values(stats);
            while (vals.length > 30) {
                vals.shift();
            }
            var span = $("<span></span>").addClass("sparkline").text(vals);
            pluginSpark.append(span);
            pluginSpark.append("<br/>");
            pluginSpark.append("<small>Users: " + vals[vals.length - 1] + "</small>");
            return pluginSpark;
        }

        function getPluginCard(plugin) {
            var left = $("<div></div>").addClass("col-md-6");
            left.append("<h4><a href='" + plugin.helpUrl + "'>" + plugin.name + "</a></h4>");
            left.append("<p>" + plugin.description + "</p>");

            var vers_list = Object.keys(plugin.versions);
            var groupId;
            var artifactId;
            var lastVersionId;
            if (vers_list[0] != "" && plugin.versions[vers_list[0]].downloadUrl && plugin.id !== 'jpgc-plugins-manager') {
                var vers = $("<p><i class='fa fa-download'></i> Download Versions: </p>").addClass('small');
                for (var n = 0; n < vers_list.length; n++) {
                    var ver_link = $('<a href="/files/packages/' + plugin.id + '-' + vers_list[n] + '.zip">' + vers_list[n] + "</a>");
                    if (plugin.versions[vers_list[n]]['changes']) {
                        ver_link.attr('title', 'Changes: ' + plugin.versions[vers_list[n]]['changes']);
                    }
                    vers.append(ver_link);
                    if (n < vers_list.length - 1) {
                        vers.append(", ")
                    }
                }
                {
	                var downloadUrl = plugin.versions[vers_list[0]].downloadUrl;
	                var indexOfFP = downloadUrl.indexOf("filepath=");
	                if(indexOfFP>0) {
		                var artifactUrl = downloadUrl.substring(indexOfFP+"filepath=".length);
		                var parts = artifactUrl.split("/");
	    	            lastVersionId = parts[parts.length-2];
	        	        artifactId = parts[parts.length-3];
	            	    groupId = "";
	                	for(var i=0;i<parts.length-3;i++) {
	                		if(i==0) {
	                			groupId = parts[i];
	                		} else {
		                		groupId = groupId+"."+ parts[i];
	                		}
	                	}
	                }
                }
                left.append("<br/>");
                left.append(vers);
            }

            var mid = $("<div></div>").addClass("pull-left col-md-3 text-center");
            if (plugin.screenshotUrl) {
                var a = $("<a href='" + plugin.helpUrl + "'></a>");
                a.append("<img src='" + plugin.screenshotUrl + "'/>");
                mid.append(a);
            }

            var right = $("<div></div>").addClass("col-md-3 text-right");
            right.append("<small>ID: " + plugin.id + "</small><br/>");
            if(groupId != null) {
	            right.append("<small>Maven Info groupId: " + groupId + ",artifactId:"+artifactId+",version:"+lastVersionId+"</small>");
            }

            if (plugin.versions[vers_list[vers_list.length - 1]].depends) {
                right.append("<p><small>Depends: " + plugin.versions[vers_list[vers_list.length - 1]].depends + "</small></p>");
            }

            $.get('/dat/stats/plugins/'+plugin.id+'.json').success(function (json) {
                var sparkline = getSparkline(json['usage']);
                right.append(sparkline);
                sparkline.find(".sparkline").sparkline("html", {type: "bar", width: "100%", height: "2em"});
            });

            var card = $("<div></div>").addClass("row");
            card.addClass("alert");
            card.append(left);
            card.append(mid);
            card.append(right);
            card.append("<div class='clearfix'></div>");
            return card;
        }

        function refreshCatalogue() {
            var cnt = 0;
            var list = cat.find(".list");
            list.empty();
            var filter = cat.find("input").val().toLowerCase();
            console.log("Refresh", filter);
{'fraction_non_alphanumeric': 0.17900809368004134, 'fraction_numerical': 0.006199414499741691, 'mean_word_length': 1.6805908146780522, 'pattern_counts': {'":': 0, '<': 159, '<?xml version=': 0, '>': 155, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 22, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '215791', 'n_tokens_mistral': 3431, 'n_tokens_neox': 3266, 'n_words': 637}