<skipBatchTests>false</skipBatchTests>
<skipServerTests>false</skipServerTests>
<skipWebTests>false</skipWebTests>
+ <jsCoverage>nocoverage</jsCoverage>
<version.maven-license.plugin>1.9.0</version.maven-license.plugin>
<skipSanityChecks>false</skipSanityChecks>
</plugins>
</build>
</profile>
+
+ <profile>
+ <id>analysis</id>
+ <properties>
+ <jsCoverage>coverage</jsCoverage>
+ </properties>
+ </profile>
</profiles>
</project>
module.exports = (grunt) ->
require('jit-grunt')(grunt, {
express: 'grunt-express-server'
+ unzip: 'grunt-zip'
+ replace: 'grunt-text-replace'
});
pkg = grunt.file.readJSON('package.json')
express:
test:
options:
- script: '<%= pkg.sources %>js/tests/e2e/server.js'
+ script: 'src/test/server.js'
+ port: expressPort
+ testCoverage:
+ options:
+ script: 'src/test/server-coverage.js'
port: expressPort
dev:
options:
background: false
- script: '<%= pkg.sources %>js/tests/e2e/server.js'
+ script: 'src/test/server.js'
casper:
concise: true
parallel: true
port: expressPort
- src: ['<%= pkg.sources %>js/tests/e2e/tests/**/*.js']
+ src: ['src/test/js/**/*.js']
+ testCoverage:
+ options:
+ test: true
+ 'no-colors': true
+ 'fail-fast': true
+ concise: true
+ port: expressPort
+ src: ['src/test/js/**/*.js']
single:
options:
test: true
verbose: true
'fail-fast': true
port: expressPort
- src: ['<%= pkg.sources %>js/tests/e2e/tests/<%= grunt.option("spec") %>-spec.js']
+ src: ['src/test/js/<%= grunt.option("spec") %>-spec.js']
testfile:
options:
test: true
]
+ curl:
+ resetCoverage:
+ src:
+ url: 'http://localhost:' + expressPort + '/coverage/reset'
+ method: 'POST'
+ dest: 'target/reset_coverage.dump'
+
+ downloadCoverage:
+ src: 'http://localhost:' + expressPort + '/coverage/download'
+ dest: 'target/coverage.zip'
+
+
+ unzip:
+ 'target/js-coverage': 'target/coverage.zip'
+
+
+ replace:
+ lcov:
+ src: 'target/js-coverage/lcov.info'
+ dest: 'target/js-coverage/lcov.info'
+ replacements: [{
+ from: '/webapp'
+ to: ''
+ }]
+
+
jshint:
dev:
src: [
grunt.registerTask 'test',
['dev', 'express:test', 'casper:test']
+ grunt.registerTask 'testCoverage',
+ ['dev', 'express:testCoverage', 'curl:resetCoverage', 'casper:testCoverage', 'curl:downloadCoverage', 'unzip', 'replace:lcov']
+
grunt.registerTask 'single',
['dev', 'express:test', 'casper:single']
['dev', 'express:test', 'casper:testfile']
# tasks used by Maven build (see pom.xml)
- grunt.registerTask 'maven-build-skip-tests-true',
+ grunt.registerTask 'maven-build-skip-tests-true-nocoverage',
['build']
- grunt.registerTask 'maven-build-skip-tests-false',
+ grunt.registerTask 'maven-build-skip-tests-false-nocoverage',
['test', 'build']
+
+ grunt.registerTask 'maven-build-skip-tests-false-coverage',
+ ['testCoverage', 'build']
"grunt-contrib-uglify": "0.4.0",
"grunt-contrib-watch": "0.5.3",
"grunt-css-url-rewrite": "0.3.5",
+ "grunt-curl": "2.1.0",
"grunt-express-server": "0.4.17",
+ "grunt-text-replace": "0.4.0",
"grunt-uglify-parallel": "0.0.1",
+ "grunt-zip": "0.16.2",
+ "istanbul": "0.3.5",
+ "istanbul-middleware": "0.2.0",
"jade": "1.4.2",
"jit-grunt": "0.9.1",
"phantomjs": "1.9.7-12",
<!-- self-analysis -->
<sonar.sources>src/main/js,src/main/coffee,src/main/hbs,src/main/less</sonar.sources>
<sonar.exclusions>src/main/js/third-party/**/*,src/main/js/require.js,src/main/js/tests/**/*</sonar.exclusions>
+ <sonar.javascript.lcov.reportPath>target/js-coverage/lcov.info</sonar.javascript.lcov.reportPath>
</properties>
<build>
<goal>grunt</goal>
</goals>
<configuration>
- <arguments>maven-build-skip-tests-${skipWebTests} --port=${jsTestPort} --no-color</arguments>
+ <arguments>maven-build-skip-tests-${skipWebTests}-${jsCoverage} --port=${jsTestPort} --no-color</arguments>
</configuration>
</execution>
</executions>
+++ /dev/null
-/*
- * SonarQube, open source software quality management tool.
- * Copyright (C) 2008-2014 SonarSource
- * mailto:contact AT sonarsource DOT com
- *
- * SonarQube 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.
- *
- * SonarQube 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.
- */
-/* globals casper: false, exports: false */
-
-var fs = require('fs');
-
-var getPort = function () {
- return casper.cli.options.port;
-};
-
-var BASE_URL = 'http://localhost:' + getPort() + '/pages/',
- WINDOW_WIDTH = 1200,
- WINDOW_HEIGHT = 800;
-
-
-exports.initMessages = function () {
- if (casper.cli.options.verbose) {
- // Dump log messages
- casper.removeAllListeners('remote.message');
- casper.on('remote.message', function (message) {
- this.echo('Log: ' + message, 'LOG');
- });
-
- // Dump uncaught errors
- casper.removeAllListeners('page.error');
- casper.on('page.error', function (msg) {
- this.echo('Error: ' + msg, 'ERROR');
- });
- }
-};
-
-
-exports.changeWorkingDirectory = function (dir) {
- var commandLineArgs = require('system').args;
- // Since Casper has control, the invoked script is deep in the argument stack
- // commandLineArgs = casper/bin/bootstrap.js,--casper-path=.../casperjs,--cli,--test,[file(s) under test],[options]
- var currentFile = commandLineArgs[4];
- var curFilePath = fs.absolute(currentFile).split(fs.separator);
- if (curFilePath.length > 1) {
- curFilePath.pop(); // PhantomJS does not have an equivalent path.baseName()-like method
- curFilePath.push(dir);
- fs.changeWorkingDirectory(curFilePath.join(fs.separator));
- }
-};
-
-
-exports.configureCasper = function () {
- casper.options.waitTimeout = 30000;
-};
-
-
-exports.testName = function () {
- var head = Array.prototype.slice.call(arguments, 0);
- return function () {
- var tail = Array.prototype.slice.call(arguments, 0),
- body = head.concat(tail);
- return body.join(' :: ');
- };
-};
-
-
-var mockRequest = function (url, response, options) {
- return casper.evaluate(function (url, response, options) {
- return jQuery.mockjax(_.extend({ url: url, responseText: response}, options));
- }, url, response, options || {});
-};
-exports.mockRequest = mockRequest;
-
-
-exports.mockRequestFromFile = function (url, fileName, options) {
- var response = fs.read(fileName);
- return mockRequest(url, response, options);
-};
-
-
-exports.clearRequestMocks = function () {
- casper.evaluate(function() {
- jQuery.mockjaxClear();
- });
-};
-
-
-exports.clearRequestMock = function (mockId) {
- casper.evaluate(function(mockId) {
- jQuery.mockjaxClear(mockId);
- }, mockId);
-};
-
-
-function patchWithTimestamp(url) {
- var t = Date.now(),
- hashStart = url.indexOf('#'),
- hash = hashStart !== -1 ? url.substr(hashStart) : '',
- base = hashStart !== -1 ? url.substr(0, hashStart) : url;
- return base + '?' + t + hash;
-}
-
-
-exports.buildUrl = function (urlTail) {
- return patchWithTimestamp(BASE_URL + urlTail);
-};
-
-
-exports.setDefaultViewport = function () {
- casper.viewport(WINDOW_WIDTH, WINDOW_HEIGHT);
-};
-
-
-exports.capture = function (fileName) {
- if (!fileName) {
- fileName = 'screenshot.png';
- }
- casper.capture(fileName, { top: 0, left: 0, width: WINDOW_WIDTH, height: WINDOW_HEIGHT });
-};
-
-
-exports.waitForElementCount = function (selector, count, callback) {
- return casper.waitFor(function () {
- return casper.evaluate(function (selector, count) {
- return document.querySelectorAll(selector).length === count;
- }, selector, count);
- }, callback);
-};
-
-exports.assertLinkHref = function assertElementCount(selector, href, message) {
- var linkHref = this.casper.evaluate(function(selector) {
- return document.querySelector(selector);
- }, selector);
- return this.assert(elementCount === count, message, {
- type: "assertElementCount",
- standard: f('%d element%s matching selector "%s" found',
- count,
- count > 1 ? 's' : '',
- selector),
- values: {
- selector: selector,
- expected: count,
- obtained: elementCount
- }
- });
-};
+++ /dev/null
-/*
- * SonarQube, open source software quality management tool.
- * Copyright (C) 2008-2014 SonarSource
- * mailto:contact AT sonarsource DOT com
- *
- * SonarQube 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.
- *
- * SonarQube 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.
- */
-var express = require('express'),
- path = require('path'),
- errorhandler = require('errorhandler'),
- serveStatic = require('serve-static'),
- app = express();
-
-app.set('views', __dirname + '/views');
-app.set('view engine', 'jade');
-
-app.use(errorhandler({ dumpExceptions: true, showStack: true }));
-
-// Serve static files
-app.use('/', serveStatic(path.join(__dirname, '../../../webapp')));
-
-app.get('/pages/:page', function (req, res) {
- res.render(req.param('page'));
-});
-
-// Get the port from environment variables
-var port = process.env.PORT || 8000;
-
-app.listen(port);
-
-console.log('Server running on port %d', port);
+++ /dev/null
-/*
- * SonarQube, open source software quality management tool.
- * Copyright (C) 2008-2014 SonarSource
- * mailto:contact AT sonarsource DOT com
- *
- * SonarQube 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.
- *
- * SonarQube 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.
- */
-/* global casper:false */
-
-var lib = require('../lib');
-
-lib.initMessages();
-lib.changeWorkingDirectory('coding-rules-page-active-severity-facet');
-lib.configureCasper();
-
-
-casper.test.begin('coding-rules-page-active-severity-facet', 7, function (test) {
- casper
- .start(lib.buildUrl('coding-rules'), function () {
- lib.setDefaultViewport();
-
- lib.mockRequest('/api/l10n/index', '{}');
- lib.mockRequestFromFile('/api/rules/app', 'app.json');
- lib.mockRequestFromFile('/api/rules/search', 'search-BLOCKER.json', { data: { active_severities: 'BLOCKER' } });
- lib.mockRequestFromFile('/api/rules/search', 'search-qprofile.json',
- { data: { qprofile: 'java-default-with-mojo-conventions-49307' } });
- lib.mockRequestFromFile('/api/rules/search', 'search.json');
- })
-
- .then(function () {
- casper.waitForSelector('.coding-rule');
- })
-
- .then(function () {
- test.assertSelectorContains('#coding-rules-total', '609');
- test.assertExists('.search-navigator-facet-box-forbidden[data-property="active_severities"]');
- casper.click('[data-property="qprofile"] .js-facet-toggle');
- casper.waitForSelector('.js-facet[data-value="java-default-with-mojo-conventions-49307"]');
- })
-
- .then(function () {
- casper.click('.js-facet[data-value="java-default-with-mojo-conventions-49307"]');
- casper.waitForSelectorTextChange('#coding-rules-total');
- })
-
- .then(function () {
- test.assertSelectorContains('#coding-rules-total', '407');
- test.assertDoesntExist('.search-navigator-facet-box-forbidden[data-property="active_severities"]');
- casper.click('[data-property="active_severities"] .js-facet-toggle');
- casper.waitForSelector('[data-property="active_severities"] [data-value="BLOCKER"]');
- })
-
- .then(function () {
- casper.click('[data-property="active_severities"] [data-value="BLOCKER"]');
- casper.waitForSelectorTextChange('#coding-rules-total');
- })
-
- .then(function () {
- test.assertSelectorContains('#coding-rules-total', '4');
- casper.click('[data-property="qprofile"] .js-facet-toggle');
- casper.waitForSelectorTextChange('#coding-rules-total');
- })
-
- .then(function () {
- test.assertSelectorContains('#coding-rules-total', '609');
- test.assertExists('.search-navigator-facet-box-forbidden[data-property="active_severities"]');
- })
-
- .run(function () {
- test.done();
- });
-});
+++ /dev/null
-{
- "canWrite": false,
- "qualityprofiles": [
- {
- "key": "java-default-with-mojo-conventions-49307",
- "name": "Default - Maven Conventions",
- "lang": "java",
- "parentKey": "java-top-profile-without-formatting-conventions-50037"
- },
- {
- "key": "java-default-with-sonarsource-conventions-27339",
- "name": "Default - SonarSource conventions",
- "lang": "java",
- "parentKey": "java-top-profile-without-formatting-conventions-50037"
- },
- {
- "key": "java-top-profile-without-formatting-conventions-50037",
- "name": "Default - Top",
- "lang": "java"
- },
- {
- "key": "java-findbugs-14954",
- "name": "FindBugs",
- "lang": "java"
- },
- {
- "key": "java-for-sq-java-plugin-only-92289",
- "name": "For SQ Java Plugin Only",
- "lang": "java",
- "parentKey": "java-default-with-sonarsource-conventions-27339"
- },
- {
- "key": "java-for-sq-only-95381",
- "name": "For SQ Only",
- "lang": "java",
- "parentKey": "java-default-with-sonarsource-conventions-27339"
- },
- {
- "key": "php-psr-2-06315",
- "name": "PSR-2",
- "lang": "php"
- },
- {
- "key": "java-sonar-way-80423",
- "name": "Sonar way",
- "lang": "java"
- },
- {
- "key": "js-sonar-way",
- "name": "Sonar way",
- "lang": "js"
- },
- {
- "key": "php-sonar-way-05548",
- "name": "Sonar way",
- "lang": "php"
- },
- {
- "key": "py-sonar-way-80265",
- "name": "Sonar way",
- "lang": "py"
- },
- {
- "key": "java-without-findbugs",
- "name": "Without Findbugs",
- "lang": "java"
- }
- ],
- "languages": {
- "py": "Python",
- "js": "JavaScript",
- "php": "PHP",
- "java": "Java"
- },
- "repositories": [
- {
- "key": "common-java",
- "name": "Common SonarQube",
- "language": "java"
- },
- {
- "key": "common-js",
- "name": "Common SonarQube",
- "language": "js"
- },
- {
- "key": "common-php",
- "name": "Common SonarQube",
- "language": "php"
- },
- {
- "key": "common-py",
- "name": "Common SonarQube",
- "language": "py"
- },
- {
- "key": "Pylint",
- "name": "Pylint",
- "language": "py"
- },
- {
- "key": "javascript",
- "name": "SonarQube",
- "language": "js"
- },
- {
- "key": "php",
- "name": "SonarQube",
- "language": "php"
- },
- {
- "key": "python",
- "name": "SonarQube",
- "language": "py"
- },
- {
- "key": "squid",
- "name": "SonarQube",
- "language": "java"
- }
- ],
- "statuses": {
- "BETA": "Beta",
- "DEPRECATED": "Deprecated",
- "READY": "Ready"
- },
- "characteristics": [
- {
- "key": "UNDERSTANDABILITY",
- "name": "Understandability",
- "parent": "MAINTAINABILITY"
- },
- {
- "key": "MAINTAINABILITY",
- "name": "Maintainability"
- },
- {
- "key": "TIME_ZONE_RELATED_PORTABILITY",
- "name": "Time zone related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "READABILITY",
- "name": "Readability",
- "parent": "MAINTAINABILITY"
- },
- {
- "key": "SECURITY_FEATURES",
- "name": "Security features",
- "parent": "SECURITY"
- },
- {
- "key": "ARCHITECTURE_RELIABILITY",
- "name": "Architecture related reliability",
- "parent": "RELIABILITY"
- },
- {
- "key": "OS_RELATED_PORTABILITY",
- "name": "OS related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "EXCEPTION_HANDLING",
- "name": "Exception handling",
- "parent": "RELIABILITY"
- },
- {
- "key": "LOGIC_CHANGEABILITY",
- "name": "Logic related changeability",
- "parent": "CHANGEABILITY"
- },
- {
- "key": "SOFTWARE_RELATED_PORTABILITY",
- "name": "Software related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "INPUT_VALIDATION_AND_REPRESENTATION",
- "name": "Input validation and representation",
- "parent": "SECURITY"
- },
- {
- "key": "LANGUAGE_RELATED_PORTABILITY",
- "name": "Language related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "ERRORS",
- "name": "Errors",
- "parent": "SECURITY"
- },
- {
- "key": "SECURITY",
- "name": "Security"
- },
- {
- "key": "RELIABILITY",
- "name": "Reliability"
- },
- {
- "key": "PORTABILITY",
- "name": "Portability"
- },
- {
- "key": "HARDWARE_RELATED_PORTABILITY",
- "name": "Hardware related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "SYNCHRONIZATION_RELIABILITY",
- "name": "Synchronization related reliability",
- "parent": "RELIABILITY"
- },
- {
- "key": "TRANSPORTABILITY",
- "name": "Transportability",
- "parent": "REUSABILITY"
- },
- {
- "key": "COMPILER_RELATED_PORTABILITY",
- "name": "Compiler related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "RESOURCE_RELIABILITY",
- "name": "Resource",
- "parent": "RELIABILITY"
- },
- {
- "key": "CPU_EFFICIENCY",
- "name": "Processor use",
- "parent": "EFFICIENCY"
- },
- {
- "key": "EFFICIENCY",
- "name": "Efficiency"
- },
- {
- "key": "CHANGEABILITY",
- "name": "Changeability"
- },
- {
- "key": "DATA_CHANGEABILITY",
- "name": "Data related changeability",
- "parent": "CHANGEABILITY"
- },
- {
- "key": "API_ABUSE",
- "name": "API abuse",
- "parent": "SECURITY"
- },
- {
- "key": "ARCHITECTURE_CHANGEABILITY",
- "name": "Architecture related changeability",
- "parent": "CHANGEABILITY"
- },
- {
- "key": "UNIT_TESTS",
- "name": "Unit tests",
- "parent": "RELIABILITY"
- },
- {
- "key": "INSTRUCTION_RELIABILITY",
- "name": "Instruction related reliability",
- "parent": "RELIABILITY"
- },
- {
- "key": "REUSABILITY",
- "name": "Reusability"
- },
- {
- "key": "MODULARITY",
- "name": "Modularity",
- "parent": "REUSABILITY"
- },
- {
- "key": "UNIT_TESTABILITY",
- "name": "Unit level testability",
- "parent": "TESTABILITY"
- },
- {
- "key": "TESTABILITY",
- "name": "Testability"
- },
- {
- "key": "INTEGRATION_TESTABILITY",
- "name": "Integration level testability",
- "parent": "TESTABILITY"
- },
- {
- "key": "NETWORK_USE",
- "name": "Network use",
- "parent": "EFFICIENCY"
- },
- {
- "key": "MEMORY_EFFICIENCY",
- "name": "Memory use",
- "parent": "EFFICIENCY"
- },
- {
- "key": "DATA_RELIABILITY",
- "name": "Data related reliability",
- "parent": "RELIABILITY"
- },
- {
- "key": "FAULT_TOLERANCE",
- "name": "Fault tolerance",
- "parent": "RELIABILITY"
- },
- {
- "key": "LOGIC_RELIABILITY",
- "name": "Logic related reliability",
- "parent": "RELIABILITY"
- }
- ]
-}
+++ /dev/null
-{
- "total": 4,
- "p": 1,
- "ps": 25,
- "rules": [
- {
- "key": "squid:S2077",
- "name": "Values passed to SQL commands should be sanitized",
- "lang": "java",
- "langName": "Java",
- "sysTags": [
- "cwe",
- "owasp-top10",
- "security",
- "sql"
- ],
- "tags": [
- "custom-tag"
- ]
- },
- {
- "key": "php:S107",
- "name": "Functions should not have too many parameters",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S1192",
- "name": "String literals should not be duplicated",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [],
- "tags": []
- },
- {
- "key": "php:S1145",
- "name": "\"if\" statement conditions should not always evaluate to \"true\" or to \"false\"",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "bug",
- "cwe",
- "security"
- ],
- "tags": []
- },
- {
- "key": "php:S108",
- "name": "Nested blocks of code should not be left empty",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [],
- "tags": []
- },
- {
- "key": "php:S1301",
- "name": "\"switch\" statements should have at least 3 \"case\" clauses",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [],
- "tags": []
- },
- {
- "key": "php:S103",
- "name": "Lines should not be too long",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "php:S1144",
- "name": "Unused private method should be removed",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "unused"
- ],
- "tags": []
- },
- {
- "key": "php:S105",
- "name": "Tabulation characters should not be used",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention",
- "psr2"
- ],
- "tags": []
- },
- {
- "key": "php:S1481",
- "name": "Unused local variables should be removed",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "unused"
- ],
- "tags": []
- },
- {
- "key": "php:S1142",
- "name": "Functions should not contain too many return statements",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S104",
- "name": "Files should not have too many lines",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S1605",
- "name": "PHP 4 style calls to parent constructors should not be used in PHP5 \"__construct\" functions",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "php:S1448",
- "name": "Classes should not have too many methods",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S1603",
- "name": "PHP 4 constructor declarations should not be used",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "pitfail"
- ],
- "tags": []
- },
- {
- "key": "php:S1779",
- "name": "Only LF character (Unix-like) should be used to end lines",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention",
- "psr2"
- ],
- "tags": []
- },
- {
- "key": "php:S1185",
- "name": "Overriding methods should do more than simply call the same method in the super class",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [],
- "tags": []
- },
- {
- "key": "php:S1600",
- "name": "Deprecated predefined variables should not be used",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "pitfail"
- ],
- "tags": []
- },
- {
- "key": "php:S1109",
- "name": "A close curly brace should be located at the beginning of a line",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "php:S2001",
- "name": "Functions deprecated in PHP 5 should not be used",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "obsolete"
- ],
- "tags": []
- },
- {
- "key": "php:S2002",
- "name": "Errors should not be silenced",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "pitfail"
- ],
- "tags": []
- },
- {
- "key": "php:S2000",
- "name": "Files should not contain characters before \"<?php\"",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "user-experience"
- ],
- "tags": []
- },
- {
- "key": "php:S1105",
- "name": "An open curly brace should be located at the end of a line",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "php:S1200",
- "name": "Classes should not be coupled to too many other classes (Single Responsibility Principle)",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S1106",
- "name": "An open curly brace should be located at the beginning of a line",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- }
- ],
- "facets": [
- {
- "property": "tags",
- "values": [
- {
- "val": "convention",
- "count": 67
- },
- {
- "val": "brain-overload",
- "count": 36
- },
- {
- "val": "bug",
- "count": 36
- },
- {
- "val": "cwe",
- "count": 17
- },
- {
- "val": "unused",
- "count": 16
- },
- {
- "val": "security",
- "count": 14
- },
- {
- "val": "pitfall",
- "count": 12
- },
- {
- "val": "psr2",
- "count": 12
- },
- {
- "val": "error-handling",
- "count": 11
- },
- {
- "val": "pitfail",
- "count": 10
- }
- ]
- },
- {
- "property": "languages",
- "values": [
- {
- "val": "java",
- "count": 212
- },
- {
- "val": "py",
- "count": 212
- },
- {
- "val": "php",
- "count": 103
- },
- {
- "val": "js",
- "count": 77
- }
- ]
- },
- {
- "property": "repositories",
- "values": [
- {
- "val": "squid",
- "count": 206
- },
- {
- "val": "Pylint",
- "count": 180
- },
- {
- "val": "php",
- "count": 97
- },
- {
- "val": "javascript",
- "count": 73
- },
- {
- "val": "python",
- "count": 28
- },
- {
- "val": "common-java",
- "count": 6
- },
- {
- "val": "common-php",
- "count": 6
- },
- {
- "val": "manual",
- "count": 5
- },
- {
- "val": "common-js",
- "count": 4
- },
- {
- "val": "common-py",
- "count": 4
- }
- ]
- }
- ]
-}
+++ /dev/null
-{
- "total": 407,
- "p": 1,
- "ps": 25,
- "rules": [
- {
- "key": "squid:S2077",
- "name": "Values passed to SQL commands should be sanitized",
- "lang": "java",
- "langName": "Java",
- "sysTags": [
- "cwe",
- "owasp-top10",
- "security",
- "sql"
- ],
- "tags": [
- "custom-tag"
- ]
- },
- {
- "key": "php:S107",
- "name": "Functions should not have too many parameters",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S1192",
- "name": "String literals should not be duplicated",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [],
- "tags": []
- },
- {
- "key": "php:S1145",
- "name": "\"if\" statement conditions should not always evaluate to \"true\" or to \"false\"",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "bug",
- "cwe",
- "security"
- ],
- "tags": []
- },
- {
- "key": "php:S108",
- "name": "Nested blocks of code should not be left empty",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [],
- "tags": []
- },
- {
- "key": "php:S1301",
- "name": "\"switch\" statements should have at least 3 \"case\" clauses",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [],
- "tags": []
- },
- {
- "key": "php:S103",
- "name": "Lines should not be too long",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "php:S1144",
- "name": "Unused private method should be removed",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "unused"
- ],
- "tags": []
- },
- {
- "key": "php:S105",
- "name": "Tabulation characters should not be used",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention",
- "psr2"
- ],
- "tags": []
- },
- {
- "key": "php:S1481",
- "name": "Unused local variables should be removed",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "unused"
- ],
- "tags": []
- },
- {
- "key": "php:S1142",
- "name": "Functions should not contain too many return statements",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S104",
- "name": "Files should not have too many lines",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S1605",
- "name": "PHP 4 style calls to parent constructors should not be used in PHP5 \"__construct\" functions",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "php:S1448",
- "name": "Classes should not have too many methods",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S1603",
- "name": "PHP 4 constructor declarations should not be used",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "pitfail"
- ],
- "tags": []
- },
- {
- "key": "php:S1779",
- "name": "Only LF character (Unix-like) should be used to end lines",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention",
- "psr2"
- ],
- "tags": []
- },
- {
- "key": "php:S1185",
- "name": "Overriding methods should do more than simply call the same method in the super class",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [],
- "tags": []
- },
- {
- "key": "php:S1600",
- "name": "Deprecated predefined variables should not be used",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "pitfail"
- ],
- "tags": []
- },
- {
- "key": "php:S1109",
- "name": "A close curly brace should be located at the beginning of a line",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "php:S2001",
- "name": "Functions deprecated in PHP 5 should not be used",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "obsolete"
- ],
- "tags": []
- },
- {
- "key": "php:S2002",
- "name": "Errors should not be silenced",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "pitfail"
- ],
- "tags": []
- },
- {
- "key": "php:S2000",
- "name": "Files should not contain characters before \"<?php\"",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "user-experience"
- ],
- "tags": []
- },
- {
- "key": "php:S1105",
- "name": "An open curly brace should be located at the end of a line",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "php:S1200",
- "name": "Classes should not be coupled to too many other classes (Single Responsibility Principle)",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S1106",
- "name": "An open curly brace should be located at the beginning of a line",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- }
- ],
- "facets": [
- {
- "property": "tags",
- "values": [
- {
- "val": "convention",
- "count": 67
- },
- {
- "val": "brain-overload",
- "count": 36
- },
- {
- "val": "bug",
- "count": 36
- },
- {
- "val": "cwe",
- "count": 17
- },
- {
- "val": "unused",
- "count": 16
- },
- {
- "val": "security",
- "count": 14
- },
- {
- "val": "pitfall",
- "count": 12
- },
- {
- "val": "psr2",
- "count": 12
- },
- {
- "val": "error-handling",
- "count": 11
- },
- {
- "val": "pitfail",
- "count": 10
- }
- ]
- },
- {
- "property": "languages",
- "values": [
- {
- "val": "java",
- "count": 212
- },
- {
- "val": "py",
- "count": 212
- },
- {
- "val": "php",
- "count": 103
- },
- {
- "val": "js",
- "count": 77
- }
- ]
- },
- {
- "property": "repositories",
- "values": [
- {
- "val": "squid",
- "count": 206
- },
- {
- "val": "Pylint",
- "count": 180
- },
- {
- "val": "php",
- "count": 97
- },
- {
- "val": "javascript",
- "count": 73
- },
- {
- "val": "python",
- "count": 28
- },
- {
- "val": "common-java",
- "count": 6
- },
- {
- "val": "common-php",
- "count": 6
- },
- {
- "val": "manual",
- "count": 5
- },
- {
- "val": "common-js",
- "count": 4
- },
- {
- "val": "common-py",
- "count": 4
- }
- ]
- }
- ]
-}
+++ /dev/null
-{
- "total": 609,
- "p": 1,
- "ps": 25,
- "rules": [
- {
- "key": "squid:S2077",
- "name": "Values passed to SQL commands should be sanitized",
- "lang": "java",
- "langName": "Java",
- "sysTags": [
- "cwe",
- "owasp-top10",
- "security",
- "sql"
- ],
- "tags": [
- "custom-tag"
- ]
- },
- {
- "key": "php:S107",
- "name": "Functions should not have too many parameters",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S1192",
- "name": "String literals should not be duplicated",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [],
- "tags": []
- },
- {
- "key": "php:S1145",
- "name": "\"if\" statement conditions should not always evaluate to \"true\" or to \"false\"",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "bug",
- "cwe",
- "security"
- ],
- "tags": []
- },
- {
- "key": "php:S108",
- "name": "Nested blocks of code should not be left empty",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [],
- "tags": []
- },
- {
- "key": "php:S1301",
- "name": "\"switch\" statements should have at least 3 \"case\" clauses",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [],
- "tags": []
- },
- {
- "key": "php:S103",
- "name": "Lines should not be too long",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "php:S1144",
- "name": "Unused private method should be removed",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "unused"
- ],
- "tags": []
- },
- {
- "key": "php:S105",
- "name": "Tabulation characters should not be used",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention",
- "psr2"
- ],
- "tags": []
- },
- {
- "key": "php:S1481",
- "name": "Unused local variables should be removed",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "unused"
- ],
- "tags": []
- },
- {
- "key": "php:S1142",
- "name": "Functions should not contain too many return statements",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S104",
- "name": "Files should not have too many lines",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S1605",
- "name": "PHP 4 style calls to parent constructors should not be used in PHP5 \"__construct\" functions",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "php:S1448",
- "name": "Classes should not have too many methods",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S1603",
- "name": "PHP 4 constructor declarations should not be used",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "pitfail"
- ],
- "tags": []
- },
- {
- "key": "php:S1779",
- "name": "Only LF character (Unix-like) should be used to end lines",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention",
- "psr2"
- ],
- "tags": []
- },
- {
- "key": "php:S1185",
- "name": "Overriding methods should do more than simply call the same method in the super class",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [],
- "tags": []
- },
- {
- "key": "php:S1600",
- "name": "Deprecated predefined variables should not be used",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "pitfail"
- ],
- "tags": []
- },
- {
- "key": "php:S1109",
- "name": "A close curly brace should be located at the beginning of a line",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "php:S2001",
- "name": "Functions deprecated in PHP 5 should not be used",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "obsolete"
- ],
- "tags": []
- },
- {
- "key": "php:S2002",
- "name": "Errors should not be silenced",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "pitfail"
- ],
- "tags": []
- },
- {
- "key": "php:S2000",
- "name": "Files should not contain characters before \"<?php\"",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "user-experience"
- ],
- "tags": []
- },
- {
- "key": "php:S1105",
- "name": "An open curly brace should be located at the end of a line",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "php:S1200",
- "name": "Classes should not be coupled to too many other classes (Single Responsibility Principle)",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S1106",
- "name": "An open curly brace should be located at the beginning of a line",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- }
- ],
- "facets": [
- {
- "property": "tags",
- "values": [
- {
- "val": "convention",
- "count": 67
- },
- {
- "val": "brain-overload",
- "count": 36
- },
- {
- "val": "bug",
- "count": 36
- },
- {
- "val": "cwe",
- "count": 17
- },
- {
- "val": "unused",
- "count": 16
- },
- {
- "val": "security",
- "count": 14
- },
- {
- "val": "pitfall",
- "count": 12
- },
- {
- "val": "psr2",
- "count": 12
- },
- {
- "val": "error-handling",
- "count": 11
- },
- {
- "val": "pitfail",
- "count": 10
- }
- ]
- },
- {
- "property": "languages",
- "values": [
- {
- "val": "java",
- "count": 212
- },
- {
- "val": "py",
- "count": 212
- },
- {
- "val": "php",
- "count": 103
- },
- {
- "val": "js",
- "count": 77
- }
- ]
- },
- {
- "property": "repositories",
- "values": [
- {
- "val": "squid",
- "count": 206
- },
- {
- "val": "Pylint",
- "count": 180
- },
- {
- "val": "php",
- "count": 97
- },
- {
- "val": "javascript",
- "count": 73
- },
- {
- "val": "python",
- "count": 28
- },
- {
- "val": "common-java",
- "count": 6
- },
- {
- "val": "common-php",
- "count": 6
- },
- {
- "val": "manual",
- "count": 5
- },
- {
- "val": "common-js",
- "count": 4
- },
- {
- "val": "common-py",
- "count": 4
- }
- ]
- }
- ]
-}
+++ /dev/null
-/*
- * SonarQube, open source software quality management tool.
- * Copyright (C) 2008-2014 SonarSource
- * mailto:contact AT sonarsource DOT com
- *
- * SonarQube 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.
- *
- * SonarQube 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.
- */
-/* global casper:false */
-
-var lib = require('../lib');
-
-lib.initMessages();
-lib.changeWorkingDirectory('coding-rules-page-available-since');
-lib.configureCasper();
-
-
-casper.test.begin('coding-rules-page-available-since', 2, function (test) {
- casper
- .start(lib.buildUrl('coding-rules'), function () {
- lib.setDefaultViewport();
-
- lib.mockRequest('/api/l10n/index', '{}');
- lib.mockRequestFromFile('/api/rules/app', 'app.json');
- lib.mockRequestFromFile('/api/rules/search', 'search-limited.json',
- { data: { available_since: '2014-12-01' } });
- lib.mockRequestFromFile('/api/rules/search', 'search.json');
- })
-
- .then(function () {
- casper.waitForSelector('.coding-rule');
- })
-
- .then(function () {
- test.assertSelectorContains('#coding-rules-total', '609');
- casper.click('[data-property="available_since"] .js-facet-toggle');
- casper.evaluate(function () {
- jQuery('[data-property="available_since"] input').val('2014-12-01').change();
- });
- })
-
- .then(function () {
- casper.waitForSelectorTextChange('#coding-rules-total');
- })
-
- .then(function () {
- test.assertSelectorContains('#coding-rules-total', '101');
- })
-
- .run(function () {
- test.done();
- });
-});
+++ /dev/null
-{
- "canWrite": false,
- "qualityprofiles": [
- {
- "key": "java-default-with-mojo-conventions-49307",
- "name": "Default - Maven Conventions",
- "lang": "java",
- "parentKey": "java-top-profile-without-formatting-conventions-50037"
- },
- {
- "key": "java-default-with-sonarsource-conventions-27339",
- "name": "Default - SonarSource conventions",
- "lang": "java",
- "parentKey": "java-top-profile-without-formatting-conventions-50037"
- },
- {
- "key": "java-top-profile-without-formatting-conventions-50037",
- "name": "Default - Top",
- "lang": "java"
- },
- {
- "key": "java-findbugs-14954",
- "name": "FindBugs",
- "lang": "java"
- },
- {
- "key": "java-for-sq-java-plugin-only-92289",
- "name": "For SQ Java Plugin Only",
- "lang": "java",
- "parentKey": "java-default-with-sonarsource-conventions-27339"
- },
- {
- "key": "java-for-sq-only-95381",
- "name": "For SQ Only",
- "lang": "java",
- "parentKey": "java-default-with-sonarsource-conventions-27339"
- },
- {
- "key": "php-psr-2-06315",
- "name": "PSR-2",
- "lang": "php"
- },
- {
- "key": "java-sonar-way-80423",
- "name": "Sonar way",
- "lang": "java"
- },
- {
- "key": "js-sonar-way",
- "name": "Sonar way",
- "lang": "js"
- },
- {
- "key": "php-sonar-way-05548",
- "name": "Sonar way",
- "lang": "php"
- },
- {
- "key": "py-sonar-way-80265",
- "name": "Sonar way",
- "lang": "py"
- },
- {
- "key": "java-without-findbugs",
- "name": "Without Findbugs",
- "lang": "java"
- }
- ],
- "languages": {
- "py": "Python",
- "js": "JavaScript",
- "php": "PHP",
- "java": "Java"
- },
- "repositories": [
- {
- "key": "common-java",
- "name": "Common SonarQube",
- "language": "java"
- },
- {
- "key": "common-js",
- "name": "Common SonarQube",
- "language": "js"
- },
- {
- "key": "common-php",
- "name": "Common SonarQube",
- "language": "php"
- },
- {
- "key": "common-py",
- "name": "Common SonarQube",
- "language": "py"
- },
- {
- "key": "Pylint",
- "name": "Pylint",
- "language": "py"
- },
- {
- "key": "javascript",
- "name": "SonarQube",
- "language": "js"
- },
- {
- "key": "php",
- "name": "SonarQube",
- "language": "php"
- },
- {
- "key": "python",
- "name": "SonarQube",
- "language": "py"
- },
- {
- "key": "squid",
- "name": "SonarQube",
- "language": "java"
- }
- ],
- "statuses": {
- "BETA": "Beta",
- "DEPRECATED": "Deprecated",
- "READY": "Ready"
- },
- "characteristics": [
- {
- "key": "UNDERSTANDABILITY",
- "name": "Understandability",
- "parent": "MAINTAINABILITY"
- },
- {
- "key": "MAINTAINABILITY",
- "name": "Maintainability"
- },
- {
- "key": "TIME_ZONE_RELATED_PORTABILITY",
- "name": "Time zone related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "READABILITY",
- "name": "Readability",
- "parent": "MAINTAINABILITY"
- },
- {
- "key": "SECURITY_FEATURES",
- "name": "Security features",
- "parent": "SECURITY"
- },
- {
- "key": "ARCHITECTURE_RELIABILITY",
- "name": "Architecture related reliability",
- "parent": "RELIABILITY"
- },
- {
- "key": "OS_RELATED_PORTABILITY",
- "name": "OS related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "EXCEPTION_HANDLING",
- "name": "Exception handling",
- "parent": "RELIABILITY"
- },
- {
- "key": "LOGIC_CHANGEABILITY",
- "name": "Logic related changeability",
- "parent": "CHANGEABILITY"
- },
- {
- "key": "SOFTWARE_RELATED_PORTABILITY",
- "name": "Software related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "INPUT_VALIDATION_AND_REPRESENTATION",
- "name": "Input validation and representation",
- "parent": "SECURITY"
- },
- {
- "key": "LANGUAGE_RELATED_PORTABILITY",
- "name": "Language related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "ERRORS",
- "name": "Errors",
- "parent": "SECURITY"
- },
- {
- "key": "SECURITY",
- "name": "Security"
- },
- {
- "key": "RELIABILITY",
- "name": "Reliability"
- },
- {
- "key": "PORTABILITY",
- "name": "Portability"
- },
- {
- "key": "HARDWARE_RELATED_PORTABILITY",
- "name": "Hardware related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "SYNCHRONIZATION_RELIABILITY",
- "name": "Synchronization related reliability",
- "parent": "RELIABILITY"
- },
- {
- "key": "TRANSPORTABILITY",
- "name": "Transportability",
- "parent": "REUSABILITY"
- },
- {
- "key": "COMPILER_RELATED_PORTABILITY",
- "name": "Compiler related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "RESOURCE_RELIABILITY",
- "name": "Resource",
- "parent": "RELIABILITY"
- },
- {
- "key": "CPU_EFFICIENCY",
- "name": "Processor use",
- "parent": "EFFICIENCY"
- },
- {
- "key": "EFFICIENCY",
- "name": "Efficiency"
- },
- {
- "key": "CHANGEABILITY",
- "name": "Changeability"
- },
- {
- "key": "DATA_CHANGEABILITY",
- "name": "Data related changeability",
- "parent": "CHANGEABILITY"
- },
- {
- "key": "API_ABUSE",
- "name": "API abuse",
- "parent": "SECURITY"
- },
- {
- "key": "ARCHITECTURE_CHANGEABILITY",
- "name": "Architecture related changeability",
- "parent": "CHANGEABILITY"
- },
- {
- "key": "UNIT_TESTS",
- "name": "Unit tests",
- "parent": "RELIABILITY"
- },
- {
- "key": "INSTRUCTION_RELIABILITY",
- "name": "Instruction related reliability",
- "parent": "RELIABILITY"
- },
- {
- "key": "REUSABILITY",
- "name": "Reusability"
- },
- {
- "key": "MODULARITY",
- "name": "Modularity",
- "parent": "REUSABILITY"
- },
- {
- "key": "UNIT_TESTABILITY",
- "name": "Unit level testability",
- "parent": "TESTABILITY"
- },
- {
- "key": "TESTABILITY",
- "name": "Testability"
- },
- {
- "key": "INTEGRATION_TESTABILITY",
- "name": "Integration level testability",
- "parent": "TESTABILITY"
- },
- {
- "key": "NETWORK_USE",
- "name": "Network use",
- "parent": "EFFICIENCY"
- },
- {
- "key": "MEMORY_EFFICIENCY",
- "name": "Memory use",
- "parent": "EFFICIENCY"
- },
- {
- "key": "DATA_RELIABILITY",
- "name": "Data related reliability",
- "parent": "RELIABILITY"
- },
- {
- "key": "FAULT_TOLERANCE",
- "name": "Fault tolerance",
- "parent": "RELIABILITY"
- },
- {
- "key": "LOGIC_RELIABILITY",
- "name": "Logic related reliability",
- "parent": "RELIABILITY"
- }
- ]
-}
+++ /dev/null
-{
- "total": 101,
- "p": 1,
- "ps": 25,
- "rules": [
- {
- "key": "squid:S2077",
- "name": "Values passed to SQL commands should be sanitized",
- "lang": "java",
- "langName": "Java",
- "sysTags": [
- "cwe",
- "owasp-top10",
- "security",
- "sql"
- ],
- "tags": [
- "custom-tag"
- ]
- },
- {
- "key": "php:S107",
- "name": "Functions should not have too many parameters",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S1192",
- "name": "String literals should not be duplicated",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [],
- "tags": []
- },
- {
- "key": "php:S1145",
- "name": "\"if\" statement conditions should not always evaluate to \"true\" or to \"false\"",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "bug",
- "cwe",
- "security"
- ],
- "tags": []
- },
- {
- "key": "php:S108",
- "name": "Nested blocks of code should not be left empty",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [],
- "tags": []
- },
- {
- "key": "php:S1301",
- "name": "\"switch\" statements should have at least 3 \"case\" clauses",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [],
- "tags": []
- },
- {
- "key": "php:S103",
- "name": "Lines should not be too long",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "php:S1144",
- "name": "Unused private method should be removed",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "unused"
- ],
- "tags": []
- },
- {
- "key": "php:S105",
- "name": "Tabulation characters should not be used",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention",
- "psr2"
- ],
- "tags": []
- },
- {
- "key": "php:S1481",
- "name": "Unused local variables should be removed",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "unused"
- ],
- "tags": []
- },
- {
- "key": "php:S1142",
- "name": "Functions should not contain too many return statements",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S104",
- "name": "Files should not have too many lines",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S1605",
- "name": "PHP 4 style calls to parent constructors should not be used in PHP5 \"__construct\" functions",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "php:S1448",
- "name": "Classes should not have too many methods",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S1603",
- "name": "PHP 4 constructor declarations should not be used",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "pitfail"
- ],
- "tags": []
- },
- {
- "key": "php:S1779",
- "name": "Only LF character (Unix-like) should be used to end lines",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention",
- "psr2"
- ],
- "tags": []
- },
- {
- "key": "php:S1185",
- "name": "Overriding methods should do more than simply call the same method in the super class",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [],
- "tags": []
- },
- {
- "key": "php:S1600",
- "name": "Deprecated predefined variables should not be used",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "pitfail"
- ],
- "tags": []
- },
- {
- "key": "php:S1109",
- "name": "A close curly brace should be located at the beginning of a line",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "php:S2001",
- "name": "Functions deprecated in PHP 5 should not be used",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "obsolete"
- ],
- "tags": []
- },
- {
- "key": "php:S2002",
- "name": "Errors should not be silenced",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "pitfail"
- ],
- "tags": []
- },
- {
- "key": "php:S2000",
- "name": "Files should not contain characters before \"<?php\"",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "user-experience"
- ],
- "tags": []
- },
- {
- "key": "php:S1105",
- "name": "An open curly brace should be located at the end of a line",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "php:S1200",
- "name": "Classes should not be coupled to too many other classes (Single Responsibility Principle)",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S1106",
- "name": "An open curly brace should be located at the beginning of a line",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- }
- ],
- "facets": [
- {
- "property": "tags",
- "values": [
- {
- "val": "convention",
- "count": 67
- },
- {
- "val": "brain-overload",
- "count": 36
- },
- {
- "val": "bug",
- "count": 36
- },
- {
- "val": "cwe",
- "count": 17
- },
- {
- "val": "unused",
- "count": 16
- },
- {
- "val": "security",
- "count": 14
- },
- {
- "val": "pitfall",
- "count": 12
- },
- {
- "val": "psr2",
- "count": 12
- },
- {
- "val": "error-handling",
- "count": 11
- },
- {
- "val": "pitfail",
- "count": 10
- }
- ]
- },
- {
- "property": "languages",
- "values": [
- {
- "val": "java",
- "count": 212
- },
- {
- "val": "py",
- "count": 212
- },
- {
- "val": "php",
- "count": 103
- },
- {
- "val": "js",
- "count": 77
- }
- ]
- },
- {
- "property": "repositories",
- "values": [
- {
- "val": "squid",
- "count": 206
- },
- {
- "val": "Pylint",
- "count": 180
- },
- {
- "val": "php",
- "count": 97
- },
- {
- "val": "javascript",
- "count": 73
- },
- {
- "val": "python",
- "count": 28
- },
- {
- "val": "common-java",
- "count": 6
- },
- {
- "val": "common-php",
- "count": 6
- },
- {
- "val": "manual",
- "count": 5
- },
- {
- "val": "common-js",
- "count": 4
- },
- {
- "val": "common-py",
- "count": 4
- }
- ]
- }
- ]
-}
+++ /dev/null
-{
- "total": 609,
- "p": 1,
- "ps": 25,
- "rules": [
- {
- "key": "squid:S2077",
- "name": "Values passed to SQL commands should be sanitized",
- "lang": "java",
- "langName": "Java",
- "sysTags": [
- "cwe",
- "owasp-top10",
- "security",
- "sql"
- ],
- "tags": [
- "custom-tag"
- ]
- },
- {
- "key": "php:S107",
- "name": "Functions should not have too many parameters",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S1192",
- "name": "String literals should not be duplicated",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [],
- "tags": []
- },
- {
- "key": "php:S1145",
- "name": "\"if\" statement conditions should not always evaluate to \"true\" or to \"false\"",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "bug",
- "cwe",
- "security"
- ],
- "tags": []
- },
- {
- "key": "php:S108",
- "name": "Nested blocks of code should not be left empty",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [],
- "tags": []
- },
- {
- "key": "php:S1301",
- "name": "\"switch\" statements should have at least 3 \"case\" clauses",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [],
- "tags": []
- },
- {
- "key": "php:S103",
- "name": "Lines should not be too long",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "php:S1144",
- "name": "Unused private method should be removed",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "unused"
- ],
- "tags": []
- },
- {
- "key": "php:S105",
- "name": "Tabulation characters should not be used",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention",
- "psr2"
- ],
- "tags": []
- },
- {
- "key": "php:S1481",
- "name": "Unused local variables should be removed",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "unused"
- ],
- "tags": []
- },
- {
- "key": "php:S1142",
- "name": "Functions should not contain too many return statements",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S104",
- "name": "Files should not have too many lines",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S1605",
- "name": "PHP 4 style calls to parent constructors should not be used in PHP5 \"__construct\" functions",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "php:S1448",
- "name": "Classes should not have too many methods",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S1603",
- "name": "PHP 4 constructor declarations should not be used",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "pitfail"
- ],
- "tags": []
- },
- {
- "key": "php:S1779",
- "name": "Only LF character (Unix-like) should be used to end lines",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention",
- "psr2"
- ],
- "tags": []
- },
- {
- "key": "php:S1185",
- "name": "Overriding methods should do more than simply call the same method in the super class",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [],
- "tags": []
- },
- {
- "key": "php:S1600",
- "name": "Deprecated predefined variables should not be used",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "pitfail"
- ],
- "tags": []
- },
- {
- "key": "php:S1109",
- "name": "A close curly brace should be located at the beginning of a line",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "php:S2001",
- "name": "Functions deprecated in PHP 5 should not be used",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "obsolete"
- ],
- "tags": []
- },
- {
- "key": "php:S2002",
- "name": "Errors should not be silenced",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "pitfail"
- ],
- "tags": []
- },
- {
- "key": "php:S2000",
- "name": "Files should not contain characters before \"<?php\"",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "user-experience"
- ],
- "tags": []
- },
- {
- "key": "php:S1105",
- "name": "An open curly brace should be located at the end of a line",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "php:S1200",
- "name": "Classes should not be coupled to too many other classes (Single Responsibility Principle)",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S1106",
- "name": "An open curly brace should be located at the beginning of a line",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- }
- ],
- "facets": [
- {
- "property": "tags",
- "values": [
- {
- "val": "convention",
- "count": 67
- },
- {
- "val": "brain-overload",
- "count": 36
- },
- {
- "val": "bug",
- "count": 36
- },
- {
- "val": "cwe",
- "count": 17
- },
- {
- "val": "unused",
- "count": 16
- },
- {
- "val": "security",
- "count": 14
- },
- {
- "val": "pitfall",
- "count": 12
- },
- {
- "val": "psr2",
- "count": 12
- },
- {
- "val": "error-handling",
- "count": 11
- },
- {
- "val": "pitfail",
- "count": 10
- }
- ]
- },
- {
- "property": "languages",
- "values": [
- {
- "val": "java",
- "count": 212
- },
- {
- "val": "py",
- "count": 212
- },
- {
- "val": "php",
- "count": 103
- },
- {
- "val": "js",
- "count": 77
- }
- ]
- },
- {
- "property": "repositories",
- "values": [
- {
- "val": "squid",
- "count": 206
- },
- {
- "val": "Pylint",
- "count": 180
- },
- {
- "val": "php",
- "count": 97
- },
- {
- "val": "javascript",
- "count": 73
- },
- {
- "val": "python",
- "count": 28
- },
- {
- "val": "common-java",
- "count": 6
- },
- {
- "val": "common-php",
- "count": 6
- },
- {
- "val": "manual",
- "count": 5
- },
- {
- "val": "common-js",
- "count": 4
- },
- {
- "val": "common-py",
- "count": 4
- }
- ]
- }
- ]
-}
+++ /dev/null
-/*
- * SonarQube, open source software quality management tool.
- * Copyright (C) 2008-2014 SonarSource
- * mailto:contact AT sonarsource DOT com
- *
- * SonarQube 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.
- *
- * SonarQube 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.
- */
-/* global casper:false */
-
-var lib = require('../lib');
-
-lib.initMessages();
-lib.changeWorkingDirectory('coding-rules-page-inheritance-facet');
-lib.configureCasper();
-
-
-casper.test.begin('coding-rules-page-inheritance-facet', 11, function (test) {
- casper
- .start(lib.buildUrl('coding-rules'), function () {
- lib.setDefaultViewport();
-
- lib.mockRequest('/api/l10n/index', '{}');
- lib.mockRequestFromFile('/api/rules/app', 'app.json');
- lib.mockRequestFromFile('/api/rules/search', 'search-not-inherited.json', { data: { inheritance: 'NONE' } });
- lib.mockRequestFromFile('/api/rules/search', 'search-inherited.json', { data: { inheritance: 'INHERITED' } });
- lib.mockRequestFromFile('/api/rules/search', 'search-overriden.json', { data: { inheritance: 'OVERRIDES' } });
- lib.mockRequestFromFile('/api/rules/search', 'search-qprofile.json',
- { data: { qprofile: 'java-default-with-mojo-conventions-49307' } });
- lib.mockRequestFromFile('/api/rules/search', 'search-qprofile2.json',
- { data: { qprofile: 'java-top-profile-without-formatting-conventions-50037' } });
- lib.mockRequestFromFile('/api/rules/search', 'search.json');
- })
-
- .then(function () {
- casper.waitForSelector('.coding-rule');
- })
-
- .then(function () {
- test.assertSelectorContains('#coding-rules-total', '609');
- test.assertExists('.search-navigator-facet-box-forbidden[data-property="inheritance"]');
- casper.click('[data-property="qprofile"] .js-facet-toggle');
- casper.waitForSelector('.js-facet[data-value="java-default-with-mojo-conventions-49307"]');
- })
-
- .then(function () {
- casper.click('.js-facet[data-value="java-default-with-mojo-conventions-49307"]');
- casper.waitForSelectorTextChange('#coding-rules-total');
- })
-
- .then(function () {
- test.assertSelectorContains('#coding-rules-total', '407');
- test.assertDoesntExist('.search-navigator-facet-box-forbidden[data-property="inheritance"]');
- casper.click('[data-property="inheritance"] .js-facet-toggle');
- casper.waitForSelector('[data-property="inheritance"] [data-value="NONE"]');
- })
-
- .then(function () {
- casper.click('[data-property="inheritance"] [data-value="NONE"]');
- casper.waitForSelectorTextChange('#coding-rules-total');
- })
-
- .then(function () {
- test.assertSelectorContains('#coding-rules-total', '103');
- casper.click('[data-property="inheritance"] [data-value="INHERITED"]');
- casper.waitForSelectorTextChange('#coding-rules-total');
- })
-
- .then(function () {
- test.assertSelectorContains('#coding-rules-total', '101');
- casper.click('[data-property="inheritance"] [data-value="OVERRIDES"]');
- casper.waitForSelectorTextChange('#coding-rules-total');
- })
-
- .then(function () {
- test.assertSelectorContains('#coding-rules-total', '102');
- casper.click('.js-facet[data-value="java-top-profile-without-formatting-conventions-50037"]');
- casper.waitForSelectorTextChange('#coding-rules-total');
- })
-
- .then(function () {
- test.assertSelectorContains('#coding-rules-total', '408');
- test.assertExists('.search-navigator-facet-box-forbidden[data-property="inheritance"]');
- casper.click('[data-property="qprofile"] .js-facet-toggle');
- casper.waitForSelectorTextChange('#coding-rules-total');
- })
-
- .then(function () {
- test.assertSelectorContains('#coding-rules-total', '609');
- test.assertExists('.search-navigator-facet-box-forbidden[data-property="inheritance"]');
- })
-
- .run(function () {
- test.done();
- });
-});
+++ /dev/null
-{
- "canWrite": false,
- "qualityprofiles": [
- {
- "key": "java-default-with-mojo-conventions-49307",
- "name": "Default - Maven Conventions",
- "lang": "java",
- "parentKey": "java-top-profile-without-formatting-conventions-50037"
- },
- {
- "key": "java-default-with-sonarsource-conventions-27339",
- "name": "Default - SonarSource conventions",
- "lang": "java",
- "parentKey": "java-top-profile-without-formatting-conventions-50037"
- },
- {
- "key": "java-top-profile-without-formatting-conventions-50037",
- "name": "Default - Top",
- "lang": "java"
- },
- {
- "key": "java-findbugs-14954",
- "name": "FindBugs",
- "lang": "java"
- },
- {
- "key": "java-for-sq-java-plugin-only-92289",
- "name": "For SQ Java Plugin Only",
- "lang": "java",
- "parentKey": "java-default-with-sonarsource-conventions-27339"
- },
- {
- "key": "java-for-sq-only-95381",
- "name": "For SQ Only",
- "lang": "java",
- "parentKey": "java-default-with-sonarsource-conventions-27339"
- },
- {
- "key": "php-psr-2-06315",
- "name": "PSR-2",
- "lang": "php"
- },
- {
- "key": "java-sonar-way-80423",
- "name": "Sonar way",
- "lang": "java"
- },
- {
- "key": "js-sonar-way",
- "name": "Sonar way",
- "lang": "js"
- },
- {
- "key": "php-sonar-way-05548",
- "name": "Sonar way",
- "lang": "php"
- },
- {
- "key": "py-sonar-way-80265",
- "name": "Sonar way",
- "lang": "py"
- },
- {
- "key": "java-without-findbugs",
- "name": "Without Findbugs",
- "lang": "java"
- }
- ],
- "languages": {
- "py": "Python",
- "js": "JavaScript",
- "php": "PHP",
- "java": "Java"
- },
- "repositories": [
- {
- "key": "common-java",
- "name": "Common SonarQube",
- "language": "java"
- },
- {
- "key": "common-js",
- "name": "Common SonarQube",
- "language": "js"
- },
- {
- "key": "common-php",
- "name": "Common SonarQube",
- "language": "php"
- },
- {
- "key": "common-py",
- "name": "Common SonarQube",
- "language": "py"
- },
- {
- "key": "Pylint",
- "name": "Pylint",
- "language": "py"
- },
- {
- "key": "javascript",
- "name": "SonarQube",
- "language": "js"
- },
- {
- "key": "php",
- "name": "SonarQube",
- "language": "php"
- },
- {
- "key": "python",
- "name": "SonarQube",
- "language": "py"
- },
- {
- "key": "squid",
- "name": "SonarQube",
- "language": "java"
- }
- ],
- "statuses": {
- "BETA": "Beta",
- "DEPRECATED": "Deprecated",
- "READY": "Ready"
- },
- "characteristics": [
- {
- "key": "UNDERSTANDABILITY",
- "name": "Understandability",
- "parent": "MAINTAINABILITY"
- },
- {
- "key": "MAINTAINABILITY",
- "name": "Maintainability"
- },
- {
- "key": "TIME_ZONE_RELATED_PORTABILITY",
- "name": "Time zone related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "READABILITY",
- "name": "Readability",
- "parent": "MAINTAINABILITY"
- },
- {
- "key": "SECURITY_FEATURES",
- "name": "Security features",
- "parent": "SECURITY"
- },
- {
- "key": "ARCHITECTURE_RELIABILITY",
- "name": "Architecture related reliability",
- "parent": "RELIABILITY"
- },
- {
- "key": "OS_RELATED_PORTABILITY",
- "name": "OS related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "EXCEPTION_HANDLING",
- "name": "Exception handling",
- "parent": "RELIABILITY"
- },
- {
- "key": "LOGIC_CHANGEABILITY",
- "name": "Logic related changeability",
- "parent": "CHANGEABILITY"
- },
- {
- "key": "SOFTWARE_RELATED_PORTABILITY",
- "name": "Software related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "INPUT_VALIDATION_AND_REPRESENTATION",
- "name": "Input validation and representation",
- "parent": "SECURITY"
- },
- {
- "key": "LANGUAGE_RELATED_PORTABILITY",
- "name": "Language related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "ERRORS",
- "name": "Errors",
- "parent": "SECURITY"
- },
- {
- "key": "SECURITY",
- "name": "Security"
- },
- {
- "key": "RELIABILITY",
- "name": "Reliability"
- },
- {
- "key": "PORTABILITY",
- "name": "Portability"
- },
- {
- "key": "HARDWARE_RELATED_PORTABILITY",
- "name": "Hardware related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "SYNCHRONIZATION_RELIABILITY",
- "name": "Synchronization related reliability",
- "parent": "RELIABILITY"
- },
- {
- "key": "TRANSPORTABILITY",
- "name": "Transportability",
- "parent": "REUSABILITY"
- },
- {
- "key": "COMPILER_RELATED_PORTABILITY",
- "name": "Compiler related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "RESOURCE_RELIABILITY",
- "name": "Resource",
- "parent": "RELIABILITY"
- },
- {
- "key": "CPU_EFFICIENCY",
- "name": "Processor use",
- "parent": "EFFICIENCY"
- },
- {
- "key": "EFFICIENCY",
- "name": "Efficiency"
- },
- {
- "key": "CHANGEABILITY",
- "name": "Changeability"
- },
- {
- "key": "DATA_CHANGEABILITY",
- "name": "Data related changeability",
- "parent": "CHANGEABILITY"
- },
- {
- "key": "API_ABUSE",
- "name": "API abuse",
- "parent": "SECURITY"
- },
- {
- "key": "ARCHITECTURE_CHANGEABILITY",
- "name": "Architecture related changeability",
- "parent": "CHANGEABILITY"
- },
- {
- "key": "UNIT_TESTS",
- "name": "Unit tests",
- "parent": "RELIABILITY"
- },
- {
- "key": "INSTRUCTION_RELIABILITY",
- "name": "Instruction related reliability",
- "parent": "RELIABILITY"
- },
- {
- "key": "REUSABILITY",
- "name": "Reusability"
- },
- {
- "key": "MODULARITY",
- "name": "Modularity",
- "parent": "REUSABILITY"
- },
- {
- "key": "UNIT_TESTABILITY",
- "name": "Unit level testability",
- "parent": "TESTABILITY"
- },
- {
- "key": "TESTABILITY",
- "name": "Testability"
- },
- {
- "key": "INTEGRATION_TESTABILITY",
- "name": "Integration level testability",
- "parent": "TESTABILITY"
- },
- {
- "key": "NETWORK_USE",
- "name": "Network use",
- "parent": "EFFICIENCY"
- },
- {
- "key": "MEMORY_EFFICIENCY",
- "name": "Memory use",
- "parent": "EFFICIENCY"
- },
- {
- "key": "DATA_RELIABILITY",
- "name": "Data related reliability",
- "parent": "RELIABILITY"
- },
- {
- "key": "FAULT_TOLERANCE",
- "name": "Fault tolerance",
- "parent": "RELIABILITY"
- },
- {
- "key": "LOGIC_RELIABILITY",
- "name": "Logic related reliability",
- "parent": "RELIABILITY"
- }
- ]
-}
+++ /dev/null
-{
- "total": 101,
- "p": 1,
- "ps": 25,
- "rules": [
- {
- "key": "squid:S2077",
- "name": "Values passed to SQL commands should be sanitized",
- "lang": "java",
- "langName": "Java",
- "sysTags": [
- "cwe",
- "owasp-top10",
- "security",
- "sql"
- ],
- "tags": [
- "custom-tag"
- ]
- },
- {
- "key": "php:S107",
- "name": "Functions should not have too many parameters",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S1192",
- "name": "String literals should not be duplicated",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [],
- "tags": []
- },
- {
- "key": "php:S1145",
- "name": "\"if\" statement conditions should not always evaluate to \"true\" or to \"false\"",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "bug",
- "cwe",
- "security"
- ],
- "tags": []
- },
- {
- "key": "php:S108",
- "name": "Nested blocks of code should not be left empty",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [],
- "tags": []
- },
- {
- "key": "php:S1301",
- "name": "\"switch\" statements should have at least 3 \"case\" clauses",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [],
- "tags": []
- },
- {
- "key": "php:S103",
- "name": "Lines should not be too long",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "php:S1144",
- "name": "Unused private method should be removed",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "unused"
- ],
- "tags": []
- },
- {
- "key": "php:S105",
- "name": "Tabulation characters should not be used",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention",
- "psr2"
- ],
- "tags": []
- },
- {
- "key": "php:S1481",
- "name": "Unused local variables should be removed",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "unused"
- ],
- "tags": []
- },
- {
- "key": "php:S1142",
- "name": "Functions should not contain too many return statements",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S104",
- "name": "Files should not have too many lines",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S1605",
- "name": "PHP 4 style calls to parent constructors should not be used in PHP5 \"__construct\" functions",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "php:S1448",
- "name": "Classes should not have too many methods",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S1603",
- "name": "PHP 4 constructor declarations should not be used",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "pitfail"
- ],
- "tags": []
- },
- {
- "key": "php:S1779",
- "name": "Only LF character (Unix-like) should be used to end lines",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention",
- "psr2"
- ],
- "tags": []
- },
- {
- "key": "php:S1185",
- "name": "Overriding methods should do more than simply call the same method in the super class",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [],
- "tags": []
- },
- {
- "key": "php:S1600",
- "name": "Deprecated predefined variables should not be used",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "pitfail"
- ],
- "tags": []
- },
- {
- "key": "php:S1109",
- "name": "A close curly brace should be located at the beginning of a line",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "php:S2001",
- "name": "Functions deprecated in PHP 5 should not be used",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "obsolete"
- ],
- "tags": []
- },
- {
- "key": "php:S2002",
- "name": "Errors should not be silenced",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "pitfail"
- ],
- "tags": []
- },
- {
- "key": "php:S2000",
- "name": "Files should not contain characters before \"<?php\"",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "user-experience"
- ],
- "tags": []
- },
- {
- "key": "php:S1105",
- "name": "An open curly brace should be located at the end of a line",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "php:S1200",
- "name": "Classes should not be coupled to too many other classes (Single Responsibility Principle)",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S1106",
- "name": "An open curly brace should be located at the beginning of a line",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- }
- ],
- "facets": [
- {
- "property": "tags",
- "values": [
- {
- "val": "convention",
- "count": 67
- },
- {
- "val": "brain-overload",
- "count": 36
- },
- {
- "val": "bug",
- "count": 36
- },
- {
- "val": "cwe",
- "count": 17
- },
- {
- "val": "unused",
- "count": 16
- },
- {
- "val": "security",
- "count": 14
- },
- {
- "val": "pitfall",
- "count": 12
- },
- {
- "val": "psr2",
- "count": 12
- },
- {
- "val": "error-handling",
- "count": 11
- },
- {
- "val": "pitfail",
- "count": 10
- }
- ]
- },
- {
- "property": "languages",
- "values": [
- {
- "val": "java",
- "count": 212
- },
- {
- "val": "py",
- "count": 212
- },
- {
- "val": "php",
- "count": 103
- },
- {
- "val": "js",
- "count": 77
- }
- ]
- },
- {
- "property": "repositories",
- "values": [
- {
- "val": "squid",
- "count": 206
- },
- {
- "val": "Pylint",
- "count": 180
- },
- {
- "val": "php",
- "count": 97
- },
- {
- "val": "javascript",
- "count": 73
- },
- {
- "val": "python",
- "count": 28
- },
- {
- "val": "common-java",
- "count": 6
- },
- {
- "val": "common-php",
- "count": 6
- },
- {
- "val": "manual",
- "count": 5
- },
- {
- "val": "common-js",
- "count": 4
- },
- {
- "val": "common-py",
- "count": 4
- }
- ]
- }
- ]
-}
+++ /dev/null
-{
- "total": 103,
- "p": 1,
- "ps": 25,
- "rules": [
- {
- "key": "squid:S2077",
- "name": "Values passed to SQL commands should be sanitized",
- "lang": "java",
- "langName": "Java",
- "sysTags": [
- "cwe",
- "owasp-top10",
- "security",
- "sql"
- ],
- "tags": [
- "custom-tag"
- ]
- },
- {
- "key": "php:S107",
- "name": "Functions should not have too many parameters",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S1192",
- "name": "String literals should not be duplicated",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [],
- "tags": []
- },
- {
- "key": "php:S1145",
- "name": "\"if\" statement conditions should not always evaluate to \"true\" or to \"false\"",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "bug",
- "cwe",
- "security"
- ],
- "tags": []
- },
- {
- "key": "php:S108",
- "name": "Nested blocks of code should not be left empty",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [],
- "tags": []
- },
- {
- "key": "php:S1301",
- "name": "\"switch\" statements should have at least 3 \"case\" clauses",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [],
- "tags": []
- },
- {
- "key": "php:S103",
- "name": "Lines should not be too long",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "php:S1144",
- "name": "Unused private method should be removed",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "unused"
- ],
- "tags": []
- },
- {
- "key": "php:S105",
- "name": "Tabulation characters should not be used",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention",
- "psr2"
- ],
- "tags": []
- },
- {
- "key": "php:S1481",
- "name": "Unused local variables should be removed",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "unused"
- ],
- "tags": []
- },
- {
- "key": "php:S1142",
- "name": "Functions should not contain too many return statements",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S104",
- "name": "Files should not have too many lines",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S1605",
- "name": "PHP 4 style calls to parent constructors should not be used in PHP5 \"__construct\" functions",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "php:S1448",
- "name": "Classes should not have too many methods",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S1603",
- "name": "PHP 4 constructor declarations should not be used",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "pitfail"
- ],
- "tags": []
- },
- {
- "key": "php:S1779",
- "name": "Only LF character (Unix-like) should be used to end lines",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention",
- "psr2"
- ],
- "tags": []
- },
- {
- "key": "php:S1185",
- "name": "Overriding methods should do more than simply call the same method in the super class",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [],
- "tags": []
- },
- {
- "key": "php:S1600",
- "name": "Deprecated predefined variables should not be used",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "pitfail"
- ],
- "tags": []
- },
- {
- "key": "php:S1109",
- "name": "A close curly brace should be located at the beginning of a line",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "php:S2001",
- "name": "Functions deprecated in PHP 5 should not be used",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "obsolete"
- ],
- "tags": []
- },
- {
- "key": "php:S2002",
- "name": "Errors should not be silenced",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "pitfail"
- ],
- "tags": []
- },
- {
- "key": "php:S2000",
- "name": "Files should not contain characters before \"<?php\"",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "user-experience"
- ],
- "tags": []
- },
- {
- "key": "php:S1105",
- "name": "An open curly brace should be located at the end of a line",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "php:S1200",
- "name": "Classes should not be coupled to too many other classes (Single Responsibility Principle)",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S1106",
- "name": "An open curly brace should be located at the beginning of a line",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- }
- ],
- "facets": [
- {
- "property": "tags",
- "values": [
- {
- "val": "convention",
- "count": 67
- },
- {
- "val": "brain-overload",
- "count": 36
- },
- {
- "val": "bug",
- "count": 36
- },
- {
- "val": "cwe",
- "count": 17
- },
- {
- "val": "unused",
- "count": 16
- },
- {
- "val": "security",
- "count": 14
- },
- {
- "val": "pitfall",
- "count": 12
- },
- {
- "val": "psr2",
- "count": 12
- },
- {
- "val": "error-handling",
- "count": 11
- },
- {
- "val": "pitfail",
- "count": 10
- }
- ]
- },
- {
- "property": "languages",
- "values": [
- {
- "val": "java",
- "count": 212
- },
- {
- "val": "py",
- "count": 212
- },
- {
- "val": "php",
- "count": 103
- },
- {
- "val": "js",
- "count": 77
- }
- ]
- },
- {
- "property": "repositories",
- "values": [
- {
- "val": "squid",
- "count": 206
- },
- {
- "val": "Pylint",
- "count": 180
- },
- {
- "val": "php",
- "count": 97
- },
- {
- "val": "javascript",
- "count": 73
- },
- {
- "val": "python",
- "count": 28
- },
- {
- "val": "common-java",
- "count": 6
- },
- {
- "val": "common-php",
- "count": 6
- },
- {
- "val": "manual",
- "count": 5
- },
- {
- "val": "common-js",
- "count": 4
- },
- {
- "val": "common-py",
- "count": 4
- }
- ]
- }
- ]
-}
+++ /dev/null
-{
- "total": 102,
- "p": 1,
- "ps": 25,
- "rules": [
- {
- "key": "squid:S2077",
- "name": "Values passed to SQL commands should be sanitized",
- "lang": "java",
- "langName": "Java",
- "sysTags": [
- "cwe",
- "owasp-top10",
- "security",
- "sql"
- ],
- "tags": [
- "custom-tag"
- ]
- },
- {
- "key": "php:S107",
- "name": "Functions should not have too many parameters",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S1192",
- "name": "String literals should not be duplicated",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [],
- "tags": []
- },
- {
- "key": "php:S1145",
- "name": "\"if\" statement conditions should not always evaluate to \"true\" or to \"false\"",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "bug",
- "cwe",
- "security"
- ],
- "tags": []
- },
- {
- "key": "php:S108",
- "name": "Nested blocks of code should not be left empty",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [],
- "tags": []
- },
- {
- "key": "php:S1301",
- "name": "\"switch\" statements should have at least 3 \"case\" clauses",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [],
- "tags": []
- },
- {
- "key": "php:S103",
- "name": "Lines should not be too long",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "php:S1144",
- "name": "Unused private method should be removed",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "unused"
- ],
- "tags": []
- },
- {
- "key": "php:S105",
- "name": "Tabulation characters should not be used",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention",
- "psr2"
- ],
- "tags": []
- },
- {
- "key": "php:S1481",
- "name": "Unused local variables should be removed",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "unused"
- ],
- "tags": []
- },
- {
- "key": "php:S1142",
- "name": "Functions should not contain too many return statements",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S104",
- "name": "Files should not have too many lines",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S1605",
- "name": "PHP 4 style calls to parent constructors should not be used in PHP5 \"__construct\" functions",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "php:S1448",
- "name": "Classes should not have too many methods",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S1603",
- "name": "PHP 4 constructor declarations should not be used",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "pitfail"
- ],
- "tags": []
- },
- {
- "key": "php:S1779",
- "name": "Only LF character (Unix-like) should be used to end lines",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention",
- "psr2"
- ],
- "tags": []
- },
- {
- "key": "php:S1185",
- "name": "Overriding methods should do more than simply call the same method in the super class",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [],
- "tags": []
- },
- {
- "key": "php:S1600",
- "name": "Deprecated predefined variables should not be used",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "pitfail"
- ],
- "tags": []
- },
- {
- "key": "php:S1109",
- "name": "A close curly brace should be located at the beginning of a line",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "php:S2001",
- "name": "Functions deprecated in PHP 5 should not be used",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "obsolete"
- ],
- "tags": []
- },
- {
- "key": "php:S2002",
- "name": "Errors should not be silenced",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "pitfail"
- ],
- "tags": []
- },
- {
- "key": "php:S2000",
- "name": "Files should not contain characters before \"<?php\"",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "user-experience"
- ],
- "tags": []
- },
- {
- "key": "php:S1105",
- "name": "An open curly brace should be located at the end of a line",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "php:S1200",
- "name": "Classes should not be coupled to too many other classes (Single Responsibility Principle)",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S1106",
- "name": "An open curly brace should be located at the beginning of a line",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- }
- ],
- "facets": [
- {
- "property": "tags",
- "values": [
- {
- "val": "convention",
- "count": 67
- },
- {
- "val": "brain-overload",
- "count": 36
- },
- {
- "val": "bug",
- "count": 36
- },
- {
- "val": "cwe",
- "count": 17
- },
- {
- "val": "unused",
- "count": 16
- },
- {
- "val": "security",
- "count": 14
- },
- {
- "val": "pitfall",
- "count": 12
- },
- {
- "val": "psr2",
- "count": 12
- },
- {
- "val": "error-handling",
- "count": 11
- },
- {
- "val": "pitfail",
- "count": 10
- }
- ]
- },
- {
- "property": "languages",
- "values": [
- {
- "val": "java",
- "count": 212
- },
- {
- "val": "py",
- "count": 212
- },
- {
- "val": "php",
- "count": 103
- },
- {
- "val": "js",
- "count": 77
- }
- ]
- },
- {
- "property": "repositories",
- "values": [
- {
- "val": "squid",
- "count": 206
- },
- {
- "val": "Pylint",
- "count": 180
- },
- {
- "val": "php",
- "count": 97
- },
- {
- "val": "javascript",
- "count": 73
- },
- {
- "val": "python",
- "count": 28
- },
- {
- "val": "common-java",
- "count": 6
- },
- {
- "val": "common-php",
- "count": 6
- },
- {
- "val": "manual",
- "count": 5
- },
- {
- "val": "common-js",
- "count": 4
- },
- {
- "val": "common-py",
- "count": 4
- }
- ]
- }
- ]
-}
+++ /dev/null
-{
- "total": 407,
- "p": 1,
- "ps": 25,
- "rules": [
- {
- "key": "squid:S2077",
- "name": "Values passed to SQL commands should be sanitized",
- "lang": "java",
- "langName": "Java",
- "sysTags": [
- "cwe",
- "owasp-top10",
- "security",
- "sql"
- ],
- "tags": [
- "custom-tag"
- ]
- },
- {
- "key": "php:S107",
- "name": "Functions should not have too many parameters",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S1192",
- "name": "String literals should not be duplicated",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [],
- "tags": []
- },
- {
- "key": "php:S1145",
- "name": "\"if\" statement conditions should not always evaluate to \"true\" or to \"false\"",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "bug",
- "cwe",
- "security"
- ],
- "tags": []
- },
- {
- "key": "php:S108",
- "name": "Nested blocks of code should not be left empty",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [],
- "tags": []
- },
- {
- "key": "php:S1301",
- "name": "\"switch\" statements should have at least 3 \"case\" clauses",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [],
- "tags": []
- },
- {
- "key": "php:S103",
- "name": "Lines should not be too long",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "php:S1144",
- "name": "Unused private method should be removed",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "unused"
- ],
- "tags": []
- },
- {
- "key": "php:S105",
- "name": "Tabulation characters should not be used",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention",
- "psr2"
- ],
- "tags": []
- },
- {
- "key": "php:S1481",
- "name": "Unused local variables should be removed",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "unused"
- ],
- "tags": []
- },
- {
- "key": "php:S1142",
- "name": "Functions should not contain too many return statements",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S104",
- "name": "Files should not have too many lines",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S1605",
- "name": "PHP 4 style calls to parent constructors should not be used in PHP5 \"__construct\" functions",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "php:S1448",
- "name": "Classes should not have too many methods",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S1603",
- "name": "PHP 4 constructor declarations should not be used",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "pitfail"
- ],
- "tags": []
- },
- {
- "key": "php:S1779",
- "name": "Only LF character (Unix-like) should be used to end lines",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention",
- "psr2"
- ],
- "tags": []
- },
- {
- "key": "php:S1185",
- "name": "Overriding methods should do more than simply call the same method in the super class",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [],
- "tags": []
- },
- {
- "key": "php:S1600",
- "name": "Deprecated predefined variables should not be used",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "pitfail"
- ],
- "tags": []
- },
- {
- "key": "php:S1109",
- "name": "A close curly brace should be located at the beginning of a line",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "php:S2001",
- "name": "Functions deprecated in PHP 5 should not be used",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "obsolete"
- ],
- "tags": []
- },
- {
- "key": "php:S2002",
- "name": "Errors should not be silenced",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "pitfail"
- ],
- "tags": []
- },
- {
- "key": "php:S2000",
- "name": "Files should not contain characters before \"<?php\"",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "user-experience"
- ],
- "tags": []
- },
- {
- "key": "php:S1105",
- "name": "An open curly brace should be located at the end of a line",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "php:S1200",
- "name": "Classes should not be coupled to too many other classes (Single Responsibility Principle)",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S1106",
- "name": "An open curly brace should be located at the beginning of a line",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- }
- ],
- "facets": [
- {
- "property": "tags",
- "values": [
- {
- "val": "convention",
- "count": 67
- },
- {
- "val": "brain-overload",
- "count": 36
- },
- {
- "val": "bug",
- "count": 36
- },
- {
- "val": "cwe",
- "count": 17
- },
- {
- "val": "unused",
- "count": 16
- },
- {
- "val": "security",
- "count": 14
- },
- {
- "val": "pitfall",
- "count": 12
- },
- {
- "val": "psr2",
- "count": 12
- },
- {
- "val": "error-handling",
- "count": 11
- },
- {
- "val": "pitfail",
- "count": 10
- }
- ]
- },
- {
- "property": "languages",
- "values": [
- {
- "val": "java",
- "count": 212
- },
- {
- "val": "py",
- "count": 212
- },
- {
- "val": "php",
- "count": 103
- },
- {
- "val": "js",
- "count": 77
- }
- ]
- },
- {
- "property": "repositories",
- "values": [
- {
- "val": "squid",
- "count": 206
- },
- {
- "val": "Pylint",
- "count": 180
- },
- {
- "val": "php",
- "count": 97
- },
- {
- "val": "javascript",
- "count": 73
- },
- {
- "val": "python",
- "count": 28
- },
- {
- "val": "common-java",
- "count": 6
- },
- {
- "val": "common-php",
- "count": 6
- },
- {
- "val": "manual",
- "count": 5
- },
- {
- "val": "common-js",
- "count": 4
- },
- {
- "val": "common-py",
- "count": 4
- }
- ]
- }
- ]
-}
+++ /dev/null
-{
- "total": 408,
- "p": 1,
- "ps": 25,
- "rules": [
- {
- "key": "squid:S2077",
- "name": "Values passed to SQL commands should be sanitized",
- "lang": "java",
- "langName": "Java",
- "sysTags": [
- "cwe",
- "owasp-top10",
- "security",
- "sql"
- ],
- "tags": [
- "custom-tag"
- ]
- },
- {
- "key": "php:S107",
- "name": "Functions should not have too many parameters",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S1192",
- "name": "String literals should not be duplicated",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [],
- "tags": []
- },
- {
- "key": "php:S1145",
- "name": "\"if\" statement conditions should not always evaluate to \"true\" or to \"false\"",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "bug",
- "cwe",
- "security"
- ],
- "tags": []
- },
- {
- "key": "php:S108",
- "name": "Nested blocks of code should not be left empty",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [],
- "tags": []
- },
- {
- "key": "php:S1301",
- "name": "\"switch\" statements should have at least 3 \"case\" clauses",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [],
- "tags": []
- },
- {
- "key": "php:S103",
- "name": "Lines should not be too long",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "php:S1144",
- "name": "Unused private method should be removed",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "unused"
- ],
- "tags": []
- },
- {
- "key": "php:S105",
- "name": "Tabulation characters should not be used",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention",
- "psr2"
- ],
- "tags": []
- },
- {
- "key": "php:S1481",
- "name": "Unused local variables should be removed",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "unused"
- ],
- "tags": []
- },
- {
- "key": "php:S1142",
- "name": "Functions should not contain too many return statements",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S104",
- "name": "Files should not have too many lines",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S1605",
- "name": "PHP 4 style calls to parent constructors should not be used in PHP5 \"__construct\" functions",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "php:S1448",
- "name": "Classes should not have too many methods",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S1603",
- "name": "PHP 4 constructor declarations should not be used",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "pitfail"
- ],
- "tags": []
- },
- {
- "key": "php:S1779",
- "name": "Only LF character (Unix-like) should be used to end lines",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention",
- "psr2"
- ],
- "tags": []
- },
- {
- "key": "php:S1185",
- "name": "Overriding methods should do more than simply call the same method in the super class",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [],
- "tags": []
- },
- {
- "key": "php:S1600",
- "name": "Deprecated predefined variables should not be used",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "pitfail"
- ],
- "tags": []
- },
- {
- "key": "php:S1109",
- "name": "A close curly brace should be located at the beginning of a line",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "php:S2001",
- "name": "Functions deprecated in PHP 5 should not be used",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "obsolete"
- ],
- "tags": []
- },
- {
- "key": "php:S2002",
- "name": "Errors should not be silenced",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "pitfail"
- ],
- "tags": []
- },
- {
- "key": "php:S2000",
- "name": "Files should not contain characters before \"<?php\"",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "user-experience"
- ],
- "tags": []
- },
- {
- "key": "php:S1105",
- "name": "An open curly brace should be located at the end of a line",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "php:S1200",
- "name": "Classes should not be coupled to too many other classes (Single Responsibility Principle)",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S1106",
- "name": "An open curly brace should be located at the beginning of a line",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- }
- ],
- "facets": [
- {
- "property": "tags",
- "values": [
- {
- "val": "convention",
- "count": 67
- },
- {
- "val": "brain-overload",
- "count": 36
- },
- {
- "val": "bug",
- "count": 36
- },
- {
- "val": "cwe",
- "count": 17
- },
- {
- "val": "unused",
- "count": 16
- },
- {
- "val": "security",
- "count": 14
- },
- {
- "val": "pitfall",
- "count": 12
- },
- {
- "val": "psr2",
- "count": 12
- },
- {
- "val": "error-handling",
- "count": 11
- },
- {
- "val": "pitfail",
- "count": 10
- }
- ]
- },
- {
- "property": "languages",
- "values": [
- {
- "val": "java",
- "count": 212
- },
- {
- "val": "py",
- "count": 212
- },
- {
- "val": "php",
- "count": 103
- },
- {
- "val": "js",
- "count": 77
- }
- ]
- },
- {
- "property": "repositories",
- "values": [
- {
- "val": "squid",
- "count": 206
- },
- {
- "val": "Pylint",
- "count": 180
- },
- {
- "val": "php",
- "count": 97
- },
- {
- "val": "javascript",
- "count": 73
- },
- {
- "val": "python",
- "count": 28
- },
- {
- "val": "common-java",
- "count": 6
- },
- {
- "val": "common-php",
- "count": 6
- },
- {
- "val": "manual",
- "count": 5
- },
- {
- "val": "common-js",
- "count": 4
- },
- {
- "val": "common-py",
- "count": 4
- }
- ]
- }
- ]
-}
+++ /dev/null
-{
- "total": 609,
- "p": 1,
- "ps": 25,
- "rules": [
- {
- "key": "squid:S2077",
- "name": "Values passed to SQL commands should be sanitized",
- "lang": "java",
- "langName": "Java",
- "sysTags": [
- "cwe",
- "owasp-top10",
- "security",
- "sql"
- ],
- "tags": [
- "custom-tag"
- ]
- },
- {
- "key": "php:S107",
- "name": "Functions should not have too many parameters",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S1192",
- "name": "String literals should not be duplicated",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [],
- "tags": []
- },
- {
- "key": "php:S1145",
- "name": "\"if\" statement conditions should not always evaluate to \"true\" or to \"false\"",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "bug",
- "cwe",
- "security"
- ],
- "tags": []
- },
- {
- "key": "php:S108",
- "name": "Nested blocks of code should not be left empty",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [],
- "tags": []
- },
- {
- "key": "php:S1301",
- "name": "\"switch\" statements should have at least 3 \"case\" clauses",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [],
- "tags": []
- },
- {
- "key": "php:S103",
- "name": "Lines should not be too long",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "php:S1144",
- "name": "Unused private method should be removed",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "unused"
- ],
- "tags": []
- },
- {
- "key": "php:S105",
- "name": "Tabulation characters should not be used",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention",
- "psr2"
- ],
- "tags": []
- },
- {
- "key": "php:S1481",
- "name": "Unused local variables should be removed",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "unused"
- ],
- "tags": []
- },
- {
- "key": "php:S1142",
- "name": "Functions should not contain too many return statements",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S104",
- "name": "Files should not have too many lines",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S1605",
- "name": "PHP 4 style calls to parent constructors should not be used in PHP5 \"__construct\" functions",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "php:S1448",
- "name": "Classes should not have too many methods",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S1603",
- "name": "PHP 4 constructor declarations should not be used",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "pitfail"
- ],
- "tags": []
- },
- {
- "key": "php:S1779",
- "name": "Only LF character (Unix-like) should be used to end lines",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention",
- "psr2"
- ],
- "tags": []
- },
- {
- "key": "php:S1185",
- "name": "Overriding methods should do more than simply call the same method in the super class",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [],
- "tags": []
- },
- {
- "key": "php:S1600",
- "name": "Deprecated predefined variables should not be used",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "pitfail"
- ],
- "tags": []
- },
- {
- "key": "php:S1109",
- "name": "A close curly brace should be located at the beginning of a line",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "php:S2001",
- "name": "Functions deprecated in PHP 5 should not be used",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "obsolete"
- ],
- "tags": []
- },
- {
- "key": "php:S2002",
- "name": "Errors should not be silenced",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "pitfail"
- ],
- "tags": []
- },
- {
- "key": "php:S2000",
- "name": "Files should not contain characters before \"<?php\"",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "user-experience"
- ],
- "tags": []
- },
- {
- "key": "php:S1105",
- "name": "An open curly brace should be located at the end of a line",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "php:S1200",
- "name": "Classes should not be coupled to too many other classes (Single Responsibility Principle)",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S1106",
- "name": "An open curly brace should be located at the beginning of a line",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- }
- ],
- "facets": [
- {
- "property": "tags",
- "values": [
- {
- "val": "convention",
- "count": 67
- },
- {
- "val": "brain-overload",
- "count": 36
- },
- {
- "val": "bug",
- "count": 36
- },
- {
- "val": "cwe",
- "count": 17
- },
- {
- "val": "unused",
- "count": 16
- },
- {
- "val": "security",
- "count": 14
- },
- {
- "val": "pitfall",
- "count": 12
- },
- {
- "val": "psr2",
- "count": 12
- },
- {
- "val": "error-handling",
- "count": 11
- },
- {
- "val": "pitfail",
- "count": 10
- }
- ]
- },
- {
- "property": "languages",
- "values": [
- {
- "val": "java",
- "count": 212
- },
- {
- "val": "py",
- "count": 212
- },
- {
- "val": "php",
- "count": 103
- },
- {
- "val": "js",
- "count": 77
- }
- ]
- },
- {
- "property": "repositories",
- "values": [
- {
- "val": "squid",
- "count": 206
- },
- {
- "val": "Pylint",
- "count": 180
- },
- {
- "val": "php",
- "count": 97
- },
- {
- "val": "javascript",
- "count": 73
- },
- {
- "val": "python",
- "count": 28
- },
- {
- "val": "common-java",
- "count": 6
- },
- {
- "val": "common-php",
- "count": 6
- },
- {
- "val": "manual",
- "count": 5
- },
- {
- "val": "common-js",
- "count": 4
- },
- {
- "val": "common-py",
- "count": 4
- }
- ]
- }
- ]
-}
+++ /dev/null
-/*
- * SonarQube, open source software quality management tool.
- * Copyright (C) 2008-2014 SonarSource
- * mailto:contact AT sonarsource DOT com
- *
- * SonarQube 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.
- *
- * SonarQube 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.
- */
-/* global casper:false */
-
-var lib = require('../lib');
-
-lib.initMessages();
-lib.changeWorkingDirectory('coding-rules-page-no-available-profiles-for-activation');
-lib.configureCasper();
-
-
-casper.test.begin('coding-rules-page-no-available-profiles-for-activation', 2, function (test) {
- casper
- .start(lib.buildUrl('coding-rules'), function () {
- lib.setDefaultViewport();
-
- lib.mockRequest('/api/l10n/index', '{}');
- lib.mockRequestFromFile('/api/rules/app', 'app.json');
- lib.mockRequestFromFile('/api/rules/search', 'search.json');
- lib.mockRequestFromFile('/api/rules/show', 'show.json');
- lib.mockRequest('/api/issues/search', '{}');
- })
-
- .then(function () {
- casper.waitForSelector('.coding-rule.selected', function () {
- casper.click('.coding-rule.selected .js-rule');
- });
- })
-
- .then(function () {
- casper.waitForSelector('.coding-rules-detail-header');
- })
-
- .then(function () {
- test.assertExist('#coding-rules-quality-profile-activate');
- casper.click('#coding-rules-quality-profile-activate');
- casper.waitForSelector('.modal');
- })
-
- .then(function () {
- test.assertExists('.modal .message-notice');
- })
-
- .run(function () {
- test.done();
- });
-});
+++ /dev/null
-{
- "canWrite": true,
- "qualityprofiles": [
- {
- "key": "java-default-with-mojo-conventions-49307",
- "name": "Default - Maven Conventions",
- "lang": "java",
- "parentKey": "java-top-profile-without-formatting-conventions-50037"
- }
- ],
- "languages": {
- "py": "Python",
- "js": "JavaScript",
- "php": "PHP",
- "java": "Java"
- },
- "repositories": [
- {
- "key": "common-java",
- "name": "Common SonarQube",
- "language": "java"
- },
- {
- "key": "common-js",
- "name": "Common SonarQube",
- "language": "js"
- },
- {
- "key": "common-php",
- "name": "Common SonarQube",
- "language": "php"
- },
- {
- "key": "common-py",
- "name": "Common SonarQube",
- "language": "py"
- },
- {
- "key": "Pylint",
- "name": "Pylint",
- "language": "py"
- },
- {
- "key": "javascript",
- "name": "SonarQube",
- "language": "js"
- },
- {
- "key": "php",
- "name": "SonarQube",
- "language": "php"
- },
- {
- "key": "python",
- "name": "SonarQube",
- "language": "py"
- },
- {
- "key": "squid",
- "name": "SonarQube",
- "language": "java"
- }
- ],
- "statuses": {
- "BETA": "Beta",
- "DEPRECATED": "Deprecated",
- "READY": "Ready"
- },
- "characteristics": [
- {
- "key": "UNDERSTANDABILITY",
- "name": "Understandability",
- "parent": "MAINTAINABILITY"
- },
- {
- "key": "MAINTAINABILITY",
- "name": "Maintainability"
- },
- {
- "key": "TIME_ZONE_RELATED_PORTABILITY",
- "name": "Time zone related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "READABILITY",
- "name": "Readability",
- "parent": "MAINTAINABILITY"
- },
- {
- "key": "SECURITY_FEATURES",
- "name": "Security features",
- "parent": "SECURITY"
- },
- {
- "key": "ARCHITECTURE_RELIABILITY",
- "name": "Architecture related reliability",
- "parent": "RELIABILITY"
- },
- {
- "key": "OS_RELATED_PORTABILITY",
- "name": "OS related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "EXCEPTION_HANDLING",
- "name": "Exception handling",
- "parent": "RELIABILITY"
- },
- {
- "key": "LOGIC_CHANGEABILITY",
- "name": "Logic related changeability",
- "parent": "CHANGEABILITY"
- },
- {
- "key": "SOFTWARE_RELATED_PORTABILITY",
- "name": "Software related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "INPUT_VALIDATION_AND_REPRESENTATION",
- "name": "Input validation and representation",
- "parent": "SECURITY"
- },
- {
- "key": "LANGUAGE_RELATED_PORTABILITY",
- "name": "Language related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "ERRORS",
- "name": "Errors",
- "parent": "SECURITY"
- },
- {
- "key": "SECURITY",
- "name": "Security"
- },
- {
- "key": "RELIABILITY",
- "name": "Reliability"
- },
- {
- "key": "PORTABILITY",
- "name": "Portability"
- },
- {
- "key": "HARDWARE_RELATED_PORTABILITY",
- "name": "Hardware related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "SYNCHRONIZATION_RELIABILITY",
- "name": "Synchronization related reliability",
- "parent": "RELIABILITY"
- },
- {
- "key": "TRANSPORTABILITY",
- "name": "Transportability",
- "parent": "REUSABILITY"
- },
- {
- "key": "COMPILER_RELATED_PORTABILITY",
- "name": "Compiler related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "RESOURCE_RELIABILITY",
- "name": "Resource",
- "parent": "RELIABILITY"
- },
- {
- "key": "CPU_EFFICIENCY",
- "name": "Processor use",
- "parent": "EFFICIENCY"
- },
- {
- "key": "EFFICIENCY",
- "name": "Efficiency"
- },
- {
- "key": "CHANGEABILITY",
- "name": "Changeability"
- },
- {
- "key": "DATA_CHANGEABILITY",
- "name": "Data related changeability",
- "parent": "CHANGEABILITY"
- },
- {
- "key": "API_ABUSE",
- "name": "API abuse",
- "parent": "SECURITY"
- },
- {
- "key": "ARCHITECTURE_CHANGEABILITY",
- "name": "Architecture related changeability",
- "parent": "CHANGEABILITY"
- },
- {
- "key": "UNIT_TESTS",
- "name": "Unit tests",
- "parent": "RELIABILITY"
- },
- {
- "key": "INSTRUCTION_RELIABILITY",
- "name": "Instruction related reliability",
- "parent": "RELIABILITY"
- },
- {
- "key": "REUSABILITY",
- "name": "Reusability"
- },
- {
- "key": "MODULARITY",
- "name": "Modularity",
- "parent": "REUSABILITY"
- },
- {
- "key": "UNIT_TESTABILITY",
- "name": "Unit level testability",
- "parent": "TESTABILITY"
- },
- {
- "key": "TESTABILITY",
- "name": "Testability"
- },
- {
- "key": "INTEGRATION_TESTABILITY",
- "name": "Integration level testability",
- "parent": "TESTABILITY"
- },
- {
- "key": "NETWORK_USE",
- "name": "Network use",
- "parent": "EFFICIENCY"
- },
- {
- "key": "MEMORY_EFFICIENCY",
- "name": "Memory use",
- "parent": "EFFICIENCY"
- },
- {
- "key": "DATA_RELIABILITY",
- "name": "Data related reliability",
- "parent": "RELIABILITY"
- },
- {
- "key": "FAULT_TOLERANCE",
- "name": "Fault tolerance",
- "parent": "RELIABILITY"
- },
- {
- "key": "LOGIC_RELIABILITY",
- "name": "Logic related reliability",
- "parent": "RELIABILITY"
- }
- ]
-}
+++ /dev/null
-{
- "total": 10,
- "p": 1,
- "ps": 200,
- "rules": [
- {
- "key": "squid:S1181",
- "name": "Throwable and Error classes should not be caught",
- "lang": "java",
- "langName": "Java",
- "sysTags": [
- "error-handling"
- ],
- "tags": []
- },
- {
- "key": "squid:S1849",
- "name": "\"Iterator.hasNext()\" should not call \"Iterator.next()\"",
- "lang": "java",
- "langName": "Java",
- "sysTags": [
- "bug"
- ],
- "tags": []
- },
- {
- "key": "squid:S1844",
- "name": "\"Object.wait(...)\" should never be called on objects that implement \"java.util.concurrent.locks.Condition\"",
- "lang": "java",
- "langName": "Java",
- "sysTags": [
- "bug",
- "pitfall"
- ],
- "tags": []
- },
- {
- "key": "squid:S2258",
- "name": "\"javax.crypto.NullCipher\" should not be used for anything other than testing",
- "lang": "java",
- "langName": "Java",
- "sysTags": [
- "cwe",
- "owasp-top10",
- "security"
- ],
- "tags": []
- },
- {
- "key": "squid:S2251",
- "name": "A \"for\" loop update clause should move the counter in the right direction",
- "lang": "java",
- "langName": "Java",
- "sysTags": [
- "bug"
- ],
- "tags": []
- },
- {
- "key": "squid:ObjectFinalizeOverridenCallsSuperFinalizeCheck",
- "name": "super.finalize() should be called at the end of Object.finalize() implementations",
- "lang": "java",
- "langName": "Java",
- "sysTags": [
- "bug"
- ],
- "tags": []
- },
- {
- "key": "squid:S1143",
- "name": "Return statements should not occur in finally blocks",
- "lang": "java",
- "langName": "Java",
- "sysTags": [
- "bug"
- ],
- "tags": []
- },
- {
- "key": "squid:S1206",
- "name": "\"equals(Object obj)\" and \"hashCode()\" should be overridden in pairs",
- "lang": "java",
- "langName": "Java",
- "sysTags": [
- "bug"
- ],
- "tags": []
- },
- {
- "key": "squid:S1451",
- "name": "Copyright and license headers should be defined in all source files",
- "lang": "java",
- "langName": "Java",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "squid:S1697",
- "name": "Short-circuit logic should be used to prevent null pointer dereferences in conditionals",
- "lang": "java",
- "langName": "Java",
- "sysTags": [
- "bug"
- ],
- "tags": []
- }
- ],
- "facets": [
- {
- "property": "tags",
- "values": [
- {
- "val": "bug",
- "count": 7
- },
- {
- "val": "convention",
- "count": 1
- },
- {
- "val": "cwe",
- "count": 1
- },
- {
- "val": "error-handling",
- "count": 1
- },
- {
- "val": "owasp-top10",
- "count": 1
- },
- {
- "val": "pitfall",
- "count": 1
- },
- {
- "val": "security",
- "count": 1
- }
- ]
- },
- {
- "property": "languages",
- "values": [
- {
- "val": "java",
- "count": 10
- },
- {
- "val": "js",
- "count": 6
- },
- {
- "val": "php",
- "count": 2
- }
- ]
- },
- {
- "property": "repositories",
- "values": [
- {
- "val": "squid",
- "count": 10
- }
- ]
- }
- ]
-}
+++ /dev/null
-{
- "rule": {
- "key": "squid:S1181",
- "repo": "squid",
- "name": "Throwable and Error classes should not be caught",
- "createdAt": "2013-08-09T14:40:54+0200",
- "severity": "BLOCKER",
- "status": "READY",
- "internalKey": "S1181",
- "isTemplate": false,
- "tags": [],
- "sysTags": [
- "error-handling"
- ],
- "lang": "java",
- "langName": "Java",
- "htmlDesc": "<p>\n<code>Throwable</code> is the superclass of all errors and exceptions in Java.\n<code>Error</code> is the superclass of all errors which are not meant to be caught by applications.\n</p>\n\n<p>\nCatching either <code>Throwable</code> or <code>Error</code> will also catch <code>OutOfMemoryError</code> or <code>InternalError</code> from which an application should not attempt to recover.\n</p>\n\n<p>Only <code>Exception</code> and its subclasses should be caught.</p>\n\n<h2>Noncompliant Code Example</h2>\n\n<pre>\ntry { /* ... */ } catch (Throwable t) { /* ... */ }\ntry { /* ... */ } catch (Error e) { /* ... */ } \n</pre>\n\n<h2>Compliant Solution</h2>\n\n<pre>\ntry { /* ... */ } catch (Exception e) { /* ... */ } \ntry { /* ... */ } catch (RuntimeException e) { /* ... */ } \ntry { /* ... */ } catch (MyException e) { /* ... */ } \n</pre>",
- "defaultDebtChar": "RELIABILITY",
- "defaultDebtSubChar": "EXCEPTION_HANDLING",
- "debtChar": "RELIABILITY",
- "debtSubChar": "EXCEPTION_HANDLING",
- "debtCharName": "Reliability",
- "debtSubCharName": "Exception handling",
- "defaultDebtRemFnType": "CONSTANT_ISSUE",
- "defaultDebtRemFnOffset": "20min",
- "debtOverloaded": true,
- "debtRemFnType": "LINEAR",
- "debtRemFnCoeff": "20min",
- "params": []
- },
- "actives": [
- {
- "qProfile": "java-default-with-mojo-conventions-49307",
- "inherit": "NONE",
- "severity": "BLOCKER",
- "params": []
- }
- ]
-}
+++ /dev/null
-/*
- * SonarQube, open source software quality management tool.
- * Copyright (C) 2008-2014 SonarSource
- * mailto:contact AT sonarsource DOT com
- *
- * SonarQube 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.
- *
- * SonarQube 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.
- */
-/* global casper:false */
-
-var lib = require('../lib');
-
-lib.initMessages();
-lib.changeWorkingDirectory('coding-rules-page-quality-profile-facet');
-lib.configureCasper();
-
-
-casper.test.begin('coding-rules-page-quality-profile-facet', 6, function (test) {
- casper
- .start(lib.buildUrl('coding-rules'), function () {
- lib.setDefaultViewport();
-
- lib.mockRequest('/api/l10n/index', '{}');
- lib.mockRequestFromFile('/api/rules/app', 'app.json');
- lib.mockRequestFromFile('/api/rules/search', 'search-qprofile-active.json',
- { data: { activation: true } });
- lib.mockRequestFromFile('/api/rules/search', 'search-qprofile-inactive.json',
- { data: { activation: 'false' } });
- lib.mockRequestFromFile('/api/rules/search', 'search.json');
- })
-
- .then(function () {
- casper.waitForSelector('.coding-rule');
- })
-
- .then(function () {
- test.assertSelectorContains('#coding-rules-total', '609');
- casper.click('[data-property="qprofile"] .js-facet-toggle');
- casper.waitForSelector('.js-facet[data-value="java-default-with-mojo-conventions-49307"]');
- })
-
- .then(function () {
- casper.click('.js-facet[data-value="java-default-with-mojo-conventions-49307"]');
- casper.waitForSelectorTextChange('#coding-rules-total');
- })
-
- .then(function () {
- test.assertSelectorContains('#coding-rules-total', '407');
- test.assertExists('.js-facet[data-value="java-default-with-mojo-conventions-49307"] .js-active.facet-toggle-active');
- casper.click('.js-facet[data-value="java-default-with-mojo-conventions-49307"] .js-inactive');
- casper.waitForSelectorTextChange('#coding-rules-total');
- })
-
- .then(function () {
- test.assertSelectorContains('#coding-rules-total', '408');
- test.assertExists('.js-facet[data-value="java-default-with-mojo-conventions-49307"] .js-inactive.facet-toggle-active');
- casper.click('[data-property="qprofile"] .js-facet-toggle');
- casper.waitForSelectorTextChange('#coding-rules-total');
- })
-
- .then(function () {
- test.assertSelectorContains('#coding-rules-total', '609');
- })
-
- .run(function () {
- test.done();
- });
-});
+++ /dev/null
-{
- "canWrite": false,
- "qualityprofiles": [
- {
- "key": "java-default-with-mojo-conventions-49307",
- "name": "Default - Maven Conventions",
- "lang": "java",
- "parentKey": "java-top-profile-without-formatting-conventions-50037"
- },
- {
- "key": "java-default-with-sonarsource-conventions-27339",
- "name": "Default - SonarSource conventions",
- "lang": "java",
- "parentKey": "java-top-profile-without-formatting-conventions-50037"
- },
- {
- "key": "java-top-profile-without-formatting-conventions-50037",
- "name": "Default - Top",
- "lang": "java"
- },
- {
- "key": "java-findbugs-14954",
- "name": "FindBugs",
- "lang": "java"
- },
- {
- "key": "java-for-sq-java-plugin-only-92289",
- "name": "For SQ Java Plugin Only",
- "lang": "java",
- "parentKey": "java-default-with-sonarsource-conventions-27339"
- },
- {
- "key": "java-for-sq-only-95381",
- "name": "For SQ Only",
- "lang": "java",
- "parentKey": "java-default-with-sonarsource-conventions-27339"
- },
- {
- "key": "php-psr-2-06315",
- "name": "PSR-2",
- "lang": "php"
- },
- {
- "key": "java-sonar-way-80423",
- "name": "Sonar way",
- "lang": "java"
- },
- {
- "key": "js-sonar-way",
- "name": "Sonar way",
- "lang": "js"
- },
- {
- "key": "php-sonar-way-05548",
- "name": "Sonar way",
- "lang": "php"
- },
- {
- "key": "py-sonar-way-80265",
- "name": "Sonar way",
- "lang": "py"
- },
- {
- "key": "java-without-findbugs",
- "name": "Without Findbugs",
- "lang": "java"
- }
- ],
- "languages": {
- "py": "Python",
- "js": "JavaScript",
- "php": "PHP",
- "java": "Java"
- },
- "repositories": [
- {
- "key": "common-java",
- "name": "Common SonarQube",
- "language": "java"
- },
- {
- "key": "common-js",
- "name": "Common SonarQube",
- "language": "js"
- },
- {
- "key": "common-php",
- "name": "Common SonarQube",
- "language": "php"
- },
- {
- "key": "common-py",
- "name": "Common SonarQube",
- "language": "py"
- },
- {
- "key": "Pylint",
- "name": "Pylint",
- "language": "py"
- },
- {
- "key": "javascript",
- "name": "SonarQube",
- "language": "js"
- },
- {
- "key": "php",
- "name": "SonarQube",
- "language": "php"
- },
- {
- "key": "python",
- "name": "SonarQube",
- "language": "py"
- },
- {
- "key": "squid",
- "name": "SonarQube",
- "language": "java"
- }
- ],
- "statuses": {
- "BETA": "Beta",
- "DEPRECATED": "Deprecated",
- "READY": "Ready"
- },
- "characteristics": [
- {
- "key": "UNDERSTANDABILITY",
- "name": "Understandability",
- "parent": "MAINTAINABILITY"
- },
- {
- "key": "MAINTAINABILITY",
- "name": "Maintainability"
- },
- {
- "key": "TIME_ZONE_RELATED_PORTABILITY",
- "name": "Time zone related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "READABILITY",
- "name": "Readability",
- "parent": "MAINTAINABILITY"
- },
- {
- "key": "SECURITY_FEATURES",
- "name": "Security features",
- "parent": "SECURITY"
- },
- {
- "key": "ARCHITECTURE_RELIABILITY",
- "name": "Architecture related reliability",
- "parent": "RELIABILITY"
- },
- {
- "key": "OS_RELATED_PORTABILITY",
- "name": "OS related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "EXCEPTION_HANDLING",
- "name": "Exception handling",
- "parent": "RELIABILITY"
- },
- {
- "key": "LOGIC_CHANGEABILITY",
- "name": "Logic related changeability",
- "parent": "CHANGEABILITY"
- },
- {
- "key": "SOFTWARE_RELATED_PORTABILITY",
- "name": "Software related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "INPUT_VALIDATION_AND_REPRESENTATION",
- "name": "Input validation and representation",
- "parent": "SECURITY"
- },
- {
- "key": "LANGUAGE_RELATED_PORTABILITY",
- "name": "Language related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "ERRORS",
- "name": "Errors",
- "parent": "SECURITY"
- },
- {
- "key": "SECURITY",
- "name": "Security"
- },
- {
- "key": "RELIABILITY",
- "name": "Reliability"
- },
- {
- "key": "PORTABILITY",
- "name": "Portability"
- },
- {
- "key": "HARDWARE_RELATED_PORTABILITY",
- "name": "Hardware related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "SYNCHRONIZATION_RELIABILITY",
- "name": "Synchronization related reliability",
- "parent": "RELIABILITY"
- },
- {
- "key": "TRANSPORTABILITY",
- "name": "Transportability",
- "parent": "REUSABILITY"
- },
- {
- "key": "COMPILER_RELATED_PORTABILITY",
- "name": "Compiler related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "RESOURCE_RELIABILITY",
- "name": "Resource",
- "parent": "RELIABILITY"
- },
- {
- "key": "CPU_EFFICIENCY",
- "name": "Processor use",
- "parent": "EFFICIENCY"
- },
- {
- "key": "EFFICIENCY",
- "name": "Efficiency"
- },
- {
- "key": "CHANGEABILITY",
- "name": "Changeability"
- },
- {
- "key": "DATA_CHANGEABILITY",
- "name": "Data related changeability",
- "parent": "CHANGEABILITY"
- },
- {
- "key": "API_ABUSE",
- "name": "API abuse",
- "parent": "SECURITY"
- },
- {
- "key": "ARCHITECTURE_CHANGEABILITY",
- "name": "Architecture related changeability",
- "parent": "CHANGEABILITY"
- },
- {
- "key": "UNIT_TESTS",
- "name": "Unit tests",
- "parent": "RELIABILITY"
- },
- {
- "key": "INSTRUCTION_RELIABILITY",
- "name": "Instruction related reliability",
- "parent": "RELIABILITY"
- },
- {
- "key": "REUSABILITY",
- "name": "Reusability"
- },
- {
- "key": "MODULARITY",
- "name": "Modularity",
- "parent": "REUSABILITY"
- },
- {
- "key": "UNIT_TESTABILITY",
- "name": "Unit level testability",
- "parent": "TESTABILITY"
- },
- {
- "key": "TESTABILITY",
- "name": "Testability"
- },
- {
- "key": "INTEGRATION_TESTABILITY",
- "name": "Integration level testability",
- "parent": "TESTABILITY"
- },
- {
- "key": "NETWORK_USE",
- "name": "Network use",
- "parent": "EFFICIENCY"
- },
- {
- "key": "MEMORY_EFFICIENCY",
- "name": "Memory use",
- "parent": "EFFICIENCY"
- },
- {
- "key": "DATA_RELIABILITY",
- "name": "Data related reliability",
- "parent": "RELIABILITY"
- },
- {
- "key": "FAULT_TOLERANCE",
- "name": "Fault tolerance",
- "parent": "RELIABILITY"
- },
- {
- "key": "LOGIC_RELIABILITY",
- "name": "Logic related reliability",
- "parent": "RELIABILITY"
- }
- ]
-}
+++ /dev/null
-{
- "total": 407,
- "p": 1,
- "ps": 25,
- "rules": [
- {
- "key": "squid:S2077",
- "name": "Values passed to SQL commands should be sanitized",
- "lang": "java",
- "langName": "Java",
- "sysTags": [
- "cwe",
- "owasp-top10",
- "security",
- "sql"
- ],
- "tags": [
- "custom-tag"
- ]
- },
- {
- "key": "php:S107",
- "name": "Functions should not have too many parameters",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S1192",
- "name": "String literals should not be duplicated",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [],
- "tags": []
- },
- {
- "key": "php:S1145",
- "name": "\"if\" statement conditions should not always evaluate to \"true\" or to \"false\"",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "bug",
- "cwe",
- "security"
- ],
- "tags": []
- },
- {
- "key": "php:S108",
- "name": "Nested blocks of code should not be left empty",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [],
- "tags": []
- },
- {
- "key": "php:S1301",
- "name": "\"switch\" statements should have at least 3 \"case\" clauses",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [],
- "tags": []
- },
- {
- "key": "php:S103",
- "name": "Lines should not be too long",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "php:S1144",
- "name": "Unused private method should be removed",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "unused"
- ],
- "tags": []
- },
- {
- "key": "php:S105",
- "name": "Tabulation characters should not be used",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention",
- "psr2"
- ],
- "tags": []
- },
- {
- "key": "php:S1481",
- "name": "Unused local variables should be removed",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "unused"
- ],
- "tags": []
- },
- {
- "key": "php:S1142",
- "name": "Functions should not contain too many return statements",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S104",
- "name": "Files should not have too many lines",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S1605",
- "name": "PHP 4 style calls to parent constructors should not be used in PHP5 \"__construct\" functions",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "php:S1448",
- "name": "Classes should not have too many methods",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S1603",
- "name": "PHP 4 constructor declarations should not be used",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "pitfail"
- ],
- "tags": []
- },
- {
- "key": "php:S1779",
- "name": "Only LF character (Unix-like) should be used to end lines",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention",
- "psr2"
- ],
- "tags": []
- },
- {
- "key": "php:S1185",
- "name": "Overriding methods should do more than simply call the same method in the super class",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [],
- "tags": []
- },
- {
- "key": "php:S1600",
- "name": "Deprecated predefined variables should not be used",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "pitfail"
- ],
- "tags": []
- },
- {
- "key": "php:S1109",
- "name": "A close curly brace should be located at the beginning of a line",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "php:S2001",
- "name": "Functions deprecated in PHP 5 should not be used",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "obsolete"
- ],
- "tags": []
- },
- {
- "key": "php:S2002",
- "name": "Errors should not be silenced",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "pitfail"
- ],
- "tags": []
- },
- {
- "key": "php:S2000",
- "name": "Files should not contain characters before \"<?php\"",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "user-experience"
- ],
- "tags": []
- },
- {
- "key": "php:S1105",
- "name": "An open curly brace should be located at the end of a line",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "php:S1200",
- "name": "Classes should not be coupled to too many other classes (Single Responsibility Principle)",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S1106",
- "name": "An open curly brace should be located at the beginning of a line",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- }
- ],
- "facets": [
- {
- "property": "tags",
- "values": [
- {
- "val": "convention",
- "count": 67
- },
- {
- "val": "brain-overload",
- "count": 36
- },
- {
- "val": "bug",
- "count": 36
- },
- {
- "val": "cwe",
- "count": 17
- },
- {
- "val": "unused",
- "count": 16
- },
- {
- "val": "security",
- "count": 14
- },
- {
- "val": "pitfall",
- "count": 12
- },
- {
- "val": "psr2",
- "count": 12
- },
- {
- "val": "error-handling",
- "count": 11
- },
- {
- "val": "pitfail",
- "count": 10
- }
- ]
- },
- {
- "property": "languages",
- "values": [
- {
- "val": "java",
- "count": 212
- },
- {
- "val": "py",
- "count": 212
- },
- {
- "val": "php",
- "count": 103
- },
- {
- "val": "js",
- "count": 77
- }
- ]
- },
- {
- "property": "repositories",
- "values": [
- {
- "val": "squid",
- "count": 206
- },
- {
- "val": "Pylint",
- "count": 180
- },
- {
- "val": "php",
- "count": 97
- },
- {
- "val": "javascript",
- "count": 73
- },
- {
- "val": "python",
- "count": 28
- },
- {
- "val": "common-java",
- "count": 6
- },
- {
- "val": "common-php",
- "count": 6
- },
- {
- "val": "manual",
- "count": 5
- },
- {
- "val": "common-js",
- "count": 4
- },
- {
- "val": "common-py",
- "count": 4
- }
- ]
- }
- ]
-}
+++ /dev/null
-{
- "total": 408,
- "p": 1,
- "ps": 25,
- "rules": [
- {
- "key": "squid:S2077",
- "name": "Values passed to SQL commands should be sanitized",
- "lang": "java",
- "langName": "Java",
- "sysTags": [
- "cwe",
- "owasp-top10",
- "security",
- "sql"
- ],
- "tags": [
- "custom-tag"
- ]
- },
- {
- "key": "php:S107",
- "name": "Functions should not have too many parameters",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S1192",
- "name": "String literals should not be duplicated",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [],
- "tags": []
- },
- {
- "key": "php:S1145",
- "name": "\"if\" statement conditions should not always evaluate to \"true\" or to \"false\"",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "bug",
- "cwe",
- "security"
- ],
- "tags": []
- },
- {
- "key": "php:S108",
- "name": "Nested blocks of code should not be left empty",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [],
- "tags": []
- },
- {
- "key": "php:S1301",
- "name": "\"switch\" statements should have at least 3 \"case\" clauses",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [],
- "tags": []
- },
- {
- "key": "php:S103",
- "name": "Lines should not be too long",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "php:S1144",
- "name": "Unused private method should be removed",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "unused"
- ],
- "tags": []
- },
- {
- "key": "php:S105",
- "name": "Tabulation characters should not be used",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention",
- "psr2"
- ],
- "tags": []
- },
- {
- "key": "php:S1481",
- "name": "Unused local variables should be removed",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "unused"
- ],
- "tags": []
- },
- {
- "key": "php:S1142",
- "name": "Functions should not contain too many return statements",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S104",
- "name": "Files should not have too many lines",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S1605",
- "name": "PHP 4 style calls to parent constructors should not be used in PHP5 \"__construct\" functions",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "php:S1448",
- "name": "Classes should not have too many methods",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S1603",
- "name": "PHP 4 constructor declarations should not be used",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "pitfail"
- ],
- "tags": []
- },
- {
- "key": "php:S1779",
- "name": "Only LF character (Unix-like) should be used to end lines",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention",
- "psr2"
- ],
- "tags": []
- },
- {
- "key": "php:S1185",
- "name": "Overriding methods should do more than simply call the same method in the super class",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [],
- "tags": []
- },
- {
- "key": "php:S1600",
- "name": "Deprecated predefined variables should not be used",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "pitfail"
- ],
- "tags": []
- },
- {
- "key": "php:S1109",
- "name": "A close curly brace should be located at the beginning of a line",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "php:S2001",
- "name": "Functions deprecated in PHP 5 should not be used",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "obsolete"
- ],
- "tags": []
- },
- {
- "key": "php:S2002",
- "name": "Errors should not be silenced",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "pitfail"
- ],
- "tags": []
- },
- {
- "key": "php:S2000",
- "name": "Files should not contain characters before \"<?php\"",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "user-experience"
- ],
- "tags": []
- },
- {
- "key": "php:S1105",
- "name": "An open curly brace should be located at the end of a line",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "php:S1200",
- "name": "Classes should not be coupled to too many other classes (Single Responsibility Principle)",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S1106",
- "name": "An open curly brace should be located at the beginning of a line",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- }
- ],
- "facets": [
- {
- "property": "tags",
- "values": [
- {
- "val": "convention",
- "count": 67
- },
- {
- "val": "brain-overload",
- "count": 36
- },
- {
- "val": "bug",
- "count": 36
- },
- {
- "val": "cwe",
- "count": 17
- },
- {
- "val": "unused",
- "count": 16
- },
- {
- "val": "security",
- "count": 14
- },
- {
- "val": "pitfall",
- "count": 12
- },
- {
- "val": "psr2",
- "count": 12
- },
- {
- "val": "error-handling",
- "count": 11
- },
- {
- "val": "pitfail",
- "count": 10
- }
- ]
- },
- {
- "property": "languages",
- "values": [
- {
- "val": "java",
- "count": 212
- },
- {
- "val": "py",
- "count": 212
- },
- {
- "val": "php",
- "count": 103
- },
- {
- "val": "js",
- "count": 77
- }
- ]
- },
- {
- "property": "repositories",
- "values": [
- {
- "val": "squid",
- "count": 206
- },
- {
- "val": "Pylint",
- "count": 180
- },
- {
- "val": "php",
- "count": 97
- },
- {
- "val": "javascript",
- "count": 73
- },
- {
- "val": "python",
- "count": 28
- },
- {
- "val": "common-java",
- "count": 6
- },
- {
- "val": "common-php",
- "count": 6
- },
- {
- "val": "manual",
- "count": 5
- },
- {
- "val": "common-js",
- "count": 4
- },
- {
- "val": "common-py",
- "count": 4
- }
- ]
- }
- ]
-}
+++ /dev/null
-{
- "total": 609,
- "p": 1,
- "ps": 25,
- "rules": [
- {
- "key": "squid:S2077",
- "name": "Values passed to SQL commands should be sanitized",
- "lang": "java",
- "langName": "Java",
- "sysTags": [
- "cwe",
- "owasp-top10",
- "security",
- "sql"
- ],
- "tags": [
- "custom-tag"
- ]
- },
- {
- "key": "php:S107",
- "name": "Functions should not have too many parameters",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S1192",
- "name": "String literals should not be duplicated",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [],
- "tags": []
- },
- {
- "key": "php:S1145",
- "name": "\"if\" statement conditions should not always evaluate to \"true\" or to \"false\"",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "bug",
- "cwe",
- "security"
- ],
- "tags": []
- },
- {
- "key": "php:S108",
- "name": "Nested blocks of code should not be left empty",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [],
- "tags": []
- },
- {
- "key": "php:S1301",
- "name": "\"switch\" statements should have at least 3 \"case\" clauses",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [],
- "tags": []
- },
- {
- "key": "php:S103",
- "name": "Lines should not be too long",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "php:S1144",
- "name": "Unused private method should be removed",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "unused"
- ],
- "tags": []
- },
- {
- "key": "php:S105",
- "name": "Tabulation characters should not be used",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention",
- "psr2"
- ],
- "tags": []
- },
- {
- "key": "php:S1481",
- "name": "Unused local variables should be removed",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "unused"
- ],
- "tags": []
- },
- {
- "key": "php:S1142",
- "name": "Functions should not contain too many return statements",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S104",
- "name": "Files should not have too many lines",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S1605",
- "name": "PHP 4 style calls to parent constructors should not be used in PHP5 \"__construct\" functions",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "php:S1448",
- "name": "Classes should not have too many methods",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S1603",
- "name": "PHP 4 constructor declarations should not be used",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "pitfail"
- ],
- "tags": []
- },
- {
- "key": "php:S1779",
- "name": "Only LF character (Unix-like) should be used to end lines",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention",
- "psr2"
- ],
- "tags": []
- },
- {
- "key": "php:S1185",
- "name": "Overriding methods should do more than simply call the same method in the super class",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [],
- "tags": []
- },
- {
- "key": "php:S1600",
- "name": "Deprecated predefined variables should not be used",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "pitfail"
- ],
- "tags": []
- },
- {
- "key": "php:S1109",
- "name": "A close curly brace should be located at the beginning of a line",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "php:S2001",
- "name": "Functions deprecated in PHP 5 should not be used",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "obsolete"
- ],
- "tags": []
- },
- {
- "key": "php:S2002",
- "name": "Errors should not be silenced",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "pitfail"
- ],
- "tags": []
- },
- {
- "key": "php:S2000",
- "name": "Files should not contain characters before \"<?php\"",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "user-experience"
- ],
- "tags": []
- },
- {
- "key": "php:S1105",
- "name": "An open curly brace should be located at the end of a line",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "php:S1200",
- "name": "Classes should not be coupled to too many other classes (Single Responsibility Principle)",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S1106",
- "name": "An open curly brace should be located at the beginning of a line",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- }
- ],
- "facets": [
- {
- "property": "tags",
- "values": [
- {
- "val": "convention",
- "count": 67
- },
- {
- "val": "brain-overload",
- "count": 36
- },
- {
- "val": "bug",
- "count": 36
- },
- {
- "val": "cwe",
- "count": 17
- },
- {
- "val": "unused",
- "count": 16
- },
- {
- "val": "security",
- "count": 14
- },
- {
- "val": "pitfall",
- "count": 12
- },
- {
- "val": "psr2",
- "count": 12
- },
- {
- "val": "error-handling",
- "count": 11
- },
- {
- "val": "pitfail",
- "count": 10
- }
- ]
- },
- {
- "property": "languages",
- "values": [
- {
- "val": "java",
- "count": 212
- },
- {
- "val": "py",
- "count": 212
- },
- {
- "val": "php",
- "count": 103
- },
- {
- "val": "js",
- "count": 77
- }
- ]
- },
- {
- "property": "repositories",
- "values": [
- {
- "val": "squid",
- "count": 206
- },
- {
- "val": "Pylint",
- "count": 180
- },
- {
- "val": "php",
- "count": 97
- },
- {
- "val": "javascript",
- "count": 73
- },
- {
- "val": "python",
- "count": 28
- },
- {
- "val": "common-java",
- "count": 6
- },
- {
- "val": "common-php",
- "count": 6
- },
- {
- "val": "manual",
- "count": 5
- },
- {
- "val": "common-js",
- "count": 4
- },
- {
- "val": "common-py",
- "count": 4
- }
- ]
- }
- ]
-}
+++ /dev/null
-/*
- * SonarQube, open source software quality management tool.
- * Copyright (C) 2008-2014 SonarSource
- * mailto:contact AT sonarsource DOT com
- *
- * SonarQube 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.
- *
- * SonarQube 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.
- */
-/* global casper:false */
-
-var lib = require('../lib');
-
-lib.initMessages();
-lib.changeWorkingDirectory('coding-rules-page-query-facet');
-lib.configureCasper();
-
-
-casper.test.begin('coding-rules-page-query-facet', 3, function (test) {
- casper
- .start(lib.buildUrl('coding-rules'), function () {
- lib.setDefaultViewport();
-
- lib.mockRequest('/api/l10n/index', '{}');
- lib.mockRequestFromFile('/api/rules/app', 'app.json');
- lib.mockRequestFromFile('/api/rules/search', 'search-query.json', { data: { q: 'query' } });
- lib.mockRequestFromFile('/api/rules/search', 'search.json');
- })
-
- .then(function () {
- casper.waitForSelector('.coding-rule');
- })
-
- .then(function () {
- test.assertSelectorContains('#coding-rules-total', '609');
- casper.evaluate(function () {
- jQuery('[data-property="q"] input').val('query');
- jQuery('[data-property="q"] form').submit();
- });
- casper.waitForSelectorTextChange('#coding-rules-total');
- })
-
- .then(function () {
- test.assertSelectorContains('#coding-rules-total', '4');
- casper.evaluate(function () {
- jQuery('[data-property="q"] input').val('');
- jQuery('[data-property="q"] form').submit();
- });
- casper.waitForSelectorTextChange('#coding-rules-total');
- })
-
- .then(function () {
- test.assertSelectorContains('#coding-rules-total', '609');
- })
-
- .run(function () {
- test.done();
- });
-});
+++ /dev/null
-{
- "canWrite": false,
- "qualityprofiles": [
- {
- "key": "java-default-with-mojo-conventions-49307",
- "name": "Default - Maven Conventions",
- "lang": "java",
- "parentKey": "java-top-profile-without-formatting-conventions-50037"
- },
- {
- "key": "java-default-with-sonarsource-conventions-27339",
- "name": "Default - SonarSource conventions",
- "lang": "java",
- "parentKey": "java-top-profile-without-formatting-conventions-50037"
- },
- {
- "key": "java-top-profile-without-formatting-conventions-50037",
- "name": "Default - Top",
- "lang": "java"
- },
- {
- "key": "java-findbugs-14954",
- "name": "FindBugs",
- "lang": "java"
- },
- {
- "key": "java-for-sq-java-plugin-only-92289",
- "name": "For SQ Java Plugin Only",
- "lang": "java",
- "parentKey": "java-default-with-sonarsource-conventions-27339"
- },
- {
- "key": "java-for-sq-only-95381",
- "name": "For SQ Only",
- "lang": "java",
- "parentKey": "java-default-with-sonarsource-conventions-27339"
- },
- {
- "key": "php-psr-2-06315",
- "name": "PSR-2",
- "lang": "php"
- },
- {
- "key": "java-sonar-way-80423",
- "name": "Sonar way",
- "lang": "java"
- },
- {
- "key": "js-sonar-way",
- "name": "Sonar way",
- "lang": "js"
- },
- {
- "key": "php-sonar-way-05548",
- "name": "Sonar way",
- "lang": "php"
- },
- {
- "key": "py-sonar-way-80265",
- "name": "Sonar way",
- "lang": "py"
- },
- {
- "key": "java-without-findbugs",
- "name": "Without Findbugs",
- "lang": "java"
- }
- ],
- "languages": {
- "py": "Python",
- "js": "JavaScript",
- "php": "PHP",
- "java": "Java"
- },
- "repositories": [
- {
- "key": "common-java",
- "name": "Common SonarQube",
- "language": "java"
- },
- {
- "key": "common-js",
- "name": "Common SonarQube",
- "language": "js"
- },
- {
- "key": "common-php",
- "name": "Common SonarQube",
- "language": "php"
- },
- {
- "key": "common-py",
- "name": "Common SonarQube",
- "language": "py"
- },
- {
- "key": "Pylint",
- "name": "Pylint",
- "language": "py"
- },
- {
- "key": "javascript",
- "name": "SonarQube",
- "language": "js"
- },
- {
- "key": "php",
- "name": "SonarQube",
- "language": "php"
- },
- {
- "key": "python",
- "name": "SonarQube",
- "language": "py"
- },
- {
- "key": "squid",
- "name": "SonarQube",
- "language": "java"
- }
- ],
- "statuses": {
- "BETA": "Beta",
- "DEPRECATED": "Deprecated",
- "READY": "Ready"
- },
- "characteristics": [
- {
- "key": "UNDERSTANDABILITY",
- "name": "Understandability",
- "parent": "MAINTAINABILITY"
- },
- {
- "key": "MAINTAINABILITY",
- "name": "Maintainability"
- },
- {
- "key": "TIME_ZONE_RELATED_PORTABILITY",
- "name": "Time zone related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "READABILITY",
- "name": "Readability",
- "parent": "MAINTAINABILITY"
- },
- {
- "key": "SECURITY_FEATURES",
- "name": "Security features",
- "parent": "SECURITY"
- },
- {
- "key": "ARCHITECTURE_RELIABILITY",
- "name": "Architecture related reliability",
- "parent": "RELIABILITY"
- },
- {
- "key": "OS_RELATED_PORTABILITY",
- "name": "OS related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "EXCEPTION_HANDLING",
- "name": "Exception handling",
- "parent": "RELIABILITY"
- },
- {
- "key": "LOGIC_CHANGEABILITY",
- "name": "Logic related changeability",
- "parent": "CHANGEABILITY"
- },
- {
- "key": "SOFTWARE_RELATED_PORTABILITY",
- "name": "Software related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "INPUT_VALIDATION_AND_REPRESENTATION",
- "name": "Input validation and representation",
- "parent": "SECURITY"
- },
- {
- "key": "LANGUAGE_RELATED_PORTABILITY",
- "name": "Language related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "ERRORS",
- "name": "Errors",
- "parent": "SECURITY"
- },
- {
- "key": "SECURITY",
- "name": "Security"
- },
- {
- "key": "RELIABILITY",
- "name": "Reliability"
- },
- {
- "key": "PORTABILITY",
- "name": "Portability"
- },
- {
- "key": "HARDWARE_RELATED_PORTABILITY",
- "name": "Hardware related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "SYNCHRONIZATION_RELIABILITY",
- "name": "Synchronization related reliability",
- "parent": "RELIABILITY"
- },
- {
- "key": "TRANSPORTABILITY",
- "name": "Transportability",
- "parent": "REUSABILITY"
- },
- {
- "key": "COMPILER_RELATED_PORTABILITY",
- "name": "Compiler related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "RESOURCE_RELIABILITY",
- "name": "Resource",
- "parent": "RELIABILITY"
- },
- {
- "key": "CPU_EFFICIENCY",
- "name": "Processor use",
- "parent": "EFFICIENCY"
- },
- {
- "key": "EFFICIENCY",
- "name": "Efficiency"
- },
- {
- "key": "CHANGEABILITY",
- "name": "Changeability"
- },
- {
- "key": "DATA_CHANGEABILITY",
- "name": "Data related changeability",
- "parent": "CHANGEABILITY"
- },
- {
- "key": "API_ABUSE",
- "name": "API abuse",
- "parent": "SECURITY"
- },
- {
- "key": "ARCHITECTURE_CHANGEABILITY",
- "name": "Architecture related changeability",
- "parent": "CHANGEABILITY"
- },
- {
- "key": "UNIT_TESTS",
- "name": "Unit tests",
- "parent": "RELIABILITY"
- },
- {
- "key": "INSTRUCTION_RELIABILITY",
- "name": "Instruction related reliability",
- "parent": "RELIABILITY"
- },
- {
- "key": "REUSABILITY",
- "name": "Reusability"
- },
- {
- "key": "MODULARITY",
- "name": "Modularity",
- "parent": "REUSABILITY"
- },
- {
- "key": "UNIT_TESTABILITY",
- "name": "Unit level testability",
- "parent": "TESTABILITY"
- },
- {
- "key": "TESTABILITY",
- "name": "Testability"
- },
- {
- "key": "INTEGRATION_TESTABILITY",
- "name": "Integration level testability",
- "parent": "TESTABILITY"
- },
- {
- "key": "NETWORK_USE",
- "name": "Network use",
- "parent": "EFFICIENCY"
- },
- {
- "key": "MEMORY_EFFICIENCY",
- "name": "Memory use",
- "parent": "EFFICIENCY"
- },
- {
- "key": "DATA_RELIABILITY",
- "name": "Data related reliability",
- "parent": "RELIABILITY"
- },
- {
- "key": "FAULT_TOLERANCE",
- "name": "Fault tolerance",
- "parent": "RELIABILITY"
- },
- {
- "key": "LOGIC_RELIABILITY",
- "name": "Logic related reliability",
- "parent": "RELIABILITY"
- }
- ]
-}
+++ /dev/null
-{
- "total": 4,
- "p": 1,
- "ps": 25,
- "rules": [
- {
- "key": "squid:S2077",
- "name": "Values passed to SQL commands should be sanitized",
- "lang": "java",
- "langName": "Java",
- "sysTags": [
- "cwe",
- "owasp-top10",
- "security",
- "sql"
- ],
- "tags": [
- "custom-tag"
- ]
- },
- {
- "key": "php:S107",
- "name": "Functions should not have too many parameters",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S1192",
- "name": "String literals should not be duplicated",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [],
- "tags": []
- },
- {
- "key": "php:S1145",
- "name": "\"if\" statement conditions should not always evaluate to \"true\" or to \"false\"",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "bug",
- "cwe",
- "security"
- ],
- "tags": []
- },
- {
- "key": "php:S108",
- "name": "Nested blocks of code should not be left empty",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [],
- "tags": []
- },
- {
- "key": "php:S1301",
- "name": "\"switch\" statements should have at least 3 \"case\" clauses",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [],
- "tags": []
- },
- {
- "key": "php:S103",
- "name": "Lines should not be too long",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "php:S1144",
- "name": "Unused private method should be removed",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "unused"
- ],
- "tags": []
- },
- {
- "key": "php:S105",
- "name": "Tabulation characters should not be used",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention",
- "psr2"
- ],
- "tags": []
- },
- {
- "key": "php:S1481",
- "name": "Unused local variables should be removed",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "unused"
- ],
- "tags": []
- },
- {
- "key": "php:S1142",
- "name": "Functions should not contain too many return statements",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S104",
- "name": "Files should not have too many lines",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S1605",
- "name": "PHP 4 style calls to parent constructors should not be used in PHP5 \"__construct\" functions",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "php:S1448",
- "name": "Classes should not have too many methods",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S1603",
- "name": "PHP 4 constructor declarations should not be used",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "pitfail"
- ],
- "tags": []
- },
- {
- "key": "php:S1779",
- "name": "Only LF character (Unix-like) should be used to end lines",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention",
- "psr2"
- ],
- "tags": []
- },
- {
- "key": "php:S1185",
- "name": "Overriding methods should do more than simply call the same method in the super class",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [],
- "tags": []
- },
- {
- "key": "php:S1600",
- "name": "Deprecated predefined variables should not be used",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "pitfail"
- ],
- "tags": []
- },
- {
- "key": "php:S1109",
- "name": "A close curly brace should be located at the beginning of a line",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "php:S2001",
- "name": "Functions deprecated in PHP 5 should not be used",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "obsolete"
- ],
- "tags": []
- },
- {
- "key": "php:S2002",
- "name": "Errors should not be silenced",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "pitfail"
- ],
- "tags": []
- },
- {
- "key": "php:S2000",
- "name": "Files should not contain characters before \"<?php\"",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "user-experience"
- ],
- "tags": []
- },
- {
- "key": "php:S1105",
- "name": "An open curly brace should be located at the end of a line",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "php:S1200",
- "name": "Classes should not be coupled to too many other classes (Single Responsibility Principle)",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S1106",
- "name": "An open curly brace should be located at the beginning of a line",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- }
- ],
- "facets": [
- {
- "property": "tags",
- "values": [
- {
- "val": "convention",
- "count": 67
- },
- {
- "val": "brain-overload",
- "count": 36
- },
- {
- "val": "bug",
- "count": 36
- },
- {
- "val": "cwe",
- "count": 17
- },
- {
- "val": "unused",
- "count": 16
- },
- {
- "val": "security",
- "count": 14
- },
- {
- "val": "pitfall",
- "count": 12
- },
- {
- "val": "psr2",
- "count": 12
- },
- {
- "val": "error-handling",
- "count": 11
- },
- {
- "val": "pitfail",
- "count": 10
- }
- ]
- },
- {
- "property": "languages",
- "values": [
- {
- "val": "java",
- "count": 212
- },
- {
- "val": "py",
- "count": 212
- },
- {
- "val": "php",
- "count": 103
- },
- {
- "val": "js",
- "count": 77
- }
- ]
- },
- {
- "property": "repositories",
- "values": [
- {
- "val": "squid",
- "count": 206
- },
- {
- "val": "Pylint",
- "count": 180
- },
- {
- "val": "php",
- "count": 97
- },
- {
- "val": "javascript",
- "count": 73
- },
- {
- "val": "python",
- "count": 28
- },
- {
- "val": "common-java",
- "count": 6
- },
- {
- "val": "common-php",
- "count": 6
- },
- {
- "val": "manual",
- "count": 5
- },
- {
- "val": "common-js",
- "count": 4
- },
- {
- "val": "common-py",
- "count": 4
- }
- ]
- }
- ]
-}
+++ /dev/null
-{
- "total": 609,
- "p": 1,
- "ps": 25,
- "rules": [
- {
- "key": "squid:S2077",
- "name": "Values passed to SQL commands should be sanitized",
- "lang": "java",
- "langName": "Java",
- "sysTags": [
- "cwe",
- "owasp-top10",
- "security",
- "sql"
- ],
- "tags": [
- "custom-tag"
- ]
- },
- {
- "key": "php:S107",
- "name": "Functions should not have too many parameters",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S1192",
- "name": "String literals should not be duplicated",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [],
- "tags": []
- },
- {
- "key": "php:S1145",
- "name": "\"if\" statement conditions should not always evaluate to \"true\" or to \"false\"",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "bug",
- "cwe",
- "security"
- ],
- "tags": []
- },
- {
- "key": "php:S108",
- "name": "Nested blocks of code should not be left empty",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [],
- "tags": []
- },
- {
- "key": "php:S1301",
- "name": "\"switch\" statements should have at least 3 \"case\" clauses",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [],
- "tags": []
- },
- {
- "key": "php:S103",
- "name": "Lines should not be too long",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "php:S1144",
- "name": "Unused private method should be removed",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "unused"
- ],
- "tags": []
- },
- {
- "key": "php:S105",
- "name": "Tabulation characters should not be used",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention",
- "psr2"
- ],
- "tags": []
- },
- {
- "key": "php:S1481",
- "name": "Unused local variables should be removed",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "unused"
- ],
- "tags": []
- },
- {
- "key": "php:S1142",
- "name": "Functions should not contain too many return statements",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S104",
- "name": "Files should not have too many lines",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S1605",
- "name": "PHP 4 style calls to parent constructors should not be used in PHP5 \"__construct\" functions",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "php:S1448",
- "name": "Classes should not have too many methods",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S1603",
- "name": "PHP 4 constructor declarations should not be used",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "pitfail"
- ],
- "tags": []
- },
- {
- "key": "php:S1779",
- "name": "Only LF character (Unix-like) should be used to end lines",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention",
- "psr2"
- ],
- "tags": []
- },
- {
- "key": "php:S1185",
- "name": "Overriding methods should do more than simply call the same method in the super class",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [],
- "tags": []
- },
- {
- "key": "php:S1600",
- "name": "Deprecated predefined variables should not be used",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "pitfail"
- ],
- "tags": []
- },
- {
- "key": "php:S1109",
- "name": "A close curly brace should be located at the beginning of a line",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "php:S2001",
- "name": "Functions deprecated in PHP 5 should not be used",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "obsolete"
- ],
- "tags": []
- },
- {
- "key": "php:S2002",
- "name": "Errors should not be silenced",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "pitfail"
- ],
- "tags": []
- },
- {
- "key": "php:S2000",
- "name": "Files should not contain characters before \"<?php\"",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "user-experience"
- ],
- "tags": []
- },
- {
- "key": "php:S1105",
- "name": "An open curly brace should be located at the end of a line",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "php:S1200",
- "name": "Classes should not be coupled to too many other classes (Single Responsibility Principle)",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S1106",
- "name": "An open curly brace should be located at the beginning of a line",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- }
- ],
- "facets": [
- {
- "property": "tags",
- "values": [
- {
- "val": "convention",
- "count": 67
- },
- {
- "val": "brain-overload",
- "count": 36
- },
- {
- "val": "bug",
- "count": 36
- },
- {
- "val": "cwe",
- "count": 17
- },
- {
- "val": "unused",
- "count": 16
- },
- {
- "val": "security",
- "count": 14
- },
- {
- "val": "pitfall",
- "count": 12
- },
- {
- "val": "psr2",
- "count": 12
- },
- {
- "val": "error-handling",
- "count": 11
- },
- {
- "val": "pitfail",
- "count": 10
- }
- ]
- },
- {
- "property": "languages",
- "values": [
- {
- "val": "java",
- "count": 212
- },
- {
- "val": "py",
- "count": 212
- },
- {
- "val": "php",
- "count": 103
- },
- {
- "val": "js",
- "count": 77
- }
- ]
- },
- {
- "property": "repositories",
- "values": [
- {
- "val": "squid",
- "count": 206
- },
- {
- "val": "Pylint",
- "count": 180
- },
- {
- "val": "php",
- "count": 97
- },
- {
- "val": "javascript",
- "count": 73
- },
- {
- "val": "python",
- "count": 28
- },
- {
- "val": "common-java",
- "count": 6
- },
- {
- "val": "common-php",
- "count": 6
- },
- {
- "val": "manual",
- "count": 5
- },
- {
- "val": "common-js",
- "count": 4
- },
- {
- "val": "common-py",
- "count": 4
- }
- ]
- }
- ]
-}
+++ /dev/null
-{
- "canWrite": false,
- "qualityprofiles": [
- {
- "key": "java-default-with-mojo-conventions-49307",
- "name": "Default - Maven Conventions",
- "lang": "java",
- "parentKey": "java-top-profile-without-formatting-conventions-50037"
- },
- {
- "key": "java-default-with-sonarsource-conventions-27339",
- "name": "Default - SonarSource conventions",
- "lang": "java",
- "parentKey": "java-top-profile-without-formatting-conventions-50037"
- },
- {
- "key": "java-top-profile-without-formatting-conventions-50037",
- "name": "Default - Top",
- "lang": "java"
- },
- {
- "key": "java-findbugs-14954",
- "name": "FindBugs",
- "lang": "java"
- },
- {
- "key": "java-for-sq-java-plugin-only-92289",
- "name": "For SQ Java Plugin Only",
- "lang": "java",
- "parentKey": "java-default-with-sonarsource-conventions-27339"
- },
- {
- "key": "java-for-sq-only-95381",
- "name": "For SQ Only",
- "lang": "java",
- "parentKey": "java-default-with-sonarsource-conventions-27339"
- },
- {
- "key": "php-psr-2-06315",
- "name": "PSR-2",
- "lang": "php"
- },
- {
- "key": "java-sonar-way-80423",
- "name": "Sonar way",
- "lang": "java"
- },
- {
- "key": "js-sonar-way",
- "name": "Sonar way",
- "lang": "js"
- },
- {
- "key": "php-sonar-way-05548",
- "name": "Sonar way",
- "lang": "php"
- },
- {
- "key": "py-sonar-way-80265",
- "name": "Sonar way",
- "lang": "py"
- },
- {
- "key": "java-without-findbugs",
- "name": "Without Findbugs",
- "lang": "java"
- }
- ],
- "languages": {
- "py": "Python",
- "js": "JavaScript",
- "php": "PHP",
- "java": "Java"
- },
- "repositories": [
- {
- "key": "common-java",
- "name": "Common SonarQube",
- "language": "java"
- },
- {
- "key": "common-js",
- "name": "Common SonarQube",
- "language": "js"
- },
- {
- "key": "common-php",
- "name": "Common SonarQube",
- "language": "php"
- },
- {
- "key": "common-py",
- "name": "Common SonarQube",
- "language": "py"
- },
- {
- "key": "Pylint",
- "name": "Pylint",
- "language": "py"
- },
- {
- "key": "javascript",
- "name": "SonarQube",
- "language": "js"
- },
- {
- "key": "php",
- "name": "SonarQube",
- "language": "php"
- },
- {
- "key": "python",
- "name": "SonarQube",
- "language": "py"
- },
- {
- "key": "squid",
- "name": "SonarQube",
- "language": "java"
- }
- ],
- "statuses": {
- "BETA": "Beta",
- "DEPRECATED": "Deprecated",
- "READY": "Ready"
- },
- "characteristics": [
- {
- "key": "UNDERSTANDABILITY",
- "name": "Understandability",
- "parent": "MAINTAINABILITY"
- },
- {
- "key": "MAINTAINABILITY",
- "name": "Maintainability"
- },
- {
- "key": "TIME_ZONE_RELATED_PORTABILITY",
- "name": "Time zone related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "READABILITY",
- "name": "Readability",
- "parent": "MAINTAINABILITY"
- },
- {
- "key": "SECURITY_FEATURES",
- "name": "Security features",
- "parent": "SECURITY"
- },
- {
- "key": "ARCHITECTURE_RELIABILITY",
- "name": "Architecture related reliability",
- "parent": "RELIABILITY"
- },
- {
- "key": "OS_RELATED_PORTABILITY",
- "name": "OS related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "EXCEPTION_HANDLING",
- "name": "Exception handling",
- "parent": "RELIABILITY"
- },
- {
- "key": "LOGIC_CHANGEABILITY",
- "name": "Logic related changeability",
- "parent": "CHANGEABILITY"
- },
- {
- "key": "SOFTWARE_RELATED_PORTABILITY",
- "name": "Software related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "INPUT_VALIDATION_AND_REPRESENTATION",
- "name": "Input validation and representation",
- "parent": "SECURITY"
- },
- {
- "key": "LANGUAGE_RELATED_PORTABILITY",
- "name": "Language related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "ERRORS",
- "name": "Errors",
- "parent": "SECURITY"
- },
- {
- "key": "SECURITY",
- "name": "Security"
- },
- {
- "key": "RELIABILITY",
- "name": "Reliability"
- },
- {
- "key": "PORTABILITY",
- "name": "Portability"
- },
- {
- "key": "HARDWARE_RELATED_PORTABILITY",
- "name": "Hardware related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "SYNCHRONIZATION_RELIABILITY",
- "name": "Synchronization related reliability",
- "parent": "RELIABILITY"
- },
- {
- "key": "TRANSPORTABILITY",
- "name": "Transportability",
- "parent": "REUSABILITY"
- },
- {
- "key": "COMPILER_RELATED_PORTABILITY",
- "name": "Compiler related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "RESOURCE_RELIABILITY",
- "name": "Resource",
- "parent": "RELIABILITY"
- },
- {
- "key": "CPU_EFFICIENCY",
- "name": "Processor use",
- "parent": "EFFICIENCY"
- },
- {
- "key": "EFFICIENCY",
- "name": "Efficiency"
- },
- {
- "key": "CHANGEABILITY",
- "name": "Changeability"
- },
- {
- "key": "DATA_CHANGEABILITY",
- "name": "Data related changeability",
- "parent": "CHANGEABILITY"
- },
- {
- "key": "API_ABUSE",
- "name": "API abuse",
- "parent": "SECURITY"
- },
- {
- "key": "ARCHITECTURE_CHANGEABILITY",
- "name": "Architecture related changeability",
- "parent": "CHANGEABILITY"
- },
- {
- "key": "UNIT_TESTS",
- "name": "Unit tests",
- "parent": "RELIABILITY"
- },
- {
- "key": "INSTRUCTION_RELIABILITY",
- "name": "Instruction related reliability",
- "parent": "RELIABILITY"
- },
- {
- "key": "REUSABILITY",
- "name": "Reusability"
- },
- {
- "key": "MODULARITY",
- "name": "Modularity",
- "parent": "REUSABILITY"
- },
- {
- "key": "UNIT_TESTABILITY",
- "name": "Unit level testability",
- "parent": "TESTABILITY"
- },
- {
- "key": "TESTABILITY",
- "name": "Testability"
- },
- {
- "key": "INTEGRATION_TESTABILITY",
- "name": "Integration level testability",
- "parent": "TESTABILITY"
- },
- {
- "key": "NETWORK_USE",
- "name": "Network use",
- "parent": "EFFICIENCY"
- },
- {
- "key": "MEMORY_EFFICIENCY",
- "name": "Memory use",
- "parent": "EFFICIENCY"
- },
- {
- "key": "DATA_RELIABILITY",
- "name": "Data related reliability",
- "parent": "RELIABILITY"
- },
- {
- "key": "FAULT_TOLERANCE",
- "name": "Fault tolerance",
- "parent": "RELIABILITY"
- },
- {
- "key": "LOGIC_RELIABILITY",
- "name": "Logic related reliability",
- "parent": "RELIABILITY"
- }
- ]
-}
+++ /dev/null
-{
- "total": 10,
- "p": 1,
- "ps": 200,
- "rules": [
- {
- "key": "squid:S1181",
- "name": "Throwable and Error classes should not be caught",
- "lang": "java",
- "langName": "Java",
- "sysTags": [
- "error-handling"
- ],
- "tags": []
- },
- {
- "key": "squid:S1849",
- "name": "\"Iterator.hasNext()\" should not call \"Iterator.next()\"",
- "lang": "java",
- "langName": "Java",
- "sysTags": [
- "bug"
- ],
- "tags": []
- },
- {
- "key": "squid:S1844",
- "name": "\"Object.wait(...)\" should never be called on objects that implement \"java.util.concurrent.locks.Condition\"",
- "lang": "java",
- "langName": "Java",
- "sysTags": [
- "bug",
- "pitfall"
- ],
- "tags": []
- },
- {
- "key": "squid:S2258",
- "name": "\"javax.crypto.NullCipher\" should not be used for anything other than testing",
- "lang": "java",
- "langName": "Java",
- "sysTags": [
- "cwe",
- "owasp-top10",
- "security"
- ],
- "tags": []
- },
- {
- "key": "squid:S2251",
- "name": "A \"for\" loop update clause should move the counter in the right direction",
- "lang": "java",
- "langName": "Java",
- "sysTags": [
- "bug"
- ],
- "tags": []
- },
- {
- "key": "squid:ObjectFinalizeOverridenCallsSuperFinalizeCheck",
- "name": "super.finalize() should be called at the end of Object.finalize() implementations",
- "lang": "java",
- "langName": "Java",
- "sysTags": [
- "bug"
- ],
- "tags": []
- },
- {
- "key": "squid:S1143",
- "name": "Return statements should not occur in finally blocks",
- "lang": "java",
- "langName": "Java",
- "sysTags": [
- "bug"
- ],
- "tags": []
- },
- {
- "key": "squid:S1206",
- "name": "\"equals(Object obj)\" and \"hashCode()\" should be overridden in pairs",
- "lang": "java",
- "langName": "Java",
- "sysTags": [
- "bug"
- ],
- "tags": []
- },
- {
- "key": "squid:S1451",
- "name": "Copyright and license headers should be defined in all source files",
- "lang": "java",
- "langName": "Java",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "squid:S1697",
- "name": "Short-circuit logic should be used to prevent null pointer dereferences in conditionals",
- "lang": "java",
- "langName": "Java",
- "sysTags": [
- "bug"
- ],
- "tags": []
- }
- ],
- "facets": [
- {
- "property": "tags",
- "values": [
- {
- "val": "bug",
- "count": 7
- },
- {
- "val": "convention",
- "count": 1
- },
- {
- "val": "cwe",
- "count": 1
- },
- {
- "val": "error-handling",
- "count": 1
- },
- {
- "val": "owasp-top10",
- "count": 1
- },
- {
- "val": "pitfall",
- "count": 1
- },
- {
- "val": "security",
- "count": 1
- }
- ]
- },
- {
- "property": "languages",
- "values": [
- {
- "val": "java",
- "count": 10
- },
- {
- "val": "js",
- "count": 6
- },
- {
- "val": "php",
- "count": 2
- }
- ]
- },
- {
- "property": "repositories",
- "values": [
- {
- "val": "squid",
- "count": 10
- }
- ]
- }
- ]
-}
+++ /dev/null
-{
- "rule": {
- "key": "squid:S1181",
- "repo": "squid",
- "name": "Throwable and Error classes should not be caught",
- "createdAt": "2013-08-09T14:40:54+0200",
- "severity": "BLOCKER",
- "status": "READY",
- "internalKey": "S1181",
- "isTemplate": false,
- "tags": [],
- "sysTags": [
- "error-handling"
- ],
- "lang": "java",
- "langName": "Java",
- "htmlDesc": "<p>\n<code>Throwable</code> is the superclass of all errors and exceptions in Java.\n<code>Error</code> is the superclass of all errors which are not meant to be caught by applications.\n</p>\n\n<p>\nCatching either <code>Throwable</code> or <code>Error</code> will also catch <code>OutOfMemoryError</code> or <code>InternalError</code> from which an application should not attempt to recover.\n</p>\n\n<p>Only <code>Exception</code> and its subclasses should be caught.</p>\n\n<h2>Noncompliant Code Example</h2>\n\n<pre>\ntry { /* ... */ } catch (Throwable t) { /* ... */ }\ntry { /* ... */ } catch (Error e) { /* ... */ } \n</pre>\n\n<h2>Compliant Solution</h2>\n\n<pre>\ntry { /* ... */ } catch (Exception e) { /* ... */ } \ntry { /* ... */ } catch (RuntimeException e) { /* ... */ } \ntry { /* ... */ } catch (MyException e) { /* ... */ } \n</pre>",
- "defaultDebtChar": "RELIABILITY",
- "defaultDebtSubChar": "EXCEPTION_HANDLING",
- "debtChar": "RELIABILITY",
- "debtSubChar": "EXCEPTION_HANDLING",
- "debtCharName": "Reliability",
- "debtSubCharName": "Exception handling",
- "defaultDebtRemFnType": "CONSTANT_ISSUE",
- "defaultDebtRemFnOffset": "20min",
- "debtOverloaded": true,
- "debtRemFnType": "LINEAR",
- "debtRemFnCoeff": "20min",
- "params": [
- {
- "key": "max",
- "htmlDesc": "Maximum authorized number of parameters",
- "type": "INTEGER",
- "defaultValue": "7"
- }
- ]
- },
- "actives": [
- {
- "qProfile": "java-top-profile-without-formatting-conventions-50037",
- "inherit": "NONE",
- "severity": "BLOCKER",
- "params": []
- },
- {
- "qProfile": "java-default-with-sonarsource-conventions-27339",
- "inherit": "INHERITED",
- "severity": "BLOCKER",
- "params": []
- },
- {
- "qProfile": "java-for-sq-java-plugin-only-92289",
- "inherit": "INHERITED",
- "severity": "BLOCKER",
- "params": []
- },
- {
- "qProfile": "java-for-sq-only-95381",
- "inherit": "INHERITED",
- "severity": "BLOCKER",
- "params": []
- },
- {
- "qProfile": "java-default-with-mojo-conventions-49307",
- "inherit": "INHERITED",
- "severity": "BLOCKER",
- "params": []
- },
- {
- "qProfile": "java-sonar-way-80423",
- "inherit": "NONE",
- "severity": "BLOCKER",
- "params": []
- }
- ]
-}
+++ /dev/null
-/*
- * SonarQube, open source software quality management tool.
- * Copyright (C) 2008-2014 SonarSource
- * mailto:contact AT sonarsource DOT com
- *
- * SonarQube 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.
- *
- * SonarQube 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.
- */
-/* global casper:false */
-
-var lib = require('../lib');
-
-lib.initMessages();
-lib.changeWorkingDirectory('coding-rules-page-rule-permalink');
-lib.configureCasper();
-
-
-casper.test.begin('coding-rules-page-rule-permalink', 1, function (test) {
- casper
- .start(lib.buildUrl('coding-rules'), function () {
- lib.setDefaultViewport();
-
- lib.mockRequest('/api/l10n/index', '{}');
- lib.mockRequestFromFile('/api/rules/app', 'app.json');
- lib.mockRequestFromFile('/api/rules/search', 'search.json');
- lib.mockRequestFromFile('/api/rules/show', 'show.json');
- lib.mockRequest('/api/issues/search', '{}');
- })
-
- .then(function () {
- casper.waitForSelector('.coding-rule.selected');
- })
-
- .then(function () {
- casper.click('.coding-rule.selected .js-rule');
- casper.waitForSelector('.coding-rules-detail-header');
- })
-
- .then(function () {
- test.assertExists('a[href="/coding_rules#rule_key=squid%3AS1181"]');
- })
-
- .run(function () {
- test.done();
- });
-});
+++ /dev/null
-/*
- * SonarQube, open source software quality management tool.
- * Copyright (C) 2008-2014 SonarSource
- * mailto:contact AT sonarsource DOT com
- *
- * SonarQube 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.
- *
- * SonarQube 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.
- */
-/* global casper:false */
-
-var lib = require('../lib');
-
-lib.initMessages();
-lib.changeWorkingDirectory('coding-rules-page-should-activate-profile');
-lib.configureCasper();
-
-
-casper.test.begin('coding-rules-page-should-activate-profile', 5, function (test) {
- casper
- .start(lib.buildUrl('coding-rules'), function () {
- lib.setDefaultViewport();
-
- lib.mockRequest('/api/l10n/index', '{}');
- lib.mockRequestFromFile('/api/rules/app', 'app.json');
- lib.mockRequestFromFile('/api/rules/search', 'search.json');
- this.showMock = lib.mockRequestFromFile('/api/rules/show', 'show.json');
- lib.mockRequest('/api/qualityprofiles/activate_rule', '{}');
- lib.mockRequest('/api/issues/search', '{}');
- })
-
- .then(function () {
- casper.waitForSelector('.coding-rule.selected', function () {
- casper.click('.coding-rule.selected .js-rule');
- });
- })
-
- .then(function () {
- casper.waitForSelector('.coding-rules-detail-header');
- })
-
- .then(function () {
- test.assertDoesntExist('.coding-rules-detail-quality-profile-name');
- test.assertExist('#coding-rules-quality-profile-activate');
- casper.click('#coding-rules-quality-profile-activate');
- casper.waitForSelector('.modal');
- })
-
- .then(function () {
- lib.clearRequestMock(this.showMock);
- lib.mockRequestFromFile('/api/rules/show', 'show-with-profile.json');
- casper.click('#coding-rules-quality-profile-activation-activate');
- casper.waitForSelector('.coding-rules-detail-quality-profile-name');
- })
-
- .then(function () {
- test.assertExists('.coding-rules-detail-quality-profile-name');
- test.assertExists('.coding-rules-detail-quality-profile-severity');
- test.assertExists('.coding-rules-detail-quality-profile-deactivate');
- })
-
- .run(function () {
- test.done();
- });
-});
+++ /dev/null
-{
- "canWrite": true,
- "qualityprofiles": [
- {
- "key": "java-default-with-mojo-conventions-49307",
- "name": "Default - Maven Conventions",
- "lang": "java",
- "parentKey": "java-top-profile-without-formatting-conventions-50037"
- },
- {
- "key": "java-default-with-sonarsource-conventions-27339",
- "name": "Default - SonarSource conventions",
- "lang": "java",
- "parentKey": "java-top-profile-without-formatting-conventions-50037"
- },
- {
- "key": "java-top-profile-without-formatting-conventions-50037",
- "name": "Default - Top",
- "lang": "java"
- },
- {
- "key": "java-findbugs-14954",
- "name": "FindBugs",
- "lang": "java"
- },
- {
- "key": "java-for-sq-java-plugin-only-92289",
- "name": "For SQ Java Plugin Only",
- "lang": "java",
- "parentKey": "java-default-with-sonarsource-conventions-27339"
- },
- {
- "key": "java-for-sq-only-95381",
- "name": "For SQ Only",
- "lang": "java",
- "parentKey": "java-default-with-sonarsource-conventions-27339"
- },
- {
- "key": "php-psr-2-06315",
- "name": "PSR-2",
- "lang": "php"
- },
- {
- "key": "java-sonar-way-80423",
- "name": "Sonar way",
- "lang": "java"
- },
- {
- "key": "js-sonar-way",
- "name": "Sonar way",
- "lang": "js"
- },
- {
- "key": "php-sonar-way-05548",
- "name": "Sonar way",
- "lang": "php"
- },
- {
- "key": "py-sonar-way-80265",
- "name": "Sonar way",
- "lang": "py"
- },
- {
- "key": "java-without-findbugs",
- "name": "Without Findbugs",
- "lang": "java"
- }
- ],
- "languages": {
- "py": "Python",
- "js": "JavaScript",
- "php": "PHP",
- "java": "Java"
- },
- "repositories": [
- {
- "key": "common-java",
- "name": "Common SonarQube",
- "language": "java"
- },
- {
- "key": "common-js",
- "name": "Common SonarQube",
- "language": "js"
- },
- {
- "key": "common-php",
- "name": "Common SonarQube",
- "language": "php"
- },
- {
- "key": "common-py",
- "name": "Common SonarQube",
- "language": "py"
- },
- {
- "key": "Pylint",
- "name": "Pylint",
- "language": "py"
- },
- {
- "key": "javascript",
- "name": "SonarQube",
- "language": "js"
- },
- {
- "key": "php",
- "name": "SonarQube",
- "language": "php"
- },
- {
- "key": "python",
- "name": "SonarQube",
- "language": "py"
- },
- {
- "key": "squid",
- "name": "SonarQube",
- "language": "java"
- }
- ],
- "statuses": {
- "BETA": "Beta",
- "DEPRECATED": "Deprecated",
- "READY": "Ready"
- },
- "characteristics": [
- {
- "key": "UNDERSTANDABILITY",
- "name": "Understandability",
- "parent": "MAINTAINABILITY"
- },
- {
- "key": "MAINTAINABILITY",
- "name": "Maintainability"
- },
- {
- "key": "TIME_ZONE_RELATED_PORTABILITY",
- "name": "Time zone related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "READABILITY",
- "name": "Readability",
- "parent": "MAINTAINABILITY"
- },
- {
- "key": "SECURITY_FEATURES",
- "name": "Security features",
- "parent": "SECURITY"
- },
- {
- "key": "ARCHITECTURE_RELIABILITY",
- "name": "Architecture related reliability",
- "parent": "RELIABILITY"
- },
- {
- "key": "OS_RELATED_PORTABILITY",
- "name": "OS related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "EXCEPTION_HANDLING",
- "name": "Exception handling",
- "parent": "RELIABILITY"
- },
- {
- "key": "LOGIC_CHANGEABILITY",
- "name": "Logic related changeability",
- "parent": "CHANGEABILITY"
- },
- {
- "key": "SOFTWARE_RELATED_PORTABILITY",
- "name": "Software related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "INPUT_VALIDATION_AND_REPRESENTATION",
- "name": "Input validation and representation",
- "parent": "SECURITY"
- },
- {
- "key": "LANGUAGE_RELATED_PORTABILITY",
- "name": "Language related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "ERRORS",
- "name": "Errors",
- "parent": "SECURITY"
- },
- {
- "key": "SECURITY",
- "name": "Security"
- },
- {
- "key": "RELIABILITY",
- "name": "Reliability"
- },
- {
- "key": "PORTABILITY",
- "name": "Portability"
- },
- {
- "key": "HARDWARE_RELATED_PORTABILITY",
- "name": "Hardware related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "SYNCHRONIZATION_RELIABILITY",
- "name": "Synchronization related reliability",
- "parent": "RELIABILITY"
- },
- {
- "key": "TRANSPORTABILITY",
- "name": "Transportability",
- "parent": "REUSABILITY"
- },
- {
- "key": "COMPILER_RELATED_PORTABILITY",
- "name": "Compiler related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "RESOURCE_RELIABILITY",
- "name": "Resource",
- "parent": "RELIABILITY"
- },
- {
- "key": "CPU_EFFICIENCY",
- "name": "Processor use",
- "parent": "EFFICIENCY"
- },
- {
- "key": "EFFICIENCY",
- "name": "Efficiency"
- },
- {
- "key": "CHANGEABILITY",
- "name": "Changeability"
- },
- {
- "key": "DATA_CHANGEABILITY",
- "name": "Data related changeability",
- "parent": "CHANGEABILITY"
- },
- {
- "key": "API_ABUSE",
- "name": "API abuse",
- "parent": "SECURITY"
- },
- {
- "key": "ARCHITECTURE_CHANGEABILITY",
- "name": "Architecture related changeability",
- "parent": "CHANGEABILITY"
- },
- {
- "key": "UNIT_TESTS",
- "name": "Unit tests",
- "parent": "RELIABILITY"
- },
- {
- "key": "INSTRUCTION_RELIABILITY",
- "name": "Instruction related reliability",
- "parent": "RELIABILITY"
- },
- {
- "key": "REUSABILITY",
- "name": "Reusability"
- },
- {
- "key": "MODULARITY",
- "name": "Modularity",
- "parent": "REUSABILITY"
- },
- {
- "key": "UNIT_TESTABILITY",
- "name": "Unit level testability",
- "parent": "TESTABILITY"
- },
- {
- "key": "TESTABILITY",
- "name": "Testability"
- },
- {
- "key": "INTEGRATION_TESTABILITY",
- "name": "Integration level testability",
- "parent": "TESTABILITY"
- },
- {
- "key": "NETWORK_USE",
- "name": "Network use",
- "parent": "EFFICIENCY"
- },
- {
- "key": "MEMORY_EFFICIENCY",
- "name": "Memory use",
- "parent": "EFFICIENCY"
- },
- {
- "key": "DATA_RELIABILITY",
- "name": "Data related reliability",
- "parent": "RELIABILITY"
- },
- {
- "key": "FAULT_TOLERANCE",
- "name": "Fault tolerance",
- "parent": "RELIABILITY"
- },
- {
- "key": "LOGIC_RELIABILITY",
- "name": "Logic related reliability",
- "parent": "RELIABILITY"
- }
- ]
-}
+++ /dev/null
-{
- "total": 10,
- "p": 1,
- "ps": 200,
- "rules": [
- {
- "key": "squid:S1181",
- "name": "Throwable and Error classes should not be caught",
- "lang": "java",
- "langName": "Java",
- "sysTags": [
- "error-handling"
- ],
- "tags": []
- },
- {
- "key": "squid:S1849",
- "name": "\"Iterator.hasNext()\" should not call \"Iterator.next()\"",
- "lang": "java",
- "langName": "Java",
- "sysTags": [
- "bug"
- ],
- "tags": []
- },
- {
- "key": "squid:S1844",
- "name": "\"Object.wait(...)\" should never be called on objects that implement \"java.util.concurrent.locks.Condition\"",
- "lang": "java",
- "langName": "Java",
- "sysTags": [
- "bug",
- "pitfall"
- ],
- "tags": []
- },
- {
- "key": "squid:S2258",
- "name": "\"javax.crypto.NullCipher\" should not be used for anything other than testing",
- "lang": "java",
- "langName": "Java",
- "sysTags": [
- "cwe",
- "owasp-top10",
- "security"
- ],
- "tags": []
- },
- {
- "key": "squid:S2251",
- "name": "A \"for\" loop update clause should move the counter in the right direction",
- "lang": "java",
- "langName": "Java",
- "sysTags": [
- "bug"
- ],
- "tags": []
- },
- {
- "key": "squid:ObjectFinalizeOverridenCallsSuperFinalizeCheck",
- "name": "super.finalize() should be called at the end of Object.finalize() implementations",
- "lang": "java",
- "langName": "Java",
- "sysTags": [
- "bug"
- ],
- "tags": []
- },
- {
- "key": "squid:S1143",
- "name": "Return statements should not occur in finally blocks",
- "lang": "java",
- "langName": "Java",
- "sysTags": [
- "bug"
- ],
- "tags": []
- },
- {
- "key": "squid:S1206",
- "name": "\"equals(Object obj)\" and \"hashCode()\" should be overridden in pairs",
- "lang": "java",
- "langName": "Java",
- "sysTags": [
- "bug"
- ],
- "tags": []
- },
- {
- "key": "squid:S1451",
- "name": "Copyright and license headers should be defined in all source files",
- "lang": "java",
- "langName": "Java",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "squid:S1697",
- "name": "Short-circuit logic should be used to prevent null pointer dereferences in conditionals",
- "lang": "java",
- "langName": "Java",
- "sysTags": [
- "bug"
- ],
- "tags": []
- }
- ],
- "facets": [
- {
- "property": "tags",
- "values": [
- {
- "val": "bug",
- "count": 7
- },
- {
- "val": "convention",
- "count": 1
- },
- {
- "val": "cwe",
- "count": 1
- },
- {
- "val": "error-handling",
- "count": 1
- },
- {
- "val": "owasp-top10",
- "count": 1
- },
- {
- "val": "pitfall",
- "count": 1
- },
- {
- "val": "security",
- "count": 1
- }
- ]
- },
- {
- "property": "languages",
- "values": [
- {
- "val": "java",
- "count": 10
- },
- {
- "val": "js",
- "count": 6
- },
- {
- "val": "php",
- "count": 2
- }
- ]
- },
- {
- "property": "repositories",
- "values": [
- {
- "val": "squid",
- "count": 10
- }
- ]
- }
- ]
-}
+++ /dev/null
-{
- "rule": {
- "key": "squid:S1181",
- "repo": "squid",
- "name": "Throwable and Error classes should not be caught",
- "createdAt": "2013-08-09T14:40:54+0200",
- "severity": "BLOCKER",
- "status": "READY",
- "internalKey": "S1181",
- "isTemplate": false,
- "tags": [],
- "sysTags": [
- "error-handling"
- ],
- "lang": "java",
- "langName": "Java",
- "htmlDesc": "<p>\n<code>Throwable</code> is the superclass of all errors and exceptions in Java.\n<code>Error</code> is the superclass of all errors which are not meant to be caught by applications.\n</p>\n\n<p>\nCatching either <code>Throwable</code> or <code>Error</code> will also catch <code>OutOfMemoryError</code> or <code>InternalError</code> from which an application should not attempt to recover.\n</p>\n\n<p>Only <code>Exception</code> and its subclasses should be caught.</p>\n\n<h2>Noncompliant Code Example</h2>\n\n<pre>\ntry { /* ... */ } catch (Throwable t) { /* ... */ }\ntry { /* ... */ } catch (Error e) { /* ... */ } \n</pre>\n\n<h2>Compliant Solution</h2>\n\n<pre>\ntry { /* ... */ } catch (Exception e) { /* ... */ } \ntry { /* ... */ } catch (RuntimeException e) { /* ... */ } \ntry { /* ... */ } catch (MyException e) { /* ... */ } \n</pre>",
- "defaultDebtChar": "RELIABILITY",
- "defaultDebtSubChar": "EXCEPTION_HANDLING",
- "debtChar": "RELIABILITY",
- "debtSubChar": "EXCEPTION_HANDLING",
- "debtCharName": "Reliability",
- "debtSubCharName": "Exception handling",
- "defaultDebtRemFnType": "CONSTANT_ISSUE",
- "defaultDebtRemFnOffset": "20min",
- "debtOverloaded": true,
- "debtRemFnType": "LINEAR",
- "debtRemFnCoeff": "20min",
- "params": []
- },
- "actives": [
- {
- "qProfile": "java-default-with-mojo-conventions-49307",
- "inherit": "NONE",
- "severity": "BLOCKER",
- "params": []
- }
- ]
-}
+++ /dev/null
-{
- "rule": {
- "key": "squid:S1181",
- "repo": "squid",
- "name": "Throwable and Error classes should not be caught",
- "createdAt": "2013-08-09T14:40:54+0200",
- "severity": "BLOCKER",
- "status": "READY",
- "internalKey": "S1181",
- "isTemplate": false,
- "tags": [],
- "sysTags": [
- "error-handling"
- ],
- "lang": "java",
- "langName": "Java",
- "htmlDesc": "<p>\n<code>Throwable</code> is the superclass of all errors and exceptions in Java.\n<code>Error</code> is the superclass of all errors which are not meant to be caught by applications.\n</p>\n\n<p>\nCatching either <code>Throwable</code> or <code>Error</code> will also catch <code>OutOfMemoryError</code> or <code>InternalError</code> from which an application should not attempt to recover.\n</p>\n\n<p>Only <code>Exception</code> and its subclasses should be caught.</p>\n\n<h2>Noncompliant Code Example</h2>\n\n<pre>\ntry { /* ... */ } catch (Throwable t) { /* ... */ }\ntry { /* ... */ } catch (Error e) { /* ... */ } \n</pre>\n\n<h2>Compliant Solution</h2>\n\n<pre>\ntry { /* ... */ } catch (Exception e) { /* ... */ } \ntry { /* ... */ } catch (RuntimeException e) { /* ... */ } \ntry { /* ... */ } catch (MyException e) { /* ... */ } \n</pre>",
- "defaultDebtChar": "RELIABILITY",
- "defaultDebtSubChar": "EXCEPTION_HANDLING",
- "debtChar": "RELIABILITY",
- "debtSubChar": "EXCEPTION_HANDLING",
- "debtCharName": "Reliability",
- "debtSubCharName": "Exception handling",
- "defaultDebtRemFnType": "CONSTANT_ISSUE",
- "defaultDebtRemFnOffset": "20min",
- "debtOverloaded": true,
- "debtRemFnType": "LINEAR",
- "debtRemFnCoeff": "20min",
- "params": []
- },
- "actives": []
-}
+++ /dev/null
-/*
- * SonarQube, open source software quality management tool.
- * Copyright (C) 2008-2014 SonarSource
- * mailto:contact AT sonarsource DOT com
- *
- * SonarQube 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.
- *
- * SonarQube 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.
- */
-/* global casper:false */
-
-var lib = require('../lib');
-
-lib.initMessages();
-lib.changeWorkingDirectory('coding-rules-page-should-create-custom-rules');
-lib.configureCasper();
-
-
-casper.test.begin('coding-rules-page-should-delete-create-rules', 2, function (test) {
- casper
- .start(lib.buildUrl('coding-rules'), function () {
- lib.setDefaultViewport();
-
- lib.mockRequest('/api/l10n/index', '{}');
- lib.mockRequestFromFile('/api/rules/app', 'app.json');
- this.customRulesSearchMock = lib.mockRequestFromFile('/api/rules/search', 'search-custom-rules.json',
- { data: { template_key: 'squid:ArchitecturalConstraint' } });
- this.searchMock = lib.mockRequestFromFile('/api/rules/search', 'search.json');
- lib.mockRequestFromFile('/api/rules/show', 'show.json');
- lib.mockRequest('/api/rules/create', '{}');
- lib.mockRequest('/api/issues/search', '{}');
- })
-
- .then(function () {
- casper.waitForSelector('.coding-rule.selected', function () {
- casper.click('.coding-rule.selected .js-rule');
- });
- })
-
- .then(function () {
- casper.waitForSelector('#coding-rules-detail-custom-rules .coding-rules-detail-list-name');
- })
-
- .then(function () {
- lib.clearRequestMock(this.customRulesSearchMock);
- lib.clearRequestMock(this.searchMock);
- lib.mockRequestFromFile('/api/rules/search', 'search-custom-rules2.json');
- })
-
- .then(function () {
- test.assertElementCount('#coding-rules-detail-custom-rules .coding-rules-detail-list-name', 1);
- casper.click('.js-create-custom-rule');
- casper.fillForm('.modal form', {
- name: 'test',
- markdown_description: 'test'
- });
- casper.click('#coding-rules-custom-rule-creation-create');
- lib.waitForElementCount('#coding-rules-detail-custom-rules .coding-rules-detail-list-name', 2, function () {
- test.assert(true); // put dummy assert into wait statement
- });
- })
-
- .run(function () {
- test.done();
- });
-});
+++ /dev/null
-{
- "canWrite": true,
- "qualityprofiles": [
- {
- "key": "java-default-with-mojo-conventions-49307",
- "name": "Default - Maven Conventions",
- "lang": "java",
- "parentKey": "java-top-profile-without-formatting-conventions-50037"
- },
- {
- "key": "java-default-with-sonarsource-conventions-27339",
- "name": "Default - SonarSource conventions",
- "lang": "java",
- "parentKey": "java-top-profile-without-formatting-conventions-50037"
- },
- {
- "key": "java-top-profile-without-formatting-conventions-50037",
- "name": "Default - Top",
- "lang": "java"
- },
- {
- "key": "java-findbugs-14954",
- "name": "FindBugs",
- "lang": "java"
- },
- {
- "key": "java-for-sq-java-plugin-only-92289",
- "name": "For SQ Java Plugin Only",
- "lang": "java",
- "parentKey": "java-default-with-sonarsource-conventions-27339"
- },
- {
- "key": "java-for-sq-only-95381",
- "name": "For SQ Only",
- "lang": "java",
- "parentKey": "java-default-with-sonarsource-conventions-27339"
- },
- {
- "key": "php-psr-2-06315",
- "name": "PSR-2",
- "lang": "php"
- },
- {
- "key": "java-sonar-way-80423",
- "name": "Sonar way",
- "lang": "java"
- },
- {
- "key": "js-sonar-way",
- "name": "Sonar way",
- "lang": "js"
- },
- {
- "key": "php-sonar-way-05548",
- "name": "Sonar way",
- "lang": "php"
- },
- {
- "key": "py-sonar-way-80265",
- "name": "Sonar way",
- "lang": "py"
- },
- {
- "key": "java-without-findbugs",
- "name": "Without Findbugs",
- "lang": "java"
- }
- ],
- "languages": {
- "py": "Python",
- "js": "JavaScript",
- "php": "PHP",
- "java": "Java"
- },
- "repositories": [
- {
- "key": "common-java",
- "name": "Common SonarQube",
- "language": "java"
- },
- {
- "key": "common-js",
- "name": "Common SonarQube",
- "language": "js"
- },
- {
- "key": "common-php",
- "name": "Common SonarQube",
- "language": "php"
- },
- {
- "key": "common-py",
- "name": "Common SonarQube",
- "language": "py"
- },
- {
- "key": "Pylint",
- "name": "Pylint",
- "language": "py"
- },
- {
- "key": "javascript",
- "name": "SonarQube",
- "language": "js"
- },
- {
- "key": "php",
- "name": "SonarQube",
- "language": "php"
- },
- {
- "key": "python",
- "name": "SonarQube",
- "language": "py"
- },
- {
- "key": "squid",
- "name": "SonarQube",
- "language": "java"
- }
- ],
- "statuses": {
- "BETA": "Beta",
- "DEPRECATED": "Deprecated",
- "READY": "Ready"
- },
- "characteristics": [
- {
- "key": "UNDERSTANDABILITY",
- "name": "Understandability",
- "parent": "MAINTAINABILITY"
- },
- {
- "key": "MAINTAINABILITY",
- "name": "Maintainability"
- },
- {
- "key": "TIME_ZONE_RELATED_PORTABILITY",
- "name": "Time zone related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "READABILITY",
- "name": "Readability",
- "parent": "MAINTAINABILITY"
- },
- {
- "key": "SECURITY_FEATURES",
- "name": "Security features",
- "parent": "SECURITY"
- },
- {
- "key": "ARCHITECTURE_RELIABILITY",
- "name": "Architecture related reliability",
- "parent": "RELIABILITY"
- },
- {
- "key": "OS_RELATED_PORTABILITY",
- "name": "OS related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "EXCEPTION_HANDLING",
- "name": "Exception handling",
- "parent": "RELIABILITY"
- },
- {
- "key": "LOGIC_CHANGEABILITY",
- "name": "Logic related changeability",
- "parent": "CHANGEABILITY"
- },
- {
- "key": "SOFTWARE_RELATED_PORTABILITY",
- "name": "Software related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "INPUT_VALIDATION_AND_REPRESENTATION",
- "name": "Input validation and representation",
- "parent": "SECURITY"
- },
- {
- "key": "LANGUAGE_RELATED_PORTABILITY",
- "name": "Language related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "ERRORS",
- "name": "Errors",
- "parent": "SECURITY"
- },
- {
- "key": "SECURITY",
- "name": "Security"
- },
- {
- "key": "RELIABILITY",
- "name": "Reliability"
- },
- {
- "key": "PORTABILITY",
- "name": "Portability"
- },
- {
- "key": "HARDWARE_RELATED_PORTABILITY",
- "name": "Hardware related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "SYNCHRONIZATION_RELIABILITY",
- "name": "Synchronization related reliability",
- "parent": "RELIABILITY"
- },
- {
- "key": "TRANSPORTABILITY",
- "name": "Transportability",
- "parent": "REUSABILITY"
- },
- {
- "key": "COMPILER_RELATED_PORTABILITY",
- "name": "Compiler related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "RESOURCE_RELIABILITY",
- "name": "Resource",
- "parent": "RELIABILITY"
- },
- {
- "key": "CPU_EFFICIENCY",
- "name": "Processor use",
- "parent": "EFFICIENCY"
- },
- {
- "key": "EFFICIENCY",
- "name": "Efficiency"
- },
- {
- "key": "CHANGEABILITY",
- "name": "Changeability"
- },
- {
- "key": "DATA_CHANGEABILITY",
- "name": "Data related changeability",
- "parent": "CHANGEABILITY"
- },
- {
- "key": "API_ABUSE",
- "name": "API abuse",
- "parent": "SECURITY"
- },
- {
- "key": "ARCHITECTURE_CHANGEABILITY",
- "name": "Architecture related changeability",
- "parent": "CHANGEABILITY"
- },
- {
- "key": "UNIT_TESTS",
- "name": "Unit tests",
- "parent": "RELIABILITY"
- },
- {
- "key": "INSTRUCTION_RELIABILITY",
- "name": "Instruction related reliability",
- "parent": "RELIABILITY"
- },
- {
- "key": "REUSABILITY",
- "name": "Reusability"
- },
- {
- "key": "MODULARITY",
- "name": "Modularity",
- "parent": "REUSABILITY"
- },
- {
- "key": "UNIT_TESTABILITY",
- "name": "Unit level testability",
- "parent": "TESTABILITY"
- },
- {
- "key": "TESTABILITY",
- "name": "Testability"
- },
- {
- "key": "INTEGRATION_TESTABILITY",
- "name": "Integration level testability",
- "parent": "TESTABILITY"
- },
- {
- "key": "NETWORK_USE",
- "name": "Network use",
- "parent": "EFFICIENCY"
- },
- {
- "key": "MEMORY_EFFICIENCY",
- "name": "Memory use",
- "parent": "EFFICIENCY"
- },
- {
- "key": "DATA_RELIABILITY",
- "name": "Data related reliability",
- "parent": "RELIABILITY"
- },
- {
- "key": "FAULT_TOLERANCE",
- "name": "Fault tolerance",
- "parent": "RELIABILITY"
- },
- {
- "key": "LOGIC_RELIABILITY",
- "name": "Logic related reliability",
- "parent": "RELIABILITY"
- }
- ]
-}
+++ /dev/null
-{
- "total": 1,
- "p": 1,
- "ps": 10,
- "rules": [
- {
- "key": "squid:Do_not_use_org_h2_util_StringUtils",
- "name": "Do not use org.h2.util.StringUtils",
- "severity": "MAJOR",
- "params": [
- {
- "key": "fromClasses",
- "htmlDesc": "Optional. If this property is not defined, all classes should adhere to this constraint. Ex : *<em>.web.</em>*",
- "type": "STRING",
- "defaultValue": ""
- },
- {
- "key": "toClasses",
- "htmlDesc": "Mandatory. Ex : java.util.Vector, java.util.Hashtable, java.util.Enumeration",
- "type": "STRING",
- "defaultValue": "org.h2.util.StringUtils"
- }
- ]
- }
- ]
-}
+++ /dev/null
-{
- "total": 2,
- "p": 1,
- "ps": 10,
- "rules": [
- {
- "key": "squid:Do_not_use_org_h2_util_StringUtils",
- "name": "Do not use org.h2.util.StringUtils",
- "severity": "MAJOR",
- "params": [
- {
- "key": "fromClasses",
- "htmlDesc": "Optional. If this property is not defined, all classes should adhere to this constraint. Ex : *<em>.web.</em>*",
- "type": "STRING",
- "defaultValue": ""
- },
- {
- "key": "toClasses",
- "htmlDesc": "Mandatory. Ex : java.util.Vector, java.util.Hashtable, java.util.Enumeration",
- "type": "STRING",
- "defaultValue": "org.h2.util.StringUtils"
- }
- ]
- },
- {
- "key": "squid:Do_not_use_edu_emory_mathcs_backport_java_util_Collections",
- "name": "Do not use edu.emory.mathcs.backport.java.util.Collections",
- "severity": "MAJOR",
- "params": [
- {
- "key": "fromClasses",
- "htmlDesc": "Optional. If this property is not defined, all classes should adhere to this constraint. Ex : *<em>.web.</em>*",
- "type": "STRING",
- "defaultValue": ""
- },
- {
- "key": "toClasses",
- "htmlDesc": "Mandatory. Ex : java.util.Vector, java.util.Hashtable, java.util.Enumeration",
- "type": "STRING",
- "defaultValue": "edu.emory.mathcs.backport.java.util.Collections"
- }
- ]
- }
- ]
-}
+++ /dev/null
-{
- "total": 1,
- "p": 1,
- "ps": 200,
- "rules": [
- {
- "key": "squid:ArchitecturalConstraint",
- "name": "Architectural constraint",
- "lang": "java",
- "langName": "Java",
- "sysTags": [],
- "tags": [],
- "status": "READY"
- }
- ],
- "facets": [
- {
- "property": "languages",
- "values": [
- {
- "val": "java",
- "count": 1
- }
- ]
- },
- {
- "property": "repositories",
- "values": [
- {
- "val": "squid",
- "count": 1
- }
- ]
- }
- ]
-}
+++ /dev/null
-{
- "rule": {
- "key": "squid:ArchitecturalConstraint",
- "repo": "squid",
- "name": "Architectural constraint",
- "createdAt": "2013-03-27T09:52:40+0100",
- "severity": "MAJOR",
- "status": "READY",
- "internalKey": "ArchitecturalConstraint",
- "isTemplate": true,
- "tags": [],
- "sysTags": [],
- "lang": "java",
- "langName": "Java",
- "htmlDesc": "<p>A source code comply to an architectural model when it fully\n\tadheres to a set of architectural constraints. A constraint allows to\n\tdeny references between classes by pattern.</p>\n<p>You can for instance use this rule to :</p>\n<ul>\n\t<li>forbid access to **.web.** from **.dao.** classes</li>\n\t<li>forbid access to java.util.Vector, java.util.Hashtable and\n\t\tjava.util.Enumeration from any classes</li>\n\t<li>forbid access to java.sql.** from **.ui.** and **.web.**\n\t\tclasses</li>\n</ul>",
- "debtChar": "CHANGEABILITY",
- "debtSubChar": "ARCHITECTURE_CHANGEABILITY",
- "debtCharName": "Changeability",
- "debtSubCharName": "Architecture related changeability",
- "debtOverloaded": true,
- "debtRemFnType": "LINEAR",
- "debtRemFnCoeff": "3h",
- "params": [
- {
- "key": "fromClasses",
- "htmlDesc": "Optional. If this property is not defined, all classes should adhere to this constraint. Ex : *<em>.web.</em>*",
- "type": "STRING"
- },
- {
- "key": "toClasses",
- "htmlDesc": "Mandatory. Ex : java.util.Vector, java.util.Hashtable, java.util.Enumeration",
- "type": "STRING"
- }
- ]
- },
- "actives": []
-}
+++ /dev/null
-/*
- * SonarQube, open source software quality management tool.
- * Copyright (C) 2008-2014 SonarSource
- * mailto:contact AT sonarsource DOT com
- *
- * SonarQube 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.
- *
- * SonarQube 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.
- */
-/* global casper:false */
-
-var lib = require('../lib');
-
-lib.initMessages();
-lib.changeWorkingDirectory('coding-rules-page-should-create-manual-rules');
-lib.configureCasper();
-
-
-casper.test.begin('coding-rules-page-should-delete-manual-rules', 3, function (test) {
- casper
- .start(lib.buildUrl('coding-rules'), function () {
- lib.setDefaultViewport();
-
- lib.mockRequest('/api/l10n/index', '{}');
- lib.mockRequestFromFile('/api/rules/app', 'app.json');
- lib.mockRequestFromFile('/api/rules/search', 'search.json');
- lib.mockRequestFromFile('/api/rules/create', 'show.json');
- lib.mockRequestFromFile('/api/rules/show', 'show.json');
- lib.mockRequest('/api/issues/search', '{}');
- })
-
- .then(function () {
- casper.waitForSelector('.js-create-manual-rule', function () {
- casper.click('.js-create-manual-rule');
- });
- })
-
- .then(function () {
- casper.waitForSelector('.modal');
- })
-
- .then(function () {
- casper.evaluate(function () {
- jQuery('.modal [name="name"]').val('Manual Rule');
- jQuery('.modal [name="key"]').val('manual:Manual_Rule');
- jQuery('.modal [name="markdown_description"]').val('Manual Rule Description');
- jQuery('.modal #coding-rules-manual-rule-creation-create').click();
- });
- casper.waitForSelector('.coding-rules-detail-header');
- })
-
- .then(function () {
- test.assertSelectorContains('.coding-rules-detail-header', 'Manual Rule');
- test.assertSelectorContains('.coding-rule-details .subtitle', 'manual:Manual_Rule');
- test.assertSelectorContains('.coding-rules-detail-description', 'Manual Rule Description');
- })
-
- .run(function () {
- test.done();
- });
-});
+++ /dev/null
-{
- "canWrite": true,
- "qualityprofiles": [
- {
- "key": "java-default-with-mojo-conventions-49307",
- "name": "Default - Maven Conventions",
- "lang": "java",
- "parentKey": "java-top-profile-without-formatting-conventions-50037"
- },
- {
- "key": "java-default-with-sonarsource-conventions-27339",
- "name": "Default - SonarSource conventions",
- "lang": "java",
- "parentKey": "java-top-profile-without-formatting-conventions-50037"
- },
- {
- "key": "java-top-profile-without-formatting-conventions-50037",
- "name": "Default - Top",
- "lang": "java"
- },
- {
- "key": "java-findbugs-14954",
- "name": "FindBugs",
- "lang": "java"
- },
- {
- "key": "java-for-sq-java-plugin-only-92289",
- "name": "For SQ Java Plugin Only",
- "lang": "java",
- "parentKey": "java-default-with-sonarsource-conventions-27339"
- },
- {
- "key": "java-for-sq-only-95381",
- "name": "For SQ Only",
- "lang": "java",
- "parentKey": "java-default-with-sonarsource-conventions-27339"
- },
- {
- "key": "php-psr-2-06315",
- "name": "PSR-2",
- "lang": "php"
- },
- {
- "key": "java-sonar-way-80423",
- "name": "Sonar way",
- "lang": "java"
- },
- {
- "key": "js-sonar-way",
- "name": "Sonar way",
- "lang": "js"
- },
- {
- "key": "php-sonar-way-05548",
- "name": "Sonar way",
- "lang": "php"
- },
- {
- "key": "py-sonar-way-80265",
- "name": "Sonar way",
- "lang": "py"
- },
- {
- "key": "java-without-findbugs",
- "name": "Without Findbugs",
- "lang": "java"
- }
- ],
- "languages": {
- "py": "Python",
- "js": "JavaScript",
- "php": "PHP",
- "java": "Java"
- },
- "repositories": [
- {
- "key": "common-java",
- "name": "Common SonarQube",
- "language": "java"
- },
- {
- "key": "common-js",
- "name": "Common SonarQube",
- "language": "js"
- },
- {
- "key": "common-php",
- "name": "Common SonarQube",
- "language": "php"
- },
- {
- "key": "common-py",
- "name": "Common SonarQube",
- "language": "py"
- },
- {
- "key": "Pylint",
- "name": "Pylint",
- "language": "py"
- },
- {
- "key": "javascript",
- "name": "SonarQube",
- "language": "js"
- },
- {
- "key": "php",
- "name": "SonarQube",
- "language": "php"
- },
- {
- "key": "python",
- "name": "SonarQube",
- "language": "py"
- },
- {
- "key": "squid",
- "name": "SonarQube",
- "language": "java"
- }
- ],
- "statuses": {
- "BETA": "Beta",
- "DEPRECATED": "Deprecated",
- "READY": "Ready"
- },
- "characteristics": [
- {
- "key": "UNDERSTANDABILITY",
- "name": "Understandability",
- "parent": "MAINTAINABILITY"
- },
- {
- "key": "MAINTAINABILITY",
- "name": "Maintainability"
- },
- {
- "key": "TIME_ZONE_RELATED_PORTABILITY",
- "name": "Time zone related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "READABILITY",
- "name": "Readability",
- "parent": "MAINTAINABILITY"
- },
- {
- "key": "SECURITY_FEATURES",
- "name": "Security features",
- "parent": "SECURITY"
- },
- {
- "key": "ARCHITECTURE_RELIABILITY",
- "name": "Architecture related reliability",
- "parent": "RELIABILITY"
- },
- {
- "key": "OS_RELATED_PORTABILITY",
- "name": "OS related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "EXCEPTION_HANDLING",
- "name": "Exception handling",
- "parent": "RELIABILITY"
- },
- {
- "key": "LOGIC_CHANGEABILITY",
- "name": "Logic related changeability",
- "parent": "CHANGEABILITY"
- },
- {
- "key": "SOFTWARE_RELATED_PORTABILITY",
- "name": "Software related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "INPUT_VALIDATION_AND_REPRESENTATION",
- "name": "Input validation and representation",
- "parent": "SECURITY"
- },
- {
- "key": "LANGUAGE_RELATED_PORTABILITY",
- "name": "Language related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "ERRORS",
- "name": "Errors",
- "parent": "SECURITY"
- },
- {
- "key": "SECURITY",
- "name": "Security"
- },
- {
- "key": "RELIABILITY",
- "name": "Reliability"
- },
- {
- "key": "PORTABILITY",
- "name": "Portability"
- },
- {
- "key": "HARDWARE_RELATED_PORTABILITY",
- "name": "Hardware related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "SYNCHRONIZATION_RELIABILITY",
- "name": "Synchronization related reliability",
- "parent": "RELIABILITY"
- },
- {
- "key": "TRANSPORTABILITY",
- "name": "Transportability",
- "parent": "REUSABILITY"
- },
- {
- "key": "COMPILER_RELATED_PORTABILITY",
- "name": "Compiler related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "RESOURCE_RELIABILITY",
- "name": "Resource",
- "parent": "RELIABILITY"
- },
- {
- "key": "CPU_EFFICIENCY",
- "name": "Processor use",
- "parent": "EFFICIENCY"
- },
- {
- "key": "EFFICIENCY",
- "name": "Efficiency"
- },
- {
- "key": "CHANGEABILITY",
- "name": "Changeability"
- },
- {
- "key": "DATA_CHANGEABILITY",
- "name": "Data related changeability",
- "parent": "CHANGEABILITY"
- },
- {
- "key": "API_ABUSE",
- "name": "API abuse",
- "parent": "SECURITY"
- },
- {
- "key": "ARCHITECTURE_CHANGEABILITY",
- "name": "Architecture related changeability",
- "parent": "CHANGEABILITY"
- },
- {
- "key": "UNIT_TESTS",
- "name": "Unit tests",
- "parent": "RELIABILITY"
- },
- {
- "key": "INSTRUCTION_RELIABILITY",
- "name": "Instruction related reliability",
- "parent": "RELIABILITY"
- },
- {
- "key": "REUSABILITY",
- "name": "Reusability"
- },
- {
- "key": "MODULARITY",
- "name": "Modularity",
- "parent": "REUSABILITY"
- },
- {
- "key": "UNIT_TESTABILITY",
- "name": "Unit level testability",
- "parent": "TESTABILITY"
- },
- {
- "key": "TESTABILITY",
- "name": "Testability"
- },
- {
- "key": "INTEGRATION_TESTABILITY",
- "name": "Integration level testability",
- "parent": "TESTABILITY"
- },
- {
- "key": "NETWORK_USE",
- "name": "Network use",
- "parent": "EFFICIENCY"
- },
- {
- "key": "MEMORY_EFFICIENCY",
- "name": "Memory use",
- "parent": "EFFICIENCY"
- },
- {
- "key": "DATA_RELIABILITY",
- "name": "Data related reliability",
- "parent": "RELIABILITY"
- },
- {
- "key": "FAULT_TOLERANCE",
- "name": "Fault tolerance",
- "parent": "RELIABILITY"
- },
- {
- "key": "LOGIC_RELIABILITY",
- "name": "Logic related reliability",
- "parent": "RELIABILITY"
- }
- ]
-}
+++ /dev/null
-{
- "total": 0,
- "p": 1,
- "ps": 200,
- "rules": [],
- "facets": []
-}
+++ /dev/null
-{
- "rule": {
- "key": "manual:Manual_Rule",
- "repo": "manual",
- "name": "Manual Rule",
- "createdAt": "2015-01-05T10:02:11+0100",
- "status": "READY",
- "isTemplate": false,
- "tags": [],
- "sysTags": [],
- "htmlDesc": "Manual Rule Description",
- "mdDesc": "Manual Rule Description",
- "debtOverloaded": false,
- "params": []
- },
- "actives": []
-}
+++ /dev/null
-/*
- * SonarQube, open source software quality management tool.
- * Copyright (C) 2008-2014 SonarSource
- * mailto:contact AT sonarsource DOT com
- *
- * SonarQube 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.
- *
- * SonarQube 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.
- */
-/* global casper:false */
-
-var lib = require('../lib');
-
-lib.initMessages();
-lib.changeWorkingDirectory('coding-rules-page-should-delete-custom-rules');
-lib.configureCasper();
-
-
-casper.test.begin('coding-rules-page-should-delete-custom-rules', 2, function (test) {
- casper
- .start(lib.buildUrl('coding-rules'), function () {
- lib.setDefaultViewport();
-
- lib.mockRequest('/api/l10n/index', '{}');
- lib.mockRequestFromFile('/api/rules/app', 'app.json');
- lib.mockRequestFromFile('/api/rules/search', 'search-custom-rules.json',
- { data: { template_key: 'squid:ArchitecturalConstraint' } });
- lib.mockRequestFromFile('/api/rules/search', 'search.json');
- lib.mockRequestFromFile('/api/rules/show', 'show.json');
- lib.mockRequest('/api/rules/delete', '{}');
- lib.mockRequest('/api/issues/search', '{}');
- })
-
- .then(function () {
- casper.waitForSelector('.coding-rule.selected', function () {
- casper.click('.coding-rule.selected .js-rule');
- });
- })
-
- .then(function () {
- casper.waitForSelector('#coding-rules-detail-custom-rules .coding-rules-detail-list-name');
- })
-
- .then(function () {
- test.assertElementCount('#coding-rules-detail-custom-rules .coding-rules-detail-list-name', 2);
- casper.click('.js-delete-custom-rule');
- casper.click('[data-confirm="yes"]');
- lib.waitForElementCount('#coding-rules-detail-custom-rules .coding-rules-detail-list-name', 1, function () {
- test.assert(true); // put dummy assert into wait statement
- });
- })
-
- .run(function () {
- test.done();
- });
-});
+++ /dev/null
-{
- "canWrite": true,
- "qualityprofiles": [
- {
- "key": "java-default-with-mojo-conventions-49307",
- "name": "Default - Maven Conventions",
- "lang": "java",
- "parentKey": "java-top-profile-without-formatting-conventions-50037"
- },
- {
- "key": "java-default-with-sonarsource-conventions-27339",
- "name": "Default - SonarSource conventions",
- "lang": "java",
- "parentKey": "java-top-profile-without-formatting-conventions-50037"
- },
- {
- "key": "java-top-profile-without-formatting-conventions-50037",
- "name": "Default - Top",
- "lang": "java"
- },
- {
- "key": "java-findbugs-14954",
- "name": "FindBugs",
- "lang": "java"
- },
- {
- "key": "java-for-sq-java-plugin-only-92289",
- "name": "For SQ Java Plugin Only",
- "lang": "java",
- "parentKey": "java-default-with-sonarsource-conventions-27339"
- },
- {
- "key": "java-for-sq-only-95381",
- "name": "For SQ Only",
- "lang": "java",
- "parentKey": "java-default-with-sonarsource-conventions-27339"
- },
- {
- "key": "php-psr-2-06315",
- "name": "PSR-2",
- "lang": "php"
- },
- {
- "key": "java-sonar-way-80423",
- "name": "Sonar way",
- "lang": "java"
- },
- {
- "key": "js-sonar-way",
- "name": "Sonar way",
- "lang": "js"
- },
- {
- "key": "php-sonar-way-05548",
- "name": "Sonar way",
- "lang": "php"
- },
- {
- "key": "py-sonar-way-80265",
- "name": "Sonar way",
- "lang": "py"
- },
- {
- "key": "java-without-findbugs",
- "name": "Without Findbugs",
- "lang": "java"
- }
- ],
- "languages": {
- "py": "Python",
- "js": "JavaScript",
- "php": "PHP",
- "java": "Java"
- },
- "repositories": [
- {
- "key": "common-java",
- "name": "Common SonarQube",
- "language": "java"
- },
- {
- "key": "common-js",
- "name": "Common SonarQube",
- "language": "js"
- },
- {
- "key": "common-php",
- "name": "Common SonarQube",
- "language": "php"
- },
- {
- "key": "common-py",
- "name": "Common SonarQube",
- "language": "py"
- },
- {
- "key": "Pylint",
- "name": "Pylint",
- "language": "py"
- },
- {
- "key": "javascript",
- "name": "SonarQube",
- "language": "js"
- },
- {
- "key": "php",
- "name": "SonarQube",
- "language": "php"
- },
- {
- "key": "python",
- "name": "SonarQube",
- "language": "py"
- },
- {
- "key": "squid",
- "name": "SonarQube",
- "language": "java"
- }
- ],
- "statuses": {
- "BETA": "Beta",
- "DEPRECATED": "Deprecated",
- "READY": "Ready"
- },
- "characteristics": [
- {
- "key": "UNDERSTANDABILITY",
- "name": "Understandability",
- "parent": "MAINTAINABILITY"
- },
- {
- "key": "MAINTAINABILITY",
- "name": "Maintainability"
- },
- {
- "key": "TIME_ZONE_RELATED_PORTABILITY",
- "name": "Time zone related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "READABILITY",
- "name": "Readability",
- "parent": "MAINTAINABILITY"
- },
- {
- "key": "SECURITY_FEATURES",
- "name": "Security features",
- "parent": "SECURITY"
- },
- {
- "key": "ARCHITECTURE_RELIABILITY",
- "name": "Architecture related reliability",
- "parent": "RELIABILITY"
- },
- {
- "key": "OS_RELATED_PORTABILITY",
- "name": "OS related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "EXCEPTION_HANDLING",
- "name": "Exception handling",
- "parent": "RELIABILITY"
- },
- {
- "key": "LOGIC_CHANGEABILITY",
- "name": "Logic related changeability",
- "parent": "CHANGEABILITY"
- },
- {
- "key": "SOFTWARE_RELATED_PORTABILITY",
- "name": "Software related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "INPUT_VALIDATION_AND_REPRESENTATION",
- "name": "Input validation and representation",
- "parent": "SECURITY"
- },
- {
- "key": "LANGUAGE_RELATED_PORTABILITY",
- "name": "Language related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "ERRORS",
- "name": "Errors",
- "parent": "SECURITY"
- },
- {
- "key": "SECURITY",
- "name": "Security"
- },
- {
- "key": "RELIABILITY",
- "name": "Reliability"
- },
- {
- "key": "PORTABILITY",
- "name": "Portability"
- },
- {
- "key": "HARDWARE_RELATED_PORTABILITY",
- "name": "Hardware related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "SYNCHRONIZATION_RELIABILITY",
- "name": "Synchronization related reliability",
- "parent": "RELIABILITY"
- },
- {
- "key": "TRANSPORTABILITY",
- "name": "Transportability",
- "parent": "REUSABILITY"
- },
- {
- "key": "COMPILER_RELATED_PORTABILITY",
- "name": "Compiler related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "RESOURCE_RELIABILITY",
- "name": "Resource",
- "parent": "RELIABILITY"
- },
- {
- "key": "CPU_EFFICIENCY",
- "name": "Processor use",
- "parent": "EFFICIENCY"
- },
- {
- "key": "EFFICIENCY",
- "name": "Efficiency"
- },
- {
- "key": "CHANGEABILITY",
- "name": "Changeability"
- },
- {
- "key": "DATA_CHANGEABILITY",
- "name": "Data related changeability",
- "parent": "CHANGEABILITY"
- },
- {
- "key": "API_ABUSE",
- "name": "API abuse",
- "parent": "SECURITY"
- },
- {
- "key": "ARCHITECTURE_CHANGEABILITY",
- "name": "Architecture related changeability",
- "parent": "CHANGEABILITY"
- },
- {
- "key": "UNIT_TESTS",
- "name": "Unit tests",
- "parent": "RELIABILITY"
- },
- {
- "key": "INSTRUCTION_RELIABILITY",
- "name": "Instruction related reliability",
- "parent": "RELIABILITY"
- },
- {
- "key": "REUSABILITY",
- "name": "Reusability"
- },
- {
- "key": "MODULARITY",
- "name": "Modularity",
- "parent": "REUSABILITY"
- },
- {
- "key": "UNIT_TESTABILITY",
- "name": "Unit level testability",
- "parent": "TESTABILITY"
- },
- {
- "key": "TESTABILITY",
- "name": "Testability"
- },
- {
- "key": "INTEGRATION_TESTABILITY",
- "name": "Integration level testability",
- "parent": "TESTABILITY"
- },
- {
- "key": "NETWORK_USE",
- "name": "Network use",
- "parent": "EFFICIENCY"
- },
- {
- "key": "MEMORY_EFFICIENCY",
- "name": "Memory use",
- "parent": "EFFICIENCY"
- },
- {
- "key": "DATA_RELIABILITY",
- "name": "Data related reliability",
- "parent": "RELIABILITY"
- },
- {
- "key": "FAULT_TOLERANCE",
- "name": "Fault tolerance",
- "parent": "RELIABILITY"
- },
- {
- "key": "LOGIC_RELIABILITY",
- "name": "Logic related reliability",
- "parent": "RELIABILITY"
- }
- ]
-}
+++ /dev/null
-{
- "total": 2,
- "p": 1,
- "ps": 10,
- "rules": [
- {
- "key": "squid:Do_not_use_org_h2_util_StringUtils",
- "name": "Do not use org.h2.util.StringUtils",
- "severity": "MAJOR",
- "params": [
- {
- "key": "fromClasses",
- "htmlDesc": "Optional. If this property is not defined, all classes should adhere to this constraint. Ex : *<em>.web.</em>*",
- "type": "STRING",
- "defaultValue": ""
- },
- {
- "key": "toClasses",
- "htmlDesc": "Mandatory. Ex : java.util.Vector, java.util.Hashtable, java.util.Enumeration",
- "type": "STRING",
- "defaultValue": "org.h2.util.StringUtils"
- }
- ]
- },
- {
- "key": "squid:Do_not_use_edu_emory_mathcs_backport_java_util_Collections",
- "name": "Do not use edu.emory.mathcs.backport.java.util.Collections",
- "severity": "MAJOR",
- "params": [
- {
- "key": "fromClasses",
- "htmlDesc": "Optional. If this property is not defined, all classes should adhere to this constraint. Ex : *<em>.web.</em>*",
- "type": "STRING",
- "defaultValue": ""
- },
- {
- "key": "toClasses",
- "htmlDesc": "Mandatory. Ex : java.util.Vector, java.util.Hashtable, java.util.Enumeration",
- "type": "STRING",
- "defaultValue": "edu.emory.mathcs.backport.java.util.Collections"
- }
- ]
- }
- ]
-}
+++ /dev/null
-{
- "total": 1,
- "p": 1,
- "ps": 200,
- "rules": [
- {
- "key": "squid:ArchitecturalConstraint",
- "name": "Architectural constraint",
- "lang": "java",
- "langName": "Java",
- "sysTags": [],
- "tags": [],
- "status": "READY"
- }
- ],
- "facets": [
- {
- "property": "languages",
- "values": [
- {
- "val": "java",
- "count": 1
- }
- ]
- },
- {
- "property": "repositories",
- "values": [
- {
- "val": "squid",
- "count": 1
- }
- ]
- }
- ]
-}
+++ /dev/null
-{
- "rule": {
- "key": "squid:ArchitecturalConstraint",
- "repo": "squid",
- "name": "Architectural constraint",
- "createdAt": "2013-03-27T09:52:40+0100",
- "severity": "MAJOR",
- "status": "READY",
- "internalKey": "ArchitecturalConstraint",
- "isTemplate": true,
- "tags": [],
- "sysTags": [],
- "lang": "java",
- "langName": "Java",
- "htmlDesc": "<p>A source code comply to an architectural model when it fully\n\tadheres to a set of architectural constraints. A constraint allows to\n\tdeny references between classes by pattern.</p>\n<p>You can for instance use this rule to :</p>\n<ul>\n\t<li>forbid access to **.web.** from **.dao.** classes</li>\n\t<li>forbid access to java.util.Vector, java.util.Hashtable and\n\t\tjava.util.Enumeration from any classes</li>\n\t<li>forbid access to java.sql.** from **.ui.** and **.web.**\n\t\tclasses</li>\n</ul>",
- "debtChar": "CHANGEABILITY",
- "debtSubChar": "ARCHITECTURE_CHANGEABILITY",
- "debtCharName": "Changeability",
- "debtSubCharName": "Architecture related changeability",
- "debtOverloaded": true,
- "debtRemFnType": "LINEAR",
- "debtRemFnCoeff": "3h",
- "params": [
- {
- "key": "fromClasses",
- "htmlDesc": "Optional. If this property is not defined, all classes should adhere to this constraint. Ex : *<em>.web.</em>*",
- "type": "STRING"
- },
- {
- "key": "toClasses",
- "htmlDesc": "Mandatory. Ex : java.util.Vector, java.util.Hashtable, java.util.Enumeration",
- "type": "STRING"
- }
- ]
- },
- "actives": []
-}
+++ /dev/null
-/*
- * SonarQube, open source software quality management tool.
- * Copyright (C) 2008-2014 SonarSource
- * mailto:contact AT sonarsource DOT com
- *
- * SonarQube 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.
- *
- * SonarQube 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.
- */
-/* global casper:false */
-
-var lib = require('../lib');
-
-lib.initMessages();
-lib.changeWorkingDirectory('coding-rules-page-should-delete-manual-rules');
-lib.configureCasper();
-
-
-casper.test.begin('coding-rules-page-should-delete-manual-rules', 1, function (test) {
- casper
- .start(lib.buildUrl('coding-rules'), function () {
- lib.setDefaultViewport();
-
- lib.mockRequest('/api/l10n/index', '{}');
- lib.mockRequestFromFile('/api/rules/app', 'app.json');
- this.searchMock = lib.mockRequestFromFile('/api/rules/search', 'search-before.json');
- lib.mockRequestFromFile('/api/rules/show', 'show.json');
- lib.mockRequest('/api/rules/delete', '{}');
- lib.mockRequest('/api/issues/search', '{}');
- })
-
- .then(function () {
- casper.waitForSelector('.coding-rule.selected', function () {
- casper.click('.coding-rule.selected .js-rule');
- });
- })
-
- .then(function () {
- casper.waitForSelector('.js-delete');
- })
-
- .then(function () {
- casper.click('.js-delete');
- casper.waitForSelector('[data-confirm="yes"]');
- })
-
- .then(function () {
- lib.clearRequestMock(this.searchMock);
- lib.mockRequestFromFile('/api/rules/search', 'search-after.json');
- casper.click('[data-confirm="yes"]');
- casper.waitForSelectorTextChange('#coding-rules-total');
- })
-
- .then(function () {
- test.assertSelectorContains('#coding-rules-total', 0);
- })
-
- .run(function () {
- test.done();
- });
-});
+++ /dev/null
-{
- "canWrite": true,
- "qualityprofiles": [
- {
- "key": "java-default-with-mojo-conventions-49307",
- "name": "Default - Maven Conventions",
- "lang": "java",
- "parentKey": "java-top-profile-without-formatting-conventions-50037"
- },
- {
- "key": "java-default-with-sonarsource-conventions-27339",
- "name": "Default - SonarSource conventions",
- "lang": "java",
- "parentKey": "java-top-profile-without-formatting-conventions-50037"
- },
- {
- "key": "java-top-profile-without-formatting-conventions-50037",
- "name": "Default - Top",
- "lang": "java"
- },
- {
- "key": "java-findbugs-14954",
- "name": "FindBugs",
- "lang": "java"
- },
- {
- "key": "java-for-sq-java-plugin-only-92289",
- "name": "For SQ Java Plugin Only",
- "lang": "java",
- "parentKey": "java-default-with-sonarsource-conventions-27339"
- },
- {
- "key": "java-for-sq-only-95381",
- "name": "For SQ Only",
- "lang": "java",
- "parentKey": "java-default-with-sonarsource-conventions-27339"
- },
- {
- "key": "php-psr-2-06315",
- "name": "PSR-2",
- "lang": "php"
- },
- {
- "key": "java-sonar-way-80423",
- "name": "Sonar way",
- "lang": "java"
- },
- {
- "key": "js-sonar-way",
- "name": "Sonar way",
- "lang": "js"
- },
- {
- "key": "php-sonar-way-05548",
- "name": "Sonar way",
- "lang": "php"
- },
- {
- "key": "py-sonar-way-80265",
- "name": "Sonar way",
- "lang": "py"
- },
- {
- "key": "java-without-findbugs",
- "name": "Without Findbugs",
- "lang": "java"
- }
- ],
- "languages": {
- "py": "Python",
- "js": "JavaScript",
- "php": "PHP",
- "java": "Java"
- },
- "repositories": [
- {
- "key": "common-java",
- "name": "Common SonarQube",
- "language": "java"
- },
- {
- "key": "common-js",
- "name": "Common SonarQube",
- "language": "js"
- },
- {
- "key": "common-php",
- "name": "Common SonarQube",
- "language": "php"
- },
- {
- "key": "common-py",
- "name": "Common SonarQube",
- "language": "py"
- },
- {
- "key": "Pylint",
- "name": "Pylint",
- "language": "py"
- },
- {
- "key": "javascript",
- "name": "SonarQube",
- "language": "js"
- },
- {
- "key": "php",
- "name": "SonarQube",
- "language": "php"
- },
- {
- "key": "python",
- "name": "SonarQube",
- "language": "py"
- },
- {
- "key": "squid",
- "name": "SonarQube",
- "language": "java"
- }
- ],
- "statuses": {
- "BETA": "Beta",
- "DEPRECATED": "Deprecated",
- "READY": "Ready"
- },
- "characteristics": [
- {
- "key": "UNDERSTANDABILITY",
- "name": "Understandability",
- "parent": "MAINTAINABILITY"
- },
- {
- "key": "MAINTAINABILITY",
- "name": "Maintainability"
- },
- {
- "key": "TIME_ZONE_RELATED_PORTABILITY",
- "name": "Time zone related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "READABILITY",
- "name": "Readability",
- "parent": "MAINTAINABILITY"
- },
- {
- "key": "SECURITY_FEATURES",
- "name": "Security features",
- "parent": "SECURITY"
- },
- {
- "key": "ARCHITECTURE_RELIABILITY",
- "name": "Architecture related reliability",
- "parent": "RELIABILITY"
- },
- {
- "key": "OS_RELATED_PORTABILITY",
- "name": "OS related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "EXCEPTION_HANDLING",
- "name": "Exception handling",
- "parent": "RELIABILITY"
- },
- {
- "key": "LOGIC_CHANGEABILITY",
- "name": "Logic related changeability",
- "parent": "CHANGEABILITY"
- },
- {
- "key": "SOFTWARE_RELATED_PORTABILITY",
- "name": "Software related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "INPUT_VALIDATION_AND_REPRESENTATION",
- "name": "Input validation and representation",
- "parent": "SECURITY"
- },
- {
- "key": "LANGUAGE_RELATED_PORTABILITY",
- "name": "Language related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "ERRORS",
- "name": "Errors",
- "parent": "SECURITY"
- },
- {
- "key": "SECURITY",
- "name": "Security"
- },
- {
- "key": "RELIABILITY",
- "name": "Reliability"
- },
- {
- "key": "PORTABILITY",
- "name": "Portability"
- },
- {
- "key": "HARDWARE_RELATED_PORTABILITY",
- "name": "Hardware related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "SYNCHRONIZATION_RELIABILITY",
- "name": "Synchronization related reliability",
- "parent": "RELIABILITY"
- },
- {
- "key": "TRANSPORTABILITY",
- "name": "Transportability",
- "parent": "REUSABILITY"
- },
- {
- "key": "COMPILER_RELATED_PORTABILITY",
- "name": "Compiler related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "RESOURCE_RELIABILITY",
- "name": "Resource",
- "parent": "RELIABILITY"
- },
- {
- "key": "CPU_EFFICIENCY",
- "name": "Processor use",
- "parent": "EFFICIENCY"
- },
- {
- "key": "EFFICIENCY",
- "name": "Efficiency"
- },
- {
- "key": "CHANGEABILITY",
- "name": "Changeability"
- },
- {
- "key": "DATA_CHANGEABILITY",
- "name": "Data related changeability",
- "parent": "CHANGEABILITY"
- },
- {
- "key": "API_ABUSE",
- "name": "API abuse",
- "parent": "SECURITY"
- },
- {
- "key": "ARCHITECTURE_CHANGEABILITY",
- "name": "Architecture related changeability",
- "parent": "CHANGEABILITY"
- },
- {
- "key": "UNIT_TESTS",
- "name": "Unit tests",
- "parent": "RELIABILITY"
- },
- {
- "key": "INSTRUCTION_RELIABILITY",
- "name": "Instruction related reliability",
- "parent": "RELIABILITY"
- },
- {
- "key": "REUSABILITY",
- "name": "Reusability"
- },
- {
- "key": "MODULARITY",
- "name": "Modularity",
- "parent": "REUSABILITY"
- },
- {
- "key": "UNIT_TESTABILITY",
- "name": "Unit level testability",
- "parent": "TESTABILITY"
- },
- {
- "key": "TESTABILITY",
- "name": "Testability"
- },
- {
- "key": "INTEGRATION_TESTABILITY",
- "name": "Integration level testability",
- "parent": "TESTABILITY"
- },
- {
- "key": "NETWORK_USE",
- "name": "Network use",
- "parent": "EFFICIENCY"
- },
- {
- "key": "MEMORY_EFFICIENCY",
- "name": "Memory use",
- "parent": "EFFICIENCY"
- },
- {
- "key": "DATA_RELIABILITY",
- "name": "Data related reliability",
- "parent": "RELIABILITY"
- },
- {
- "key": "FAULT_TOLERANCE",
- "name": "Fault tolerance",
- "parent": "RELIABILITY"
- },
- {
- "key": "LOGIC_RELIABILITY",
- "name": "Logic related reliability",
- "parent": "RELIABILITY"
- }
- ]
-}
+++ /dev/null
-{
- "total": 0,
- "p": 1,
- "ps": 200,
- "rules": [],
- "facets": []
-}
+++ /dev/null
-{
- "total": 1,
- "p": 1,
- "ps": 200,
- "rules": [
- {
- "key": "manual:Manual_Rule",
- "name": "Manual Rule",
- "sysTags": [],
- "tags": [],
- "status": "READY"
- }
- ],
- "facets": [
- {
- "property": "repositories",
- "values": [
- {
- "val": "manual",
- "count": 1
- }
- ]
- }
- ]
-}
+++ /dev/null
-{
- "rule": {
- "key": "manual:Manual_Rule",
- "repo": "manual",
- "name": "Manual Rule",
- "createdAt": "2015-01-05T10:02:11+0100",
- "status": "READY",
- "isTemplate": false,
- "tags": [],
- "sysTags": [],
- "htmlDesc": "Manual Rule Description",
- "mdDesc": "Manual Rule Description",
- "debtOverloaded": false,
- "params": []
- },
- "actives": []
-}
+++ /dev/null
-/*
- * SonarQube, open source software quality management tool.
- * Copyright (C) 2008-2014 SonarSource
- * mailto:contact AT sonarsource DOT com
- *
- * SonarQube 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.
- *
- * SonarQube 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.
- */
-/* global casper:false */
-
-var lib = require('../lib');
-
-lib.initMessages();
-lib.changeWorkingDirectory('coding-rules-page-should-show-custom-rules');
-lib.configureCasper();
-
-
-casper.test.begin('coding-rules-page-should-show-custom-rules', 3, function (test) {
- casper
- .start(lib.buildUrl('coding-rules'), function () {
- lib.setDefaultViewport();
-
- lib.mockRequest('/api/l10n/index', '{}');
- lib.mockRequestFromFile('/api/rules/app', 'app.json');
- lib.mockRequestFromFile('/api/rules/search', 'search-custom-rules.json',
- { data: { template_key: 'squid:ArchitecturalConstraint' } });
- lib.mockRequestFromFile('/api/rules/search', 'search.json');
- lib.mockRequestFromFile('/api/rules/show', 'show.json');
- lib.mockRequest('/api/issues/search', '{}');
- })
-
- .then(function () {
- casper.waitForSelector('.coding-rule.selected', function () {
- casper.click('.coding-rule.selected .js-rule');
- });
- })
-
- .then(function () {
- casper.waitForSelector('#coding-rules-detail-custom-rules .coding-rules-detail-list-name');
- })
-
- .then(function () {
- test.assertExists('#coding-rules-detail-custom-rules');
- test.assertElementCount('#coding-rules-detail-custom-rules .coding-rules-detail-list-name', 2);
- test.assertSelectorContains('#coding-rules-detail-custom-rules .coding-rules-detail-list-name',
- 'Do not use org.h2.util.StringUtils');
- })
-
- .run(function () {
- test.done();
- });
-});
+++ /dev/null
-{
- "canWrite": false,
- "qualityprofiles": [
- {
- "key": "java-default-with-mojo-conventions-49307",
- "name": "Default - Maven Conventions",
- "lang": "java",
- "parentKey": "java-top-profile-without-formatting-conventions-50037"
- },
- {
- "key": "java-default-with-sonarsource-conventions-27339",
- "name": "Default - SonarSource conventions",
- "lang": "java",
- "parentKey": "java-top-profile-without-formatting-conventions-50037"
- },
- {
- "key": "java-top-profile-without-formatting-conventions-50037",
- "name": "Default - Top",
- "lang": "java"
- },
- {
- "key": "java-findbugs-14954",
- "name": "FindBugs",
- "lang": "java"
- },
- {
- "key": "java-for-sq-java-plugin-only-92289",
- "name": "For SQ Java Plugin Only",
- "lang": "java",
- "parentKey": "java-default-with-sonarsource-conventions-27339"
- },
- {
- "key": "java-for-sq-only-95381",
- "name": "For SQ Only",
- "lang": "java",
- "parentKey": "java-default-with-sonarsource-conventions-27339"
- },
- {
- "key": "php-psr-2-06315",
- "name": "PSR-2",
- "lang": "php"
- },
- {
- "key": "java-sonar-way-80423",
- "name": "Sonar way",
- "lang": "java"
- },
- {
- "key": "js-sonar-way",
- "name": "Sonar way",
- "lang": "js"
- },
- {
- "key": "php-sonar-way-05548",
- "name": "Sonar way",
- "lang": "php"
- },
- {
- "key": "py-sonar-way-80265",
- "name": "Sonar way",
- "lang": "py"
- },
- {
- "key": "java-without-findbugs",
- "name": "Without Findbugs",
- "lang": "java"
- }
- ],
- "languages": {
- "py": "Python",
- "js": "JavaScript",
- "php": "PHP",
- "java": "Java"
- },
- "repositories": [
- {
- "key": "common-java",
- "name": "Common SonarQube",
- "language": "java"
- },
- {
- "key": "common-js",
- "name": "Common SonarQube",
- "language": "js"
- },
- {
- "key": "common-php",
- "name": "Common SonarQube",
- "language": "php"
- },
- {
- "key": "common-py",
- "name": "Common SonarQube",
- "language": "py"
- },
- {
- "key": "Pylint",
- "name": "Pylint",
- "language": "py"
- },
- {
- "key": "javascript",
- "name": "SonarQube",
- "language": "js"
- },
- {
- "key": "php",
- "name": "SonarQube",
- "language": "php"
- },
- {
- "key": "python",
- "name": "SonarQube",
- "language": "py"
- },
- {
- "key": "squid",
- "name": "SonarQube",
- "language": "java"
- }
- ],
- "statuses": {
- "BETA": "Beta",
- "DEPRECATED": "Deprecated",
- "READY": "Ready"
- },
- "characteristics": [
- {
- "key": "UNDERSTANDABILITY",
- "name": "Understandability",
- "parent": "MAINTAINABILITY"
- },
- {
- "key": "MAINTAINABILITY",
- "name": "Maintainability"
- },
- {
- "key": "TIME_ZONE_RELATED_PORTABILITY",
- "name": "Time zone related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "READABILITY",
- "name": "Readability",
- "parent": "MAINTAINABILITY"
- },
- {
- "key": "SECURITY_FEATURES",
- "name": "Security features",
- "parent": "SECURITY"
- },
- {
- "key": "ARCHITECTURE_RELIABILITY",
- "name": "Architecture related reliability",
- "parent": "RELIABILITY"
- },
- {
- "key": "OS_RELATED_PORTABILITY",
- "name": "OS related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "EXCEPTION_HANDLING",
- "name": "Exception handling",
- "parent": "RELIABILITY"
- },
- {
- "key": "LOGIC_CHANGEABILITY",
- "name": "Logic related changeability",
- "parent": "CHANGEABILITY"
- },
- {
- "key": "SOFTWARE_RELATED_PORTABILITY",
- "name": "Software related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "INPUT_VALIDATION_AND_REPRESENTATION",
- "name": "Input validation and representation",
- "parent": "SECURITY"
- },
- {
- "key": "LANGUAGE_RELATED_PORTABILITY",
- "name": "Language related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "ERRORS",
- "name": "Errors",
- "parent": "SECURITY"
- },
- {
- "key": "SECURITY",
- "name": "Security"
- },
- {
- "key": "RELIABILITY",
- "name": "Reliability"
- },
- {
- "key": "PORTABILITY",
- "name": "Portability"
- },
- {
- "key": "HARDWARE_RELATED_PORTABILITY",
- "name": "Hardware related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "SYNCHRONIZATION_RELIABILITY",
- "name": "Synchronization related reliability",
- "parent": "RELIABILITY"
- },
- {
- "key": "TRANSPORTABILITY",
- "name": "Transportability",
- "parent": "REUSABILITY"
- },
- {
- "key": "COMPILER_RELATED_PORTABILITY",
- "name": "Compiler related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "RESOURCE_RELIABILITY",
- "name": "Resource",
- "parent": "RELIABILITY"
- },
- {
- "key": "CPU_EFFICIENCY",
- "name": "Processor use",
- "parent": "EFFICIENCY"
- },
- {
- "key": "EFFICIENCY",
- "name": "Efficiency"
- },
- {
- "key": "CHANGEABILITY",
- "name": "Changeability"
- },
- {
- "key": "DATA_CHANGEABILITY",
- "name": "Data related changeability",
- "parent": "CHANGEABILITY"
- },
- {
- "key": "API_ABUSE",
- "name": "API abuse",
- "parent": "SECURITY"
- },
- {
- "key": "ARCHITECTURE_CHANGEABILITY",
- "name": "Architecture related changeability",
- "parent": "CHANGEABILITY"
- },
- {
- "key": "UNIT_TESTS",
- "name": "Unit tests",
- "parent": "RELIABILITY"
- },
- {
- "key": "INSTRUCTION_RELIABILITY",
- "name": "Instruction related reliability",
- "parent": "RELIABILITY"
- },
- {
- "key": "REUSABILITY",
- "name": "Reusability"
- },
- {
- "key": "MODULARITY",
- "name": "Modularity",
- "parent": "REUSABILITY"
- },
- {
- "key": "UNIT_TESTABILITY",
- "name": "Unit level testability",
- "parent": "TESTABILITY"
- },
- {
- "key": "TESTABILITY",
- "name": "Testability"
- },
- {
- "key": "INTEGRATION_TESTABILITY",
- "name": "Integration level testability",
- "parent": "TESTABILITY"
- },
- {
- "key": "NETWORK_USE",
- "name": "Network use",
- "parent": "EFFICIENCY"
- },
- {
- "key": "MEMORY_EFFICIENCY",
- "name": "Memory use",
- "parent": "EFFICIENCY"
- },
- {
- "key": "DATA_RELIABILITY",
- "name": "Data related reliability",
- "parent": "RELIABILITY"
- },
- {
- "key": "FAULT_TOLERANCE",
- "name": "Fault tolerance",
- "parent": "RELIABILITY"
- },
- {
- "key": "LOGIC_RELIABILITY",
- "name": "Logic related reliability",
- "parent": "RELIABILITY"
- }
- ]
-}
+++ /dev/null
-{
- "total": 2,
- "p": 1,
- "ps": 10,
- "rules": [
- {
- "key": "squid:Do_not_use_org_h2_util_StringUtils",
- "name": "Do not use org.h2.util.StringUtils",
- "severity": "MAJOR",
- "params": [
- {
- "key": "fromClasses",
- "htmlDesc": "Optional. If this property is not defined, all classes should adhere to this constraint. Ex : *<em>.web.</em>*",
- "type": "STRING",
- "defaultValue": ""
- },
- {
- "key": "toClasses",
- "htmlDesc": "Mandatory. Ex : java.util.Vector, java.util.Hashtable, java.util.Enumeration",
- "type": "STRING",
- "defaultValue": "org.h2.util.StringUtils"
- }
- ]
- },
- {
- "key": "squid:Do_not_use_edu_emory_mathcs_backport_java_util_Collections",
- "name": "Do not use edu.emory.mathcs.backport.java.util.Collections",
- "severity": "MAJOR",
- "params": [
- {
- "key": "fromClasses",
- "htmlDesc": "Optional. If this property is not defined, all classes should adhere to this constraint. Ex : *<em>.web.</em>*",
- "type": "STRING",
- "defaultValue": ""
- },
- {
- "key": "toClasses",
- "htmlDesc": "Mandatory. Ex : java.util.Vector, java.util.Hashtable, java.util.Enumeration",
- "type": "STRING",
- "defaultValue": "edu.emory.mathcs.backport.java.util.Collections"
- }
- ]
- }
- ]
-}
+++ /dev/null
-{
- "total": 1,
- "p": 1,
- "ps": 200,
- "rules": [
- {
- "key": "squid:ArchitecturalConstraint",
- "name": "Architectural constraint",
- "lang": "java",
- "langName": "Java",
- "sysTags": [],
- "tags": [],
- "status": "READY"
- }
- ],
- "facets": [
- {
- "property": "languages",
- "values": [
- {
- "val": "java",
- "count": 1
- }
- ]
- },
- {
- "property": "repositories",
- "values": [
- {
- "val": "squid",
- "count": 1
- }
- ]
- }
- ]
-}
+++ /dev/null
-{
- "rule": {
- "key": "squid:ArchitecturalConstraint",
- "repo": "squid",
- "name": "Architectural constraint",
- "createdAt": "2013-03-27T09:52:40+0100",
- "severity": "MAJOR",
- "status": "READY",
- "internalKey": "ArchitecturalConstraint",
- "isTemplate": true,
- "tags": [],
- "sysTags": [],
- "lang": "java",
- "langName": "Java",
- "htmlDesc": "<p>A source code comply to an architectural model when it fully\n\tadheres to a set of architectural constraints. A constraint allows to\n\tdeny references between classes by pattern.</p>\n<p>You can for instance use this rule to :</p>\n<ul>\n\t<li>forbid access to **.web.** from **.dao.** classes</li>\n\t<li>forbid access to java.util.Vector, java.util.Hashtable and\n\t\tjava.util.Enumeration from any classes</li>\n\t<li>forbid access to java.sql.** from **.ui.** and **.web.**\n\t\tclasses</li>\n</ul>",
- "debtChar": "CHANGEABILITY",
- "debtSubChar": "ARCHITECTURE_CHANGEABILITY",
- "debtCharName": "Changeability",
- "debtSubCharName": "Architecture related changeability",
- "debtOverloaded": true,
- "debtRemFnType": "LINEAR",
- "debtRemFnCoeff": "3h",
- "params": [
- {
- "key": "fromClasses",
- "htmlDesc": "Optional. If this property is not defined, all classes should adhere to this constraint. Ex : *<em>.web.</em>*",
- "type": "STRING"
- },
- {
- "key": "toClasses",
- "htmlDesc": "Mandatory. Ex : java.util.Vector, java.util.Hashtable, java.util.Enumeration",
- "type": "STRING"
- }
- ]
- },
- "actives": []
-}
+++ /dev/null
-/*
- * SonarQube, open source software quality management tool.
- * Copyright (C) 2008-2014 SonarSource
- * mailto:contact AT sonarsource DOT com
- *
- * SonarQube 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.
- *
- * SonarQube 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.
- */
-/* global casper:false */
-
-var lib = require('../lib');
-
-lib.initMessages();
-lib.changeWorkingDirectory('coding-rules-page-should-show-deprecated-label');
-lib.configureCasper();
-
-
-casper.test.begin('coding-rules-page-should-show-deprecated-label', 1, function (test) {
- casper
- .start(lib.buildUrl('coding-rules'), function () {
- lib.setDefaultViewport();
-
- lib.mockRequest('/api/l10n/index', '{}');
- lib.mockRequestFromFile('/api/rules/app', 'app.json');
- lib.mockRequestFromFile('/api/rules/search', 'search.json');
- })
-
- .then(function () {
- casper.waitForSelector('.coding-rule.selected');
- })
-
- .then(function () {
- test.assertSelectorContains('.coding-rule.selected', 'DEPRECATED');
- })
-
- .run(function () {
- test.done();
- });
-});
+++ /dev/null
-{
- "canWrite": false,
- "qualityprofiles": [
- {
- "key": "java-default-with-mojo-conventions-49307",
- "name": "Default - Maven Conventions",
- "lang": "java",
- "parentKey": "java-top-profile-without-formatting-conventions-50037"
- },
- {
- "key": "java-default-with-sonarsource-conventions-27339",
- "name": "Default - SonarSource conventions",
- "lang": "java",
- "parentKey": "java-top-profile-without-formatting-conventions-50037"
- },
- {
- "key": "java-top-profile-without-formatting-conventions-50037",
- "name": "Default - Top",
- "lang": "java"
- },
- {
- "key": "java-findbugs-14954",
- "name": "FindBugs",
- "lang": "java"
- },
- {
- "key": "java-for-sq-java-plugin-only-92289",
- "name": "For SQ Java Plugin Only",
- "lang": "java",
- "parentKey": "java-default-with-sonarsource-conventions-27339"
- },
- {
- "key": "java-for-sq-only-95381",
- "name": "For SQ Only",
- "lang": "java",
- "parentKey": "java-default-with-sonarsource-conventions-27339"
- },
- {
- "key": "php-psr-2-06315",
- "name": "PSR-2",
- "lang": "php"
- },
- {
- "key": "java-sonar-way-80423",
- "name": "Sonar way",
- "lang": "java"
- },
- {
- "key": "js-sonar-way",
- "name": "Sonar way",
- "lang": "js"
- },
- {
- "key": "php-sonar-way-05548",
- "name": "Sonar way",
- "lang": "php"
- },
- {
- "key": "py-sonar-way-80265",
- "name": "Sonar way",
- "lang": "py"
- },
- {
- "key": "java-without-findbugs",
- "name": "Without Findbugs",
- "lang": "java"
- }
- ],
- "languages": {
- "py": "Python",
- "js": "JavaScript",
- "php": "PHP",
- "java": "Java"
- },
- "repositories": [
- {
- "key": "common-java",
- "name": "Common SonarQube",
- "language": "java"
- },
- {
- "key": "common-js",
- "name": "Common SonarQube",
- "language": "js"
- },
- {
- "key": "common-php",
- "name": "Common SonarQube",
- "language": "php"
- },
- {
- "key": "common-py",
- "name": "Common SonarQube",
- "language": "py"
- },
- {
- "key": "Pylint",
- "name": "Pylint",
- "language": "py"
- },
- {
- "key": "javascript",
- "name": "SonarQube",
- "language": "js"
- },
- {
- "key": "php",
- "name": "SonarQube",
- "language": "php"
- },
- {
- "key": "python",
- "name": "SonarQube",
- "language": "py"
- },
- {
- "key": "squid",
- "name": "SonarQube",
- "language": "java"
- }
- ],
- "statuses": {
- "BETA": "Beta",
- "DEPRECATED": "Deprecated",
- "READY": "Ready"
- },
- "characteristics": [
- {
- "key": "UNDERSTANDABILITY",
- "name": "Understandability",
- "parent": "MAINTAINABILITY"
- },
- {
- "key": "MAINTAINABILITY",
- "name": "Maintainability"
- },
- {
- "key": "TIME_ZONE_RELATED_PORTABILITY",
- "name": "Time zone related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "READABILITY",
- "name": "Readability",
- "parent": "MAINTAINABILITY"
- },
- {
- "key": "SECURITY_FEATURES",
- "name": "Security features",
- "parent": "SECURITY"
- },
- {
- "key": "ARCHITECTURE_RELIABILITY",
- "name": "Architecture related reliability",
- "parent": "RELIABILITY"
- },
- {
- "key": "OS_RELATED_PORTABILITY",
- "name": "OS related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "EXCEPTION_HANDLING",
- "name": "Exception handling",
- "parent": "RELIABILITY"
- },
- {
- "key": "LOGIC_CHANGEABILITY",
- "name": "Logic related changeability",
- "parent": "CHANGEABILITY"
- },
- {
- "key": "SOFTWARE_RELATED_PORTABILITY",
- "name": "Software related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "INPUT_VALIDATION_AND_REPRESENTATION",
- "name": "Input validation and representation",
- "parent": "SECURITY"
- },
- {
- "key": "LANGUAGE_RELATED_PORTABILITY",
- "name": "Language related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "ERRORS",
- "name": "Errors",
- "parent": "SECURITY"
- },
- {
- "key": "SECURITY",
- "name": "Security"
- },
- {
- "key": "RELIABILITY",
- "name": "Reliability"
- },
- {
- "key": "PORTABILITY",
- "name": "Portability"
- },
- {
- "key": "HARDWARE_RELATED_PORTABILITY",
- "name": "Hardware related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "SYNCHRONIZATION_RELIABILITY",
- "name": "Synchronization related reliability",
- "parent": "RELIABILITY"
- },
- {
- "key": "TRANSPORTABILITY",
- "name": "Transportability",
- "parent": "REUSABILITY"
- },
- {
- "key": "COMPILER_RELATED_PORTABILITY",
- "name": "Compiler related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "RESOURCE_RELIABILITY",
- "name": "Resource",
- "parent": "RELIABILITY"
- },
- {
- "key": "CPU_EFFICIENCY",
- "name": "Processor use",
- "parent": "EFFICIENCY"
- },
- {
- "key": "EFFICIENCY",
- "name": "Efficiency"
- },
- {
- "key": "CHANGEABILITY",
- "name": "Changeability"
- },
- {
- "key": "DATA_CHANGEABILITY",
- "name": "Data related changeability",
- "parent": "CHANGEABILITY"
- },
- {
- "key": "API_ABUSE",
- "name": "API abuse",
- "parent": "SECURITY"
- },
- {
- "key": "ARCHITECTURE_CHANGEABILITY",
- "name": "Architecture related changeability",
- "parent": "CHANGEABILITY"
- },
- {
- "key": "UNIT_TESTS",
- "name": "Unit tests",
- "parent": "RELIABILITY"
- },
- {
- "key": "INSTRUCTION_RELIABILITY",
- "name": "Instruction related reliability",
- "parent": "RELIABILITY"
- },
- {
- "key": "REUSABILITY",
- "name": "Reusability"
- },
- {
- "key": "MODULARITY",
- "name": "Modularity",
- "parent": "REUSABILITY"
- },
- {
- "key": "UNIT_TESTABILITY",
- "name": "Unit level testability",
- "parent": "TESTABILITY"
- },
- {
- "key": "TESTABILITY",
- "name": "Testability"
- },
- {
- "key": "INTEGRATION_TESTABILITY",
- "name": "Integration level testability",
- "parent": "TESTABILITY"
- },
- {
- "key": "NETWORK_USE",
- "name": "Network use",
- "parent": "EFFICIENCY"
- },
- {
- "key": "MEMORY_EFFICIENCY",
- "name": "Memory use",
- "parent": "EFFICIENCY"
- },
- {
- "key": "DATA_RELIABILITY",
- "name": "Data related reliability",
- "parent": "RELIABILITY"
- },
- {
- "key": "FAULT_TOLERANCE",
- "name": "Fault tolerance",
- "parent": "RELIABILITY"
- },
- {
- "key": "LOGIC_RELIABILITY",
- "name": "Logic related reliability",
- "parent": "RELIABILITY"
- }
- ]
-}
+++ /dev/null
-{
- "total": 609,
- "p": 1,
- "ps": 25,
- "rules": [
- {
- "key": "squid:S2077",
- "status": "DEPRECATED",
- "name": "Values passed to SQL commands should be sanitized",
- "lang": "java",
- "langName": "Java",
- "sysTags": [
- "cwe",
- "owasp-top10",
- "security",
- "sql"
- ],
- "tags": [
- "custom-tag"
- ]
- },
- {
- "key": "php:S107",
- "status": "READY",
- "name": "Functions should not have too many parameters",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S1192",
- "status": "READY",
- "name": "String literals should not be duplicated",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [],
- "tags": []
- },
- {
- "key": "php:S1145",
- "status": "READY",
- "name": "\"if\" statement conditions should not always evaluate to \"true\" or to \"false\"",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "bug",
- "cwe",
- "security"
- ],
- "tags": []
- },
- {
- "key": "php:S108",
- "status": "READY",
- "name": "Nested blocks of code should not be left empty",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [],
- "tags": []
- },
- {
- "key": "php:S1301",
- "status": "READY",
- "name": "\"switch\" statements should have at least 3 \"case\" clauses",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [],
- "tags": []
- },
- {
- "key": "php:S103",
- "status": "READY",
- "name": "Lines should not be too long",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "php:S1144",
- "status": "READY",
- "name": "Unused private method should be removed",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "unused"
- ],
- "tags": []
- },
- {
- "key": "php:S105",
- "status": "READY",
- "name": "Tabulation characters should not be used",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention",
- "psr2"
- ],
- "tags": []
- },
- {
- "key": "php:S1481",
- "status": "READY",
- "name": "Unused local variables should be removed",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "unused"
- ],
- "tags": []
- },
- {
- "key": "php:S1142",
- "status": "READY",
- "name": "Functions should not contain too many return statements",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S104",
- "status": "READY",
- "name": "Files should not have too many lines",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S1605",
- "status": "READY",
- "name": "PHP 4 style calls to parent constructors should not be used in PHP5 \"__construct\" functions",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "php:S1448",
- "status": "READY",
- "name": "Classes should not have too many methods",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S1603",
- "status": "READY",
- "name": "PHP 4 constructor declarations should not be used",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "pitfail"
- ],
- "tags": []
- },
- {
- "key": "php:S1779",
- "status": "READY",
- "name": "Only LF character (Unix-like) should be used to end lines",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention",
- "psr2"
- ],
- "tags": []
- },
- {
- "key": "php:S1185",
- "status": "READY",
- "name": "Overriding methods should do more than simply call the same method in the super class",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [],
- "tags": []
- },
- {
- "key": "php:S1600",
- "status": "READY",
- "name": "Deprecated predefined variables should not be used",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "pitfail"
- ],
- "tags": []
- },
- {
- "key": "php:S1109",
- "status": "READY",
- "name": "A close curly brace should be located at the beginning of a line",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "php:S2001",
- "status": "READY",
- "name": "Functions deprecated in PHP 5 should not be used",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "obsolete"
- ],
- "tags": []
- },
- {
- "key": "php:S2002",
- "status": "READY",
- "name": "Errors should not be silenced",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "pitfail"
- ],
- "tags": []
- },
- {
- "key": "php:S2000",
- "status": "READY",
- "name": "Files should not contain characters before \"<?php\"",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "user-experience"
- ],
- "tags": []
- },
- {
- "key": "php:S1105",
- "status": "READY",
- "name": "An open curly brace should be located at the end of a line",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "php:S1200",
- "status": "READY",
- "name": "Classes should not be coupled to too many other classes (Single Responsibility Principle)",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S1106",
- "status": "READY",
- "name": "An open curly brace should be located at the beginning of a line",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- }
- ],
- "facets": [
- {
- "property": "tags",
- "values": [
- {
- "val": "convention",
- "count": 67
- },
- {
- "val": "brain-overload",
- "count": 36
- },
- {
- "val": "bug",
- "count": 36
- },
- {
- "val": "cwe",
- "count": 17
- },
- {
- "val": "unused",
- "count": 16
- },
- {
- "val": "security",
- "count": 14
- },
- {
- "val": "pitfall",
- "count": 12
- },
- {
- "val": "psr2",
- "count": 12
- },
- {
- "val": "error-handling",
- "count": 11
- },
- {
- "val": "pitfail",
- "count": 10
- }
- ]
- },
- {
- "property": "languages",
- "values": [
- {
- "val": "java",
- "count": 212
- },
- {
- "val": "py",
- "count": 212
- },
- {
- "val": "php",
- "count": 103
- },
- {
- "val": "js",
- "count": 77
- }
- ]
- },
- {
- "property": "repositories",
- "values": [
- {
- "val": "squid",
- "count": 206
- },
- {
- "val": "Pylint",
- "count": 180
- },
- {
- "val": "php",
- "count": 97
- },
- {
- "val": "javascript",
- "count": 73
- },
- {
- "val": "python",
- "count": 28
- },
- {
- "val": "common-java",
- "count": 6
- },
- {
- "val": "common-php",
- "count": 6
- },
- {
- "val": "manual",
- "count": 5
- },
- {
- "val": "common-js",
- "count": 4
- },
- {
- "val": "common-py",
- "count": 4
- }
- ]
- }
- ]
-}
+++ /dev/null
-/*
- * SonarQube, open source software quality management tool.
- * Copyright (C) 2008-2014 SonarSource
- * mailto:contact AT sonarsource DOT com
- *
- * SonarQube 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.
- *
- * SonarQube 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.
- */
-/* global casper:false */
-
-var lib = require('../lib');
-
-lib.initMessages();
-lib.changeWorkingDirectory('coding-rules-page-should-show-details');
-lib.configureCasper();
-
-
-casper.test.begin('coding-rules-page-should-show-details', 20, function (test) {
- casper
- .start(lib.buildUrl('coding-rules'), function () {
- lib.setDefaultViewport();
-
- lib.mockRequest('/api/l10n/index', '{}');
- lib.mockRequestFromFile('/api/rules/app', 'app.json');
- lib.mockRequestFromFile('/api/rules/search', 'search.json');
- lib.mockRequestFromFile('/api/rules/show', 'show.json');
- lib.mockRequest('/api/issues/search', '{}');
- })
-
- .then(function () {
- casper.waitForSelector('.coding-rule.selected', function () {
- casper.click('.coding-rule.selected .js-rule');
- });
- })
-
- .then(function () {
- casper.waitForSelector('.coding-rules-detail-header');
- })
-
- .then(function () {
- test.assertSelectorContains('.search-navigator-workspace-details',
- 'Throwable and Error classes should not be caught');
-
- test.assertSelectorContains('.search-navigator-workspace-details', 'squid:S1181');
- test.assertExists('.coding-rules-detail-properties .icon-severity-blocker');
- test.assertSelectorContains('.coding-rules-detail-properties', 'error-handling');
- test.assertSelectorContains('.coding-rules-detail-properties', '2013');
- test.assertSelectorContains('.coding-rules-detail-properties', 'SonarQube (Java)');
- test.assertSelectorContains('.coding-rules-detail-properties', 'Reliability > Exception handling');
- test.assertSelectorContains('.coding-rules-detail-properties', 'LINEAR');
- test.assertSelectorContains('.coding-rules-detail-properties', '20min');
-
- test.assertSelectorContains('.coding-rules-detail-description', 'is the superclass of all errors and');
- test.assertSelectorContains('.coding-rules-detail-description', 'its subclasses should be caught.');
- test.assertSelectorContains('.coding-rules-detail-description', 'Noncompliant Code Example');
- test.assertSelectorContains('.coding-rules-detail-description', 'Compliant Solution');
-
- test.assertSelectorContains('.coding-rules-detail-parameters', 'max');
- test.assertSelectorContains('.coding-rules-detail-parameters', 'Maximum authorized number of parameters');
- test.assertSelectorContains('.coding-rules-detail-parameters', '7');
-
- test.assertElementCount('.coding-rules-detail-quality-profile-name', 6);
- test.assertSelectorContains('.coding-rules-detail-quality-profile-name', 'Default - Top');
- test.assertElementCount('.coding-rules-detail-quality-profile-inheritance', 4);
- test.assertSelectorContains('.coding-rules-detail-quality-profile-inheritance', 'Default - Top');
- })
-
- .run(function () {
- test.done();
- });
-});
+++ /dev/null
-{
- "canWrite": false,
- "qualityprofiles": [
- {
- "key": "java-default-with-mojo-conventions-49307",
- "name": "Default - Maven Conventions",
- "lang": "java",
- "parentKey": "java-top-profile-without-formatting-conventions-50037"
- },
- {
- "key": "java-default-with-sonarsource-conventions-27339",
- "name": "Default - SonarSource conventions",
- "lang": "java",
- "parentKey": "java-top-profile-without-formatting-conventions-50037"
- },
- {
- "key": "java-top-profile-without-formatting-conventions-50037",
- "name": "Default - Top",
- "lang": "java"
- },
- {
- "key": "java-findbugs-14954",
- "name": "FindBugs",
- "lang": "java"
- },
- {
- "key": "java-for-sq-java-plugin-only-92289",
- "name": "For SQ Java Plugin Only",
- "lang": "java",
- "parentKey": "java-default-with-sonarsource-conventions-27339"
- },
- {
- "key": "java-for-sq-only-95381",
- "name": "For SQ Only",
- "lang": "java",
- "parentKey": "java-default-with-sonarsource-conventions-27339"
- },
- {
- "key": "php-psr-2-06315",
- "name": "PSR-2",
- "lang": "php"
- },
- {
- "key": "java-sonar-way-80423",
- "name": "Sonar way",
- "lang": "java"
- },
- {
- "key": "js-sonar-way",
- "name": "Sonar way",
- "lang": "js"
- },
- {
- "key": "php-sonar-way-05548",
- "name": "Sonar way",
- "lang": "php"
- },
- {
- "key": "py-sonar-way-80265",
- "name": "Sonar way",
- "lang": "py"
- },
- {
- "key": "java-without-findbugs",
- "name": "Without Findbugs",
- "lang": "java"
- }
- ],
- "languages": {
- "py": "Python",
- "js": "JavaScript",
- "php": "PHP",
- "java": "Java"
- },
- "repositories": [
- {
- "key": "common-java",
- "name": "Common SonarQube",
- "language": "java"
- },
- {
- "key": "common-js",
- "name": "Common SonarQube",
- "language": "js"
- },
- {
- "key": "common-php",
- "name": "Common SonarQube",
- "language": "php"
- },
- {
- "key": "common-py",
- "name": "Common SonarQube",
- "language": "py"
- },
- {
- "key": "Pylint",
- "name": "Pylint",
- "language": "py"
- },
- {
- "key": "javascript",
- "name": "SonarQube",
- "language": "js"
- },
- {
- "key": "php",
- "name": "SonarQube",
- "language": "php"
- },
- {
- "key": "python",
- "name": "SonarQube",
- "language": "py"
- },
- {
- "key": "squid",
- "name": "SonarQube",
- "language": "java"
- }
- ],
- "statuses": {
- "BETA": "Beta",
- "DEPRECATED": "Deprecated",
- "READY": "Ready"
- },
- "characteristics": [
- {
- "key": "UNDERSTANDABILITY",
- "name": "Understandability",
- "parent": "MAINTAINABILITY"
- },
- {
- "key": "MAINTAINABILITY",
- "name": "Maintainability"
- },
- {
- "key": "TIME_ZONE_RELATED_PORTABILITY",
- "name": "Time zone related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "READABILITY",
- "name": "Readability",
- "parent": "MAINTAINABILITY"
- },
- {
- "key": "SECURITY_FEATURES",
- "name": "Security features",
- "parent": "SECURITY"
- },
- {
- "key": "ARCHITECTURE_RELIABILITY",
- "name": "Architecture related reliability",
- "parent": "RELIABILITY"
- },
- {
- "key": "OS_RELATED_PORTABILITY",
- "name": "OS related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "EXCEPTION_HANDLING",
- "name": "Exception handling",
- "parent": "RELIABILITY"
- },
- {
- "key": "LOGIC_CHANGEABILITY",
- "name": "Logic related changeability",
- "parent": "CHANGEABILITY"
- },
- {
- "key": "SOFTWARE_RELATED_PORTABILITY",
- "name": "Software related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "INPUT_VALIDATION_AND_REPRESENTATION",
- "name": "Input validation and representation",
- "parent": "SECURITY"
- },
- {
- "key": "LANGUAGE_RELATED_PORTABILITY",
- "name": "Language related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "ERRORS",
- "name": "Errors",
- "parent": "SECURITY"
- },
- {
- "key": "SECURITY",
- "name": "Security"
- },
- {
- "key": "RELIABILITY",
- "name": "Reliability"
- },
- {
- "key": "PORTABILITY",
- "name": "Portability"
- },
- {
- "key": "HARDWARE_RELATED_PORTABILITY",
- "name": "Hardware related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "SYNCHRONIZATION_RELIABILITY",
- "name": "Synchronization related reliability",
- "parent": "RELIABILITY"
- },
- {
- "key": "TRANSPORTABILITY",
- "name": "Transportability",
- "parent": "REUSABILITY"
- },
- {
- "key": "COMPILER_RELATED_PORTABILITY",
- "name": "Compiler related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "RESOURCE_RELIABILITY",
- "name": "Resource",
- "parent": "RELIABILITY"
- },
- {
- "key": "CPU_EFFICIENCY",
- "name": "Processor use",
- "parent": "EFFICIENCY"
- },
- {
- "key": "EFFICIENCY",
- "name": "Efficiency"
- },
- {
- "key": "CHANGEABILITY",
- "name": "Changeability"
- },
- {
- "key": "DATA_CHANGEABILITY",
- "name": "Data related changeability",
- "parent": "CHANGEABILITY"
- },
- {
- "key": "API_ABUSE",
- "name": "API abuse",
- "parent": "SECURITY"
- },
- {
- "key": "ARCHITECTURE_CHANGEABILITY",
- "name": "Architecture related changeability",
- "parent": "CHANGEABILITY"
- },
- {
- "key": "UNIT_TESTS",
- "name": "Unit tests",
- "parent": "RELIABILITY"
- },
- {
- "key": "INSTRUCTION_RELIABILITY",
- "name": "Instruction related reliability",
- "parent": "RELIABILITY"
- },
- {
- "key": "REUSABILITY",
- "name": "Reusability"
- },
- {
- "key": "MODULARITY",
- "name": "Modularity",
- "parent": "REUSABILITY"
- },
- {
- "key": "UNIT_TESTABILITY",
- "name": "Unit level testability",
- "parent": "TESTABILITY"
- },
- {
- "key": "TESTABILITY",
- "name": "Testability"
- },
- {
- "key": "INTEGRATION_TESTABILITY",
- "name": "Integration level testability",
- "parent": "TESTABILITY"
- },
- {
- "key": "NETWORK_USE",
- "name": "Network use",
- "parent": "EFFICIENCY"
- },
- {
- "key": "MEMORY_EFFICIENCY",
- "name": "Memory use",
- "parent": "EFFICIENCY"
- },
- {
- "key": "DATA_RELIABILITY",
- "name": "Data related reliability",
- "parent": "RELIABILITY"
- },
- {
- "key": "FAULT_TOLERANCE",
- "name": "Fault tolerance",
- "parent": "RELIABILITY"
- },
- {
- "key": "LOGIC_RELIABILITY",
- "name": "Logic related reliability",
- "parent": "RELIABILITY"
- }
- ]
-}
+++ /dev/null
-{
- "total": 10,
- "p": 1,
- "ps": 200,
- "rules": [
- {
- "key": "squid:S1181",
- "name": "Throwable and Error classes should not be caught",
- "lang": "java",
- "langName": "Java",
- "sysTags": [
- "error-handling"
- ],
- "tags": []
- },
- {
- "key": "squid:S1849",
- "name": "\"Iterator.hasNext()\" should not call \"Iterator.next()\"",
- "lang": "java",
- "langName": "Java",
- "sysTags": [
- "bug"
- ],
- "tags": []
- },
- {
- "key": "squid:S1844",
- "name": "\"Object.wait(...)\" should never be called on objects that implement \"java.util.concurrent.locks.Condition\"",
- "lang": "java",
- "langName": "Java",
- "sysTags": [
- "bug",
- "pitfall"
- ],
- "tags": []
- },
- {
- "key": "squid:S2258",
- "name": "\"javax.crypto.NullCipher\" should not be used for anything other than testing",
- "lang": "java",
- "langName": "Java",
- "sysTags": [
- "cwe",
- "owasp-top10",
- "security"
- ],
- "tags": []
- },
- {
- "key": "squid:S2251",
- "name": "A \"for\" loop update clause should move the counter in the right direction",
- "lang": "java",
- "langName": "Java",
- "sysTags": [
- "bug"
- ],
- "tags": []
- },
- {
- "key": "squid:ObjectFinalizeOverridenCallsSuperFinalizeCheck",
- "name": "super.finalize() should be called at the end of Object.finalize() implementations",
- "lang": "java",
- "langName": "Java",
- "sysTags": [
- "bug"
- ],
- "tags": []
- },
- {
- "key": "squid:S1143",
- "name": "Return statements should not occur in finally blocks",
- "lang": "java",
- "langName": "Java",
- "sysTags": [
- "bug"
- ],
- "tags": []
- },
- {
- "key": "squid:S1206",
- "name": "\"equals(Object obj)\" and \"hashCode()\" should be overridden in pairs",
- "lang": "java",
- "langName": "Java",
- "sysTags": [
- "bug"
- ],
- "tags": []
- },
- {
- "key": "squid:S1451",
- "name": "Copyright and license headers should be defined in all source files",
- "lang": "java",
- "langName": "Java",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "squid:S1697",
- "name": "Short-circuit logic should be used to prevent null pointer dereferences in conditionals",
- "lang": "java",
- "langName": "Java",
- "sysTags": [
- "bug"
- ],
- "tags": []
- }
- ],
- "facets": [
- {
- "property": "tags",
- "values": [
- {
- "val": "bug",
- "count": 7
- },
- {
- "val": "convention",
- "count": 1
- },
- {
- "val": "cwe",
- "count": 1
- },
- {
- "val": "error-handling",
- "count": 1
- },
- {
- "val": "owasp-top10",
- "count": 1
- },
- {
- "val": "pitfall",
- "count": 1
- },
- {
- "val": "security",
- "count": 1
- }
- ]
- },
- {
- "property": "languages",
- "values": [
- {
- "val": "java",
- "count": 10
- },
- {
- "val": "js",
- "count": 6
- },
- {
- "val": "php",
- "count": 2
- }
- ]
- },
- {
- "property": "repositories",
- "values": [
- {
- "val": "squid",
- "count": 10
- }
- ]
- }
- ]
-}
+++ /dev/null
-{
- "rule": {
- "key": "squid:S1181",
- "repo": "squid",
- "name": "Throwable and Error classes should not be caught",
- "createdAt": "2013-08-09T14:40:54+0200",
- "severity": "BLOCKER",
- "status": "READY",
- "internalKey": "S1181",
- "isTemplate": false,
- "tags": [],
- "sysTags": [
- "error-handling"
- ],
- "lang": "java",
- "langName": "Java",
- "htmlDesc": "<p>\n<code>Throwable</code> is the superclass of all errors and exceptions in Java.\n<code>Error</code> is the superclass of all errors which are not meant to be caught by applications.\n</p>\n\n<p>\nCatching either <code>Throwable</code> or <code>Error</code> will also catch <code>OutOfMemoryError</code> or <code>InternalError</code> from which an application should not attempt to recover.\n</p>\n\n<p>Only <code>Exception</code> and its subclasses should be caught.</p>\n\n<h2>Noncompliant Code Example</h2>\n\n<pre>\ntry { /* ... */ } catch (Throwable t) { /* ... */ }\ntry { /* ... */ } catch (Error e) { /* ... */ } \n</pre>\n\n<h2>Compliant Solution</h2>\n\n<pre>\ntry { /* ... */ } catch (Exception e) { /* ... */ } \ntry { /* ... */ } catch (RuntimeException e) { /* ... */ } \ntry { /* ... */ } catch (MyException e) { /* ... */ } \n</pre>",
- "defaultDebtChar": "RELIABILITY",
- "defaultDebtSubChar": "EXCEPTION_HANDLING",
- "debtChar": "RELIABILITY",
- "debtSubChar": "EXCEPTION_HANDLING",
- "debtCharName": "Reliability",
- "debtSubCharName": "Exception handling",
- "defaultDebtRemFnType": "CONSTANT_ISSUE",
- "defaultDebtRemFnOffset": "20min",
- "debtOverloaded": true,
- "debtRemFnType": "LINEAR",
- "debtRemFnCoeff": "20min",
- "params": [
- {
- "key": "max",
- "htmlDesc": "Maximum authorized number of parameters",
- "type": "INTEGER",
- "defaultValue": "7"
- }
- ]
- },
- "actives": [
- {
- "qProfile": "java-top-profile-without-formatting-conventions-50037",
- "inherit": "NONE",
- "severity": "BLOCKER",
- "params": []
- },
- {
- "qProfile": "java-default-with-sonarsource-conventions-27339",
- "inherit": "INHERITED",
- "severity": "BLOCKER",
- "params": []
- },
- {
- "qProfile": "java-for-sq-java-plugin-only-92289",
- "inherit": "INHERITED",
- "severity": "BLOCKER",
- "params": []
- },
- {
- "qProfile": "java-for-sq-only-95381",
- "inherit": "INHERITED",
- "severity": "BLOCKER",
- "params": []
- },
- {
- "qProfile": "java-default-with-mojo-conventions-49307",
- "inherit": "INHERITED",
- "severity": "BLOCKER",
- "params": []
- },
- {
- "qProfile": "java-sonar-way-80423",
- "inherit": "NONE",
- "severity": "BLOCKER",
- "params": []
- }
- ]
-}
+++ /dev/null
-/*
- * SonarQube, open source software quality management tool.
- * Copyright (C) 2008-2014 SonarSource
- * mailto:contact AT sonarsource DOT com
- *
- * SonarQube 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.
- *
- * SonarQube 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.
- */
-/* global casper:false */
-
-var lib = require('../lib');
-
-lib.initMessages();
-lib.changeWorkingDirectory('coding-rules-page-should-show-empty-list');
-lib.configureCasper();
-
-
-casper.test.begin('coding-rules-page-should-show-empty-list', 3, function (test) {
- casper
- .start(lib.buildUrl('coding-rules'), function () {
- lib.setDefaultViewport();
-
- lib.mockRequest('/api/l10n/index', '{}');
- lib.mockRequestFromFile('/api/rules/app', 'app.json');
- lib.mockRequestFromFile('/api/rules/search', 'search.json');
- })
-
- .then(function () {
- casper.waitForSelector('.search-navigator-facet-box');
- })
-
- .then(function () {
- test.assertDoesntExist('.coding-rule');
- test.assertSelectorContains('#coding-rules-total', 0);
- test.assertExists('.search-navigator-no-results');
- })
-
- .run(function () {
- test.done();
- });
-});
+++ /dev/null
-{
- "canWrite": false,
- "qualityprofiles": [
- {
- "key": "java-default-with-mojo-conventions-49307",
- "name": "Default - Maven Conventions",
- "lang": "java",
- "parentKey": "java-top-profile-without-formatting-conventions-50037"
- },
- {
- "key": "java-default-with-sonarsource-conventions-27339",
- "name": "Default - SonarSource conventions",
- "lang": "java",
- "parentKey": "java-top-profile-without-formatting-conventions-50037"
- },
- {
- "key": "java-top-profile-without-formatting-conventions-50037",
- "name": "Default - Top",
- "lang": "java"
- },
- {
- "key": "java-findbugs-14954",
- "name": "FindBugs",
- "lang": "java"
- },
- {
- "key": "java-for-sq-java-plugin-only-92289",
- "name": "For SQ Java Plugin Only",
- "lang": "java",
- "parentKey": "java-default-with-sonarsource-conventions-27339"
- },
- {
- "key": "java-for-sq-only-95381",
- "name": "For SQ Only",
- "lang": "java",
- "parentKey": "java-default-with-sonarsource-conventions-27339"
- },
- {
- "key": "php-psr-2-06315",
- "name": "PSR-2",
- "lang": "php"
- },
- {
- "key": "java-sonar-way-80423",
- "name": "Sonar way",
- "lang": "java"
- },
- {
- "key": "js-sonar-way",
- "name": "Sonar way",
- "lang": "js"
- },
- {
- "key": "php-sonar-way-05548",
- "name": "Sonar way",
- "lang": "php"
- },
- {
- "key": "py-sonar-way-80265",
- "name": "Sonar way",
- "lang": "py"
- },
- {
- "key": "java-without-findbugs",
- "name": "Without Findbugs",
- "lang": "java"
- }
- ],
- "languages": {
- "py": "Python",
- "js": "JavaScript",
- "php": "PHP",
- "java": "Java"
- },
- "repositories": [
- {
- "key": "common-java",
- "name": "Common SonarQube",
- "language": "java"
- },
- {
- "key": "common-js",
- "name": "Common SonarQube",
- "language": "js"
- },
- {
- "key": "common-php",
- "name": "Common SonarQube",
- "language": "php"
- },
- {
- "key": "common-py",
- "name": "Common SonarQube",
- "language": "py"
- },
- {
- "key": "Pylint",
- "name": "Pylint",
- "language": "py"
- },
- {
- "key": "javascript",
- "name": "SonarQube",
- "language": "js"
- },
- {
- "key": "php",
- "name": "SonarQube",
- "language": "php"
- },
- {
- "key": "python",
- "name": "SonarQube",
- "language": "py"
- },
- {
- "key": "squid",
- "name": "SonarQube",
- "language": "java"
- }
- ],
- "statuses": {
- "BETA": "Beta",
- "DEPRECATED": "Deprecated",
- "READY": "Ready"
- },
- "characteristics": [
- {
- "key": "UNDERSTANDABILITY",
- "name": "Understandability",
- "parent": "MAINTAINABILITY"
- },
- {
- "key": "MAINTAINABILITY",
- "name": "Maintainability"
- },
- {
- "key": "TIME_ZONE_RELATED_PORTABILITY",
- "name": "Time zone related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "READABILITY",
- "name": "Readability",
- "parent": "MAINTAINABILITY"
- },
- {
- "key": "SECURITY_FEATURES",
- "name": "Security features",
- "parent": "SECURITY"
- },
- {
- "key": "ARCHITECTURE_RELIABILITY",
- "name": "Architecture related reliability",
- "parent": "RELIABILITY"
- },
- {
- "key": "OS_RELATED_PORTABILITY",
- "name": "OS related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "EXCEPTION_HANDLING",
- "name": "Exception handling",
- "parent": "RELIABILITY"
- },
- {
- "key": "LOGIC_CHANGEABILITY",
- "name": "Logic related changeability",
- "parent": "CHANGEABILITY"
- },
- {
- "key": "SOFTWARE_RELATED_PORTABILITY",
- "name": "Software related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "INPUT_VALIDATION_AND_REPRESENTATION",
- "name": "Input validation and representation",
- "parent": "SECURITY"
- },
- {
- "key": "LANGUAGE_RELATED_PORTABILITY",
- "name": "Language related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "ERRORS",
- "name": "Errors",
- "parent": "SECURITY"
- },
- {
- "key": "SECURITY",
- "name": "Security"
- },
- {
- "key": "RELIABILITY",
- "name": "Reliability"
- },
- {
- "key": "PORTABILITY",
- "name": "Portability"
- },
- {
- "key": "HARDWARE_RELATED_PORTABILITY",
- "name": "Hardware related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "SYNCHRONIZATION_RELIABILITY",
- "name": "Synchronization related reliability",
- "parent": "RELIABILITY"
- },
- {
- "key": "TRANSPORTABILITY",
- "name": "Transportability",
- "parent": "REUSABILITY"
- },
- {
- "key": "COMPILER_RELATED_PORTABILITY",
- "name": "Compiler related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "RESOURCE_RELIABILITY",
- "name": "Resource",
- "parent": "RELIABILITY"
- },
- {
- "key": "CPU_EFFICIENCY",
- "name": "Processor use",
- "parent": "EFFICIENCY"
- },
- {
- "key": "EFFICIENCY",
- "name": "Efficiency"
- },
- {
- "key": "CHANGEABILITY",
- "name": "Changeability"
- },
- {
- "key": "DATA_CHANGEABILITY",
- "name": "Data related changeability",
- "parent": "CHANGEABILITY"
- },
- {
- "key": "API_ABUSE",
- "name": "API abuse",
- "parent": "SECURITY"
- },
- {
- "key": "ARCHITECTURE_CHANGEABILITY",
- "name": "Architecture related changeability",
- "parent": "CHANGEABILITY"
- },
- {
- "key": "UNIT_TESTS",
- "name": "Unit tests",
- "parent": "RELIABILITY"
- },
- {
- "key": "INSTRUCTION_RELIABILITY",
- "name": "Instruction related reliability",
- "parent": "RELIABILITY"
- },
- {
- "key": "REUSABILITY",
- "name": "Reusability"
- },
- {
- "key": "MODULARITY",
- "name": "Modularity",
- "parent": "REUSABILITY"
- },
- {
- "key": "UNIT_TESTABILITY",
- "name": "Unit level testability",
- "parent": "TESTABILITY"
- },
- {
- "key": "TESTABILITY",
- "name": "Testability"
- },
- {
- "key": "INTEGRATION_TESTABILITY",
- "name": "Integration level testability",
- "parent": "TESTABILITY"
- },
- {
- "key": "NETWORK_USE",
- "name": "Network use",
- "parent": "EFFICIENCY"
- },
- {
- "key": "MEMORY_EFFICIENCY",
- "name": "Memory use",
- "parent": "EFFICIENCY"
- },
- {
- "key": "DATA_RELIABILITY",
- "name": "Data related reliability",
- "parent": "RELIABILITY"
- },
- {
- "key": "FAULT_TOLERANCE",
- "name": "Fault tolerance",
- "parent": "RELIABILITY"
- },
- {
- "key": "LOGIC_RELIABILITY",
- "name": "Logic related reliability",
- "parent": "RELIABILITY"
- }
- ]
-}
+++ /dev/null
-{
- "total": 0,
- "p": 1,
- "ps": 200,
- "rules": [],
- "facets": []
-}
+++ /dev/null
-/*
- * SonarQube, open source software quality management tool.
- * Copyright (C) 2008-2014 SonarSource
- * mailto:contact AT sonarsource DOT com
- *
- * SonarQube 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.
- *
- * SonarQube 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.
- */
-/* global casper:false */
-
-var lib = require('../lib');
-
-lib.initMessages();
-lib.changeWorkingDirectory('coding-rules');
-lib.configureCasper();
-
-
-casper.test.begin('coding-rules-page-should-show-facets', 1, function (test) {
- casper
- .start(lib.buildUrl('coding-rules'), function () {
- lib.setDefaultViewport();
-
- lib.mockRequest('/api/l10n/index', '{}');
- lib.mockRequestFromFile('/api/rules/app', 'app.json');
- lib.mockRequestFromFile('/api/rules/search', 'search.json');
- })
-
- .then(function () {
- casper.waitForSelector('.search-navigator-facet-box');
- })
-
- .then(function () {
- test.assertElementCount('.search-navigator-facet-box', 13);
- })
-
- .run(function () {
- test.done();
- });
-});
+++ /dev/null
-/*
- * SonarQube, open source software quality management tool.
- * Copyright (C) 2008-2014 SonarSource
- * mailto:contact AT sonarsource DOT com
- *
- * SonarQube 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.
- *
- * SonarQube 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.
- */
-/* global casper:false */
-
-var lib = require('../lib');
-
-lib.initMessages();
-lib.changeWorkingDirectory('coding-rules-page-should-show-rule-issues');
-lib.configureCasper();
-
-
-casper.test.begin('coding-rules-page-should-show-rule-issues', 5, function (test) {
- casper
- .start(lib.buildUrl('coding-rules'), function () {
- lib.setDefaultViewport();
-
- lib.mockRequest('/api/l10n/index', '{}');
- lib.mockRequestFromFile('/api/rules/app', 'app.json');
- lib.mockRequestFromFile('/api/rules/search', 'search.json');
- lib.mockRequestFromFile('/api/rules/show', 'show.json');
- lib.mockRequestFromFile('/api/issues/search', 'issues-search.json');
- })
-
- .then(function () {
- casper.waitForSelector('.coding-rule.selected', function () {
- casper.click('.coding-rule.selected .js-rule');
- });
- })
-
- .then(function () {
- casper.waitForSelector('.coding-rules-most-violated-projects');
- })
-
- .then(function () {
- test.assertSelectorContains('.js-rule-issues', '7');
- test.assertSelectorContains('.coding-rules-most-violated-projects', 'SonarQube');
- test.assertSelectorContains('.coding-rules-most-violated-projects', '2');
- test.assertSelectorContains('.coding-rules-most-violated-projects', 'SonarQube Runner');
- test.assertSelectorContains('.coding-rules-most-violated-projects', '1');
- })
-
- .run(function () {
- test.done();
- });
-});
+++ /dev/null
-{
- "canWrite": false,
- "qualityprofiles": [
- {
- "key": "java-default-with-mojo-conventions-49307",
- "name": "Default - Maven Conventions",
- "lang": "java",
- "parentKey": "java-top-profile-without-formatting-conventions-50037"
- },
- {
- "key": "java-default-with-sonarsource-conventions-27339",
- "name": "Default - SonarSource conventions",
- "lang": "java",
- "parentKey": "java-top-profile-without-formatting-conventions-50037"
- },
- {
- "key": "java-top-profile-without-formatting-conventions-50037",
- "name": "Default - Top",
- "lang": "java"
- },
- {
- "key": "java-findbugs-14954",
- "name": "FindBugs",
- "lang": "java"
- },
- {
- "key": "java-for-sq-java-plugin-only-92289",
- "name": "For SQ Java Plugin Only",
- "lang": "java",
- "parentKey": "java-default-with-sonarsource-conventions-27339"
- },
- {
- "key": "java-for-sq-only-95381",
- "name": "For SQ Only",
- "lang": "java",
- "parentKey": "java-default-with-sonarsource-conventions-27339"
- },
- {
- "key": "php-psr-2-06315",
- "name": "PSR-2",
- "lang": "php"
- },
- {
- "key": "java-sonar-way-80423",
- "name": "Sonar way",
- "lang": "java"
- },
- {
- "key": "js-sonar-way",
- "name": "Sonar way",
- "lang": "js"
- },
- {
- "key": "php-sonar-way-05548",
- "name": "Sonar way",
- "lang": "php"
- },
- {
- "key": "py-sonar-way-80265",
- "name": "Sonar way",
- "lang": "py"
- },
- {
- "key": "java-without-findbugs",
- "name": "Without Findbugs",
- "lang": "java"
- }
- ],
- "languages": {
- "py": "Python",
- "js": "JavaScript",
- "php": "PHP",
- "java": "Java"
- },
- "repositories": [
- {
- "key": "common-java",
- "name": "Common SonarQube",
- "language": "java"
- },
- {
- "key": "common-js",
- "name": "Common SonarQube",
- "language": "js"
- },
- {
- "key": "common-php",
- "name": "Common SonarQube",
- "language": "php"
- },
- {
- "key": "common-py",
- "name": "Common SonarQube",
- "language": "py"
- },
- {
- "key": "Pylint",
- "name": "Pylint",
- "language": "py"
- },
- {
- "key": "javascript",
- "name": "SonarQube",
- "language": "js"
- },
- {
- "key": "php",
- "name": "SonarQube",
- "language": "php"
- },
- {
- "key": "python",
- "name": "SonarQube",
- "language": "py"
- },
- {
- "key": "squid",
- "name": "SonarQube",
- "language": "java"
- }
- ],
- "statuses": {
- "BETA": "Beta",
- "DEPRECATED": "Deprecated",
- "READY": "Ready"
- },
- "characteristics": [
- {
- "key": "UNDERSTANDABILITY",
- "name": "Understandability",
- "parent": "MAINTAINABILITY"
- },
- {
- "key": "MAINTAINABILITY",
- "name": "Maintainability"
- },
- {
- "key": "TIME_ZONE_RELATED_PORTABILITY",
- "name": "Time zone related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "READABILITY",
- "name": "Readability",
- "parent": "MAINTAINABILITY"
- },
- {
- "key": "SECURITY_FEATURES",
- "name": "Security features",
- "parent": "SECURITY"
- },
- {
- "key": "ARCHITECTURE_RELIABILITY",
- "name": "Architecture related reliability",
- "parent": "RELIABILITY"
- },
- {
- "key": "OS_RELATED_PORTABILITY",
- "name": "OS related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "EXCEPTION_HANDLING",
- "name": "Exception handling",
- "parent": "RELIABILITY"
- },
- {
- "key": "LOGIC_CHANGEABILITY",
- "name": "Logic related changeability",
- "parent": "CHANGEABILITY"
- },
- {
- "key": "SOFTWARE_RELATED_PORTABILITY",
- "name": "Software related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "INPUT_VALIDATION_AND_REPRESENTATION",
- "name": "Input validation and representation",
- "parent": "SECURITY"
- },
- {
- "key": "LANGUAGE_RELATED_PORTABILITY",
- "name": "Language related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "ERRORS",
- "name": "Errors",
- "parent": "SECURITY"
- },
- {
- "key": "SECURITY",
- "name": "Security"
- },
- {
- "key": "RELIABILITY",
- "name": "Reliability"
- },
- {
- "key": "PORTABILITY",
- "name": "Portability"
- },
- {
- "key": "HARDWARE_RELATED_PORTABILITY",
- "name": "Hardware related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "SYNCHRONIZATION_RELIABILITY",
- "name": "Synchronization related reliability",
- "parent": "RELIABILITY"
- },
- {
- "key": "TRANSPORTABILITY",
- "name": "Transportability",
- "parent": "REUSABILITY"
- },
- {
- "key": "COMPILER_RELATED_PORTABILITY",
- "name": "Compiler related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "RESOURCE_RELIABILITY",
- "name": "Resource",
- "parent": "RELIABILITY"
- },
- {
- "key": "CPU_EFFICIENCY",
- "name": "Processor use",
- "parent": "EFFICIENCY"
- },
- {
- "key": "EFFICIENCY",
- "name": "Efficiency"
- },
- {
- "key": "CHANGEABILITY",
- "name": "Changeability"
- },
- {
- "key": "DATA_CHANGEABILITY",
- "name": "Data related changeability",
- "parent": "CHANGEABILITY"
- },
- {
- "key": "API_ABUSE",
- "name": "API abuse",
- "parent": "SECURITY"
- },
- {
- "key": "ARCHITECTURE_CHANGEABILITY",
- "name": "Architecture related changeability",
- "parent": "CHANGEABILITY"
- },
- {
- "key": "UNIT_TESTS",
- "name": "Unit tests",
- "parent": "RELIABILITY"
- },
- {
- "key": "INSTRUCTION_RELIABILITY",
- "name": "Instruction related reliability",
- "parent": "RELIABILITY"
- },
- {
- "key": "REUSABILITY",
- "name": "Reusability"
- },
- {
- "key": "MODULARITY",
- "name": "Modularity",
- "parent": "REUSABILITY"
- },
- {
- "key": "UNIT_TESTABILITY",
- "name": "Unit level testability",
- "parent": "TESTABILITY"
- },
- {
- "key": "TESTABILITY",
- "name": "Testability"
- },
- {
- "key": "INTEGRATION_TESTABILITY",
- "name": "Integration level testability",
- "parent": "TESTABILITY"
- },
- {
- "key": "NETWORK_USE",
- "name": "Network use",
- "parent": "EFFICIENCY"
- },
- {
- "key": "MEMORY_EFFICIENCY",
- "name": "Memory use",
- "parent": "EFFICIENCY"
- },
- {
- "key": "DATA_RELIABILITY",
- "name": "Data related reliability",
- "parent": "RELIABILITY"
- },
- {
- "key": "FAULT_TOLERANCE",
- "name": "Fault tolerance",
- "parent": "RELIABILITY"
- },
- {
- "key": "LOGIC_RELIABILITY",
- "name": "Logic related reliability",
- "parent": "RELIABILITY"
- }
- ]
-}
+++ /dev/null
-{
- "total": 7,
- "p": 1,
- "ps": 1,
- "projects": [
- {
- "uuid": "3b22f38e-ad68-4792-9791-1435584a686c",
- "key": "org.codehaus.sonar.runner:sonar-runner",
- "id": 17226,
- "qualifier": "TRK",
- "name": "SonarQube Runner",
- "longName": "SonarQube Runner"
- },
- {
- "uuid": "69e57151-be0d-4157-adff-c06741d88879",
- "key": "org.codehaus.sonar:sonar",
- "id": 2865,
- "qualifier": "TRK",
- "name": "SonarQube",
- "longName": "SonarQube"
- }
- ],
- "components": [],
- "issues": [],
- "rules": [],
- "users": [],
- "languages": [],
- "maxResultsReached": false,
- "paging": {
- "pageIndex": 1,
- "pageSize": 1,
- "total": 7,
- "fTotal": "7",
- "pages": 7
- },
- "facets": [
- {
- "property": "projectUuids",
- "values": [
- {
- "val": "69e57151-be0d-4157-adff-c06741d88879",
- "count": 2
- },
- {
- "val": "3b22f38e-ad68-4792-9791-1435584a686c",
- "count": 1
- }
- ]
- }
- ]
-}
+++ /dev/null
-{
- "total": 1,
- "p": 1,
- "ps": 200,
- "rules": [
- {
- "key": "squid:S2096",
- "name": "\"main\" should not \"throw\" anything",
- "lang": "java",
- "langName": "Java",
- "sysTags": [
- "bug"
- ],
- "tags": [],
- "status": "READY"
- }
- ],
- "facets": [
- {
- "property": "tags",
- "values": [
- {
- "val": "bug",
- "count": 1
- }
- ]
- },
- {
- "property": "languages",
- "values": [
- {
- "val": "java",
- "count": 1
- }
- ]
- },
- {
- "property": "repositories",
- "values": [
- {
- "val": "squid",
- "count": 1
- }
- ]
- }
- ]
-}
+++ /dev/null
-{
- "rule": {
- "key": "squid:S1181",
- "repo": "squid",
- "name": "Throwable and Error classes should not be caught",
- "createdAt": "2013-08-09T14:40:54+0200",
- "severity": "BLOCKER",
- "status": "READY",
- "internalKey": "S1181",
- "isTemplate": false,
- "tags": [],
- "sysTags": [
- "error-handling"
- ],
- "lang": "java",
- "langName": "Java",
- "htmlDesc": "<p>\n<code>Throwable</code> is the superclass of all errors and exceptions in Java.\n<code>Error</code> is the superclass of all errors which are not meant to be caught by applications.\n</p>\n\n<p>\nCatching either <code>Throwable</code> or <code>Error</code> will also catch <code>OutOfMemoryError</code> or <code>InternalError</code> from which an application should not attempt to recover.\n</p>\n\n<p>Only <code>Exception</code> and its subclasses should be caught.</p>\n\n<h2>Noncompliant Code Example</h2>\n\n<pre>\ntry { /* ... */ } catch (Throwable t) { /* ... */ }\ntry { /* ... */ } catch (Error e) { /* ... */ } \n</pre>\n\n<h2>Compliant Solution</h2>\n\n<pre>\ntry { /* ... */ } catch (Exception e) { /* ... */ } \ntry { /* ... */ } catch (RuntimeException e) { /* ... */ } \ntry { /* ... */ } catch (MyException e) { /* ... */ } \n</pre>",
- "defaultDebtChar": "RELIABILITY",
- "defaultDebtSubChar": "EXCEPTION_HANDLING",
- "debtChar": "RELIABILITY",
- "debtSubChar": "EXCEPTION_HANDLING",
- "debtCharName": "Reliability",
- "debtSubCharName": "Exception handling",
- "defaultDebtRemFnType": "CONSTANT_ISSUE",
- "defaultDebtRemFnOffset": "20min",
- "debtOverloaded": true,
- "debtRemFnType": "LINEAR",
- "debtRemFnCoeff": "20min",
- "params": [
- {
- "key": "max",
- "htmlDesc": "Maximum authorized number of parameters",
- "type": "INTEGER",
- "defaultValue": "7"
- }
- ]
- },
- "actives": [
- {
- "qProfile": "java-top-profile-without-formatting-conventions-50037",
- "inherit": "NONE",
- "severity": "BLOCKER",
- "params": []
- },
- {
- "qProfile": "java-default-with-sonarsource-conventions-27339",
- "inherit": "INHERITED",
- "severity": "BLOCKER",
- "params": []
- },
- {
- "qProfile": "java-for-sq-java-plugin-only-92289",
- "inherit": "INHERITED",
- "severity": "BLOCKER",
- "params": []
- },
- {
- "qProfile": "java-for-sq-only-95381",
- "inherit": "INHERITED",
- "severity": "BLOCKER",
- "params": []
- },
- {
- "qProfile": "java-default-with-mojo-conventions-49307",
- "inherit": "INHERITED",
- "severity": "BLOCKER",
- "params": []
- },
- {
- "qProfile": "java-sonar-way-80423",
- "inherit": "NONE",
- "severity": "BLOCKER",
- "params": []
- }
- ]
-}
+++ /dev/null
-/*
- * SonarQube, open source software quality management tool.
- * Copyright (C) 2008-2014 SonarSource
- * mailto:contact AT sonarsource DOT com
- *
- * SonarQube 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.
- *
- * SonarQube 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.
- */
-/* global casper:false */
-
-var lib = require('../lib');
-
-lib.initMessages();
-lib.changeWorkingDirectory('coding-rules');
-lib.configureCasper();
-
-
-casper.test.begin('coding-rules-page-should-show-rule', 7, function (test) {
- casper
- .start(lib.buildUrl('coding-rules'), function () {
- lib.setDefaultViewport();
-
- lib.mockRequest('/api/l10n/index', '{}');
- lib.mockRequestFromFile('/api/rules/app', 'app.json');
- lib.mockRequestFromFile('/api/rules/search', 'search.json');
- })
-
- .then(function () {
- casper.waitForSelector('.coding-rule.selected');
- })
-
- .then(function () {
- test.assertSelectorContains('.coding-rule.selected', 'Values passed to SQL commands should be sanitized');
- test.assertSelectorContains('.coding-rule.selected', 'Java');
- test.assertSelectorContains('.coding-rule.selected', 'cwe');
- test.assertSelectorContains('.coding-rule.selected', 'owasp-top10');
- test.assertSelectorContains('.coding-rule.selected', 'security');
- test.assertSelectorContains('.coding-rule.selected', 'sql');
- test.assertSelectorContains('.coding-rule.selected', 'custom-tag');
- })
-
- .run(function () {
- test.done();
- });
-});
+++ /dev/null
-/*
- * SonarQube, open source software quality management tool.
- * Copyright (C) 2008-2014 SonarSource
- * mailto:contact AT sonarsource DOT com
- *
- * SonarQube 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.
- *
- * SonarQube 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.
- */
-/* global casper:false */
-
-var lib = require('../lib');
-
-lib.initMessages();
-lib.changeWorkingDirectory('coding-rules');
-lib.configureCasper();
-
-
-casper.test.begin('coding-rules-page-should-show-rules', 4, function (test) {
- casper
- .start(lib.buildUrl('coding-rules'), function () {
- lib.setDefaultViewport();
-
- lib.mockRequest('/api/l10n/index', '{}');
- lib.mockRequestFromFile('/api/rules/app', 'app.json');
- lib.mockRequestFromFile('/api/rules/search', 'search.json');
- })
-
- .then(function () {
- casper.waitForSelector('.coding-rule');
- })
-
- .then(function () {
- test.assertElementCount('.coding-rule', 25);
- test.assertSelectorContains('.coding-rule', 'Values passed to SQL commands should be sanitized');
- test.assertSelectorContains('.coding-rule', 'An open curly brace should be located at the beginning of a line');
- test.assertSelectorContains('#coding-rules-total', '609');
- })
-
- .run(function () {
- test.done();
- });
-});
+++ /dev/null
-{
- "canWrite": false,
- "qualityprofiles": [
- {
- "key": "java-default-with-mojo-conventions-49307",
- "name": "Default - Maven Conventions",
- "lang": "java",
- "parentKey": "java-top-profile-without-formatting-conventions-50037"
- },
- {
- "key": "java-default-with-sonarsource-conventions-27339",
- "name": "Default - SonarSource conventions",
- "lang": "java",
- "parentKey": "java-top-profile-without-formatting-conventions-50037"
- },
- {
- "key": "java-top-profile-without-formatting-conventions-50037",
- "name": "Default - Top",
- "lang": "java"
- },
- {
- "key": "java-findbugs-14954",
- "name": "FindBugs",
- "lang": "java"
- },
- {
- "key": "java-for-sq-java-plugin-only-92289",
- "name": "For SQ Java Plugin Only",
- "lang": "java",
- "parentKey": "java-default-with-sonarsource-conventions-27339"
- },
- {
- "key": "java-for-sq-only-95381",
- "name": "For SQ Only",
- "lang": "java",
- "parentKey": "java-default-with-sonarsource-conventions-27339"
- },
- {
- "key": "php-psr-2-06315",
- "name": "PSR-2",
- "lang": "php"
- },
- {
- "key": "java-sonar-way-80423",
- "name": "Sonar way",
- "lang": "java"
- },
- {
- "key": "js-sonar-way",
- "name": "Sonar way",
- "lang": "js"
- },
- {
- "key": "php-sonar-way-05548",
- "name": "Sonar way",
- "lang": "php"
- },
- {
- "key": "py-sonar-way-80265",
- "name": "Sonar way",
- "lang": "py"
- },
- {
- "key": "java-without-findbugs",
- "name": "Without Findbugs",
- "lang": "java"
- }
- ],
- "languages": {
- "py": "Python",
- "js": "JavaScript",
- "php": "PHP",
- "java": "Java"
- },
- "repositories": [
- {
- "key": "common-java",
- "name": "Common SonarQube",
- "language": "java"
- },
- {
- "key": "common-js",
- "name": "Common SonarQube",
- "language": "js"
- },
- {
- "key": "common-php",
- "name": "Common SonarQube",
- "language": "php"
- },
- {
- "key": "common-py",
- "name": "Common SonarQube",
- "language": "py"
- },
- {
- "key": "Pylint",
- "name": "Pylint",
- "language": "py"
- },
- {
- "key": "javascript",
- "name": "SonarQube",
- "language": "js"
- },
- {
- "key": "php",
- "name": "SonarQube",
- "language": "php"
- },
- {
- "key": "python",
- "name": "SonarQube",
- "language": "py"
- },
- {
- "key": "squid",
- "name": "SonarQube",
- "language": "java"
- }
- ],
- "statuses": {
- "BETA": "Beta",
- "DEPRECATED": "Deprecated",
- "READY": "Ready"
- },
- "characteristics": [
- {
- "key": "UNDERSTANDABILITY",
- "name": "Understandability",
- "parent": "MAINTAINABILITY"
- },
- {
- "key": "MAINTAINABILITY",
- "name": "Maintainability"
- },
- {
- "key": "TIME_ZONE_RELATED_PORTABILITY",
- "name": "Time zone related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "READABILITY",
- "name": "Readability",
- "parent": "MAINTAINABILITY"
- },
- {
- "key": "SECURITY_FEATURES",
- "name": "Security features",
- "parent": "SECURITY"
- },
- {
- "key": "ARCHITECTURE_RELIABILITY",
- "name": "Architecture related reliability",
- "parent": "RELIABILITY"
- },
- {
- "key": "OS_RELATED_PORTABILITY",
- "name": "OS related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "EXCEPTION_HANDLING",
- "name": "Exception handling",
- "parent": "RELIABILITY"
- },
- {
- "key": "LOGIC_CHANGEABILITY",
- "name": "Logic related changeability",
- "parent": "CHANGEABILITY"
- },
- {
- "key": "SOFTWARE_RELATED_PORTABILITY",
- "name": "Software related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "INPUT_VALIDATION_AND_REPRESENTATION",
- "name": "Input validation and representation",
- "parent": "SECURITY"
- },
- {
- "key": "LANGUAGE_RELATED_PORTABILITY",
- "name": "Language related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "ERRORS",
- "name": "Errors",
- "parent": "SECURITY"
- },
- {
- "key": "SECURITY",
- "name": "Security"
- },
- {
- "key": "RELIABILITY",
- "name": "Reliability"
- },
- {
- "key": "PORTABILITY",
- "name": "Portability"
- },
- {
- "key": "HARDWARE_RELATED_PORTABILITY",
- "name": "Hardware related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "SYNCHRONIZATION_RELIABILITY",
- "name": "Synchronization related reliability",
- "parent": "RELIABILITY"
- },
- {
- "key": "TRANSPORTABILITY",
- "name": "Transportability",
- "parent": "REUSABILITY"
- },
- {
- "key": "COMPILER_RELATED_PORTABILITY",
- "name": "Compiler related portability",
- "parent": "PORTABILITY"
- },
- {
- "key": "RESOURCE_RELIABILITY",
- "name": "Resource",
- "parent": "RELIABILITY"
- },
- {
- "key": "CPU_EFFICIENCY",
- "name": "Processor use",
- "parent": "EFFICIENCY"
- },
- {
- "key": "EFFICIENCY",
- "name": "Efficiency"
- },
- {
- "key": "CHANGEABILITY",
- "name": "Changeability"
- },
- {
- "key": "DATA_CHANGEABILITY",
- "name": "Data related changeability",
- "parent": "CHANGEABILITY"
- },
- {
- "key": "API_ABUSE",
- "name": "API abuse",
- "parent": "SECURITY"
- },
- {
- "key": "ARCHITECTURE_CHANGEABILITY",
- "name": "Architecture related changeability",
- "parent": "CHANGEABILITY"
- },
- {
- "key": "UNIT_TESTS",
- "name": "Unit tests",
- "parent": "RELIABILITY"
- },
- {
- "key": "INSTRUCTION_RELIABILITY",
- "name": "Instruction related reliability",
- "parent": "RELIABILITY"
- },
- {
- "key": "REUSABILITY",
- "name": "Reusability"
- },
- {
- "key": "MODULARITY",
- "name": "Modularity",
- "parent": "REUSABILITY"
- },
- {
- "key": "UNIT_TESTABILITY",
- "name": "Unit level testability",
- "parent": "TESTABILITY"
- },
- {
- "key": "TESTABILITY",
- "name": "Testability"
- },
- {
- "key": "INTEGRATION_TESTABILITY",
- "name": "Integration level testability",
- "parent": "TESTABILITY"
- },
- {
- "key": "NETWORK_USE",
- "name": "Network use",
- "parent": "EFFICIENCY"
- },
- {
- "key": "MEMORY_EFFICIENCY",
- "name": "Memory use",
- "parent": "EFFICIENCY"
- },
- {
- "key": "DATA_RELIABILITY",
- "name": "Data related reliability",
- "parent": "RELIABILITY"
- },
- {
- "key": "FAULT_TOLERANCE",
- "name": "Fault tolerance",
- "parent": "RELIABILITY"
- },
- {
- "key": "LOGIC_RELIABILITY",
- "name": "Logic related reliability",
- "parent": "RELIABILITY"
- }
- ]
-}
+++ /dev/null
-{
- "total": 609,
- "p": 1,
- "ps": 25,
- "rules": [
- {
- "key": "squid:S2077",
- "name": "Values passed to SQL commands should be sanitized",
- "lang": "java",
- "langName": "Java",
- "sysTags": [
- "cwe",
- "owasp-top10",
- "security",
- "sql"
- ],
- "tags": [
- "custom-tag"
- ]
- },
- {
- "key": "php:S107",
- "name": "Functions should not have too many parameters",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S1192",
- "name": "String literals should not be duplicated",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [],
- "tags": []
- },
- {
- "key": "php:S1145",
- "name": "\"if\" statement conditions should not always evaluate to \"true\" or to \"false\"",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "bug",
- "cwe",
- "security"
- ],
- "tags": []
- },
- {
- "key": "php:S108",
- "name": "Nested blocks of code should not be left empty",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [],
- "tags": []
- },
- {
- "key": "php:S1301",
- "name": "\"switch\" statements should have at least 3 \"case\" clauses",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [],
- "tags": []
- },
- {
- "key": "php:S103",
- "name": "Lines should not be too long",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "php:S1144",
- "name": "Unused private method should be removed",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "unused"
- ],
- "tags": []
- },
- {
- "key": "php:S105",
- "name": "Tabulation characters should not be used",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention",
- "psr2"
- ],
- "tags": []
- },
- {
- "key": "php:S1481",
- "name": "Unused local variables should be removed",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "unused"
- ],
- "tags": []
- },
- {
- "key": "php:S1142",
- "name": "Functions should not contain too many return statements",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S104",
- "name": "Files should not have too many lines",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S1605",
- "name": "PHP 4 style calls to parent constructors should not be used in PHP5 \"__construct\" functions",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "php:S1448",
- "name": "Classes should not have too many methods",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S1603",
- "name": "PHP 4 constructor declarations should not be used",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "pitfail"
- ],
- "tags": []
- },
- {
- "key": "php:S1779",
- "name": "Only LF character (Unix-like) should be used to end lines",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention",
- "psr2"
- ],
- "tags": []
- },
- {
- "key": "php:S1185",
- "name": "Overriding methods should do more than simply call the same method in the super class",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [],
- "tags": []
- },
- {
- "key": "php:S1600",
- "name": "Deprecated predefined variables should not be used",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "pitfail"
- ],
- "tags": []
- },
- {
- "key": "php:S1109",
- "name": "A close curly brace should be located at the beginning of a line",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "php:S2001",
- "name": "Functions deprecated in PHP 5 should not be used",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "obsolete"
- ],
- "tags": []
- },
- {
- "key": "php:S2002",
- "name": "Errors should not be silenced",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "pitfail"
- ],
- "tags": []
- },
- {
- "key": "php:S2000",
- "name": "Files should not contain characters before \"<?php\"",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "user-experience"
- ],
- "tags": []
- },
- {
- "key": "php:S1105",
- "name": "An open curly brace should be located at the end of a line",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- },
- {
- "key": "php:S1200",
- "name": "Classes should not be coupled to too many other classes (Single Responsibility Principle)",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "brain-overload"
- ],
- "tags": []
- },
- {
- "key": "php:S1106",
- "name": "An open curly brace should be located at the beginning of a line",
- "lang": "php",
- "langName": "PHP",
- "sysTags": [
- "convention"
- ],
- "tags": []
- }
- ],
- "facets": [
- {
- "property": "tags",
- "values": [
- {
- "val": "convention",
- "count": 67
- },
- {
- "val": "brain-overload",
- "count": 36
- },
- {
- "val": "bug",
- "count": 36
- },
- {
- "val": "cwe",
- "count": 17
- },
- {
- "val": "unused",
- "count": 16
- },
- {
- "val": "security",
- "count": 14
- },
- {
- "val": "pitfall",
- "count": 12
- },
- {
- "val": "psr2",
- "count": 12
- },
- {
- "val": "error-handling",
- "count": 11
- },
- {
- "val": "pitfail",
- "count": 10
- }
- ]
- },
- {
- "property": "languages",
- "values": [
- {
- "val": "java",
- "count": 212
- },
- {
- "val": "py",
- "count": 212
- },
- {
- "val": "php",
- "count": 103
- },
- {
- "val": "js",
- "count": 77
- }
- ]
- },
- {
- "property": "repositories",
- "values": [
- {
- "val": "squid",
- "count": 206
- },
- {
- "val": "Pylint",
- "count": 180
- },
- {
- "val": "php",
- "count": 97
- },
- {
- "val": "javascript",
- "count": 73
- },
- {
- "val": "python",
- "count": 28
- },
- {
- "val": "common-java",
- "count": 6
- },
- {
- "val": "common-php",
- "count": 6
- },
- {
- "val": "manual",
- "count": 5
- },
- {
- "val": "common-js",
- "count": 4
- },
- {
- "val": "common-py",
- "count": 4
- }
- ]
- }
- ]
-}
+++ /dev/null
-/*
- * SonarQube, open source software quality management tool.
- * Copyright (C) 2008-2014 SonarSource
- * mailto:contact AT sonarsource DOT com
- *
- * SonarQube 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.
- *
- * SonarQube 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.
- */
-var lib = require('../lib'),
- testName = lib.testName('Design');
-
-lib.initMessages();
-lib.changeWorkingDirectory('design-spec');
-lib.configureCasper();
-
-
-casper.test.begin(testName('Base'), function suite(test) {
- casper
- .start(lib.buildUrl('design'), function () {
- lib.setDefaultViewport();
- lib.mockRequest('/api/l10n/index', '{}');
- lib.mockRequestFromFile('/api/resources', 'resources.json');
- lib.mockRequestFromFile('/api/dependencies', 'dependencies.json');
- })
-
- .then(function () {
- casper.waitWhileSelector('.spinner');
- })
-
- .then(function () {
- test.assertSelectorContains('.dsm-body', 'src/test/java/com/maif/sonar/cobol/metrics');
- test.assertSelectorContains('.dsm-body', 'src/test/java/com/maif/sonar/cobol/repository');
- test.assertElementCount('.dsm-body-cell-dependency', 12);
- test.assertElementCount('.dsm-body-cell-cycle', 1);
- test.assertSelectorContains('.dsm-body-cell-cycle', '6');
- })
-
- .then(function () {
- casper.mouse.doubleclick('.dsm-body-cell-cycle');
- casper.waitForSelector('.spinner', function () {
- casper.waitWhileSelector('.spinner');
- })
- })
-
- .then(function () {
- test.assertElementCount('.dsm-info tr', 7);
- test.assertSelectorContains('.dsm-info', 'src/main/java/com/maif/sonar/cobol/api/MaifCobolMeasureProvider.java');
- test.assertSelectorContains('.dsm-info', 'src/main/java/com/maif/sonar/cobol/metrics/BusinessRuleCounter.java ');
- test.assertSelectorContains('.dsm-info', 'src/main/java/com/maif/sonar/cobol/metrics/TableMetricsVisitor.java ');
- })
-
- .run(function () {
- test.done();
- });
-});
+++ /dev/null
-[
- {
- "id": 14879226,
- "fi": 8354,
- "ti": 6955,
- "u": "USES",
- "w": 1,
- "fk": "com.maif.sonar:maif-cobol-plugin:src/main/java/com/maif/sonar/cobol/api/MaifCobolMeasureProvider.java",
- "fn": "src/main/java/com/maif/sonar/cobol/api/MaifCobolMeasureProvider.java",
- "fq": "FIL",
- "tk": "com.maif.sonar:maif-cobol-plugin:src/main/java/com/maif/sonar/cobol/metrics/BusinessRuleCounter.java",
- "tn": "src/main/java/com/maif/sonar/cobol/metrics/BusinessRuleCounter.java",
- "tq": "FIL"
- },
- {
- "id": 14879225,
- "fi": 8354,
- "ti": 6956,
- "u": "USES",
- "w": 1,
- "fk": "com.maif.sonar:maif-cobol-plugin:src/main/java/com/maif/sonar/cobol/api/MaifCobolMeasureProvider.java",
- "fn": "src/main/java/com/maif/sonar/cobol/api/MaifCobolMeasureProvider.java",
- "fq": "FIL",
- "tk": "com.maif.sonar:maif-cobol-plugin:src/main/java/com/maif/sonar/cobol/metrics/ExternalizedRuleCallCounter.java",
- "tn": "src/main/java/com/maif/sonar/cobol/metrics/ExternalizedRuleCallCounter.java",
- "tq": "FIL"
- },
- {
- "id": 14879228,
- "fi": 8354,
- "ti": 6957,
- "u": "USES",
- "w": 1,
- "fk": "com.maif.sonar:maif-cobol-plugin:src/main/java/com/maif/sonar/cobol/api/MaifCobolMeasureProvider.java",
- "fn": "src/main/java/com/maif/sonar/cobol/api/MaifCobolMeasureProvider.java",
- "fq": "FIL",
- "tk": "com.maif.sonar:maif-cobol-plugin:src/main/java/com/maif/sonar/cobol/metrics/IadUseDetector.java",
- "tn": "src/main/java/com/maif/sonar/cobol/metrics/IadUseDetector.java",
- "tq": "FIL"
- },
- {
- "id": 14879229,
- "fi": 8354,
- "ti": 8356,
- "u": "USES",
- "w": 1,
- "fk": "com.maif.sonar:maif-cobol-plugin:src/main/java/com/maif/sonar/cobol/api/MaifCobolMeasureProvider.java",
- "fn": "src/main/java/com/maif/sonar/cobol/api/MaifCobolMeasureProvider.java",
- "fq": "FIL",
- "tk": "com.maif.sonar:maif-cobol-plugin:src/main/java/com/maif/sonar/cobol/metrics/Ids2AndIadMatrixDetector.java",
- "tn": "src/main/java/com/maif/sonar/cobol/metrics/Ids2AndIadMatrixDetector.java",
- "tq": "FIL"
- },
- {
- "id": 14879227,
- "fi": 8354,
- "ti": 6958,
- "u": "USES",
- "w": 1,
- "fk": "com.maif.sonar:maif-cobol-plugin:src/main/java/com/maif/sonar/cobol/api/MaifCobolMeasureProvider.java",
- "fn": "src/main/java/com/maif/sonar/cobol/api/MaifCobolMeasureProvider.java",
- "fq": "FIL",
- "tk": "com.maif.sonar:maif-cobol-plugin:src/main/java/com/maif/sonar/cobol/metrics/Ids2UseDetector.java",
- "tn": "src/main/java/com/maif/sonar/cobol/metrics/Ids2UseDetector.java",
- "tq": "FIL"
- },
- {
- "id": 14879224,
- "fi": 8354,
- "ti": 12194,
- "u": "USES",
- "w": 1,
- "fk": "com.maif.sonar:maif-cobol-plugin:src/main/java/com/maif/sonar/cobol/api/MaifCobolMeasureProvider.java",
- "fn": "src/main/java/com/maif/sonar/cobol/api/MaifCobolMeasureProvider.java",
- "fq": "FIL",
- "tk": "com.maif.sonar:maif-cobol-plugin:src/main/java/com/maif/sonar/cobol/metrics/TableMetricsVisitor.java",
- "tn": "src/main/java/com/maif/sonar/cobol/metrics/TableMetricsVisitor.java",
- "tq": "FIL"
- }
-]
+++ /dev/null
-[
- {
- "id": 6924,
- "key": "com.maif.sonar:maif-cobol-plugin",
- "name": "MAIF :: Cobol plugin",
- "scope": "PRJ",
- "qualifier": "TRK",
- "date": "2014-07-21T23:04:05+0600",
- "creationDate": null,
- "lname": "MAIF :: Cobol plugin",
- "version": "2.7-SNAPSHOT",
- "description": "",
- "msr": [
- {
- "key": "dsm",
- "data": "[{\"i\":24815,\"n\":\"src/test/java/com/maif/sonar/cobol/metrics\",\"q\":\"DIR\",\"v\":[{},{},{},{\"i\":14879223,\"w\":6},{},{}]},{\"i\":26762,\"n\":\"src/main/java/com/maif/sonar/cobol/plugin\",\"q\":\"DIR\",\"v\":[{},{},{},{},{},{}]},{\"i\":26758,\"n\":\"src/main/java/com/maif/sonar/cobol\",\"q\":\"DIR\",\"v\":[{\"i\":14879242,\"w\":1},{\"i\":14879258,\"w\":114},{},{},{},{}]},{\"i\":33690,\"n\":\"src/test/java/com/maif/sonar/cobol/api\",\"q\":\"DIR\",\"v\":[{\"i\":14879244,\"w\":6},{\"i\":14879373,\"w\":2},{\"i\":14879221,\"w\":1},{},{},{}]},{\"i\":24814,\"n\":\"src/test/java/com/maif/sonar/cobol/ids2\",\"q\":\"DIR\",\"v\":[{\"i\":14879237,\"w\":2},{},{\"i\":14879139,\"w\":24},{},{},{}]},{\"i\":24816,\"n\":\"src/test/java/com/maif/sonar/cobol/repository\",\"q\":\"DIR\",\"v\":[{\"i\":14879240,\"w\":1},{\"i\":14879251,\"w\":6},{\"i\":14879164,\"w\":56},{\"i\":14879230,\"w\":1},{\"i\":14879232,\"w\":4},{}]}]"
- }
- ]
- }
-]
+++ /dev/null
-/*
- * SonarQube, open source software quality management tool.
- * Copyright (C) 2008-2014 SonarSource
- * mailto:contact AT sonarsource DOT com
- *
- * SonarQube 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.
- *
- * SonarQube 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.
- */
-/* globals casper: false */
-
-var lib = require('../lib');
-
-
-lib.initMessages();
-lib.changeWorkingDirectory('issues-page-should-open-issue-permalink');
-lib.configureCasper();
-
-
-var issueKey = 'some-issue-key';
-
-
-casper.test.begin('issues-page-should-open-issue-permalink', 3, function (test) {
- casper
- .start(lib.buildUrl('issues#issues=' + encodeURI(issueKey)), function () {
- lib.setDefaultViewport();
-
- lib.mockRequest('/api/l10n/index', '{}');
- lib.mockRequestFromFile('/api/issue_filters/app', 'app.json');
- lib.mockRequest('/api/issues/search', '{}', { data: { issues: issueKey, p: 2 } });
- lib.mockRequestFromFile('/api/issues/search', 'search.json', { data: { issues: issueKey } });
- lib.mockRequestFromFile('/api/components/app', 'components-app.json');
- lib.mockRequestFromFile('/api/sources/lines', 'lines.json');
- })
-
- .then(function () {
- casper.waitForSelector('.source-line', function () {
- test.assertSelectorContains('.source-viewer', 'public void executeOn(Project project, SensorContext context');
- test.assertElementCount('.issue', 1);
- test.assertExist('.issue[data-key="' + issueKey + '"]');
- });
- })
-
- .run(function () {
- test.done();
- });
-});
+++ /dev/null
-{
- "canManageFilters": false,
- "canBulkChange": false,
- "favorites": []
-}
+++ /dev/null
-{
- "key": "org.codehaus.sonar-plugins:sonar-issues-report-plugin:src/main/java/org/sonar/issuesreport/ReportJob.java",
- "uuid": "98662175-0f52-4f83-b0e9-1e9444320b5b",
- "path": "src/main/java/org/sonar/issuesreport/ReportJob.java",
- "name": "ReportJob.java",
- "longName": "src/main/java/org/sonar/issuesreport/ReportJob.java",
- "q": "FIL",
- "project": "org.codehaus.sonar-plugins:sonar-issues-report-plugin",
- "projectName": "Sonar :: Issues Report :: Plugin",
- "fav": false,
- "canMarkAsFavourite": true,
- "canCreateManualIssue": true,
- "measures": {
- "lines": "53",
- "coverage": "100.0%",
- "issues": "1",
- "debt": "5min",
- "sqaleRating": "A",
- "debtRatio": "0.6%"
- }
-}
+++ /dev/null
-{
- "sources": [
- {
- "line": 1,
- "code": "<span class=\"cppd\">/*</span>",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "a0c83c815b2deeec585de6894a0b882db635410f",
- "scmDate": "2013-02-19T18:45:35+0100"
- },
- {
- "line": 2,
- "code": "<span class=\"cppd\"> * Sonar :: Issues Report :: Plugin</span>",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "a0c83c815b2deeec585de6894a0b882db635410f",
- "scmDate": "2013-02-19T18:45:35+0100"
- },
- {
- "line": 3,
- "code": "<span class=\"cppd\"> * Copyright (C) 2013 SonarSource</span>",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "a0c83c815b2deeec585de6894a0b882db635410f",
- "scmDate": "2013-02-19T18:45:35+0100"
- },
- {
- "line": 4,
- "code": "<span class=\"cppd\"> * dev@sonar.codehaus.org</span>",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "a0c83c815b2deeec585de6894a0b882db635410f",
- "scmDate": "2013-02-19T18:45:35+0100"
- },
- {
- "line": 5,
- "code": "<span class=\"cppd\"> *</span>",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "a0c83c815b2deeec585de6894a0b882db635410f",
- "scmDate": "2013-02-19T18:45:35+0100"
- },
- {
- "line": 6,
- "code": "<span class=\"cppd\"> * This program is free software; you can redistribute it and/or</span>",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "a0c83c815b2deeec585de6894a0b882db635410f",
- "scmDate": "2013-02-19T18:45:35+0100"
- },
- {
- "line": 7,
- "code": "<span class=\"cppd\"> * modify it under the terms of the GNU Lesser General Public</span>",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "a0c83c815b2deeec585de6894a0b882db635410f",
- "scmDate": "2013-02-19T18:45:35+0100"
- },
- {
- "line": 8,
- "code": "<span class=\"cppd\"> * License as published by the Free Software Foundation; either</span>",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "a0c83c815b2deeec585de6894a0b882db635410f",
- "scmDate": "2013-02-19T18:45:35+0100"
- },
- {
- "line": 9,
- "code": "<span class=\"cppd\"> * version 3 of the License, or (at your option) any later version.</span>",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "a0c83c815b2deeec585de6894a0b882db635410f",
- "scmDate": "2013-02-19T18:45:35+0100"
- },
- {
- "line": 10,
- "code": "<span class=\"cppd\"> *</span>",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "a0c83c815b2deeec585de6894a0b882db635410f",
- "scmDate": "2013-02-19T18:45:35+0100"
- },
- {
- "line": 11,
- "code": "<span class=\"cppd\"> * This program is distributed in the hope that it will be useful,</span>",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "a0c83c815b2deeec585de6894a0b882db635410f",
- "scmDate": "2013-02-19T18:45:35+0100"
- },
- {
- "line": 12,
- "code": "<span class=\"cppd\"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "a0c83c815b2deeec585de6894a0b882db635410f",
- "scmDate": "2013-02-19T18:45:35+0100"
- },
- {
- "line": 13,
- "code": "<span class=\"cppd\"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "a0c83c815b2deeec585de6894a0b882db635410f",
- "scmDate": "2013-02-19T18:45:35+0100"
- },
- {
- "line": 14,
- "code": "<span class=\"cppd\"> * Lesser General Public License for more details.</span>",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "a0c83c815b2deeec585de6894a0b882db635410f",
- "scmDate": "2013-02-19T18:45:35+0100"
- },
- {
- "line": 15,
- "code": "<span class=\"cppd\"> *</span>",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "a0c83c815b2deeec585de6894a0b882db635410f",
- "scmDate": "2013-02-19T18:45:35+0100"
- },
- {
- "line": 16,
- "code": "<span class=\"cppd\"> * You should have received a copy of the GNU Lesser General Public</span>",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "a0c83c815b2deeec585de6894a0b882db635410f",
- "scmDate": "2013-02-19T18:45:35+0100"
- },
- {
- "line": 17,
- "code": "<span class=\"cppd\"> * License along with this program; if not, write to the Free Software</span>",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "a0c83c815b2deeec585de6894a0b882db635410f",
- "scmDate": "2013-02-19T18:45:35+0100"
- },
- {
- "line": 18,
- "code": "<span class=\"cppd\"> * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02</span>",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "a0c83c815b2deeec585de6894a0b882db635410f",
- "scmDate": "2013-02-19T18:45:35+0100"
- },
- {
- "line": 19,
- "code": "<span class=\"cppd\"> */</span>",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "a0c83c815b2deeec585de6894a0b882db635410f",
- "scmDate": "2013-02-19T18:45:35+0100"
- },
- {
- "line": 20,
- "code": "<span class=\"k\">package</span> org.sonar.issuesreport;",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "a0c83c815b2deeec585de6894a0b882db635410f",
- "scmDate": "2013-02-19T18:45:35+0100"
- },
- {
- "line": 21,
- "code": "",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "a0c83c815b2deeec585de6894a0b882db635410f",
- "scmDate": "2013-02-19T18:45:35+0100"
- },
- {
- "line": 22,
- "code": "<span class=\"k\">import </span>org.sonar.api.batch.<span class=\"sym-1 sym\">PostJob</span>;",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "a0c83c815b2deeec585de6894a0b882db635410f",
- "scmDate": "2013-02-19T18:45:35+0100"
- },
- {
- "line": 23,
- "code": "<span class=\"k\">import </span>org.sonar.api.batch.<span class=\"sym-2 sym\">SensorContext</span>;",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "a0c83c815b2deeec585de6894a0b882db635410f",
- "scmDate": "2013-02-19T18:45:35+0100"
- },
- {
- "line": 24,
- "code": "<span class=\"k\">import </span>org.sonar.api.resources.<span class=\"sym-3 sym\">Project</span>;",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "a0c83c815b2deeec585de6894a0b882db635410f",
- "scmDate": "2013-02-19T18:45:35+0100"
- },
- {
- "line": 25,
- "code": "<span class=\"k\">import </span>org.sonar.issuesreport.printer.<span class=\"sym-4 sym\">ReportPrinter</span>;",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "bbbf5a70655725bd960e41626bcda3b0f85c82d9",
- "scmDate": "2013-09-19T19:06:45+0200"
- },
- {
- "line": 26,
- "code": "<span class=\"k\">import </span>org.sonar.issuesreport.report.<span class=\"sym-5 sym\">IssuesReport</span>;",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "ed1e45b9f01b4d6bc704595ff42e6ecd6fb80dbe",
- "scmDate": "2013-02-20T17:18:48+0100"
- },
- {
- "line": 27,
- "code": "<span class=\"k\">import </span>org.sonar.issuesreport.report.<span class=\"sym-6 sym\">IssuesReportBuilder</span>;",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "bbbf5a70655725bd960e41626bcda3b0f85c82d9",
- "scmDate": "2013-09-19T19:06:45+0200"
- },
- {
- "line": 28,
- "code": "",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "a0c83c815b2deeec585de6894a0b882db635410f",
- "scmDate": "2013-02-19T18:45:35+0100"
- },
- {
- "line": 29,
- "code": "<span class=\"k\">public </span><span class=\"k\">class</span> <span class=\"sym-7 sym\">ReportJob</span> <span class=\"k\">implements</span> <span class=\"sym-1 sym\">PostJob</span> {",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "a0c83c815b2deeec585de6894a0b882db635410f",
- "scmDate": "2013-02-19T18:45:35+0100"
- },
- {
- "line": 30,
- "code": "",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "a0c83c815b2deeec585de6894a0b882db635410f",
- "scmDate": "2013-02-19T18:45:35+0100"
- },
- {
- "line": 31,
- "code": " <span class=\"k\">private </span><span class=\"sym-6 sym\">IssuesReportBuilder</span> <span class=\"sym-8 sym\">builder</span>;",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "bbbf5a70655725bd960e41626bcda3b0f85c82d9",
- "scmDate": "2013-09-19T19:06:45+0200"
- },
- {
- "line": 32,
- "code": " <span class=\"k\">private </span><span class=\"sym-4 sym\">ReportPrinter</span>[] <span class=\"sym-9 sym\">printers</span>;",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "bbbf5a70655725bd960e41626bcda3b0f85c82d9",
- "scmDate": "2013-09-19T19:06:45+0200"
- },
- {
- "line": 33,
- "code": "",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "a0c83c815b2deeec585de6894a0b882db635410f",
- "scmDate": "2013-02-19T18:45:35+0100"
- },
- {
- "line": 34,
- "code": " <span class=\"k\">public </span><span class=\"sym-10 sym\">ReportJob</span>(<span class=\"sym-6 sym\">IssuesReportBuilder</span> <span class=\"sym-11 sym\">builder</span>, <span class=\"sym-4 sym\">ReportPrinter</span>[] <span class=\"sym-12 sym\">printers</span>) {",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "bbbf5a70655725bd960e41626bcda3b0f85c82d9",
- "scmDate": "2013-09-19T19:06:45+0200",
- "lineHits": 1
- },
- {
- "line": 35,
- "code": " <span class=\"k\">this</span>.<span class=\"sym-8 sym\">builder</span> = <span class=\"sym-11 sym\">builder</span>;",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "bbbf5a70655725bd960e41626bcda3b0f85c82d9",
- "scmDate": "2013-09-19T19:06:45+0200",
- "lineHits": 1
- },
- {
- "line": 36,
- "code": " <span class=\"k\">this</span>.<span class=\"sym-9 sym\">printers</span> = <span class=\"sym-12 sym\">printers</span>;",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "bbbf5a70655725bd960e41626bcda3b0f85c82d9",
- "scmDate": "2013-09-19T19:06:45+0200",
- "lineHits": 1
- },
- {
- "line": 37,
- "code": " }",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "a0c83c815b2deeec585de6894a0b882db635410f",
- "scmDate": "2013-02-19T18:45:35+0100",
- "lineHits": 1
- },
- {
- "line": 38,
- "code": "",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "a0c83c815b2deeec585de6894a0b882db635410f",
- "scmDate": "2013-02-19T18:45:35+0100"
- },
- {
- "line": 39,
- "code": " <span class=\"k\">public </span><span class=\"k\">void </span><span class=\"sym-13 sym\">executeOn</span>(<span class=\"sym-3 sym\">Project</span> <span class=\"sym-14 sym\">project</span>, <span class=\"sym-2 sym\">SensorContext</span> <span class=\"sym-15 sym\">context</span>) {",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "a0c83c815b2deeec585de6894a0b882db635410f",
- "scmDate": "2013-02-19T18:45:35+0100"
- },
- {
- "line": 40,
- "code": " <span class=\"cppd\">// For performance only initialize IssuesReport if there is on Printer enabled</span>",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "bbbf5a70655725bd960e41626bcda3b0f85c82d9",
- "scmDate": "2013-09-19T19:06:45+0200"
- },
- {
- "line": 41,
- "code": " <span class=\"sym-5 sym\">IssuesReport</span> <span class=\"sym-16 sym\">report</span> = <span class=\"k\">null</span>;",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "bbbf5a70655725bd960e41626bcda3b0f85c82d9",
- "scmDate": "2013-09-19T19:06:45+0200",
- "lineHits": 1
- },
- {
- "line": 42,
- "code": " <span class=\"k\">for</span> (<span class=\"sym-4 sym\">ReportPrinter</span> <span class=\"sym-17 sym\">printer</span> : <span class=\"sym-9 sym\">printers</span>) {",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "bbbf5a70655725bd960e41626bcda3b0f85c82d9",
- "scmDate": "2013-09-19T19:06:45+0200",
- "lineHits": 1,
- "conditions": 2,
- "coveredConditions": 2
- },
- {
- "line": 43,
- "code": " <span class=\"k\">if </span>(<span class=\"sym-17 sym\">printer</span>.isEnabled()) {",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "bbbf5a70655725bd960e41626bcda3b0f85c82d9",
- "scmDate": "2013-09-19T19:06:45+0200",
- "lineHits": 1,
- "conditions": 2,
- "coveredConditions": 2
- },
- {
- "line": 44,
- "code": " <span class=\"k\">if </span>(<span class=\"sym-16 sym\">report</span> == <span class=\"k\">null</span>) {",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "ed1e45b9f01b4d6bc704595ff42e6ecd6fb80dbe",
- "scmDate": "2013-02-20T17:18:48+0100",
- "lineHits": 1,
- "conditions": 2,
- "coveredConditions": 2
- },
- {
- "line": 45,
- "code": " <span class=\"sym-16 sym\">report</span> = <span class=\"sym-8 sym\">builder</span>.buildReport(<span class=\"sym-14 sym\">project</span>);",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "bbbf5a70655725bd960e41626bcda3b0f85c82d9",
- "scmDate": "2013-09-19T19:06:45+0200",
- "lineHits": 1
- },
- {
- "line": 46,
- "code": " }",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "ed1e45b9f01b4d6bc704595ff42e6ecd6fb80dbe",
- "scmDate": "2013-02-20T17:18:48+0100"
- },
- {
- "line": 47,
- "code": " <span class=\"sym-17 sym\">printer</span>.print(<span class=\"sym-16 sym\">report</span>);",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "bbbf5a70655725bd960e41626bcda3b0f85c82d9",
- "scmDate": "2013-09-19T19:06:45+0200",
- "lineHits": 1
- },
- {
- "line": 48,
- "code": " }",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "bbbf5a70655725bd960e41626bcda3b0f85c82d9",
- "scmDate": "2013-09-19T19:06:45+0200"
- },
- {
- "line": 49,
- "code": " }",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "bbbf5a70655725bd960e41626bcda3b0f85c82d9",
- "scmDate": "2013-09-19T19:06:45+0200"
- },
- {
- "line": 50,
- "code": " }",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "ed1e45b9f01b4d6bc704595ff42e6ecd6fb80dbe",
- "scmDate": "2013-02-20T17:18:48+0100",
- "lineHits": 1
- },
- {
- "line": 51,
- "code": "",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "ed1e45b9f01b4d6bc704595ff42e6ecd6fb80dbe",
- "scmDate": "2013-02-20T17:18:48+0100"
- },
- {
- "line": 52,
- "code": "}",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "a0c83c815b2deeec585de6894a0b882db635410f",
- "scmDate": "2013-02-19T18:45:35+0100"
- },
- {
- "line": 53,
- "code": "",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "a0c83c815b2deeec585de6894a0b882db635410f",
- "scmDate": "2013-02-19T18:45:35+0100"
- }
- ]
-}
+++ /dev/null
-{
- "total": 1,
- "p": 1,
- "ps": 1,
- "projects": [
- {
- "uuid": "06a742ea-5c55-4c7e-a2b4-8747c163cb40",
- "key": "org.codehaus.sonar-plugins:sonar-issues-report-plugin",
- "id": 17637,
- "qualifier": "TRK",
- "name": "Sonar :: Issues Report :: Plugin",
- "longName": "Sonar :: Issues Report :: Plugin"
- }
- ],
- "components": [
- {
- "uuid": "0160edec-b7ca-49a1-93ca-a6ea2c38ed21",
- "key": "org.codehaus.sonar-plugins:sonar-issues-report-plugin:src/main/java/org/sonar/issuesreport/IssuesReportPlugin.java",
- "id": 17639,
- "enabled": true,
- "qualifier": "FIL",
- "name": "IssuesReportPlugin.java",
- "longName": "src/main/java/org/sonar/issuesreport/IssuesReportPlugin.java",
- "path": "src/main/java/org/sonar/issuesreport/IssuesReportPlugin.java",
- "projectId": 17637,
- "subProjectId": 17637
- },
- {
- "uuid": "06a742ea-5c55-4c7e-a2b4-8747c163cb40",
- "key": "org.codehaus.sonar-plugins:sonar-issues-report-plugin",
- "id": 17637,
- "enabled": true,
- "qualifier": "TRK",
- "name": "Sonar :: Issues Report :: Plugin",
- "longName": "Sonar :: Issues Report :: Plugin"
- }
- ],
- "issues": [
- {
- "key": "some-issue-key",
- "component": "org.codehaus.sonar-plugins:sonar-issues-report-plugin:src/main/java/org/sonar/issuesreport/IssuesReportPlugin.java",
- "componentId": 17639,
- "project": "org.codehaus.sonar-plugins:sonar-issues-report-plugin",
- "rule": "squid:S1161",
- "status": "REOPENED",
- "severity": "MINOR",
- "message": "Add the \"@Override\" annotation above this method signature",
- "line": 61,
- "debt": "5min",
- "author": "julien.henry@sonarsource.com",
- "creationDate": "2014-10-09T23:03:12+0200",
- "updateDate": "2014-12-15T17:40:45+0100",
- "fUpdateAge": "a day"
- }
- ],
- "rules": [
- {
- "key": "squid:S1161",
- "name": "",
- "lang": "java",
- "desc": "",
- "status": "READY",
- "langName": "Java"
- }
- ],
- "users": [
- {
- "login": "admin",
- "name": "Admin Admin",
- "active": true,
- "email": "admin@sonarsource.com"
- }
- ],
- "languages": [
- {
- "key": "js",
- "name": "JavaScript"
- },
- {
- "key": "java",
- "name": "Java"
- }
- ],
- "maxResultsReached": false,
- "paging": {
- "pageIndex": 1,
- "pageSize": 1,
- "total": 1,
- "fTotal": "1",
- "pages": 1
- },
- "facets": [
- {
- "property": "tags",
- "values": []
- }
- ]
-}
+++ /dev/null
-/*
- * SonarQube, open source software quality management tool.
- * Copyright (C) 2008-2014 SonarSource
- * mailto:contact AT sonarsource DOT com
- *
- * SonarQube 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.
- *
- * SonarQube 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.
- */
-/* globals casper: false */
-
-var lib = require('../lib'),
- testName = lib.testName('Issues');
-
-
-lib.initMessages();
-lib.changeWorkingDirectory('issues-spec');
-lib.configureCasper();
-
-
-casper.test.begin(testName('Base'), function (test) {
- casper
- .start(lib.buildUrl('issues'), function () {
- lib.setDefaultViewport();
-
- lib.mockRequest('/api/l10n/index', '{}');
- lib.mockRequestFromFile('/api/issue_filters/app', 'app.json');
- lib.mockRequestFromFile('/api/issues/search', 'search.json');
- })
-
- .then(function () {
- casper.waitForSelector('.facet[data-value=BLOCKER]', function () {
- // Facets
- test.assertExists('.facet[data-value=BLOCKER]');
- test.assertExists('.facet[data-value=CRITICAL]');
- test.assertExists('.facet[data-value=MAJOR]');
- test.assertExists('.facet[data-value=MINOR]');
- test.assertExists('.facet[data-value=INFO]');
-
- test.assertExists('.facet[data-value=OPEN]');
- test.assertExists('.facet[data-value=REOPENED]');
- test.assertExists('.facet[data-value=CONFIRMED]');
- test.assertExists('.facet[data-value=RESOLVED]');
- test.assertExists('.facet[data-value=CLOSED]');
-
- test.assertExists('.facet[data-unresolved]');
- test.assertExists('.facet[data-value=REMOVED]');
- test.assertExists('.facet[data-value=FIXED]');
- test.assertExists('.facet[data-value=FALSE-POSITIVE]');
-
- // Issues
- test.assertElementCount('.issue', 50);
- test.assertElementCount('.issue.selected', 1);
- test.assertSelectorContains('.issue', '1 more branches need to be covered by unit tests to reach');
-
- // Filters
- test.assertExists('.js-toggle-filters');
- test.assertExists('.js-new-search');
- test.assertExists('.js-filter-save-as');
-
- // Workspace header
- test.assertSelectorContains('#issues-total', '4623');
- test.assertExists('.js-prev');
- test.assertExists('.js-next');
- test.assertExists('.js-reload');
- test.assertExists('.js-bulk-change');
- });
- })
-
- .run(function () {
- test.done();
- });
-});
-
-
-casper.test.begin(testName('Issue Box', 'Check Elements'), function (test) {
- casper
- .start(lib.buildUrl('issues'), function () {
- lib.setDefaultViewport();
-
- lib.mockRequest('/api/l10n/index', '{}');
- lib.mockRequestFromFile('/api/issue_filters/app', 'app.json');
- lib.mockRequestFromFile('/api/issues/search', 'search.json');
- })
-
- .then(function () {
- casper.waitForSelector('.issue.selected');
- })
-
- .then(function () {
- test.assertSelectorContains('.issue.selected', "Add a 'package-info.java' file to document the");
- test.assertExists('.issue.selected .js-issue-tags');
- test.assertSelectorContains('.issue.selected .js-issue-tags', 'issue.no_tag');
- test.assertExists('.issue.selected .js-issue-set-severity');
- test.assertSelectorContains('.issue.selected .js-issue-set-severity', 'MAJOR');
- test.assertSelectorContains('.issue.selected', 'CONFIRMED');
- test.assertElementCount('.issue.selected .js-issue-transition', 1);
- test.assertExists('.issue.selected .js-issue-transition');
- test.assertExists('.issue.selected .js-issue-assign');
- test.assertSelectorContains('.issue.selected .js-issue-assign', 'unassigned');
- test.assertExists('.issue.selected .js-issue-plan');
- test.assertSelectorContains('.issue.selected .js-issue-plan', 'unplanned');
- test.assertSelectorContains('.issue.selected', '20min');
- test.assertExists('.issue.selected .js-issue-comment');
- test.assertExists('.issue.selected .js-issue-show-changelog');
- })
-
- .run(function () {
- test.done();
- });
-});
-
-
-casper.test.begin(testName('Issue Box', 'Tags'), function (test) {
- casper
- .start(lib.buildUrl('issues'), function () {
- lib.setDefaultViewport();
-
- lib.mockRequest('/api/l10n/index', '{}');
- lib.mockRequestFromFile('/api/issue_filters/app', 'app.json');
- lib.mockRequestFromFile('/api/issues/search', 'search-with-tags.json');
- lib.mockRequestFromFile('/api/issues/tags', 'tags.json');
- lib.mockRequestFromFile('/api/issues/set_tags', 'tags-modified.json');
- })
-
- .then(function () {
- casper.waitForSelector('.issue.selected .js-issue-tags');
- })
-
- .then(function () {
- test.assertSelectorContains('.issue.selected .js-issue-tags', 'security, cwe');
- casper.click('.issue.selected .js-issue-edit-tags');
- })
-
- .then(function () {
- casper.waitForSelector('.issue-action-option[data-value=design]');
- })
-
- .then(function () {
- casper.click('.issue-action-option[data-value=design]');
- test.assertSelectorContains('.issue.selected .js-issue-tags', 'security, cwe, design');
- })
-
- .then(function () {
- casper.click('.issue-action-option[data-value=cwe]');
- test.assertSelectorContains('.issue.selected .js-issue-tags', 'security, design');
- })
-
- .run(function () {
- test.done();
- });
-});
-
-
-casper.test.begin(testName('Issue Box', 'Transitions'), function (test) {
- casper
- .start(lib.buildUrl('issues'), function () {
- lib.setDefaultViewport();
-
- lib.mockRequest('/api/l10n/index', '{}');
- lib.mockRequestFromFile('/api/issue_filters/app', 'app.json');
- lib.mockRequestFromFile('/api/issues/search', 'search.json');
- lib.mockRequestFromFile('/api/issues/show*', 'show.json');
- lib.mockRequest('/api/issues/do_transition', '{}');
- })
-
- .then(function () {
- casper.waitForSelector('.issue.selected .js-issue-transition');
- })
-
- .then(function () {
- casper.click('.issue.selected .js-issue-transition');
- casper.waitForSelector('.issue-action-option');
- })
-
- .then(function () {
- test.assertExists('.issue-action-option[data-value=unconfirm]');
- test.assertExists('.issue-action-option[data-value=resolve]');
- test.assertExists('.issue-action-option[data-value=falsepositive]');
- })
-
- .run(function () {
- test.done();
- });
-});
-
-
-casper.test.begin(testName('File-Level Issues'), function (test) {
- var issueKey = '200d4a8b-9666-4e70-9953-7bab57933f97',
- issueSelector = '.issue[data-key="' + issueKey + '"]';
-
- casper
- .start(lib.buildUrl('issues'), function () {
- lib.setDefaultViewport();
-
- lib.mockRequest('/api/l10n/index', '{}');
- lib.mockRequestFromFile('/api/issue_filters/app', 'app.json');
- lib.mockRequestFromFile('/api/issues/search', 'file-level/search.json');
- lib.mockRequestFromFile('/api/components/app', 'file-level/components-app.json');
- lib.mockRequestFromFile('/api/sources/lines', 'file-level/lines.json');
- })
-
- .then(function () {
- casper.waitForSelector(issueSelector, function () {
- casper.click(issueSelector + ' .js-issue-navigate');
- });
- })
-
- .then(function () {
- casper.waitForSelector('.source-viewer ' + issueSelector, function () {
- test.assertSelectorContains('.source-viewer ' + issueSelector, '1 duplicated blocks of code');
- });
- })
-
- .run(function () {
- test.done();
- });
-});
-
-
-casper.test.begin(testName('Severity Facet'), function (test) {
- casper
- .start(lib.buildUrl('issues'), function () {
- lib.setDefaultViewport();
-
- lib.mockRequest('/api/l10n/index', '{}');
- lib.mockRequestFromFile('/api/issue_filters/app', 'app.json');
- lib.mockRequestFromFile('/api/issues/search', 'search-reopened.json', { data: { severities: 'BLOCKER' } });
- lib.mockRequestFromFile('/api/issues/search', 'search.json');
- })
-
- .then(function () {
- casper.waitForSelector('.facet[data-value=BLOCKER]', function () {
- casper.click('.facet[data-value=BLOCKER]');
- });
- })
-
- .then(function () {
- casper.waitForSelectorTextChange('#issues-total', function () {
- test.assertElementCount('.issue', 4);
- });
- })
-
- .run(function () {
- test.done();
- });
-});
-
-
-casper.test.begin(testName('Bulk Change'), function (test) {
- casper
- .start(lib.buildUrl('issues'), function () {
- lib.setDefaultViewport();
-
- lib.mockRequest('/api/l10n/index', '{}');
- lib.mockRequestFromFile('/api/issue_filters/app', 'app.json');
- lib.mockRequestFromFile('/api/issues/search', 'search.json');
- lib.mockRequest('/issues/bulk_change_form?resolved=false',
- '<div id="bulk-change-form">bulk change form</div>', { contentType: 'text/plain' });
- })
-
- .then(function () {
- casper.waitForSelector('.issue', function () {
- casper.waitForSelector('#issues-bulk-change');
- });
- })
-
- .then(function () {
- casper.click('#issues-bulk-change');
- casper.waitForSelector('#bulk-change-form', function () {
- test.assertSelectorContains('#bulk-change-form', 'bulk change form');
- });
- })
-
- .run(function () {
- test.done();
- });
-});
+++ /dev/null
-{
- "canManageFilters": true,
- "canBulkChange": true,
- "favorites": [
- {
- "id": 31,
- "name": "Critical and Blocker Issues"
- },
- {
- "id": 32,
- "name": "Foo"
- }
- ]
-}
+++ /dev/null
-{
- "key": "org.codehaus.sonar:sonar-plugin-api:src/main/java/org/sonar/api/measures/Measure.java",
- "path": "src/main/java/org/sonar/api/measures/Measure.java",
- "name": "Measure.java",
- "longName": "src/main/java/org/sonar/api/measures/Measure.java",
- "q": "FIL",
- "subProject": "org.codehaus.sonar:sonar-plugin-api",
- "subProjectName": "SonarQube :: Plugin API",
- "project": "org.codehaus.sonar:sonar",
- "projectName": "SonarQube",
- "fav": false,
- "canMarkAsFavourite": false,
- "canBulkChange": false,
- "canCreateManualIssue": false,
- "periods": [
- [
- 1,
- "since previous analysis (2014 Dec 01)",
- "2014-12-01T18:51:13+0100"
- ],
- [
- 2,
- "over 365 days (2013 Dec 01)",
- "2013-12-01T00:40:31+0100"
- ],
- [
- 3,
- "since previous version (4.5 - 2014 Sep 03)",
- "2014-09-03T23:16:52+0200"
- ]
- ],
- "severities": [
- [
- "MAJOR",
- "Major",
- 10
- ],
- [
- "INFO",
- "Info",
- 3
- ]
- ],
- "rules": [
- [
- "common-java:DuplicatedBlocks",
- "Duplicated blocks",
- 1
- ],
- [
- "squid:S1698",
- "Objects should be compared with \"equals()\"",
- 1
- ],
- [
- "squid:MethodCyclomaticComplexity",
- "Methods should not be too complex",
- 3
- ],
- [
- "squid:S1142",
- "Methods should not contain too many return statements",
- 2
- ],
- [
- "squid:S1067",
- "Expressions should not be too complex",
- 1
- ],
- [
- "squid:S1151",
- "Switch cases should not have too many lines",
- 1
- ],
- [
- "common-java:InsufficientBranchCoverage",
- "Insufficient branch coverage by unit tests",
- 1
- ],
- [
- "squid:S1133",
- "Deprecated code should be removed eventually",
- 3
- ]
- ],
- "measures": {
- "fNcloc": "396",
- "fCoverage": "65.0%",
- "fDuplicationDensity": "2.6%",
- "fDebt": "5h 42min",
- "fSqaleRating": "A",
- "fSqaleDebtRatio": "2.9%",
- "fIssues": "13",
- "fMajorIssues": "10",
- "fInfoIssues": "3"
- },
- "tabs": [
- "scm",
- "coverage",
- "duplications"
- ],
- "manual_rules": [
- {
- "key": "manual:api",
- "name": "API"
- },
- {
- "key": "manual:design",
- "name": "Design"
- },
- {
- "key": "manual:error_handling",
- "name": "Error handling"
- },
- {
- "key": "manual:performance",
- "name": "Performance"
- },
- {
- "key": "manual:sql_pitfalls",
- "name": "SQL Pitfall"
- }
- ]
-}
+++ /dev/null
-{
- "sources": [
- {
- "line": 1,
- "code": "<span class=\"cppd\">/*</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "aeadc1f9129274949daaa57738c7c4550bdfbc7b",
- "scmDate": "2010-09-06T16:08:06+0200"
- }
- ]
-}
+++ /dev/null
-{
- "total": 10,
- "p": 1,
- "ps": 50,
- "projects": [
- {
- "uuid": "69e57151-be0d-4157-adff-c06741d88879",
- "key": "org.codehaus.sonar:sonar",
- "id": 2865,
- "qualifier": "TRK",
- "name": "SonarQube",
- "longName": "SonarQube"
- }
- ],
- "components": [
- {
- "uuid": "7feef7c3-11b9-4175-b5a7-527ca3c75cb7",
- "key": "org.codehaus.sonar:sonar-plugin-api",
- "id": 16,
- "enabled": true,
- "qualifier": "BRC",
- "name": "SonarQube :: Plugin API",
- "longName": "SonarQube :: Plugin API",
- "path": "sonar-plugin-api",
- "projectId": 2865,
- "subProjectId": 2865
- },
- {
- "uuid": "e1b3c47e-e9a2-42ea-9cac-439ce2345d7e",
- "key": "org.codehaus.sonar:sonar-plugin-api:src/main/java/org/sonar/api/measures/Metric.java",
- "id": 3543,
- "enabled": true,
- "qualifier": "FIL",
- "name": "Metric.java",
- "longName": "src/main/java/org/sonar/api/measures/Metric.java",
- "path": "src/main/java/org/sonar/api/measures/Metric.java",
- "projectId": 2865,
- "subProjectId": 16
- },
- {
- "uuid": "69e57151-be0d-4157-adff-c06741d88879",
- "key": "org.codehaus.sonar:sonar",
- "id": 2865,
- "enabled": true,
- "qualifier": "TRK",
- "name": "SonarQube",
- "longName": "SonarQube"
- },
- {
- "uuid": "e2550527-3f86-4082-a9ae-e345f5a735aa",
- "key": "org.codehaus.sonar:sonar-plugin-api:src/main/java/org/sonar/api/measures/Measure.java",
- "id": 3538,
- "enabled": true,
- "qualifier": "FIL",
- "name": "Measure.java",
- "longName": "src/main/java/org/sonar/api/measures/Measure.java",
- "path": "src/main/java/org/sonar/api/measures/Measure.java",
- "projectId": 2865,
- "subProjectId": 16
- },
- {
- "uuid": "97606f40-f3ef-4922-aa37-f67485917e67",
- "key": "org.codehaus.sonar:sonar-plugin-api:src/main/java/org/sonar/api/resources/File.java",
- "id": 3592,
- "enabled": true,
- "qualifier": "FIL",
- "name": "File.java",
- "longName": "src/main/java/org/sonar/api/resources/File.java",
- "path": "src/main/java/org/sonar/api/resources/File.java",
- "projectId": 2865,
- "subProjectId": 16
- },
- {
- "uuid": "69949290-cfe6-45b6-9dd0-53f1e467b810",
- "key": "org.codehaus.sonar:sonar-duplications",
- "id": 20,
- "enabled": true,
- "qualifier": "BRC",
- "name": "SonarQube :: Duplications",
- "longName": "SonarQube :: Duplications",
- "path": "sonar-duplications",
- "projectId": 2865,
- "subProjectId": 2865
- },
- {
- "uuid": "90dd5fda-5fce-4d76-bebf-132922abad95",
- "key": "org.codehaus.sonar:sonar-duplications:src/main/java/org/sonar/duplications/index/PackedMemoryCloneIndex.java",
- "id": 3308,
- "enabled": true,
- "qualifier": "FIL",
- "name": "PackedMemoryCloneIndex.java",
- "longName": "src/main/java/org/sonar/duplications/index/PackedMemoryCloneIndex.java",
- "path": "src/main/java/org/sonar/duplications/index/PackedMemoryCloneIndex.java",
- "projectId": 2865,
- "subProjectId": 20
- },
- {
- "uuid": "1b915447-5aa8-4f59-9134-346a4e88c7b7",
- "key": "org.codehaus.sonar.plugins:sonar-core-plugin",
- "id": 2873,
- "enabled": true,
- "qualifier": "BRC",
- "name": "SonarQube :: Plugins :: Core",
- "longName": "SonarQube :: Plugins :: Core",
- "path": "plugins/sonar-core-plugin",
- "projectId": 2865,
- "subProjectId": 2865
- },
- {
- "uuid": "6c9c1986-59b3-4839-8dec-9499488f64d1",
- "key": "org.codehaus.sonar.plugins:sonar-core-plugin:src/main/java/org/sonar/plugins/core/issue/tracking/StringTextComparator.java",
- "id": 20777,
- "enabled": true,
- "qualifier": "FIL",
- "name": "StringTextComparator.java",
- "longName": "src/main/java/org/sonar/plugins/core/issue/tracking/StringTextComparator.java",
- "path": "src/main/java/org/sonar/plugins/core/issue/tracking/StringTextComparator.java",
- "projectId": 2865,
- "subProjectId": 2873
- }
- ],
- "issues": [
- {
- "key": "200d4a8b-9666-4e70-9953-7bab57933f97",
- "component": "org.codehaus.sonar:sonar-plugin-api:src/main/java/org/sonar/api/measures/Measure.java",
- "componentId": 3538,
- "project": "org.codehaus.sonar:sonar",
- "subProject": "org.codehaus.sonar:sonar-plugin-api",
- "rule": "common-java:DuplicatedBlocks",
- "status": "CONFIRMED",
- "severity": "MAJOR",
- "message": "1 duplicated blocks of code.",
- "debt": "1h",
- "creationDate": "2014-06-06T23:38:06+0200",
- "updateDate": "2014-07-01T17:51:37+0200",
- "fUpdateAge": "5 months",
- "actions": [],
- "transitions": []
- },
- {
- "key": "23c5a022-ab5b-4892-b676-a7fd58540f79",
- "component": "org.codehaus.sonar:sonar-plugin-api:src/main/java/org/sonar/api/measures/Measure.java",
- "componentId": 3538,
- "project": "org.codehaus.sonar:sonar",
- "subProject": "org.codehaus.sonar:sonar-plugin-api",
- "rule": "common-java:InsufficientBranchCoverage",
- "status": "CONFIRMED",
- "severity": "MAJOR",
- "message": "1 more branches need to be covered by unit tests to reach the minimum threshold of 65.0% branch coverage.",
- "debt": "10min",
- "creationDate": "2014-09-02T09:25:36+0200",
- "updateDate": "2014-10-09T16:21:48+0200",
- "fUpdateAge": "about a month",
- "actions": [],
- "transitions": []
- },
- {
- "key": "23d6cd5e-83ba-4e65-abef-ff8592195638",
- "component": "org.codehaus.sonar:sonar-plugin-api:src/main/java/org/sonar/api/measures/Measure.java",
- "componentId": 3538,
- "project": "org.codehaus.sonar:sonar",
- "subProject": "org.codehaus.sonar:sonar-plugin-api",
- "rule": "squid:S1142",
- "status": "CONFIRMED",
- "severity": "MAJOR",
- "message": "Reduce the number of returns of this method 7, down to the maximum allowed 5.",
- "line": 248,
- "debt": "20min",
- "author": "julien.henry@sonarsource.com",
- "creationDate": "2014-06-16T23:38:20+0200",
- "updateDate": "2014-07-01T18:26:25+0200",
- "fUpdateAge": "5 months",
- "actions": [],
- "transitions": []
- },
- {
- "key": "8c5a4fca-57c9-44ad-89c0-6673c483e357",
- "component": "org.codehaus.sonar:sonar-plugin-api:src/main/java/org/sonar/api/measures/Measure.java",
- "componentId": 3538,
- "project": "org.codehaus.sonar:sonar",
- "subProject": "org.codehaus.sonar:sonar-plugin-api",
- "rule": "squid:MethodCyclomaticComplexity",
- "status": "CONFIRMED",
- "severity": "MAJOR",
- "message": "The Cyclomatic Complexity of this method \"value\" is 22 which is greater than 10 authorized.",
- "line": 248,
- "debt": "10min",
- "author": "julien.henry@sonarsource.com",
- "creationDate": "2014-06-16T23:38:20+0200",
- "updateDate": "2014-07-01T16:20:08+0200",
- "fUpdateAge": "5 months",
- "actions": [],
- "transitions": []
- },
- {
- "key": "57303136-93b5-4d96-b1ca-654160aa5bdb",
- "component": "org.codehaus.sonar:sonar-plugin-api:src/main/java/org/sonar/api/measures/Measure.java",
- "componentId": 3538,
- "project": "org.codehaus.sonar:sonar",
- "subProject": "org.codehaus.sonar:sonar-plugin-api",
- "rule": "squid:S1151",
- "status": "CONFIRMED",
- "severity": "MAJOR",
- "message": "Reduce this switch case number of lines from 8 to at most 5, for example by extracting code into methods.",
- "line": 266,
- "debt": "10min",
- "author": "julien.henry@sonarsource.com",
- "creationDate": "2014-06-16T23:38:20+0200",
- "updateDate": "2014-06-30T16:41:24+0200",
- "fUpdateAge": "5 months",
- "actions": [],
- "transitions": []
- },
- {
- "key": "dbf052eb-f991-44db-a829-029d47b7fe2d",
- "component": "org.codehaus.sonar:sonar-plugin-api:src/main/java/org/sonar/api/measures/Measure.java",
- "componentId": 3538,
- "project": "org.codehaus.sonar:sonar",
- "subProject": "org.codehaus.sonar:sonar-plugin-api",
- "rule": "squid:MethodCyclomaticComplexity",
- "status": "CONFIRMED",
- "severity": "MAJOR",
- "message": "The Cyclomatic Complexity of this method \"getVariation\" is 12 which is greater than 10 authorized.",
- "line": 562,
- "debt": "10min",
- "author": "Simon Brandhof",
- "creationDate": "2011-10-25T12:27:40+0200",
- "updateDate": "2013-12-18T23:54:49+0100",
- "fUpdateAge": "11 months",
- "actions": [],
- "transitions": []
- },
- {
- "key": "50db1415-bd3c-4c24-ab0a-763177059770",
- "component": "org.codehaus.sonar:sonar-plugin-api:src/main/java/org/sonar/api/measures/Measure.java",
- "componentId": 3538,
- "project": "org.codehaus.sonar:sonar",
- "subProject": "org.codehaus.sonar:sonar-plugin-api",
- "rule": "squid:S1698",
- "status": "CONFIRMED",
- "severity": "MAJOR",
- "message": "Change this comparison to use the equals method.",
- "line": 684,
- "debt": "2min",
- "author": "david@gageot.net",
- "creationDate": "2014-06-26T23:17:10+0200",
- "updateDate": "2014-07-01T16:13:48+0200",
- "fUpdateAge": "5 months",
- "actions": [],
- "transitions": []
- },
- {
- "key": "5fbdc597-0d83-4ea2-9d9d-ac192ec1eec1",
- "component": "org.codehaus.sonar:sonar-plugin-api:src/main/java/org/sonar/api/measures/Measure.java",
- "componentId": 3538,
- "project": "org.codehaus.sonar:sonar",
- "subProject": "org.codehaus.sonar:sonar-plugin-api",
- "rule": "squid:S1067",
- "status": "CONFIRMED",
- "severity": "MAJOR",
- "message": "Reduce the number of conditional operators (5) used in the expression (maximum allowed 3).",
- "line": 684,
- "debt": "10min",
- "author": "david@gageot.net",
- "creationDate": "2013-08-28T12:19:16+0200",
- "updateDate": "2013-12-10T14:28:37+0100",
- "fUpdateAge": "12 months",
- "actions": [],
- "transitions": []
- },
- {
- "key": "186d1419-f5e9-412f-8a8e-f8cd81920359",
- "component": "org.codehaus.sonar:sonar-plugin-api:src/main/java/org/sonar/api/measures/Measure.java",
- "componentId": 3538,
- "project": "org.codehaus.sonar:sonar",
- "subProject": "org.codehaus.sonar:sonar-plugin-api",
- "rule": "squid:MethodCyclomaticComplexity",
- "status": "CONFIRMED",
- "severity": "MAJOR",
- "message": "The Cyclomatic Complexity of this method \"equals\" is 15 which is greater than 10 authorized.",
- "line": 724,
- "debt": "10min",
- "author": "Simon Brandhof",
- "creationDate": "2011-10-25T12:27:40+0200",
- "updateDate": "2014-03-12T10:43:19+0100",
- "fUpdateAge": "9 months",
- "actions": [],
- "transitions": []
- },
- {
- "key": "225d3b74-8b61-46a1-aac2-68221d6cd933",
- "component": "org.codehaus.sonar:sonar-plugin-api:src/main/java/org/sonar/api/measures/Measure_2.java",
- "componentId": 3538,
- "project": "org.codehaus.sonar:sonar",
- "subProject": "org.codehaus.sonar:sonar-plugin-api",
- "rule": "squid:S1142",
- "status": "CONFIRMED",
- "severity": "MAJOR",
- "message": "Reduce the number of returns of this method 6, down to the maximum allowed 5.",
- "line": 724,
- "debt": "20min",
- "author": "simon.brandhof@gmail.com",
- "creationDate": "2013-08-09T16:04:33+0200",
- "updateDate": "2014-03-12T10:43:19+0100",
- "fUpdateAge": "9 months",
- "actions": [],
- "transitions": []
- }
- ],
- "rules": [
- {
- "key": "squid:S1698",
- "name": "Objects should be compared with \"equals()\"",
- "lang": "java",
- "desc": "<p>Using the equality (<code>==</code>) and inequality (<code>!=</code>) operators to compare two objects does not check to see if they have the same values. Rather it checks to see if both object references point to exactly the same object in memory. The vast majority of the time, this is not what you want to do. Use the .equals() method to compare the values of two objects or to compare a string object to a string literal.</p>\n\n<h2>Noncompliant Code Sample</h2>\n<pre>\nString str1 = \"blue\";\nString str2 = \"blue\";\nString str3 = str1;\n\nif (str1 == str2)\n{\n System.out.println(\"they're both 'blue'\"); // this doesn't print because the objects are different\n}\n\nif (str1 == \"blue\")\n{\n System.out.println(\"they're both 'blue'\"); // this doesn't print because the objects are different\n}\n\nif (str1 == str3)\n{\n System.out.println(\"they're the same object\"); // this prints\n}\n</pre>\n\n<h2>Compliant Solution</h2>\n<pre>\nString str1 = \"blue\";\nString str2 = \"blue\";\nString str3 = str1;\n\nif (str1.equals(str2))\n{\n System.out.println(\"they're both 'blue'\"); // this prints\n}\n\nif (str1.equals(\"blue\"))\n{\n System.out.println(\"they're both 'blue'\"); // this prints\n}\n\nif (str1 == str3)\n{\n System.out.println(\"they're the same object\"); // this still prints, but it's probably not what you meant to do\n}\n</pre>",
- "status": "READY",
- "langName": "Java"
- },
- {
- "key": "common-java:DuplicatedBlocks",
- "name": "Duplicated blocks",
- "lang": "java",
- "desc": "<p>An issue is created on a file as soon as there is a block of duplicated code on this file. It gives the number of blocks in the file.</p>",
- "status": "READY",
- "langName": "Java"
- },
- {
- "key": "squid:MethodCyclomaticComplexity",
- "name": "Methods should not be too complex",
- "lang": "java",
- "desc": "<p>The Cyclomatic Complexity is measured by the number of\n\t(&&, ||) operators and (if, while, do, for, ?:, catch, switch,\n\tcase, return, throw) statements in the body of a class plus one for\n\teach constructor, method (but not getter/setter), static initializer,\n\tor instance initializer in the class. The last return stament in\n\tmethod, if exists, is not taken into account.</p>\n<p>\n\tEven when the Cyclomatic Complexity of a class is very high, this\n\tcomplexity might be well distributed among all methods. Nevertheless,\n\tmost of the time, a very complex class is a class which breaks the <a\n\t\thref=\"http://en.wikipedia.org/wiki/Single_responsibility_principle\">Single\n\t\tResponsibility Principle</a> and which should be re-factored to be split\n\tin several classes.\n</p>",
- "status": "READY",
- "langName": "Java"
- },
- {
- "key": "squid:S1142",
- "name": "Methods should not contain too many return statements",
- "lang": "java",
- "desc": "<p>\nHaving too many return statements in a method increases the method's essential complexity because the flow of execution is broken each time a return statement is encountered.\nThis makes it harder to read and understand the logic of the method.\n</p>\n\n<p>\nThe following code snippet illustrates this rule with the default threshold of 3:\n</p>\n\n<pre>\npublic boolean myMethod() { // Non-Compliant as there are 4 return statements\n if (condition1) {\n return true;\n } else {\n if (condition2) {\n return false;\n } else {\n return true;\n }\n }\n return false;\n}\n</pre>",
- "status": "READY",
- "langName": "Java"
- },
- {
- "key": "squid:S1067",
- "name": "Expressions should not be too complex",
- "lang": "java",
- "desc": "<p>\nThe complexity of an expression is defined by the number of <code>&&</code>, <code>||</code> and <code>condition ? ifTrue : ifFalse</code> operators it contains.\nA single expression's complexity should not become too high to keep the code readable.\n</p>\n\n<p>The following code, with a maximum complexity of 3:</p>\n\n<pre>\nif (condition1 && condition2 && condition3 && condition4) { /* ... */ } // Non-Compliant\n</pre>\n\n<p>could be refactored into something like:</p>\n\n<pre>\nif (relevantMethodName1() && relevantMethodName2()) { /* ... */ } // Compliant\n\n/* ... */\n\nprivate boolean relevantMethodName1() {\n return condition1 && condition2;\n}\n\nprivate boolean relevantMethodName2() {\n return condition3 && condition4;\n}\n</pre>",
- "status": "READY",
- "langName": "Java"
- },
- {
- "key": "squid:S1151",
- "name": "Switch cases should not have too many lines",
- "lang": "java",
- "desc": "<p>Switch cases should remain small to keep the overall switch compact and readable.</p>\n\n<p>The following code snippet illustrates this rule with the default threshold of 5:</p>\n\n<pre>\nswitch (myVariable) {\n case 0: // Compliant - 5 lines till following case\n System.out.println(\"\");\n System.out.println(\"\");\n System.out.println(\"\");\n break;\n default: // Non-Compliant - 6 lines till switch end\n System.out.println(\"\");\n System.out.println(\"\");\n System.out.println(\"\");\n System.out.println(\"\");\n break;\n}\n</pre>",
- "status": "READY",
- "langName": "Java"
- },
- {
- "key": "common-java:InsufficientBranchCoverage",
- "name": "Insufficient branch coverage by unit tests",
- "lang": "java",
- "desc": "<p>An issue is created on a file as soon as the branch coverage on this file is less than the required threshold.It gives the number of branches to be covered in order to reach the required threshold.</p>",
- "status": "READY",
- "langName": "Java"
- }
- ],
- "users": [],
- "languages": [
- {
- "key": "js",
- "name": "JavaScript"
- },
- {
- "key": "java",
- "name": "Java"
- }
- ],
- "maxResultsReached": false,
- "paging": {
- "pageIndex": 1,
- "pageSize": 50,
- "total": 10,
- "fTotal": "10",
- "pages": 1
- },
- "facets": [
- {
- "property": "severities",
- "values": [
- {
- "val": "MAJOR",
- "count": 10
- },
- {
- "val": "INFO",
- "count": 3
- },
- {
- "val": "MINOR",
- "count": 0
- },
- {
- "val": "CRITICAL",
- "count": 0
- },
- {
- "val": "BLOCKER",
- "count": 0
- }
- ]
- },
- {
- "property": "statuses",
- "values": [
- {
- "val": "CONFIRMED",
- "count": 10
- },
- {
- "val": "OPEN",
- "count": 0
- },
- {
- "val": "REOPENED",
- "count": 0
- },
- {
- "val": "RESOLVED",
- "count": 0
- },
- {
- "val": "CLOSED",
- "count": 0
- }
- ]
- },
- {
- "property": "resolutions",
- "values": [
- {
- "val": "REMOVED",
- "count": 43
- },
- {
- "val": "FIXED",
- "count": 4
- },
- {
- "val": "",
- "count": 10
- },
- {
- "val": "FALSE-POSITIVE",
- "count": 0
- }
- ]
- },
- {
- "property": "projectUuids",
- "values": [
- {
- "val": "69e57151-be0d-4157-adff-c06741d88879",
- "count": 10
- }
- ]
- },
- {
- "property": "componentUuids",
- "values": [
- {
- "val": "90dd5fda-5fce-4d76-bebf-132922abad95",
- "count": 20
- },
- {
- "val": "e2550527-3f86-4082-a9ae-e345f5a735aa",
- "count": 10
- },
- {
- "val": "97606f40-f3ef-4922-aa37-f67485917e67",
- "count": 8
- },
- {
- "val": "6c9c1986-59b3-4839-8dec-9499488f64d1",
- "count": 7
- },
- {
- "val": "e1b3c47e-e9a2-42ea-9cac-439ce2345d7e",
- "count": 6
- }
- ]
- }
- ]
-}
+++ /dev/null
-{
- "total": 4,
- "p": 1,
- "ps": 50,
- "projects": [
- {
- "uuid": "06a742ea-5c55-4c7e-a2b4-8747c163cb40",
- "key": "org.codehaus.sonar-plugins:sonar-issues-report-plugin",
- "id": 17637,
- "qualifier": "TRK",
- "name": "Sonar :: Issues Report :: Plugin",
- "longName": "Sonar :: Issues Report :: Plugin"
- },
- {
- "uuid": "69e57151-be0d-4157-adff-c06741d88879",
- "key": "org.codehaus.sonar:sonar",
- "id": 2865,
- "qualifier": "TRK",
- "name": "SonarQube",
- "longName": "SonarQube"
- },
- {
- "uuid": "963cefe8-9128-475f-8d39-636685195e43",
- "key": "com.sonarsource.rpg:rpg",
- "id": 27165,
- "qualifier": "TRK",
- "name": "SonarSource :: RPG",
- "longName": "SonarSource :: RPG"
- }
- ],
- "components": [
- {
- "uuid": "f62c3080-6e75-4940-ae95-7dae743bcac3",
- "key": "org.codehaus.sonar:sonar-server:src/main/java/org/sonar/server/search/request/ProxySearchScrollRequestBuilder.java",
- "id": 35659,
- "enabled": true,
- "qualifier": "FIL",
- "name": "ProxySearchScrollRequestBuilder.java",
- "longName": "src/main/java/org/sonar/server/search/request/ProxySearchScrollRequestBuilder.java",
- "path": "src/main/java/org/sonar/server/search/request/ProxySearchScrollRequestBuilder.java",
- "projectId": 2865,
- "subProjectId": 2872
- },
- {
- "uuid": "69e57151-be0d-4157-adff-c06741d88879",
- "key": "org.codehaus.sonar:sonar",
- "id": 2865,
- "enabled": true,
- "qualifier": "TRK",
- "name": "SonarQube",
- "longName": "SonarQube"
- },
- {
- "uuid": "0160edec-b7ca-49a1-93ca-a6ea2c38ed21",
- "key": "org.codehaus.sonar-plugins:sonar-issues-report-plugin:src/main/java/org/sonar/issuesreport/IssuesReportPlugin.java",
- "id": 17639,
- "enabled": true,
- "qualifier": "FIL",
- "name": "IssuesReportPlugin.java",
- "longName": "src/main/java/org/sonar/issuesreport/IssuesReportPlugin.java",
- "path": "src/main/java/org/sonar/issuesreport/IssuesReportPlugin.java",
- "projectId": 17637,
- "subProjectId": 17637
- },
- {
- "uuid": "6acccd14-18f8-436e-9a20-1d2d1f91295b",
- "key": "com.sonarsource.rpg:rpg-analyzer:src/main/java/com/sonar/rpg/parser/Parser.java",
- "id": 27173,
- "enabled": true,
- "qualifier": "FIL",
- "name": "Parser.java",
- "longName": "src/main/java/com/sonar/rpg/parser/Parser.java",
- "path": "src/main/java/com/sonar/rpg/parser/Parser.java",
- "projectId": 27165,
- "subProjectId": 27166
- },
- {
- "uuid": "06a742ea-5c55-4c7e-a2b4-8747c163cb40",
- "key": "org.codehaus.sonar-plugins:sonar-issues-report-plugin",
- "id": 17637,
- "enabled": true,
- "qualifier": "TRK",
- "name": "Sonar :: Issues Report :: Plugin",
- "longName": "Sonar :: Issues Report :: Plugin"
- },
- {
- "uuid": "98662175-0f52-4f83-b0e9-1e9444320b5b",
- "key": "org.codehaus.sonar-plugins:sonar-issues-report-plugin:src/main/java/org/sonar/issuesreport/ReportJob.java",
- "id": 17640,
- "enabled": true,
- "qualifier": "FIL",
- "name": "ReportJob.java",
- "longName": "src/main/java/org/sonar/issuesreport/ReportJob.java",
- "path": "src/main/java/org/sonar/issuesreport/ReportJob.java",
- "projectId": 17637,
- "subProjectId": 17637
- },
- {
- "uuid": "a6b74bc6-94b9-431f-b7fd-524553d42405",
- "key": "com.sonarsource.rpg:rpg-analyzer",
- "id": 27166,
- "enabled": true,
- "qualifier": "BRC",
- "name": "SonarSource :: RPG :: Analyzer",
- "longName": "SonarSource :: RPG :: Analyzer",
- "path": "rpg-analyzer",
- "projectId": 27165,
- "subProjectId": 27165
- },
- {
- "uuid": "e1f6f8bd-6b5f-4e2d-b936-4abffc9e4264",
- "key": "org.codehaus.sonar:sonar-server",
- "id": 2872,
- "enabled": true,
- "qualifier": "BRC",
- "name": "SonarQube :: Server",
- "longName": "SonarQube :: Server",
- "path": "sonar-server",
- "projectId": 2865,
- "subProjectId": 2865
- },
- {
- "uuid": "963cefe8-9128-475f-8d39-636685195e43",
- "key": "com.sonarsource.rpg:rpg",
- "id": 27165,
- "enabled": true,
- "qualifier": "TRK",
- "name": "SonarSource :: RPG",
- "longName": "SonarSource :: RPG"
- }
- ],
- "issues": [
- {
- "key": "80f1562f-9f64-48a9-a6bb-1dcd2ebf444a",
- "component": "org.codehaus.sonar-plugins:sonar-issues-report-plugin:src/main/java/org/sonar/issuesreport/IssuesReportPlugin.java",
- "componentId": 17639,
- "project": "org.codehaus.sonar-plugins:sonar-issues-report-plugin",
- "rule": "squid:S1161",
- "status": "REOPENED",
- "severity": "MINOR",
- "message": "Add the \"@Override\" annotation above this method signature",
- "line": 61,
- "debt": "5min",
- "assignee": "julien.henry",
- "author": "julien.henry@sonarsource.com",
- "creationDate": "2014-10-09T23:03:12+0200",
- "updateDate": "2014-11-24T08:11:19+0100",
- "fUpdateAge": "14 days",
- "actions": [
- "comment",
- "assign",
- "assign_to_me",
- "plan",
- "set_severity"
- ],
- "transitions": [
- "confirm",
- "resolve",
- "falsepositive"
- ],
- "assigneeName": "Julien Henry"
- },
- {
- "key": "9eae5201-96c7-4e78-a407-8d58479c98a3",
- "component": "org.codehaus.sonar-plugins:sonar-issues-report-plugin:src/main/java/org/sonar/issuesreport/ReportJob.java",
- "componentId": 17640,
- "project": "org.codehaus.sonar-plugins:sonar-issues-report-plugin",
- "rule": "squid:S1161",
- "status": "REOPENED",
- "severity": "MAJOR",
- "message": "Add the \"@Override\" annotation above this method signature",
- "line": 39,
- "debt": "5min",
- "assignee": "julien.henry",
- "author": "julien.henry@sonarsource.com",
- "creationDate": "2014-10-09T23:03:12+0200",
- "updateDate": "2014-11-18T08:25:31+0100",
- "fUpdateAge": "20 days",
- "actions": [
- "comment",
- "assign",
- "assign_to_me",
- "plan",
- "set_severity"
- ],
- "transitions": [
- "confirm",
- "resolve",
- "falsepositive"
- ],
- "assigneeName": "Julien Henry"
- },
- {
- "key": "50bfc04f-6137-457a-a967-f6b1b7345365",
- "component": "org.codehaus.sonar:sonar-server:src/main/java/org/sonar/server/search/request/ProxySearchScrollRequestBuilder.java",
- "componentId": 35659,
- "project": "org.codehaus.sonar:sonar",
- "subProject": "org.codehaus.sonar:sonar-server",
- "rule": "common-java:InsufficientBranchCoverage",
- "status": "REOPENED",
- "severity": "MAJOR",
- "message": "1 more branches need to be covered by unit tests to reach the minimum threshold of 65.0% branch coverage.",
- "debt": "10min",
- "assignee": "julien.lancelot",
- "creationDate": "2014-11-04T14:51:27+0100",
- "updateDate": "2014-11-10T23:29:27+0100",
- "fUpdateAge": "27 days",
- "actions": [
- "comment",
- "assign",
- "assign_to_me",
- "plan",
- "set_severity"
- ],
- "transitions": [
- "confirm",
- "resolve",
- "falsepositive"
- ],
- "assigneeName": "Julien Lancelot"
- },
- {
- "key": "7012d6fc-e663-4032-aba6-70c4522453b4",
- "component": "com.sonarsource.rpg:rpg-analyzer:src/main/java/com/sonar/rpg/parser/Parser.java",
- "componentId": 27173,
- "project": "com.sonarsource.rpg:rpg",
- "subProject": "com.sonarsource.rpg:rpg-analyzer",
- "rule": "squid:S1994",
- "status": "REOPENED",
- "severity": "MAJOR",
- "message": "This loop's stop condition tests \"isEndOfFile()\" but the incrementer updates \"lineNumber\".",
- "line": 69,
- "debt": "20min",
- "assignee": "pierre-yves.nicolas",
- "author": "pierre-yves.nicolas@sonarsource.com",
- "creationDate": "2014-10-09T23:05:10+0200",
- "updateDate": "2014-10-31T10:33:08+0100",
- "fUpdateAge": "about a month",
- "comments": [
- {
- "key": "9d2b1d6e-9c9c-4ff2-bc55-af622922c4f0",
- "login": "evgeny.mandrikov",
- "userName": "Evgeny Mandrikov",
- "htmlText": "Severity changed from "critical" to "major", because this is a new Java rule.<br/>Also message looks suspicious. Nico, could you please take a look?",
- "markdown": "Severity changed from \"critical\" to \"major\", because this is a new Java rule.\nAlso message looks suspicious. Nico, could you please take a look?",
- "updatable": false,
- "createdAt": "2014-10-10T15:49:23+0200"
- },
- {
- "key": "583033bd-c0be-4865-ba86-f1773c712bba",
- "login": "nicolas.peru",
- "userName": "Nicolas Peru",
- "htmlText": "message has been improved in <a href=\"https://github.com/SonarSource/sonar-java/commit/d1e4fa74ada69039958dbff8a94c776fd6be6639\" target=\"_blank\">https://github.com/SonarSource/sonar-java/commit/d1e4fa74ada69039958dbff8a94c776fd6be6639</a>",
- "markdown": "message has been improved in https://github.com/SonarSource/sonar-java/commit/d1e4fa74ada69039958dbff8a94c776fd6be6639",
- "updatable": false,
- "createdAt": "2014-10-13T17:38:52+0200"
- }
- ],
- "actions": [
- "comment",
- "assign",
- "assign_to_me",
- "plan",
- "set_severity"
- ],
- "transitions": [
- "confirm",
- "resolve",
- "falsepositive"
- ],
- "assigneeName": "Pierre-Yves Nicolas"
- }
- ],
- "rules": [
- {
- "key": "squid:S1994",
- "name": "\"for\" loop incrementers should modify the variable being tested in the loop's stop condition",
- "lang": "java",
- "desc": "<p>It is almost always an error when a <code>for</code> loop's stop condition and incrementer don't act on the same variable. Even when it is not, it could confuse future maintainers of the code, and should be avoided.</p>\n\n<h2>Noncompliant Code Example</h2>\n<pre>\nfor (i = 0; i < 10; j++) { // Noncompliant\n // ...\n}\n</pre>\n\n<h2>Compliant Solution</h2>\n<pre>\nfor (i = 0; i < 10; i++) {\n // ...\n}\n</pre>",
- "status": "REMOVED",
- "langName": "Java"
- },
- {
- "key": "common-java:InsufficientBranchCoverage",
- "name": "Insufficient branch coverage by unit tests",
- "lang": "java",
- "desc": "<p>An issue is created on a file as soon as the branch coverage on this file is less than the required threshold.It gives the number of branches to be covered in order to reach the required threshold.</p>",
- "status": "READY",
- "langName": "Java"
- },
- {
- "key": "squid:S1161",
- "name": "\"@Override\" annotation should be used on any method overriding (since Java 5) or implementing (since Java 6) another one",
- "lang": "java",
- "desc": "<p>Using the <code>@Override</code> annotation is useful for two reasons :</p>\n<ul>\n <li>It elicits a warning from the compiler if the annotated method doesn't actually override anything, as in the case of a misspelling.</li>\n <li>It improves the readability of the source code by making it obvious that methods are overridden.</li>\n</ul>\n<h2>Noncompliant Code Example</h2>\n<pre>\nclass ParentClass {\n public boolean doSomething(){...}\n}\nclass FirstChildClass extends ParentClass {\n public boolean doSomething(){...} //Non-Compliant\n}\n</pre>\n\n<h2>Compliant Solution</h2>\n<pre>\nclass ParentClass {\n public boolean doSomething(){...}\n}\nclass FirstChildClass extends ParentClass {\n @Override\n public boolean doSomething(){...} //Compliant\n}\n</pre>",
- "status": "REMOVED",
- "langName": "Java"
- }
- ],
- "users": [
- {
- "login": "julien.lancelot",
- "name": "Julien Lancelot",
- "active": true,
- "email": "julien.lancelot@sonarsource.com"
- },
- {
- "login": "pierre-yves.nicolas",
- "name": "Pierre-Yves Nicolas",
- "active": true,
- "email": "pierre-yves.nicolas@sonarsource.com"
- },
- {
- "login": "admin",
- "name": "Admin Admin",
- "active": true,
- "email": "admin@sonarsource.com"
- },
- {
- "login": "nicolas.peru",
- "name": "Nicolas Peru",
- "active": true,
- "email": "nicolas.peru@sonarsource.com"
- },
- {
- "login": "julien.henry",
- "name": "Julien Henry",
- "active": true,
- "email": "julien.henry@sonarsource.com"
- },
- {
- "login": "evgeny.mandrikov",
- "name": "Evgeny Mandrikov",
- "active": true,
- "email": "evgeny.mandrikov@sonarsource.com"
- }
- ],
- "actionPlans": [
- {
- "key": "1b9e7e52-ff58-40c1-80bf-f68429a3275e",
- "name": "5.0",
- "status": "OPEN",
- "project": "org.codehaus.sonar:sonar",
- "userLogin": "fabrice.bellingard",
- "createdAt": "2014-09-01T17:14:55+0200",
- "fCreatedAt": "Sep 1, 2014 5:14 PM",
- "updatedAt": "2014-09-01T17:14:55+0200",
- "fUpdatedAt": "Sep 1, 2014 5:14 PM"
- },
- {
- "key": "151b796f-c5e1-40c9-89c0-ca391e8a31c0",
- "name": "CPP 3.3",
- "status": "OPEN",
- "project": "com.sonarsource.cpp:cpp",
- "userLogin": "eric.hartmann",
- "createdAt": "2014-10-27T15:15:34+0100",
- "fCreatedAt": "Oct 27, 2014 3:15 PM",
- "updatedAt": "2014-10-27T15:15:34+0100",
- "fUpdatedAt": "Oct 27, 2014 3:15 PM"
- },
- {
- "key": "6f967cd5-687b-49ac-b4e3-b8d392374557",
- "name": "4.5",
- "status": "CLOSED",
- "project": "org.codehaus.sonar:sonar",
- "userLogin": "freddy.mallet",
- "createdAt": "2014-07-01T21:22:52+0200",
- "fCreatedAt": "Jul 1, 2014 9:22 PM",
- "updatedAt": "2014-09-10T15:44:24+0200",
- "fUpdatedAt": "Sep 10, 2014 3:44 PM"
- }
- ],
- "languages": [
- {
- "key": "js",
- "name": "JavaScript"
- },
- {
- "key": "java",
- "name": "Java"
- }
- ],
- "maxResultsReached": false,
- "paging": {
- "pageIndex": 1,
- "pageSize": 50,
- "total": 4,
- "fTotal": "4",
- "pages": 1
- },
- "facets": [
- {
- "property": "severities",
- "values": [
- {
- "val": "MAJOR",
- "count": 3
- },
- {
- "val": "MINOR",
- "count": 1
- },
- {
- "val": "INFO",
- "count": 0
- },
- {
- "val": "CRITICAL",
- "count": 0
- },
- {
- "val": "BLOCKER",
- "count": 0
- }
- ]
- },
- {
- "property": "statuses",
- "values": [
- {
- "val": "CONFIRMED",
- "count": 4583
- },
- {
- "val": "OPEN",
- "count": 324
- },
- {
- "val": "REOPENED",
- "count": 4
- },
- {
- "val": "RESOLVED",
- "count": 0
- },
- {
- "val": "CLOSED",
- "count": 0
- }
- ]
- },
- {
- "property": "resolutions",
- "values": [
- {
- "val": "",
- "count": 4
- },
- {
- "val": "FALSE-POSITIVE",
- "count": 0
- },
- {
- "val": "FIXED",
- "count": 0
- },
- {
- "val": "REMOVED",
- "count": 0
- }
- ]
- },
- {
- "property": "actionPlans",
- "values": [
- {
- "val": "1b9e7e52-ff58-40c1-80bf-f68429a3275e",
- "count": 4
- },
- {
- "val": "151b796f-c5e1-40c9-89c0-ca391e8a31c0",
- "count": 2
- },
- {
- "val": "6f967cd5-687b-49ac-b4e3-b8d392374557",
- "count": 1
- },
- {
- "val": "",
- "count": 4
- }
- ]
- }
- ]
-}
+++ /dev/null
-{
- "total": 1,
- "p": 1,
- "ps": 50,
- "projects": [
- {
- "uuid": "015c6451-1709-4360-b4fa-e4508e13082d",
- "key": "org.codehaus.sonar-plugins.xml:xml",
- "id": 17156,
- "qualifier": "TRK",
- "name": "XML",
- "longName": "XML"
- }
- ],
- "components": [
- {
- "uuid": "639e257b-d3fb-4d10-b94a-31079b71532d",
- "key": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin:src/main/java/org/sonar/plugins/xml",
- "id": 26177,
- "enabled": true,
- "qualifier": "DIR",
- "name": "src/main/java/org/sonar/plugins/xml",
- "longName": "src/main/java/org/sonar/plugins/xml",
- "path": "src/main/java/org/sonar/plugins/xml",
- "projectId": 17156,
- "subProjectId": 17158
- },
- {
- "uuid": "015c6451-1709-4360-b4fa-e4508e13082d",
- "key": "org.codehaus.sonar-plugins.xml:xml",
- "id": 17156,
- "enabled": true,
- "qualifier": "TRK",
- "name": "XML",
- "longName": "XML"
- }
-
- ],
- "issues": [
- {
- "key": "94357807-fcb4-40cc-9598-9a715f1eee6e",
- "component": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin:src/main/java/org/sonar/plugins/xml",
- "componentId": 26177,
- "project": "org.codehaus.sonar-plugins.xml:xml",
- "rule": "squid:S1228",
- "status": "CONFIRMED",
- "severity": "MAJOR",
- "message": "Add a 'package-info.java' file to document the 'src/main/java/org/sonar/plugins/xml' package",
- "debt": "20min",
- "creationDate": "2014-10-03T23:26:37+0200",
- "updateDate": "2014-10-09T06:32:55+0200",
- "fUpdateAge": "26 days",
- "tags": [
- "security",
- "cwe"
- ],
- "actions": [
- "comment",
- "assign",
- "assign_to_me",
- "plan",
- "set_severity",
- "set_tags"
- ],
- "transitions": [
- "unconfirm",
- "resolve",
- "falsepositive"
- ]
- }
- ],
- "rules": [
- {
- "key": "squid:S1228",
- "name": "Packages should have a javadoc file 'package-info.java'",
- "desc": "<p>Each package in a Java project should include a <code>package-info.java</code> file. The purpose of this file is to document the Java package using javadoc and declare package annotations.</p>\n\n<h2>Compliant Solution</h2>\n<pre>\n/**\n* This package has non null parameters and is documented.\n**/\n@ParametersAreNonnullByDefault\npackage org.foo.bar;\n</pre>",
- "status": "REMOVED"
- }
- ],
- "users": [],
- "languages": [
- {
- "key": "js",
- "name": "JavaScript"
- },
- {
- "key": "java",
- "name": "Java"
- }
- ],
- "maxResultsReached": false,
- "paging": {
- "pageIndex": 1,
- "pageSize": 50,
- "total": 1,
- "fTotal": "1",
- "pages": 1
- },
- "facets": [
- {
- "property": "severities",
- "values": [
- {
- "val": "MAJOR",
- "count": 1
- },
- {
- "val": "INFO",
- "count": 0
- },
- {
- "val": "MINOR",
- "count": 0
- },
- {
- "val": "CRITICAL",
- "count": 0
- },
- {
- "val": "BLOCKER",
- "count": 0
- }
- ]
- },
- {
- "property": "statuses",
- "values": [
- {
- "val": "CONFIRMED",
- "count": 1
- },
- {
- "val": "OPEN",
- "count": 0
- },
- {
- "val": "REOPENED",
- "count": 0
- },
- {
- "val": "CLOSED",
- "count": 0
- },
- {
- "val": "RESOLVED",
- "count": 0
- }
- ]
- },
- {
- "property": "resolutions",
- "values": [
- {
- "val": "",
- "count": 1
- },
- {
- "val": "FIXED",
- "count": 0
- },
- {
- "val": "REMOVED",
- "count": 0
- },
- {
- "val": "FALSE-POSITIVE",
- "count": 0
- }
- ]
- }
- ]
-}
+++ /dev/null
-{
- "total": 4623,
- "p": 1,
- "ps": 50,
- "projects": [
- {
- "uuid": "015c6451-1709-4360-b4fa-e4508e13082d",
- "key": "org.codehaus.sonar-plugins.xml:xml",
- "id": 17156,
- "qualifier": "TRK",
- "name": "XML",
- "longName": "XML"
- },
- {
- "uuid": "071bdfec-a244-444d-877e-772a68973e18",
- "key": "com.sonarsource.plugins.vb:vb",
- "id": 28554,
- "qualifier": "TRK",
- "name": "SonarSource :: Visual Basic",
- "longName": "SonarSource :: Visual Basic"
- }
- ],
- "components": [
- {
- "uuid": "367350ce-00c7-461b-8348-c64138515ef9",
- "key": "com.sonarsource.plugins.vb:vb-checks:src/main/java/com/sonar/vb/checks/UnusedPrivateVariableCheck.java",
- "id": 29801,
- "enabled": true,
- "qualifier": "FIL",
- "name": "UnusedPrivateVariableCheck.java",
- "longName": "src/main/java/com/sonar/vb/checks/UnusedPrivateVariableCheck.java",
- "path": "src/main/java/com/sonar/vb/checks/UnusedPrivateVariableCheck.java",
- "projectId": 28554,
- "subProjectId": 29689
- },
- {
- "uuid": "2c39c99e-6c3e-4635-a673-fbd876eb2107",
- "key": "org.codehaus.sonar-plugins.xml:xml-squid:src/main/java/org/sonar/xml/CDataDocTokenizer.java",
- "id": 19130,
- "enabled": true,
- "qualifier": "FIL",
- "name": "CDataDocTokenizer.java",
- "longName": "src/main/java/org/sonar/xml/CDataDocTokenizer.java",
- "path": "src/main/java/org/sonar/xml/CDataDocTokenizer.java",
- "projectId": 17156,
- "subProjectId": 17157
- },
- {
- "uuid": "729bcb00-97b2-432d-b36e-06174e0bea26",
- "key": "org.codehaus.sonar-plugins.xml:xml-squid:src/main/java/org/sonar/xml/XmlStartElementTokenizer.java",
- "id": 19132,
- "enabled": true,
- "qualifier": "FIL",
- "name": "XmlStartElementTokenizer.java",
- "longName": "src/main/java/org/sonar/xml/XmlStartElementTokenizer.java",
- "path": "src/main/java/org/sonar/xml/XmlStartElementTokenizer.java",
- "projectId": 17156,
- "subProjectId": 17157
- },
- {
- "uuid": "e1cf7541-9f52-4c9c-864e-85257b6126da",
- "key": "org.codehaus.sonar-plugins.xml:xml-squid:src/main/java/org/sonar/xml/api",
- "id": 26175,
- "enabled": true,
- "qualifier": "DIR",
- "name": "src/main/java/org/sonar/xml/api",
- "longName": "src/main/java/org/sonar/xml/api",
- "path": "src/main/java/org/sonar/xml/api",
- "projectId": 17156,
- "subProjectId": 17157
- },
- {
- "uuid": "23eaa59a-36dd-484d-9cb3-af9ddac0943f",
- "key": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin:src/main/java/org/sonar/plugins/xml/parsers/AbstractParser.java",
- "id": 17191,
- "enabled": true,
- "qualifier": "FIL",
- "name": "AbstractParser.java",
- "longName": "src/main/java/org/sonar/plugins/xml/parsers/AbstractParser.java",
- "path": "src/main/java/org/sonar/plugins/xml/parsers/AbstractParser.java",
- "projectId": 17156,
- "subProjectId": 17158
- },
- {
- "uuid": "730a7d9f-f280-48dd-9a09-de210f5db607",
- "key": "org.codehaus.sonar-plugins.xml:xml-squid:src/main/java/org/sonar/xml",
- "id": 26174,
- "enabled": true,
- "qualifier": "DIR",
- "name": "src/main/java/org/sonar/xml",
- "longName": "src/main/java/org/sonar/xml",
- "path": "src/main/java/org/sonar/xml",
- "projectId": 17156,
- "subProjectId": 17157
- },
- {
- "uuid": "45d36e11-d9ed-4157-8a2c-916d2e131af7",
- "key": "org.codehaus.sonar-plugins.xml:sslr-xml-toolkit",
- "id": 17257,
- "enabled": true,
- "qualifier": "BRC",
- "name": "XML :: SSLR Toolkit",
- "longName": "XML :: SSLR Toolkit",
- "path": "sslr-xml-toolkit",
- "projectId": 17156,
- "subProjectId": 17156
- },
- {
- "uuid": "e3ac3a3e-ac1b-4e3a-8e38-039e06a2ca38",
- "key": "com.sonarsource.plugins.vb:vb-squid:src/main/java/com/sonar/vb/LineContinuationChannel.java",
- "id": 28613,
- "enabled": true,
- "qualifier": "FIL",
- "name": "LineContinuationChannel.java",
- "longName": "src/main/java/com/sonar/vb/LineContinuationChannel.java",
- "path": "src/main/java/com/sonar/vb/LineContinuationChannel.java",
- "projectId": 28554,
- "subProjectId": 28555
- },
- {
- "uuid": "7428200d-ce03-464d-a099-593092cd0291",
- "key": "com.sonarsource.plugins.vb:vb-checks:src/main/java/com/sonar/vb/checks/TrailingCommentCheck.java",
- "id": 29769,
- "enabled": true,
- "qualifier": "FIL",
- "name": "TrailingCommentCheck.java",
- "longName": "src/main/java/com/sonar/vb/checks/TrailingCommentCheck.java",
- "path": "src/main/java/com/sonar/vb/checks/TrailingCommentCheck.java",
- "projectId": 28554,
- "subProjectId": 29689
- },
- {
- "uuid": "966aa6fd-9463-422c-b785-208ad519e4ea",
- "key": "com.sonarsource.plugins.vb:vb-squid:src/main/java/com/sonar/vb/ProgressAstScanner.java",
- "id": 28614,
- "enabled": true,
- "qualifier": "FIL",
- "name": "ProgressAstScanner.java",
- "longName": "src/main/java/com/sonar/vb/ProgressAstScanner.java",
- "path": "src/main/java/com/sonar/vb/ProgressAstScanner.java",
- "projectId": 28554,
- "subProjectId": 28555
- },
- {
- "uuid": "c236560b-b257-4f34-bb7b-3977d178e1ff",
- "key": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin:src/main/java/org/sonar/plugins/xml/checks/AbstractXmlCheck.java",
- "id": 17168,
- "enabled": true,
- "qualifier": "FIL",
- "name": "AbstractXmlCheck.java",
- "longName": "src/main/java/org/sonar/plugins/xml/checks/AbstractXmlCheck.java",
- "path": "src/main/java/org/sonar/plugins/xml/checks/AbstractXmlCheck.java",
- "projectId": 17156,
- "subProjectId": 17158
- },
- {
- "uuid": "26f2099c-664b-424a-b815-c017eb2165b1",
- "key": "com.sonarsource.plugins.vb:vb-checks:src/main/java/com/sonar/vb/checks",
- "id": 29690,
- "enabled": true,
- "qualifier": "DIR",
- "name": "src/main/java/com/sonar/vb/checks",
- "longName": "src/main/java/com/sonar/vb/checks",
- "path": "src/main/java/com/sonar/vb/checks",
- "projectId": 28554,
- "subProjectId": 29689
- },
- {
- "uuid": "4adacc63-7447-4bb1-95ae-1cc5102e8335",
- "key": "com.sonarsource.plugins.vb:vb-checks",
- "id": 29689,
- "enabled": true,
- "qualifier": "BRC",
- "name": "SonarSource :: Visual Basic :: Checks",
- "longName": "SonarSource :: Visual Basic :: Checks",
- "path": "vb-checks",
- "projectId": 28554,
- "subProjectId": 28554
- },
- {
- "uuid": "fa92c266-befe-460c-8bad-1ff13b918ec5",
- "key": "com.sonarsource.plugins.vb:vb-squid:src/main/java/com/sonar/vb",
- "id": 28611,
- "enabled": true,
- "qualifier": "DIR",
- "name": "src/main/java/com/sonar/vb",
- "longName": "src/main/java/com/sonar/vb",
- "path": "src/main/java/com/sonar/vb",
- "projectId": 28554,
- "subProjectId": 28555
- },
- {
- "uuid": "e92b1510-91c3-4479-8714-44fa3a139f7c",
- "key": "com.sonarsource.plugins.vb:sonar-vb-plugin",
- "id": 28610,
- "enabled": true,
- "qualifier": "BRC",
- "name": "SonarSource :: Visual Basic :: Sonar Plugin",
- "longName": "SonarSource :: Visual Basic :: Sonar Plugin",
- "path": "sonar-vb-plugin",
- "projectId": 28554,
- "subProjectId": 28554
- },
- {
- "uuid": "1f609143-c6a4-4f76-ac38-370d349feaf7",
- "key": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin:src/main/java/org/sonar/plugins/xml/schemas",
- "id": 26182,
- "enabled": true,
- "qualifier": "DIR",
- "name": "src/main/java/org/sonar/plugins/xml/schemas",
- "longName": "src/main/java/org/sonar/plugins/xml/schemas",
- "path": "src/main/java/org/sonar/plugins/xml/schemas",
- "projectId": 17156,
- "subProjectId": 17158
- },
- {
- "uuid": "7abb4d57-160a-41ba-927f-b53603e843b8",
- "key": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin:src/main/java/org/sonar/plugins/xml/schemas/SchemaResolver.java",
- "id": 17178,
- "enabled": true,
- "qualifier": "FIL",
- "name": "SchemaResolver.java",
- "longName": "src/main/java/org/sonar/plugins/xml/schemas/SchemaResolver.java",
- "path": "src/main/java/org/sonar/plugins/xml/schemas/SchemaResolver.java",
- "projectId": 17156,
- "subProjectId": 17158
- },
- {
- "uuid": "c960a7a1-e078-47de-8a31-167b0f774002",
- "key": "org.codehaus.sonar-plugins.xml:sslr-xml-toolkit:src/main/java/org/sonar/xml/toolkit",
- "id": 26183,
- "enabled": true,
- "qualifier": "DIR",
- "name": "src/main/java/org/sonar/xml/toolkit",
- "longName": "src/main/java/org/sonar/xml/toolkit",
- "path": "src/main/java/org/sonar/xml/toolkit",
- "projectId": 17156,
- "subProjectId": 17257
- },
- {
- "uuid": "7d14bd3e-33b7-4b0f-ade5-cf6cef0085b9",
- "key": "com.sonarsource.plugins.vb:vb-squid",
- "id": 28555,
- "enabled": true,
- "qualifier": "BRC",
- "name": "SonarSource :: Visual Basic :: Squid",
- "longName": "SonarSource :: Visual Basic :: Squid",
- "path": "vb-squid",
- "projectId": 28554,
- "subProjectId": 28554
- },
- {
- "uuid": "d9716626-0952-4ec7-a8fb-2760ba3256a3",
- "key": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin:src/main/java/org/sonar/plugins/xml/parsers",
- "id": 26180,
- "enabled": true,
- "qualifier": "DIR",
- "name": "src/main/java/org/sonar/plugins/xml/parsers",
- "longName": "src/main/java/org/sonar/plugins/xml/parsers",
- "path": "src/main/java/org/sonar/plugins/xml/parsers",
- "projectId": 17156,
- "subProjectId": 17158
- },
- {
- "uuid": "071bdfec-a244-444d-877e-772a68973e18",
- "key": "com.sonarsource.plugins.vb:vb",
- "id": 28554,
- "enabled": true,
- "qualifier": "TRK",
- "name": "SonarSource :: Visual Basic",
- "longName": "SonarSource :: Visual Basic"
- },
- {
- "uuid": "99d31cea-6b8f-4fb6-ba87-c86ce8d339cf",
- "key": "com.sonarsource.plugins.vb:vb-squid:src/main/java/com/sonar/vb/api",
- "id": 28622,
- "enabled": true,
- "qualifier": "DIR",
- "name": "src/main/java/com/sonar/vb/api",
- "longName": "src/main/java/com/sonar/vb/api",
- "path": "src/main/java/com/sonar/vb/api",
- "projectId": 28554,
- "subProjectId": 28555
- },
- {
- "uuid": "26facc1b-fd2b-4fe4-a543-65e9ec692360",
- "key": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin:src/main/java/org/sonar/plugins/xml/rules",
- "id": 26181,
- "enabled": true,
- "qualifier": "DIR",
- "name": "src/main/java/org/sonar/plugins/xml/rules",
- "longName": "src/main/java/org/sonar/plugins/xml/rules",
- "path": "src/main/java/org/sonar/plugins/xml/rules",
- "projectId": 17156,
- "subProjectId": 17158
- },
- {
- "uuid": "d789993b-c5fe-414b-9164-33871fd3c3c2",
- "key": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin:src/main/java/org/sonar/plugins/xml/checks",
- "id": 26178,
- "enabled": true,
- "qualifier": "DIR",
- "name": "src/main/java/org/sonar/plugins/xml/checks",
- "longName": "src/main/java/org/sonar/plugins/xml/checks",
- "path": "src/main/java/org/sonar/plugins/xml/checks",
- "projectId": 17156,
- "subProjectId": 17158
- },
- {
- "uuid": "91715de9-47ed-4837-a51b-4dcead30a71c",
- "key": "com.sonarsource.plugins.vb:sonar-vb-plugin:src/main/java/com/sonar/vb/plugin",
- "id": 28952,
- "enabled": true,
- "qualifier": "DIR",
- "name": "src/main/java/com/sonar/vb/plugin",
- "longName": "src/main/java/com/sonar/vb/plugin",
- "path": "src/main/java/com/sonar/vb/plugin",
- "projectId": 28554,
- "subProjectId": 28610
- },
- {
- "uuid": "3c338bdb-39c9-4cb8-9b13-2e08358047d6",
- "key": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin:src/main/java/org/sonar/plugins/xml/language",
- "id": 26179,
- "enabled": true,
- "qualifier": "DIR",
- "name": "src/main/java/org/sonar/plugins/xml/language",
- "longName": "src/main/java/org/sonar/plugins/xml/language",
- "path": "src/main/java/org/sonar/plugins/xml/language",
- "projectId": 17156,
- "subProjectId": 17158
- },
- {
- "uuid": "639e257b-d3fb-4d10-b94a-31079b71532d",
- "key": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin:src/main/java/org/sonar/plugins/xml",
- "id": 26177,
- "enabled": true,
- "qualifier": "DIR",
- "name": "src/main/java/org/sonar/plugins/xml",
- "longName": "src/main/java/org/sonar/plugins/xml",
- "path": "src/main/java/org/sonar/plugins/xml",
- "projectId": 17156,
- "subProjectId": 17158
- },
- {
- "uuid": "08bafb36-5990-4f10-821c-534dc451d297",
- "key": "com.sonarsource.plugins.vb:vb-checks:src/main/java/com/sonar/vb/checks/NumberedLineProcessor.java",
- "id": 29907,
- "enabled": true,
- "qualifier": "FIL",
- "name": "NumberedLineProcessor.java",
- "longName": "src/main/java/com/sonar/vb/checks/NumberedLineProcessor.java",
- "path": "src/main/java/com/sonar/vb/checks/NumberedLineProcessor.java",
- "projectId": 28554,
- "subProjectId": 29689
- },
- {
- "uuid": "e3bb947b-9385-4972-8367-f69beb488d21",
- "key": "com.sonarsource.plugins.vb:vb-squid:src/main/java/com/sonar/vb/metrics/LinesOfCodeVisitor.java",
- "id": 28629,
- "enabled": true,
- "qualifier": "FIL",
- "name": "LinesOfCodeVisitor.java",
- "longName": "src/main/java/com/sonar/vb/metrics/LinesOfCodeVisitor.java",
- "path": "src/main/java/com/sonar/vb/metrics/LinesOfCodeVisitor.java",
- "projectId": 28554,
- "subProjectId": 28555
- },
- {
- "uuid": "dd9c314f-0c19-498d-9e16-67ef0b49486e",
- "key": "com.sonarsource.plugins.vb:sonar-vb-plugin:src/main/java/com/sonar/vb/colorizer",
- "id": 28932,
- "enabled": true,
- "qualifier": "DIR",
- "name": "src/main/java/com/sonar/vb/colorizer",
- "longName": "src/main/java/com/sonar/vb/colorizer",
- "path": "src/main/java/com/sonar/vb/colorizer",
- "projectId": 28554,
- "subProjectId": 28610
- },
- {
- "uuid": "9d771010-5d4f-49ed-9f70-ff131189610d",
- "key": "com.sonarsource.plugins.vb:vb-squid:src/main/java/com/sonar/vb/pp",
- "id": 28630,
- "enabled": true,
- "qualifier": "DIR",
- "name": "src/main/java/com/sonar/vb/pp",
- "longName": "src/main/java/com/sonar/vb/pp",
- "path": "src/main/java/com/sonar/vb/pp",
- "projectId": 28554,
- "subProjectId": 28555
- },
- {
- "uuid": "8597e351-39d2-4b17-8422-00409d21bccd",
- "key": "com.sonarsource.plugins.vb:sonar-vb-plugin:src/main/java/com/sonar/vb/cpd",
- "id": 28935,
- "enabled": true,
- "qualifier": "DIR",
- "name": "src/main/java/com/sonar/vb/cpd",
- "longName": "src/main/java/com/sonar/vb/cpd",
- "path": "src/main/java/com/sonar/vb/cpd",
- "projectId": 28554,
- "subProjectId": 28610
- },
- {
- "uuid": "9d44133a-d633-48b4-a54b-800df905a1fd",
- "key": "com.sonarsource.plugins.vb:vb-squid:src/main/java/com/sonar/vb/pp/EmptyLinesRemovalPreprocessor.java",
- "id": 28631,
- "enabled": true,
- "qualifier": "FIL",
- "name": "EmptyLinesRemovalPreprocessor.java",
- "longName": "src/main/java/com/sonar/vb/pp/EmptyLinesRemovalPreprocessor.java",
- "path": "src/main/java/com/sonar/vb/pp/EmptyLinesRemovalPreprocessor.java",
- "projectId": 28554,
- "subProjectId": 28555
- },
- {
- "uuid": "b6d552ca-aabe-499b-9c72-18247177ae68",
- "key": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin",
- "id": 17158,
- "enabled": true,
- "qualifier": "BRC",
- "name": "XML :: SonarQube Plugin",
- "longName": "XML :: SonarQube Plugin",
- "path": "sonar-xml-plugin",
- "projectId": 17156,
- "subProjectId": 17156
- },
- {
- "uuid": "2e9ae8fd-fa5c-48a4-a0f6-1eaba1c38a2f",
- "key": "com.sonarsource.plugins.vb:sonar-vb-plugin:src/main/java/com/sonar/vb/batch",
- "id": 28928,
- "enabled": true,
- "qualifier": "DIR",
- "name": "src/main/java/com/sonar/vb/batch",
- "longName": "src/main/java/com/sonar/vb/batch",
- "path": "src/main/java/com/sonar/vb/batch",
- "projectId": 28554,
- "subProjectId": 28610
- },
- {
- "uuid": "015c6451-1709-4360-b4fa-e4508e13082d",
- "key": "org.codehaus.sonar-plugins.xml:xml",
- "id": 17156,
- "enabled": true,
- "qualifier": "TRK",
- "name": "XML",
- "longName": "XML"
- },
- {
- "uuid": "1bb3f177-d173-469e-a178-6ae8078bd765",
- "key": "com.sonarsource.plugins.vb:vb-squid:src/main/java/com/sonar/vb/metrics",
- "id": 28626,
- "enabled": true,
- "qualifier": "DIR",
- "name": "src/main/java/com/sonar/vb/metrics",
- "longName": "src/main/java/com/sonar/vb/metrics",
- "path": "src/main/java/com/sonar/vb/metrics",
- "projectId": 28554,
- "subProjectId": 28555
- },
- {
- "uuid": "216ebdfc-9fc9-4c06-9f14-859d051fae69",
- "key": "org.codehaus.sonar-plugins.xml:xml-squid",
- "id": 17157,
- "enabled": true,
- "qualifier": "BRC",
- "name": "XML :: Squid",
- "longName": "XML :: Squid",
- "path": "xml-squid",
- "projectId": 17156,
- "subProjectId": 17156
- },
- {
- "uuid": "aad717d1-12f5-48c0-9273-0c9aac102467",
- "key": "com.sonarsource.plugins.vb:vb-squid:src/main/java/com/sonar/vb/metrics/CommentsVisitor.java",
- "id": 28627,
- "enabled": true,
- "qualifier": "FIL",
- "name": "CommentsVisitor.java",
- "longName": "src/main/java/com/sonar/vb/metrics/CommentsVisitor.java",
- "path": "src/main/java/com/sonar/vb/metrics/CommentsVisitor.java",
- "projectId": 28554,
- "subProjectId": 28555
- },
- {
- "uuid": "53ecdff7-a6af-4cc9-b30c-7656a33cf732",
- "key": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin:src/main/java/org/sonar/plugins/xml/checks/XPathCheck.java",
- "id": 17162,
- "enabled": true,
- "qualifier": "FIL",
- "name": "XPathCheck.java",
- "longName": "src/main/java/org/sonar/plugins/xml/checks/XPathCheck.java",
- "path": "src/main/java/org/sonar/plugins/xml/checks/XPathCheck.java",
- "projectId": 17156,
- "subProjectId": 17158
- },
- {
- "uuid": "d8f590fb-5a56-49a9-991c-4c9d4ec5a7fe",
- "key": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin:src/main/java/org/sonar/plugins/xml/checks/IndentCheck.java",
- "id": 17163,
- "enabled": true,
- "qualifier": "FIL",
- "name": "IndentCheck.java",
- "longName": "src/main/java/org/sonar/plugins/xml/checks/IndentCheck.java",
- "path": "src/main/java/org/sonar/plugins/xml/checks/IndentCheck.java",
- "projectId": 17156,
- "subProjectId": 17158
- },
- {
- "uuid": "7d79ad61-0f0a-449a-bdce-fd544c8d8d27",
- "key": "org.codehaus.sonar-plugins.xml:xml-squid:src/main/java/org/sonar/xml/api/XmlGrammar.java",
- "id": 17160,
- "enabled": true,
- "qualifier": "FIL",
- "name": "XmlGrammar.java",
- "longName": "src/main/java/org/sonar/xml/api/XmlGrammar.java",
- "path": "src/main/java/org/sonar/xml/api/XmlGrammar.java",
- "projectId": 17156,
- "subProjectId": 17157
- },
- {
- "uuid": "be763c66-8400-432d-9e84-bc2e9d6e164c",
- "key": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin:src/main/java/org/sonar/plugins/xml/checks/NewlineCheck.java",
- "id": 17166,
- "enabled": true,
- "qualifier": "FIL",
- "name": "NewlineCheck.java",
- "longName": "src/main/java/org/sonar/plugins/xml/checks/NewlineCheck.java",
- "path": "src/main/java/org/sonar/plugins/xml/checks/NewlineCheck.java",
- "projectId": 17156,
- "subProjectId": 17158
- },
- {
- "uuid": "c2c82fc7-073f-449e-bb18-ebbf60ceb1d9",
- "key": "com.sonarsource.plugins.vb:sonar-vb-plugin:src/main/java/com/sonar/vb/cpd/VbCpdTokenizer.java",
- "id": 28937,
- "enabled": true,
- "qualifier": "FIL",
- "name": "VbCpdTokenizer.java",
- "longName": "src/main/java/com/sonar/vb/cpd/VbCpdTokenizer.java",
- "path": "src/main/java/com/sonar/vb/cpd/VbCpdTokenizer.java",
- "projectId": 28554,
- "subProjectId": 28610
- },
- {
- "uuid": "bc2e055a-eb0a-4ba6-8c06-8390bdb2c08a",
- "key": "com.sonarsource.plugins.vb:vb-checks:src/main/java/com/sonar/vb/checks/ExpressionComplexityCheck.java",
- "id": 29783,
- "enabled": true,
- "qualifier": "FIL",
- "name": "ExpressionComplexityCheck.java",
- "longName": "src/main/java/com/sonar/vb/checks/ExpressionComplexityCheck.java",
- "path": "src/main/java/com/sonar/vb/checks/ExpressionComplexityCheck.java",
- "projectId": 28554,
- "subProjectId": 29689
- },
- {
- "uuid": "7bbe651e-5b83-4002-9fa9-79397693d529",
- "key": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin:src/main/java/org/sonar/plugins/xml/checks/XmlSchemaCheck.java",
- "id": 17164,
- "enabled": true,
- "qualifier": "FIL",
- "name": "XmlSchemaCheck.java",
- "longName": "src/main/java/org/sonar/plugins/xml/checks/XmlSchemaCheck.java",
- "path": "src/main/java/org/sonar/plugins/xml/checks/XmlSchemaCheck.java",
- "projectId": 17156,
- "subProjectId": 17158
- },
- {
- "uuid": "2dc0e6d7-09b9-4f99-a25e-acf288b26581",
- "key": "com.sonarsource.plugins.vb:sonar-vb-plugin:src/main/java/com/sonar/vb/foundation",
- "id": 28938,
- "enabled": true,
- "qualifier": "DIR",
- "name": "src/main/java/com/sonar/vb/foundation",
- "longName": "src/main/java/com/sonar/vb/foundation",
- "path": "src/main/java/com/sonar/vb/foundation",
- "projectId": 28554,
- "subProjectId": 28610
- }
- ],
- "issues": [
- {
- "key": "94357807-fcb4-40cc-9598-9a715f1eee6e",
- "component": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin:src/main/java/org/sonar/plugins/xml",
- "componentId": 26177,
- "project": "org.codehaus.sonar-plugins.xml:xml",
- "rule": "squid:S1228",
- "status": "CONFIRMED",
- "severity": "MAJOR",
- "message": "Add a 'package-info.java' file to document the 'src/main/java/org/sonar/plugins/xml' package",
- "debt": "20min",
- "creationDate": "2014-10-03T23:26:37+0200",
- "updateDate": "2014-10-09T06:32:55+0200",
- "fUpdateAge": "26 days",
- "actions": [
- "comment",
- "assign",
- "assign_to_me",
- "plan",
- "set_severity"
- ],
- "transitions": [
- "unconfirm",
- "resolve",
- "falsepositive"
- ]
- },
- {
- "key": "c24088ec-b204-4744-827e-7509fd34c2a7",
- "component": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin:src/main/java/org/sonar/plugins/xml/checks",
- "componentId": 26178,
- "project": "org.codehaus.sonar-plugins.xml:xml",
- "rule": "squid:S1228",
- "status": "CONFIRMED",
- "severity": "MAJOR",
- "message": "Add a 'package-info.java' file to document the 'src/main/java/org/sonar/plugins/xml/checks' package",
- "debt": "20min",
- "creationDate": "2014-10-03T23:26:37+0200",
- "updateDate": "2014-10-09T06:33:02+0200",
- "fUpdateAge": "26 days",
- "actions": [
- "comment",
- "assign",
- "assign_to_me",
- "plan",
- "set_severity"
- ],
- "transitions": [
- "unconfirm",
- "resolve",
- "falsepositive"
- ]
- },
- {
- "key": "e5f8e82a-2765-4084-ba57-4a81ee8da1df",
- "component": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin:src/main/java/org/sonar/plugins/xml/checks/AbstractXmlCheck.java",
- "componentId": 17168,
- "project": "org.codehaus.sonar-plugins.xml:xml",
- "rule": "common-java:InsufficientBranchCoverage",
- "status": "CONFIRMED",
- "severity": "MAJOR",
- "message": "1 more branches need to be covered by unit tests to reach the minimum threshold of 65.0% branch coverage.",
- "debt": "10min",
- "creationDate": "2013-02-05T00:47:29+0100",
- "updateDate": "2014-02-14T23:34:11+0100",
- "fUpdateAge": "8 months",
- "actions": [
- "comment",
- "assign",
- "assign_to_me",
- "plan",
- "set_severity"
- ],
- "transitions": [
- "unconfirm",
- "resolve",
- "falsepositive"
- ]
- },
- {
- "key": "56f021c3-b717-4cc8-9fad-5f1911a8d66f",
- "component": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin:src/main/java/org/sonar/plugins/xml/checks/IndentCheck.java",
- "componentId": 17163,
- "project": "org.codehaus.sonar-plugins.xml:xml",
- "rule": "squid:MethodCyclomaticComplexity",
- "status": "CONFIRMED",
- "severity": "MAJOR",
- "message": "The Cyclomatic Complexity of this method \"collectIndent\" is 13 which is greater than 10 authorized.",
- "line": 47,
- "debt": "10min",
- "author": "Evgeny Mandrikov",
- "creationDate": "2013-02-05T00:47:29+0100",
- "updateDate": "2013-12-18T23:52:20+0100",
- "fUpdateAge": "10 months",
- "actions": [
- "comment",
- "assign",
- "assign_to_me",
- "plan",
- "set_severity"
- ],
- "transitions": [
- "unconfirm",
- "resolve",
- "falsepositive"
- ]
- },
- {
- "key": "b32333fe-7efd-4bc8-a72b-bad90361af1a",
- "component": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin:src/main/java/org/sonar/plugins/xml/checks/IndentCheck.java",
- "componentId": 17163,
- "project": "org.codehaus.sonar-plugins.xml:xml",
- "rule": "squid:S1151",
- "status": "CONFIRMED",
- "severity": "MAJOR",
- "message": "Reduce this switch case number of lines from 26 to at most 5, for example by extracting code into methods.",
- "line": 54,
- "debt": "10min",
- "author": "Evgeny Mandrikov",
- "creationDate": "2013-08-11T00:06:49+0200",
- "updateDate": "2013-10-23T15:15:05+0200",
- "fUpdateAge": "about a year",
- "actions": [
- "comment",
- "assign",
- "assign_to_me",
- "plan",
- "set_severity"
- ],
- "transitions": [
- "unconfirm",
- "resolve",
- "falsepositive"
- ]
- },
- {
- "key": "2174148b-6be9-4213-8f57-c63576904e9e",
- "component": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin:src/main/java/org/sonar/plugins/xml/checks/IndentCheck.java",
- "componentId": 17163,
- "project": "org.codehaus.sonar-plugins.xml:xml",
- "rule": "squid:S134",
- "status": "CONFIRMED",
- "severity": "MINOR",
- "message": "Refactor this code to not nest more than 4 if/for/while/switch/try statements.",
- "line": 59,
- "debt": "20min",
- "author": "mandrikov@gmail.com",
- "creationDate": "2013-10-18T23:46:56+0200",
- "updateDate": "2013-12-18T23:52:20+0100",
- "fUpdateAge": "10 months",
- "actions": [
- "comment",
- "assign",
- "assign_to_me",
- "plan",
- "set_severity"
- ],
- "transitions": [
- "unconfirm",
- "resolve",
- "falsepositive"
- ]
- },
- {
- "key": "633c9ba7-b757-4bdf-9e91-ff2ccbc9dd74",
- "component": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin:src/main/java/org/sonar/plugins/xml/checks/NewlineCheck.java",
- "componentId": 17166,
- "project": "org.codehaus.sonar-plugins.xml:xml",
- "rule": "squid:S1151",
- "status": "CONFIRMED",
- "severity": "MAJOR",
- "message": "Reduce this switch case number of lines from 9 to at most 5, for example by extracting code into methods.",
- "line": 49,
- "debt": "10min",
- "author": "Evgeny Mandrikov",
- "creationDate": "2013-08-11T00:06:49+0200",
- "updateDate": "2013-10-23T15:15:05+0200",
- "fUpdateAge": "about a year",
- "actions": [
- "comment",
- "assign",
- "assign_to_me",
- "plan",
- "set_severity"
- ],
- "transitions": [
- "unconfirm",
- "resolve",
- "falsepositive"
- ]
- },
- {
- "key": "63f5037f-a060-4cec-820a-25221a4cc313",
- "component": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin:src/main/java/org/sonar/plugins/xml/checks/NewlineCheck.java",
- "componentId": 17166,
- "project": "org.codehaus.sonar-plugins.xml:xml",
- "rule": "squid:S1151",
- "status": "CONFIRMED",
- "severity": "MAJOR",
- "message": "Reduce this switch case number of lines from 6 to at most 5, for example by extracting code into methods.",
- "line": 58,
- "debt": "10min",
- "author": "Evgeny Mandrikov",
- "creationDate": "2013-08-13T23:58:09+0200",
- "updateDate": "2013-10-23T15:15:05+0200",
- "fUpdateAge": "about a year",
- "actions": [
- "comment",
- "assign",
- "assign_to_me",
- "plan",
- "set_severity"
- ],
- "transitions": [
- "unconfirm",
- "resolve",
- "falsepositive"
- ]
- },
- {
- "key": "bf75fe08-7ddc-4c69-989d-7e5b83cee043",
- "component": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin:src/main/java/org/sonar/plugins/xml/checks/XmlSchemaCheck.java",
- "componentId": 17164,
- "project": "org.codehaus.sonar-plugins.xml:xml",
- "rule": "squid:RightCurlyBraceSameLineAsNextBlockCheck",
- "status": "CONFIRMED",
- "severity": "MAJOR",
- "message": "Move this \"else\" on the same line that the previous closing curly brace.",
- "line": 167,
- "debt": "1min",
- "author": "Evgeny Mandrikov",
- "creationDate": "2013-08-07T23:58:51+0200",
- "updateDate": "2013-10-23T15:15:05+0200",
- "fUpdateAge": "about a year",
- "actions": [
- "comment",
- "assign",
- "assign_to_me",
- "plan",
- "set_severity"
- ],
- "transitions": [
- "unconfirm",
- "resolve",
- "falsepositive"
- ]
- },
- {
- "key": "6d6e64ae-94cd-4367-a9bc-df51093a6468",
- "component": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin:src/main/java/org/sonar/plugins/xml/checks/XmlSchemaCheck.java",
- "componentId": 17164,
- "project": "org.codehaus.sonar-plugins.xml:xml",
- "rule": "common-java:InsufficientBranchCoverage",
- "status": "CONFIRMED",
- "severity": "MAJOR",
- "message": "5 more branches need to be covered by unit tests to reach the minimum threshold of 65.0% branch coverage.",
- "debt": "50min",
- "creationDate": "2013-02-05T00:47:29+0100",
- "updateDate": "2014-06-06T15:53:08+0200",
- "fUpdateAge": "5 months",
- "actions": [
- "comment",
- "assign",
- "assign_to_me",
- "plan",
- "set_severity"
- ],
- "transitions": [
- "unconfirm",
- "resolve",
- "falsepositive"
- ]
- },
- {
- "key": "5ddc1783-3c72-4f68-bbd1-d2d1fad425eb",
- "component": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin:src/main/java/org/sonar/plugins/xml/checks/XPathCheck.java",
- "componentId": 17162,
- "project": "org.codehaus.sonar-plugins.xml:xml",
- "rule": "common-java:InsufficientBranchCoverage",
- "status": "CONFIRMED",
- "severity": "MAJOR",
- "message": "1 more branches need to be covered by unit tests to reach the minimum threshold of 65.0% branch coverage.",
- "debt": "10min",
- "creationDate": "2014-06-06T15:53:08+0200",
- "updateDate": "2014-06-06T16:53:27+0200",
- "fUpdateAge": "5 months",
- "actions": [
- "comment",
- "assign",
- "assign_to_me",
- "plan",
- "set_severity"
- ],
- "transitions": [
- "unconfirm",
- "resolve",
- "falsepositive"
- ]
- },
- {
- "key": "f0853649-fe5e-4c6c-92b9-42ad460fcc0f",
- "component": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin:src/main/java/org/sonar/plugins/xml/language",
- "componentId": 26179,
- "project": "org.codehaus.sonar-plugins.xml:xml",
- "rule": "squid:S1228",
- "status": "CONFIRMED",
- "severity": "MAJOR",
- "message": "Add a 'package-info.java' file to document the 'src/main/java/org/sonar/plugins/xml/language' package",
- "debt": "20min",
- "creationDate": "2014-10-03T23:26:37+0200",
- "updateDate": "2014-10-09T06:32:43+0200",
- "fUpdateAge": "26 days",
- "actions": [
- "comment",
- "assign",
- "assign_to_me",
- "plan",
- "set_severity"
- ],
- "transitions": [
- "unconfirm",
- "resolve",
- "falsepositive"
- ]
- },
- {
- "key": "24f4c570-a96d-42ea-a99e-60aded51d69c",
- "component": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin:src/main/java/org/sonar/plugins/xml/parsers",
- "componentId": 26180,
- "project": "org.codehaus.sonar-plugins.xml:xml",
- "rule": "squid:S1228",
- "status": "CONFIRMED",
- "severity": "MAJOR",
- "message": "Add a 'package-info.java' file to document the 'src/main/java/org/sonar/plugins/xml/parsers' package",
- "debt": "20min",
- "creationDate": "2014-10-03T23:26:37+0200",
- "updateDate": "2014-10-09T06:32:48+0200",
- "fUpdateAge": "26 days",
- "actions": [
- "comment",
- "assign",
- "assign_to_me",
- "plan",
- "set_severity"
- ],
- "transitions": [
- "unconfirm",
- "resolve",
- "falsepositive"
- ]
- },
- {
- "key": "aeeb9e4e-fd39-4b7e-a482-36d9da710127",
- "component": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin:src/main/java/org/sonar/plugins/xml/parsers/AbstractParser.java",
- "componentId": 17191,
- "project": "org.codehaus.sonar-plugins.xml:xml",
- "rule": "squid:S1694",
- "status": "OPEN",
- "severity": "MAJOR",
- "message": "Convert this \"AbstractParser\" class to a concrete class with a private constructor",
- "line": 33,
- "debt": "5min",
- "author": "matthijs.galesloot@gmail.com",
- "creationDate": "2014-06-26T23:08:13+0200",
- "updateDate": "2014-07-23T23:07:58+0200",
- "fUpdateAge": "3 months",
- "actions": [
- "comment",
- "assign",
- "assign_to_me",
- "plan",
- "set_severity"
- ],
- "transitions": [
- "confirm",
- "resolve",
- "falsepositive"
- ]
- },
- {
- "key": "66a25a73-b555-4c35-8bc5-536da40a3493",
- "component": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin:src/main/java/org/sonar/plugins/xml/rules",
- "componentId": 26181,
- "project": "org.codehaus.sonar-plugins.xml:xml",
- "rule": "squid:S1228",
- "status": "CONFIRMED",
- "severity": "MAJOR",
- "message": "Add a 'package-info.java' file to document the 'src/main/java/org/sonar/plugins/xml/rules' package",
- "debt": "20min",
- "creationDate": "2014-10-03T23:26:37+0200",
- "updateDate": "2014-10-09T06:33:03+0200",
- "fUpdateAge": "26 days",
- "actions": [
- "comment",
- "assign",
- "assign_to_me",
- "plan",
- "set_severity"
- ],
- "transitions": [
- "unconfirm",
- "resolve",
- "falsepositive"
- ]
- },
- {
- "key": "89695ec6-63c2-457f-966b-b2cfd7ad8489",
- "component": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin:src/main/java/org/sonar/plugins/xml/schemas",
- "componentId": 26182,
- "project": "org.codehaus.sonar-plugins.xml:xml",
- "rule": "squid:S1228",
- "status": "CONFIRMED",
- "severity": "MAJOR",
- "message": "Add a 'package-info.java' file to document the 'src/main/java/org/sonar/plugins/xml/schemas' package",
- "debt": "20min",
- "creationDate": "2014-10-03T23:26:37+0200",
- "updateDate": "2014-10-09T06:32:50+0200",
- "fUpdateAge": "26 days",
- "actions": [
- "comment",
- "assign",
- "assign_to_me",
- "plan",
- "set_severity"
- ],
- "transitions": [
- "unconfirm",
- "resolve",
- "falsepositive"
- ]
- },
- {
- "key": "3ac6d2e6-6af2-435f-abc7-b281f3676d34",
- "component": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin:src/main/java/org/sonar/plugins/xml/schemas/SchemaResolver.java",
- "componentId": 17178,
- "project": "org.codehaus.sonar-plugins.xml:xml",
- "rule": "squid:S1192",
- "status": "CONFIRMED",
- "severity": "MINOR",
- "message": "Define a constant instead of duplicating this literal \"xhtml1/xhtml1-strict.xsd\" 3 times.",
- "line": 58,
- "debt": "10min",
- "author": "Evgeny Mandrikov",
- "creationDate": "2013-08-22T23:52:06+0200",
- "updateDate": "2014-04-24T23:32:18+0200",
- "fUpdateAge": "6 months",
- "actions": [
- "comment",
- "assign",
- "assign_to_me",
- "plan",
- "set_severity"
- ],
- "transitions": [
- "unconfirm",
- "resolve",
- "falsepositive"
- ]
- },
- {
- "key": "39942422-fbc2-4383-81fe-82777eb3ce7f",
- "component": "org.codehaus.sonar-plugins.xml:xml-squid:src/main/java/org/sonar/xml",
- "componentId": 26174,
- "project": "org.codehaus.sonar-plugins.xml:xml",
- "rule": "squid:S1228",
- "status": "CONFIRMED",
- "severity": "MAJOR",
- "message": "Add a 'package-info.java' file to document the 'src/main/java/org/sonar/xml' package",
- "debt": "20min",
- "creationDate": "2014-10-03T23:26:37+0200",
- "updateDate": "2014-10-09T06:33:07+0200",
- "fUpdateAge": "26 days",
- "actions": [
- "comment",
- "assign",
- "assign_to_me",
- "plan",
- "set_severity"
- ],
- "transitions": [
- "unconfirm",
- "resolve",
- "falsepositive"
- ]
- },
- {
- "key": "e44fb44e-df1c-460a-b807-66ff79e21194",
- "component": "org.codehaus.sonar-plugins.xml:xml-squid:src/main/java/org/sonar/xml/api",
- "componentId": 26175,
- "project": "org.codehaus.sonar-plugins.xml:xml",
- "rule": "squid:S1228",
- "status": "CONFIRMED",
- "severity": "MAJOR",
- "message": "Add a 'package-info.java' file to document the 'src/main/java/org/sonar/xml/api' package",
- "debt": "20min",
- "creationDate": "2014-10-03T23:26:37+0200",
- "updateDate": "2014-10-09T06:32:52+0200",
- "fUpdateAge": "26 days",
- "actions": [
- "comment",
- "assign",
- "assign_to_me",
- "plan",
- "set_severity"
- ],
- "transitions": [
- "unconfirm",
- "resolve",
- "falsepositive"
- ]
- },
- {
- "key": "08f9aedf-5119-4875-8e58-260bfc2e3f69",
- "component": "org.codehaus.sonar-plugins.xml:xml-squid:src/main/java/org/sonar/xml/api/XmlGrammar.java",
- "componentId": 17160,
- "project": "org.codehaus.sonar-plugins.xml:xml",
- "rule": "squid:S138",
- "status": "CONFIRMED",
- "severity": "MAJOR",
- "message": "This method has 233 lines, which is greater than the 100 lines authorized. Split it into smaller methods.",
- "line": 134,
- "debt": "1h",
- "author": "Dinesh Bolkensteyn",
- "creationDate": "2013-08-22T23:52:06+0200",
- "updateDate": "2013-10-23T15:15:05+0200",
- "fUpdateAge": "about a year",
- "actions": [
- "comment",
- "assign",
- "assign_to_me",
- "plan",
- "set_severity"
- ],
- "transitions": [
- "unconfirm",
- "resolve",
- "falsepositive"
- ]
- },
- {
- "key": "f781c518-83bd-4bd9-8806-c889d0711a39",
- "component": "org.codehaus.sonar-plugins.xml:xml-squid:src/main/java/org/sonar/xml/CDataDocTokenizer.java",
- "componentId": 19130,
- "project": "org.codehaus.sonar-plugins.xml:xml",
- "rule": "squid:S1067",
- "status": "CONFIRMED",
- "severity": "MAJOR",
- "message": "Reduce the number of conditional operators (4) used in the expression (maximum allowed 3).",
- "line": 47,
- "debt": "10min",
- "author": "Dinesh Bolkensteyn",
- "creationDate": "2013-08-28T23:50:16+0200",
- "updateDate": "2013-10-23T15:15:05+0200",
- "fUpdateAge": "about a year",
- "actions": [
- "comment",
- "assign",
- "assign_to_me",
- "plan",
- "set_severity"
- ],
- "transitions": [
- "unconfirm",
- "resolve",
- "falsepositive"
- ]
- },
- {
- "key": "cdde8bbf-9d13-4832-8faa-4d189d79fb6b",
- "component": "org.codehaus.sonar-plugins.xml:xml-squid:src/main/java/org/sonar/xml/CDataDocTokenizer.java",
- "componentId": 19130,
- "project": "org.codehaus.sonar-plugins.xml:xml",
- "rule": "squid:S1698",
- "status": "OPEN",
- "severity": "MAJOR",
- "message": "Change this comparison to use the equals method.",
- "line": 82,
- "debt": "2min",
- "author": "dinesh.bolkensteyn@sonarsource.com",
- "creationDate": "2014-06-26T23:08:13+0200",
- "updateDate": "2014-06-26T23:08:13+0200",
- "fUpdateAge": "4 months",
- "actions": [
- "comment",
- "assign",
- "assign_to_me",
- "plan",
- "set_severity"
- ],
- "transitions": [
- "confirm",
- "resolve",
- "falsepositive"
- ]
- },
- {
- "key": "f9eae4c0-ca44-440f-aeb7-327dca040f57",
- "component": "org.codehaus.sonar-plugins.xml:xml-squid:src/main/java/org/sonar/xml/CDataDocTokenizer.java",
- "componentId": 19130,
- "project": "org.codehaus.sonar-plugins.xml:xml",
- "rule": "common-java:InsufficientBranchCoverage",
- "status": "CONFIRMED",
- "severity": "MAJOR",
- "message": "3 more branches need to be covered by unit tests to reach the minimum threshold of 65.0% branch coverage.",
- "debt": "30min",
- "creationDate": "2013-04-04T15:37:48+0200",
- "updateDate": "2014-02-14T23:34:11+0100",
- "fUpdateAge": "8 months",
- "actions": [
- "comment",
- "assign",
- "assign_to_me",
- "plan",
- "set_severity"
- ],
- "transitions": [
- "unconfirm",
- "resolve",
- "falsepositive"
- ]
- },
- {
- "key": "19516152-0ad2-485a-bc5f-576d19f5dea4",
- "component": "org.codehaus.sonar-plugins.xml:sslr-xml-toolkit:src/main/java/org/sonar/xml/toolkit",
- "componentId": 26183,
- "project": "org.codehaus.sonar-plugins.xml:xml",
- "rule": "squid:S1228",
- "status": "CONFIRMED",
- "severity": "MAJOR",
- "message": "Add a 'package-info.java' file to document the 'src/main/java/org/sonar/xml/toolkit' package",
- "debt": "20min",
- "creationDate": "2014-10-03T23:26:37+0200",
- "updateDate": "2014-10-09T06:33:05+0200",
- "fUpdateAge": "26 days",
- "actions": [
- "comment",
- "assign",
- "assign_to_me",
- "plan",
- "set_severity"
- ],
- "transitions": [
- "unconfirm",
- "resolve",
- "falsepositive"
- ]
- },
- {
- "key": "2c767e87-dd31-4803-b8da-581dddb8b73b",
- "component": "org.codehaus.sonar-plugins.xml:xml-squid:src/main/java/org/sonar/xml/XmlStartElementTokenizer.java",
- "componentId": 19132,
- "project": "org.codehaus.sonar-plugins.xml:xml",
- "rule": "squid:S1142",
- "status": "CONFIRMED",
- "severity": "MAJOR",
- "message": "Reduce the number of returns of this method 7, down to the maximum allowed 5.",
- "line": 74,
- "debt": "20min",
- "author": "Dinesh Bolkensteyn",
- "creationDate": "2013-08-11T00:06:49+0200",
- "updateDate": "2013-10-23T15:15:05+0200",
- "fUpdateAge": "about a year",
- "actions": [
- "comment",
- "assign",
- "assign_to_me",
- "plan",
- "set_severity"
- ],
- "transitions": [
- "unconfirm",
- "resolve",
- "falsepositive"
- ]
- },
- {
- "key": "f8665ff6-6f1b-4014-acb9-2d8cbcd9bd8b",
- "component": "org.codehaus.sonar-plugins.xml:xml-squid:src/main/java/org/sonar/xml/XmlStartElementTokenizer.java",
- "componentId": 19132,
- "project": "org.codehaus.sonar-plugins.xml:xml",
- "rule": "squid:MethodCyclomaticComplexity",
- "status": "CONFIRMED",
- "severity": "MAJOR",
- "message": "The Cyclomatic Complexity of this method \"consumeStartElement\" is 15 which is greater than 10 authorized.",
- "line": 74,
- "debt": "10min",
- "author": "Dinesh Bolkensteyn",
- "creationDate": "2013-04-04T15:37:48+0200",
- "updateDate": "2013-12-18T23:52:20+0100",
- "fUpdateAge": "10 months",
- "actions": [
- "comment",
- "assign",
- "assign_to_me",
- "plan",
- "set_severity"
- ],
- "transitions": [
- "unconfirm",
- "resolve",
- "falsepositive"
- ]
- },
- {
- "key": "5f039a47-9dcc-474e-894c-5598720cb4e0",
- "component": "org.codehaus.sonar-plugins.xml:xml-squid:src/main/java/org/sonar/xml/XmlStartElementTokenizer.java",
- "componentId": 19132,
- "project": "org.codehaus.sonar-plugins.xml:xml",
- "rule": "squid:S1698",
- "status": "OPEN",
- "severity": "MAJOR",
- "message": "Change this comparison to use the equals method.",
- "line": 155,
- "debt": "2min",
- "author": "dinesh.bolkensteyn@sonarsource.com",
- "creationDate": "2014-06-26T23:08:13+0200",
- "updateDate": "2014-06-26T23:08:13+0200",
- "fUpdateAge": "4 months",
- "actions": [
- "comment",
- "assign",
- "assign_to_me",
- "plan",
- "set_severity"
- ],
- "transitions": [
- "confirm",
- "resolve",
- "falsepositive"
- ]
- },
- {
- "key": "7985c68b-2a1d-4aa7-af55-bb6236a01450",
- "component": "org.codehaus.sonar-plugins.xml:xml-squid:src/main/java/org/sonar/xml/XmlStartElementTokenizer.java",
- "componentId": 19132,
- "project": "org.codehaus.sonar-plugins.xml:xml",
- "rule": "squid:S1698",
- "status": "OPEN",
- "severity": "MAJOR",
- "message": "Change this comparison to use the equals method.",
- "line": 160,
- "debt": "2min",
- "author": "dinesh.bolkensteyn@sonarsource.com",
- "creationDate": "2014-06-26T23:08:13+0200",
- "updateDate": "2014-06-26T23:08:13+0200",
- "fUpdateAge": "4 months",
- "actions": [
- "comment",
- "assign",
- "assign_to_me",
- "plan",
- "set_severity"
- ],
- "transitions": [
- "confirm",
- "resolve",
- "falsepositive"
- ]
- },
- {
- "key": "d0dba7cd-e31d-4577-a047-644cdc7e2172",
- "component": "com.sonarsource.plugins.vb:vb-squid:src/main/java/com/sonar/vb",
- "componentId": 28611,
- "project": "com.sonarsource.plugins.vb:vb",
- "rule": "squid:S1228",
- "status": "CONFIRMED",
- "severity": "MAJOR",
- "message": "Add a 'package-info.java' file to document the 'src/main/java/com/sonar/vb' package",
- "debt": "20min",
- "creationDate": "2014-10-03T23:05:55+0200",
- "updateDate": "2014-10-09T06:37:50+0200",
- "fUpdateAge": "26 days",
- "actions": [
- "comment",
- "assign",
- "assign_to_me",
- "plan",
- "set_severity"
- ],
- "transitions": [
- "unconfirm",
- "resolve",
- "falsepositive"
- ]
- },
- {
- "key": "6d77a59b-53c2-444c-b288-a803d1f7f18d",
- "component": "com.sonarsource.plugins.vb:vb-squid:src/main/java/com/sonar/vb/api",
- "componentId": 28622,
- "project": "com.sonarsource.plugins.vb:vb",
- "rule": "squid:S1228",
- "status": "CONFIRMED",
- "severity": "MAJOR",
- "message": "Add a 'package-info.java' file to document the 'src/main/java/com/sonar/vb/api' package",
- "debt": "20min",
- "creationDate": "2014-10-03T23:05:55+0200",
- "updateDate": "2014-10-09T06:38:38+0200",
- "fUpdateAge": "26 days",
- "actions": [
- "comment",
- "assign",
- "assign_to_me",
- "plan",
- "set_severity"
- ],
- "transitions": [
- "unconfirm",
- "resolve",
- "falsepositive"
- ]
- },
- {
- "key": "bda16272-3785-47af-a0cd-c3fd3c581887",
- "component": "com.sonarsource.plugins.vb:sonar-vb-plugin:src/main/java/com/sonar/vb/batch",
- "componentId": 28928,
- "project": "com.sonarsource.plugins.vb:vb",
- "rule": "squid:S1228",
- "status": "CONFIRMED",
- "severity": "MAJOR",
- "message": "Add a 'package-info.java' file to document the 'src/main/java/com/sonar/vb/batch' package",
- "debt": "20min",
- "creationDate": "2014-10-03T23:05:55+0200",
- "updateDate": "2014-10-09T06:38:06+0200",
- "fUpdateAge": "26 days",
- "actions": [
- "comment",
- "assign",
- "assign_to_me",
- "plan",
- "set_severity"
- ],
- "transitions": [
- "unconfirm",
- "resolve",
- "falsepositive"
- ]
- },
- {
- "key": "4ea78cde-76c0-41ad-8809-a4e406168a00",
- "component": "com.sonarsource.plugins.vb:vb-checks:src/main/java/com/sonar/vb/checks",
- "componentId": 29690,
- "project": "com.sonarsource.plugins.vb:vb",
- "rule": "squid:S1228",
- "status": "CONFIRMED",
- "severity": "MAJOR",
- "message": "Add a 'package-info.java' file to document the 'src/main/java/com/sonar/vb/checks' package",
- "debt": "20min",
- "creationDate": "2014-10-03T23:05:55+0200",
- "updateDate": "2014-10-09T06:38:04+0200",
- "fUpdateAge": "26 days",
- "actions": [
- "comment",
- "assign",
- "assign_to_me",
- "plan",
- "set_severity"
- ],
- "transitions": [
- "unconfirm",
- "resolve",
- "falsepositive"
- ]
- },
- {
- "key": "459f9f04-0901-4250-9e9b-946d505455ac",
- "component": "com.sonarsource.plugins.vb:vb-checks:src/main/java/com/sonar/vb/checks/ExpressionComplexityCheck.java",
- "componentId": 29783,
- "project": "com.sonarsource.plugins.vb:vb",
- "rule": "squid:S1698",
- "status": "OPEN",
- "severity": "MAJOR",
- "message": "Change this comparison to use the equals method.",
- "line": 54,
- "debt": "2min",
- "author": "pierre-yves.nicolas@sonarsource.com",
- "creationDate": "2014-06-26T23:07:23+0200",
- "updateDate": "2014-06-26T23:07:23+0200",
- "fUpdateAge": "4 months",
- "actions": [
- "comment",
- "assign",
- "assign_to_me",
- "plan",
- "set_severity"
- ],
- "transitions": [
- "confirm",
- "resolve",
- "falsepositive"
- ]
- },
- {
- "key": "47ec8d6b-b7df-4e8c-a254-f9ccf7c0b90a",
- "component": "com.sonarsource.plugins.vb:vb-checks:src/main/java/com/sonar/vb/checks/NumberedLineProcessor.java",
- "componentId": 29907,
- "project": "com.sonarsource.plugins.vb:vb",
- "rule": "common-java:DuplicatedBlocks",
- "status": "CONFIRMED",
- "severity": "MAJOR",
- "message": "1 duplicated blocks of code.",
- "debt": "1h",
- "creationDate": "2014-05-01T23:14:46+0200",
- "updateDate": "2014-05-02T09:05:22+0200",
- "fUpdateAge": "6 months",
- "actions": [
- "comment",
- "assign",
- "assign_to_me",
- "plan",
- "set_severity"
- ],
- "transitions": [
- "unconfirm",
- "resolve",
- "falsepositive"
- ]
- },
- {
- "key": "84f34eb4-5aec-419b-8a2d-094d79d7969a",
- "component": "com.sonarsource.plugins.vb:vb-checks:src/main/java/com/sonar/vb/checks/TrailingCommentCheck.java",
- "componentId": 29769,
- "project": "com.sonarsource.plugins.vb:vb",
- "rule": "common-java:DuplicatedBlocks",
- "status": "CONFIRMED",
- "severity": "MAJOR",
- "message": "4 duplicated blocks of code.",
- "debt": "4h",
- "creationDate": "2014-04-14T23:14:16+0200",
- "updateDate": "2014-05-23T23:13:54+0200",
- "fUpdateAge": "5 months",
- "actions": [
- "comment",
- "assign",
- "assign_to_me",
- "plan",
- "set_severity"
- ],
- "transitions": [
- "unconfirm",
- "resolve",
- "falsepositive"
- ]
- },
- {
- "key": "bd85131c-2bac-474d-ac0f-2cf3c8848d40",
- "component": "com.sonarsource.plugins.vb:vb-checks:src/main/java/com/sonar/vb/checks/UnusedPrivateVariableCheck.java",
- "componentId": 29801,
- "project": "com.sonarsource.plugins.vb:vb",
- "rule": "squid:S1643",
- "status": "REOPENED",
- "severity": "MAJOR",
- "message": "Use a StringBuilder instead.",
- "line": 57,
- "debt": "10min",
- "author": "pierre-yves.nicolas@sonarsource.com",
- "creationDate": "2014-06-26T23:07:23+0200",
- "updateDate": "2014-11-03T09:50:23+0100",
- "fUpdateAge": "a day",
- "actions": [
- "comment",
- "assign",
- "assign_to_me",
- "plan",
- "set_severity"
- ],
- "transitions": [
- "confirm",
- "resolve",
- "falsepositive"
- ]
- },
- {
- "key": "0f81cd62-e82d-44b1-8773-a7a61536a516",
- "component": "com.sonarsource.plugins.vb:sonar-vb-plugin:src/main/java/com/sonar/vb/colorizer",
- "componentId": 28932,
- "project": "com.sonarsource.plugins.vb:vb",
- "rule": "squid:S1228",
- "status": "CONFIRMED",
- "severity": "MAJOR",
- "message": "Add a 'package-info.java' file to document the 'src/main/java/com/sonar/vb/colorizer' package",
- "debt": "20min",
- "creationDate": "2014-10-03T23:05:55+0200",
- "updateDate": "2014-10-09T06:38:03+0200",
- "fUpdateAge": "26 days",
- "actions": [
- "comment",
- "assign",
- "assign_to_me",
- "plan",
- "set_severity"
- ],
- "transitions": [
- "unconfirm",
- "resolve",
- "falsepositive"
- ]
- },
- {
- "key": "c7d665b1-0d77-4f7b-b893-8678c5324a70",
- "component": "com.sonarsource.plugins.vb:sonar-vb-plugin:src/main/java/com/sonar/vb/cpd",
- "componentId": 28935,
- "project": "com.sonarsource.plugins.vb:vb",
- "rule": "squid:S1228",
- "status": "CONFIRMED",
- "severity": "MAJOR",
- "message": "Add a 'package-info.java' file to document the 'src/main/java/com/sonar/vb/cpd' package",
- "debt": "20min",
- "creationDate": "2014-10-03T23:05:55+0200",
- "updateDate": "2014-10-09T06:38:30+0200",
- "fUpdateAge": "26 days",
- "actions": [
- "comment",
- "assign",
- "assign_to_me",
- "plan",
- "set_severity"
- ],
- "transitions": [
- "unconfirm",
- "resolve",
- "falsepositive"
- ]
- },
- {
- "key": "47780a07-2b00-47bb-a5e0-91af1ab53b49",
- "component": "com.sonarsource.plugins.vb:sonar-vb-plugin:src/main/java/com/sonar/vb/cpd/VbCpdTokenizer.java",
- "componentId": 28937,
- "project": "com.sonarsource.plugins.vb:vb",
- "rule": "squid:S1698",
- "status": "OPEN",
- "severity": "MAJOR",
- "message": "Change this comparison to use the equals method.",
- "line": 55,
- "debt": "2min",
- "author": "julien.henry@sonarsource.com",
- "creationDate": "2014-06-26T23:07:23+0200",
- "updateDate": "2014-06-26T23:07:23+0200",
- "fUpdateAge": "4 months",
- "actions": [
- "comment",
- "assign",
- "assign_to_me",
- "plan",
- "set_severity"
- ],
- "transitions": [
- "confirm",
- "resolve",
- "falsepositive"
- ]
- },
- {
- "key": "4882c235-98a2-4ac8-8131-acbe30010be5",
- "component": "com.sonarsource.plugins.vb:sonar-vb-plugin:src/main/java/com/sonar/vb/cpd/VbCpdTokenizer.java",
- "componentId": 28937,
- "project": "com.sonarsource.plugins.vb:vb",
- "rule": "squid:S1698",
- "status": "OPEN",
- "severity": "MAJOR",
- "message": "Change this comparison to use the equals method.",
- "line": 55,
- "debt": "2min",
- "author": "julien.henry@sonarsource.com",
- "creationDate": "2014-06-26T23:07:23+0200",
- "updateDate": "2014-06-26T23:07:23+0200",
- "fUpdateAge": "4 months",
- "actions": [
- "comment",
- "assign",
- "assign_to_me",
- "plan",
- "set_severity"
- ],
- "transitions": [
- "confirm",
- "resolve",
- "falsepositive"
- ]
- },
- {
- "key": "a7816c2c-4a24-4edc-955b-4bf064c8da6c",
- "component": "com.sonarsource.plugins.vb:sonar-vb-plugin:src/main/java/com/sonar/vb/cpd/VbCpdTokenizer.java",
- "componentId": 28937,
- "project": "com.sonarsource.plugins.vb:vb",
- "rule": "squid:S1698",
- "status": "OPEN",
- "severity": "MAJOR",
- "message": "Change this comparison to use the equals method.",
- "line": 55,
- "debt": "2min",
- "author": "julien.henry@sonarsource.com",
- "creationDate": "2014-06-26T23:07:23+0200",
- "updateDate": "2014-06-26T23:07:23+0200",
- "fUpdateAge": "4 months",
- "actions": [
- "comment",
- "assign",
- "assign_to_me",
- "plan",
- "set_severity"
- ],
- "transitions": [
- "confirm",
- "resolve",
- "falsepositive"
- ]
- },
- {
- "key": "5c6bc4d6-560f-47c7-9170-873c7ec51243",
- "component": "com.sonarsource.plugins.vb:sonar-vb-plugin:src/main/java/com/sonar/vb/foundation",
- "componentId": 28938,
- "project": "com.sonarsource.plugins.vb:vb",
- "rule": "squid:S1228",
- "status": "CONFIRMED",
- "severity": "MAJOR",
- "message": "Add a 'package-info.java' file to document the 'src/main/java/com/sonar/vb/foundation' package",
- "debt": "20min",
- "creationDate": "2014-10-03T23:05:55+0200",
- "updateDate": "2014-10-09T06:38:32+0200",
- "fUpdateAge": "26 days",
- "actions": [
- "comment",
- "assign",
- "assign_to_me",
- "plan",
- "set_severity"
- ],
- "transitions": [
- "unconfirm",
- "resolve",
- "falsepositive"
- ]
- },
- {
- "key": "4df1a07e-1961-4b7c-bd9d-f08670b7dc53",
- "component": "com.sonarsource.plugins.vb:vb-squid:src/main/java/com/sonar/vb/LineContinuationChannel.java",
- "componentId": 28613,
- "project": "com.sonarsource.plugins.vb:vb",
- "rule": "common-java:DuplicatedBlocks",
- "status": "CONFIRMED",
- "severity": "MAJOR",
- "message": "1 duplicated blocks of code.",
- "debt": "1h",
- "creationDate": "2014-03-24T23:14:21+0100",
- "updateDate": "2014-04-28T16:56:33+0200",
- "fUpdateAge": "6 months",
- "actions": [
- "comment",
- "assign",
- "assign_to_me",
- "plan",
- "set_severity"
- ],
- "transitions": [
- "unconfirm",
- "resolve",
- "falsepositive"
- ]
- },
- {
- "key": "8d505c3e-e944-40a7-bdc4-3e55a6d80ddf",
- "component": "com.sonarsource.plugins.vb:vb-squid:src/main/java/com/sonar/vb/metrics",
- "componentId": 28626,
- "project": "com.sonarsource.plugins.vb:vb",
- "rule": "squid:S1228",
- "status": "CONFIRMED",
- "severity": "MAJOR",
- "message": "Add a 'package-info.java' file to document the 'src/main/java/com/sonar/vb/metrics' package",
- "debt": "20min",
- "creationDate": "2014-10-03T23:05:55+0200",
- "updateDate": "2014-10-09T06:37:59+0200",
- "fUpdateAge": "26 days",
- "actions": [
- "comment",
- "assign",
- "assign_to_me",
- "plan",
- "set_severity"
- ],
- "transitions": [
- "unconfirm",
- "resolve",
- "falsepositive"
- ]
- },
- {
- "key": "5420d272-a363-44a5-9a8d-4ed9236aee6c",
- "component": "com.sonarsource.plugins.vb:vb-squid:src/main/java/com/sonar/vb/metrics/CommentsVisitor.java",
- "componentId": 28627,
- "project": "com.sonarsource.plugins.vb:vb",
- "rule": "common-java:DuplicatedBlocks",
- "status": "CONFIRMED",
- "severity": "MAJOR",
- "message": "2 duplicated blocks of code.",
- "debt": "2h",
- "creationDate": "2014-03-24T23:14:21+0100",
- "updateDate": "2014-04-28T16:56:15+0200",
- "fUpdateAge": "6 months",
- "actions": [
- "comment",
- "assign",
- "assign_to_me",
- "plan",
- "set_severity"
- ],
- "transitions": [
- "unconfirm",
- "resolve",
- "falsepositive"
- ]
- },
- {
- "key": "eaff60ef-0e3f-4744-9ada-a701eb92fc38",
- "component": "com.sonarsource.plugins.vb:vb-squid:src/main/java/com/sonar/vb/metrics/LinesOfCodeVisitor.java",
- "componentId": 28629,
- "project": "com.sonarsource.plugins.vb:vb",
- "rule": "common-java:DuplicatedBlocks",
- "status": "CONFIRMED",
- "severity": "MAJOR",
- "message": "2 duplicated blocks of code.",
- "debt": "2h",
- "creationDate": "2014-03-24T23:14:21+0100",
- "updateDate": "2014-04-28T16:56:13+0200",
- "fUpdateAge": "6 months",
- "actions": [
- "comment",
- "assign",
- "assign_to_me",
- "plan",
- "set_severity"
- ],
- "transitions": [
- "unconfirm",
- "resolve",
- "falsepositive"
- ]
- },
- {
- "key": "4b6e0ff7-8343-4389-bfee-74fb06ae1a4c",
- "component": "com.sonarsource.plugins.vb:sonar-vb-plugin:src/main/java/com/sonar/vb/plugin",
- "componentId": 28952,
- "project": "com.sonarsource.plugins.vb:vb",
- "rule": "squid:S1228",
- "status": "CONFIRMED",
- "severity": "MAJOR",
- "message": "Add a 'package-info.java' file to document the 'src/main/java/com/sonar/vb/plugin' package",
- "debt": "20min",
- "creationDate": "2014-10-03T23:05:55+0200",
- "updateDate": "2014-10-09T06:37:48+0200",
- "fUpdateAge": "26 days",
- "actions": [
- "comment",
- "assign",
- "assign_to_me",
- "plan",
- "set_severity"
- ],
- "transitions": [
- "unconfirm",
- "resolve",
- "falsepositive"
- ]
- },
- {
- "key": "86a0cb1a-c36b-442e-aac0-5d29efc8b0f0",
- "component": "com.sonarsource.plugins.vb:vb-squid:src/main/java/com/sonar/vb/pp",
- "componentId": 28630,
- "project": "com.sonarsource.plugins.vb:vb",
- "rule": "squid:S1228",
- "status": "CONFIRMED",
- "severity": "MAJOR",
- "message": "Add a 'package-info.java' file to document the 'src/main/java/com/sonar/vb/pp' package",
- "debt": "20min",
- "creationDate": "2014-10-03T23:05:55+0200",
- "updateDate": "2014-10-09T06:38:40+0200",
- "fUpdateAge": "26 days",
- "actions": [
- "comment",
- "assign",
- "assign_to_me",
- "plan",
- "set_severity"
- ],
- "transitions": [
- "unconfirm",
- "resolve",
- "falsepositive"
- ]
- },
- {
- "key": "8d5d8cb6-2f92-4cdd-858e-6d551b6507a3",
- "component": "com.sonarsource.plugins.vb:vb-squid:src/main/java/com/sonar/vb/pp/EmptyLinesRemovalPreprocessor.java",
- "componentId": 28631,
- "project": "com.sonarsource.plugins.vb:vb",
- "rule": "common-java:DuplicatedBlocks",
- "status": "CONFIRMED",
- "severity": "MAJOR",
- "message": "1 duplicated blocks of code.",
- "debt": "1h",
- "creationDate": "2014-03-24T23:14:21+0100",
- "updateDate": "2014-04-28T16:56:10+0200",
- "fUpdateAge": "6 months",
- "actions": [
- "comment",
- "assign",
- "assign_to_me",
- "plan",
- "set_severity"
- ],
- "transitions": [
- "unconfirm",
- "resolve",
- "falsepositive"
- ]
- },
- {
- "key": "dd34e8a9-7c6a-4a66-8b02-7bf5d9daa4f9",
- "component": "com.sonarsource.plugins.vb:vb-squid:src/main/java/com/sonar/vb/ProgressAstScanner.java",
- "componentId": 28614,
- "project": "com.sonarsource.plugins.vb:vb",
- "rule": "common-java:DuplicatedBlocks",
- "status": "CONFIRMED",
- "severity": "MAJOR",
- "message": "1 duplicated blocks of code.",
- "debt": "1h",
- "creationDate": "2014-03-24T23:14:21+0100",
- "updateDate": "2014-04-28T16:56:31+0200",
- "fUpdateAge": "6 months",
- "actions": [
- "comment",
- "assign",
- "assign_to_me",
- "plan",
- "set_severity"
- ],
- "transitions": [
- "unconfirm",
- "resolve",
- "falsepositive"
- ]
- }
- ],
- "rules": [
- {
- "key": "squid:S1698",
- "name": "Objects should be compared with \"equals()\"",
- "desc": "<p>Using the equality (<code>==</code>) and inequality (<code>!=</code>) operators to compare two objects does not check to see if they have the same values. Rather it checks to see if both object references point to exactly the same object in memory. The vast majority of the time, this is not what you want to do. Use the .equals() method to compare the values of two objects or to compare a string object to a string literal.</p>\n\n<h2>Noncompliant Code Sample</h2>\n<pre>\nString str1 = \"blue\";\nString str2 = \"blue\";\nString str3 = str1;\n\nif (str1 == str2)\n{\n System.out.println(\"they're both 'blue'\"); // this doesn't print because the objects are different\n}\n\nif (str1 == \"blue\")\n{\n System.out.println(\"they're both 'blue'\"); // this doesn't print because the objects are different\n}\n\nif (str1 == str3)\n{\n System.out.println(\"they're the same object\"); // this prints\n}\n</pre>\n\n<h2>Compliant Solution</h2>\n<pre>\nString str1 = \"blue\";\nString str2 = \"blue\";\nString str3 = str1;\n\nif (str1.equals(str2))\n{\n System.out.println(\"they're both 'blue'\"); // this prints\n}\n\nif (str1.equals(\"blue\"))\n{\n System.out.println(\"they're both 'blue'\"); // this prints\n}\n\nif (str1 == str3)\n{\n System.out.println(\"they're the same object\"); // this still prints, but it's probably not what you meant to do\n}\n</pre>",
- "status": "READY"
- },
- {
- "key": "squid:S1142",
- "name": "Methods should not contain too many return statements",
- "desc": "<p>\nHaving too many return statements in a method increases the method's essential complexity because the flow of execution is broken each time a return statement is encountered.\nThis makes it harder to read and understand the logic of the method.\n</p>\n\n<p>\nThe following code snippet illustrates this rule with the default threshold of 3:\n</p>\n\n<pre>\npublic boolean myMethod() { // Non-Compliant as there are 4 return statements\n if (condition1) {\n return true;\n } else {\n if (condition2) {\n return false;\n } else {\n return true;\n }\n }\n return false;\n}\n</pre>",
- "status": "READY"
- },
- {
- "key": "squid:S1694",
- "name": "An abstract class should have both abstract and concrete methods",
- "desc": "<p>The purpose of an abstract class is to provide some heritable behaviors while also defining methods which must be implemented by sub-classes.</p>\n\n<p>A class with no abstract methods that was made abstract purely to prevent instantiation should be converted to a concrete class (i.e. remove the <code>abstract</code> keyword) with a private constructor.</p>\n\n<p>A class with only abstract methods and no inheritable behavior should be converted to an interface.</p>\n\n<h2>Noncompliant Code Sample</h2>\n<pre>\npublic abstract class Animal {\n abstract void move();\n abstract void feed();\n}\n\npublic abstract class Color {\n private int red = 0;\n private int green = 0;\n private int blue = 0;\n\n public int getRed(){\n return red;\n }\n}\n</pre>\n\n<h2>Compliant Solution</h2>\n<pre>\npublic interface Animal {\n void move();\n void feed();\n}\n\npublic class Color {\n private int red = 0;\n private int green = 0;\n private int blue = 0;\n\n private Color (){\n }\n\n public int getRed() {\n return red;\n }\n}\n\npublic abstract class Lamp {\n\n private boolean switchLamp=false;\n public abstract void glow();\n\n public void flipSwitch() {\n switchLamp = !switchLamp;\n if (switchLamp) {\n glow();\n }\n }\n}\n</pre>",
- "status": "READY"
- },
- {
- "key": "squid:S1151",
- "name": "Switch cases should not have too many lines",
- "desc": "<p>Switch cases should remain small to keep the overall switch compact and readable.</p>\n\n<p>The following code snippet illustrates this rule with the default threshold of 5:</p>\n\n<pre>\nswitch (myVariable) {\n case 0: // Compliant - 5 lines till following case\n System.out.println(\"\");\n System.out.println(\"\");\n System.out.println(\"\");\n break;\n default: // Non-Compliant - 6 lines till switch end\n System.out.println(\"\");\n System.out.println(\"\");\n System.out.println(\"\");\n System.out.println(\"\");\n break;\n}\n</pre>",
- "status": "READY"
- },
- {
- "key": "squid:S1643",
- "name": "Strings should not be concatenated using '+' in a loop",
- "desc": "<p>Strings are immutable objects in Java, so concatenation doesn't simply add the new String to the end of the existing string. Instead, in each loop iteration, the first String is converted to an intermediate object type, the second string is appended, and then the intermediate object is converted back to a String. Further, performance of these intermediate operations degrades as the String gets longer. Therefore, the use of StringBuilder is preferred.</p>\n\n<h2>Noncompliant Code Example</h2>\n<pre>\nString str = \"\";\nfor (int i = 0; i < arrayOfStrings.length ; ++i) {\n str = str + arrayOfStrings[i];\n}\n</pre>\n\n<h2>Compliant Solution</h2>\n<pre>\nStringBuilder bld = new StringBuilder();\nfor (int i = 0; i < arrayOfStrings.length; ++i) {\n bld.append(arrayOfStrings[i]);\n}\nString str = bld.toString();\n</pre>",
- "status": "READY"
- },
- {
- "key": "squid:S134",
- "name": "Control flow statements \"if\", \"for\", \"while\", \"switch\" and \"try\" should not be nested too deeply",
- "desc": "<p>\nNested <code>if</code>, <code>for</code>, <code>while</code> and <code>try</code> statements is a key ingredient for making what's known as \"Spaghetti code\".\nSuch code is hard to read, refactor and therefore maintain.\n</p>\n\n<h2>Noncompliant Code Example</h2>\n\n<p>The following code snippet illustrates this rule with the default threshold of 3.</p>\n\n<pre>\npublic void process() {\n if (condition1) { // Compliant - depth = 1\n /* ... */\n if (condition2) { // Compliant - depth = 2\n /* ... */\n for(int i = 0; i < 10; i++) { // Compliant - depth = 3, not exceeding the limit\n /* ... */\n if (condition4) { // Non-Compliant - depth = 4\n if (condition5) { // Depth = 5, exceeding the limit, but issues are only reported on depth = 4\n /* ... */\n }\n return;\n }\n }\n }\n }\n}\n</pre>",
- "status": "READY"
- },
- {
- "key": "common-java:DuplicatedBlocks",
- "name": "Duplicated blocks",
- "desc": "<p>An issue is created on a file as soon as there is a block of duplicated code on this file. It gives the number of blocks in the file.</p>",
- "status": "READY"
- },
- {
- "key": "squid:RightCurlyBraceSameLineAsNextBlockCheck",
- "name": "Right curly brace and next \"else\", \"catch\" and \"finally\" keywords should be located on the same line",
- "desc": "<p>\nSharing some coding conventions is a key point to make it possible for a team to efficiently collaborate.\nThis rule make it mandatory to place closing curly braces on the same line that next <code>else</code>, <code>catch</code> or <code>finally</code> keywords.\n</p>\n\n<p>\nThe following code snippet illustrates this rule:\n</p>\n\n<pre>\npublic void myMethod() {\n if(something) {\n executeTask();\n } else if (somethingElse) { // Compliant\n doSomethingElse();\n }\n else { // Non-Compliant\n generateError();\n }\n\n try {\n generateOrder();\n } catch (Exception e) { // Compliant\n log(e);\n }\n finally { // Non-Compliant\n closeConnection();\n }\n}\n</pre>",
- "status": "READY"
- },
- {
- "key": "squid:MethodCyclomaticComplexity",
- "name": "Methods should not be too complex",
- "desc": "<p>The Cyclomatic Complexity is measured by the number of\n\t(&&, ||) operators and (if, while, do, for, ?:, catch, switch,\n\tcase, return, throw) statements in the body of a class plus one for\n\teach constructor, method (but not getter/setter), static initializer,\n\tor instance initializer in the class. The last return stament in\n\tmethod, if exists, is not taken into account.</p>\n<p>\n\tEven when the Cyclomatic Complexity of a class is very high, this\n\tcomplexity might be well distributed among all methods. Nevertheless,\n\tmost of the time, a very complex class is a class which breaks the <a\n\t\thref=\"http://en.wikipedia.org/wiki/Single_responsibility_principle\">Single\n\t\tResponsibility Principle</a> and which should be re-factored to be split\n\tin several classes.\n</p>",
- "status": "READY"
- },
- {
- "key": "squid:S1192",
- "name": "String literals should not be duplicated",
- "desc": "<p>\n Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.\n On the other hand, constants can be referenced from many places, but only need to be updated in a single place.\n</p>\n\n<h2>Non Compliant Code Example</h2>\n\n<pre>\npublic void run() {\n prepare(\"action1\"); // Non-Compliant - \"action1\" is duplicated 3 times\n execute(\"action1\");\n release(\"action1\");\n}\n\n@SuppressWarning(\"all\") // Compliant - annotations are excluded\nprivate void method1() { /* ... */ }\n@SuppressWarning(\"all\")\nprivate void method2() { /* ... */ }\n\npublic String method3(String a) {\n System.out.println(\"'\" + a + \"'\"); // Compliant - literal \"'\" has less than 5 characters and is excluded\n return \"\"; // Compliant - literal \"\" has less than 5 characters and is excluded\n}\n</pre>\n\n<h2>Compliant Code Example</h2>\n\n<pre>\nprivate static final String ACTION_1 = \"action1\"; // Compliant\n\npublic void run() {\n prepare(ACTION_1); // Compliant\n execute(ACTION_1);\n release(ACTION_1);\n}\n</pre>\n\n<h2>Exceptions</h2>\n<p>To prevent generating some false-positives, literals having less than 5 characters are excluded.</p>",
- "status": "READY"
- },
- {
- "key": "squid:S138",
- "name": "Methods should not have too many lines",
- "desc": "<p>\nA method that grows too large tends to aggregate too many responsibilities.\nSuch methods inevitably become harder to understand and therefore harder to maintain.\n</p>\n\n<p>\nAbove a specific threshold, it is strongly advised to refactor into smaller methods which focus on well-defined tasks.\nThose smaller methods will not only be easier to understand, but also probably easier to test.\n</p>",
- "status": "READY"
- },
- {
- "key": "squid:S1067",
- "name": "Expressions should not be too complex",
- "desc": "<p>\nThe complexity of an expression is defined by the number of <code>&&</code>, <code>||</code> and <code>condition ? ifTrue : ifFalse</code> operators it contains.\nA single expression's complexity should not become too high to keep the code readable.\n</p>\n\n<p>The following code, with a maximum complexity of 3:</p>\n\n<pre>\nif (condition1 && condition2 && condition3 && condition4) { /* ... */ } // Non-Compliant\n</pre>\n\n<p>could be refactored into something like:</p>\n\n<pre>\nif (relevantMethodName1() && relevantMethodName2()) { /* ... */ } // Compliant\n\n/* ... */\n\nprivate boolean relevantMethodName1() {\n return condition1 && condition2;\n}\n\nprivate boolean relevantMethodName2() {\n return condition3 && condition4;\n}\n</pre>",
- "status": "READY"
- },
- {
- "key": "common-java:InsufficientBranchCoverage",
- "name": "Insufficient branch coverage by unit tests",
- "desc": "<p>An issue is created on a file as soon as the branch coverage on this file is less than the required threshold.It gives the number of branches to be covered in order to reach the required threshold.</p>",
- "status": "READY"
- },
- {
- "key": "squid:S1228",
- "name": "Packages should have a javadoc file 'package-info.java'",
- "desc": "<p>Each package in a Java project should include a <code>package-info.java</code> file. The purpose of this file is to document the Java package using javadoc and declare package annotations.</p>\n\n<h2>Compliant Solution</h2>\n<pre>\n/**\n* This package has non null parameters and is documented.\n**/\n@ParametersAreNonnullByDefault\npackage org.foo.bar;\n</pre>",
- "status": "REMOVED"
- }
- ],
- "users": [],
- "languages": [
- {
- "key": "js",
- "name": "JavaScript"
- },
- {
- "key": "java",
- "name": "Java"
- }
- ],
- "maxResultsReached": false,
- "paging": {
- "pageIndex": 1,
- "pageSize": 50,
- "total": 4623,
- "fTotal": "4,623",
- "pages": 93
- },
- "facets": [
- {
- "property": "severities",
- "values": [
- {
- "val": "MAJOR",
- "count": 3214
- },
- {
- "val": "INFO",
- "count": 930
- },
- {
- "val": "MINOR",
- "count": 436
- },
- {
- "val": "CRITICAL",
- "count": 43
- },
- {
- "val": "BLOCKER",
- "count": 0
- }
- ]
- },
- {
- "property": "statuses",
- "values": [
- {
- "val": "CONFIRMED",
- "count": 4123
- },
- {
- "val": "OPEN",
- "count": 499
- },
- {
- "val": "REOPENED",
- "count": 1
- },
- {
- "val": "CLOSED",
- "count": 0
- },
- {
- "val": "RESOLVED",
- "count": 0
- }
- ]
- },
- {
- "property": "resolutions",
- "values": [
- {
- "val": "",
- "count": 4623
- },
- {
- "val": "FIXED",
- "count": 39744
- },
- {
- "val": "REMOVED",
- "count": 14385
- },
- {
- "val": "FALSE-POSITIVE",
- "count": 724
- }
- ]
- }
- ]
-}
+++ /dev/null
-{
- "issue": {
- "key": "94357807-fcb4-40cc-9598-9a715f1eee6e",
- "component": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin:src/main/java/org/sonar/plugins/xml",
- "componentId": 26177,
- "project": "org.codehaus.sonar-plugins.xml:xml",
- "rule": "squid:S1228",
- "status": "OPEN",
- "severity": "MAJOR",
- "message": "Add a 'package-info.java' file to document the 'src/main/java/org/sonar/plugins/xml' package",
- "debt": "20min",
- "creationDate": "2014-10-03T23:26:37+0200",
- "updateDate": "2014-10-09T06:32:55+0200",
- "fUpdateAge": "26 days",
- "actions": [
- "comment",
- "assign",
- "assign_to_me",
- "plan",
- "set_severity"
- ],
- "transitions": [
- "confirm",
- "resolve",
- "falsepositive"
- ]
- }
-}
+++ /dev/null
-{
- "issue": {
- "key": "94357807-fcb4-40cc-9598-9a715f1eee6e",
- "component": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin:src/main/java/org/sonar/plugins/xml",
- "componentId": 26177,
- "project": "org.codehaus.sonar-plugins.xml:xml",
- "rule": "squid:S1228",
- "status": "RESOLVED",
- "severity": "MAJOR",
- "message": "Add a 'package-info.java' file to document the 'src/main/java/org/sonar/plugins/xml' package",
- "debt": "20min",
- "creationDate": "2014-10-03T23:26:37+0200",
- "updateDate": "2014-10-09T06:32:55+0200",
- "fUpdateAge": "26 days",
- "actions": [
- "comment",
- "assign",
- "assign_to_me",
- "plan",
- "set_severity"
- ],
- "transitions": [
- "reopen"
- ]
- }
-}
+++ /dev/null
-{
- "issue": {
- "key": "94357807-fcb4-40cc-9598-9a715f1eee6e",
- "component": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin:src/main/java/org/sonar/plugins/xml",
- "componentId": 26177,
- "project": "org.codehaus.sonar-plugins.xml:xml",
- "rule": "squid:S1228",
- "status": "CONFIRMED",
- "severity": "MAJOR",
- "message": "Add a 'package-info.java' file to document the 'src/main/java/org/sonar/plugins/xml' package",
- "debt": "20min",
- "creationDate": "2014-10-03T23:26:37+0200",
- "updateDate": "2014-10-09T06:32:55+0200",
- "fUpdateAge": "26 days",
- "actions": [
- "comment",
- "assign",
- "assign_to_me",
- "plan",
- "set_severity"
- ],
- "tags": ["security", "cwe"]
- "transitions": [
- "unconfirm",
- "resolve",
- "falsepositive"
- ]
- }
-}
+++ /dev/null
-{
- "issue": {
- "key": "94357807-fcb4-40cc-9598-9a715f1eee6e",
- "component": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin:src/main/java/org/sonar/plugins/xml",
- "componentId": 26177,
- "project": "org.codehaus.sonar-plugins.xml:xml",
- "rule": "squid:S1228",
- "status": "CONFIRMED",
- "severity": "MAJOR",
- "message": "Add a 'package-info.java' file to document the 'src/main/java/org/sonar/plugins/xml' package",
- "debt": "20min",
- "creationDate": "2014-10-03T23:26:37+0200",
- "updateDate": "2014-10-09T06:32:55+0200",
- "fUpdateAge": "26 days",
- "actions": [
- "comment",
- "assign",
- "assign_to_me",
- "plan",
- "set_severity"
- ],
- "transitions": [
- "unconfirm",
- "resolve",
- "falsepositive"
- ]
- }
-}
+++ /dev/null
-{
- "tags": [
- "security",
- "cwe",
- "cert"
- ]
-}
+++ /dev/null
-{
- "tags": [
- "brain-overload",
- "bug",
- "cert",
- "convention",
- "cwe",
- "design",
- "error-handling",
- "misra",
- "misra-c",
- "misra-c++",
- "multithreading",
- "obsolete",
- "owasp-top10",
- "performance",
- "pitfall",
- "sans-top25",
- "sans-top25-2011",
- "security",
- "sql",
- "unused"
- ]
-}
+++ /dev/null
-/*
- * SonarQube, open source software quality management tool.
- * Copyright (C) 2008-2014 SonarSource
- * mailto:contact AT sonarsource DOT com
- *
- * SonarQube 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.
- *
- * SonarQube 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.
- */
-/* global casper:false */
-
-var lib = require('../lib');
-
-lib.initMessages();
-lib.changeWorkingDirectory('quality-gates-spec');
-lib.configureCasper();
-
-
-casper.test.begin('Quality Gates', function suite (test) {
- casper
- .start(lib.buildUrl('quality-gates'), function () {
- lib.setDefaultViewport();
-
- lib.mockRequest('/api/l10n/index', '{}');
- lib.mockRequestFromFile('/api/qualitygates/app', 'app.json');
- lib.mockRequestFromFile('/api/qualitygates/list', 'list.json');
- lib.mockRequestFromFile('/api/qualitygates/show?id=1', 'show.json');
- })
-
- .then(function () {
- casper.waitForSelector('.active', function () {
- test.assertElementCount('.active', 1);
- test.assertSelectorHasText('.search-navigator-side .active', 'Default Gate');
- });
- })
-
- .then(function () {
- casper.waitForSelector('.search-navigator-workspace-header', function () {
- test.assertSelectorHasText('.search-navigator-workspace-header', 'Default Gate');
- });
- })
-
- .then(function () {
- casper.waitForSelector('table.quality-gate-conditions tbody tr:nth-child(9)', function () {
- test.assertElementCount('table.quality-gate-conditions tbody tr', 9);
- });
- })
-
- .run(function () {
- test.done();
- });
-});
+++ /dev/null
-{
- "edit": false,
- "periods": [
- {
- "key": 1,
- "text": "since previous analysis"
- },
- {
- "key": 2,
- "text": "over 365 days"
- },
- {
- "key": 3,
- "text": "since previous version"
- },
- {
- "key": 4,
- "text": "over period 4 - defined at project level"
- },
- {
- "key": 5,
- "text": "over period 5 - defined at project level"
- }
- ],
- "metrics": [
- {
- "id": 62,
- "key": "blocker_violations",
- "name": "Blocker issues",
- "type": "INT",
- "domain": "Issues",
- "hidden": false
- },
- {
- "id": 37,
- "key": "new_coverage",
- "name": "Coverage on new code",
- "type": "PERCENT",
- "domain": "Tests",
- "hidden": false
- },
- {
- "id": 63,
- "key": "critical_violations",
- "name": "Critical issues",
- "type": "INT",
- "domain": "Issues",
- "hidden": false
- },
- {
- "id": 154,
- "key": "sqale_effort_to_grade_a",
- "name": "Effort to rating A",
- "type": "WORK_DUR",
- "domain": "SQALE",
- "hidden": false
- },
- {
- "id": 218,
- "key": "open_issues",
- "name": "Open issues",
- "type": "INT",
- "domain": "Issues",
- "hidden": false
- },
- {
- "id": 219,
- "key": "reopened_issues",
- "name": "Reopened issues",
- "type": "INT",
- "domain": "Issues",
- "hidden": false
- },
- {
- "id": 32,
- "key": "skipped_tests",
- "name": "Skipped unit tests",
- "type": "INT",
- "domain": "Tests",
- "hidden": false
- },
- {
- "id": 31,
- "key": "test_errors",
- "name": "Unit test errors",
- "type": "INT",
- "domain": "Tests",
- "hidden": false
- },
- {
- "id": 33,
- "key": "test_failures",
- "name": "Unit test failures",
- "type": "INT",
- "domain": "Tests",
- "hidden": false
- }
- ]
-}
+++ /dev/null
-{
- "qualitygates": [
- {
- "id": 1,
- "name": "Default Gate"
- }
- ],
- "default": 1
-}
+++ /dev/null
-{
- "id": 1,
- "name": "Default Gate",
- "conditions": [
- {
- "id": 1,
- "metric": "blocker_violations",
- "op": "GT",
- "warning": "",
- "error": "0"
- },
- {
- "id": 2,
- "metric": "new_coverage",
- "op": "LT",
- "warning": "",
- "error": "80",
- "period": 3
- },
- {
- "id": 3,
- "metric": "critical_violations",
- "op": "GT",
- "warning": "",
- "error": "0"
- },
- {
- "id": 4,
- "metric": "sqale_effort_to_grade_a",
- "op": "GT",
- "warning": "",
- "error": "0"
- },
- {
- "id": 5,
- "metric": "open_issues",
- "op": "GT",
- "warning": "0",
- "error": ""
- },
- {
- "id": 6,
- "metric": "reopened_issues",
- "op": "GT",
- "warning": "0",
- "error": ""
- },
- {
- "id": 7,
- "metric": "skipped_tests",
- "op": "GT",
- "warning": "0",
- "error": ""
- },
- {
- "id": 8,
- "metric": "test_errors",
- "op": "GT",
- "warning": "",
- "error": "0"
- },
- {
- "id": 9,
- "metric": "test_failures",
- "op": "GT",
- "warning": "",
- "error": "0"
- }
- ]
-}
+++ /dev/null
-/*
- * SonarQube, open source software quality management tool.
- * Copyright (C) 2008-2014 SonarSource
- * mailto:contact AT sonarsource DOT com
- *
- * SonarQube 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.
- *
- * SonarQube 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.
- */
-/* global casper:false */
-
-var lib = require('../lib'),
- testName = lib.testName('Source Viewer');
-
-lib.initMessages();
-lib.changeWorkingDirectory('source-viewer-create-manual-issue');
-lib.configureCasper();
-
-
-casper.test.begin(testName('source-viewer-create-manual-issue'), function (test) {
- casper
- .start(lib.buildUrl('source-viewer'), function () {
- lib.setDefaultViewport();
-
- lib.mockRequest('/api/l10n/index', '{}');
- lib.mockRequestFromFile('/api/components/app', 'app.json');
- lib.mockRequestFromFile('/api/sources/lines', 'lines.json');
- lib.mockRequestFromFile('/api/issues/search', 'issues.json');
- lib.mockRequestFromFile('/api/issues/create', 'create-issue.json');
- lib.mockRequestFromFile('/api/issues/show', 'create-issue.json');
- lib.mockRequestFromFile('/api/rules/search*', 'api-rules-search.json');
- })
-
- .then(function () {
- casper.waitForSelector('.source-line-number[data-line-number="3"]');
- })
-
- .then(function () {
- casper.click('.source-line-number[data-line-number="3"]');
- casper.waitForSelector('.js-add-manual-issue');
- })
-
- .then(function () {
- casper.click('.js-add-manual-issue');
- casper.waitForSelector('.js-manual-issue-form');
- })
-
- .then(function () {
- casper.fill('.js-manual-issue-form', {
- rule: 'manual:api',
- message: 'An issue message'
- }, true);
- })
-
- .then(function () {
- casper.waitForSelector('.source-line-code.has-issues[data-line-number="3"]', function () {
- test.assertExists('.source-line-code.has-issues[data-line-number="3"]');
- });
- })
-
- .run(function () {
- test.done();
- });
-});
+++ /dev/null
-{
- "total": 5,
- "p": 1,
- "ps": 999999,
- "rules": [
- {
- "key": "manual:api",
- "name": "API"
- },
- {
- "key": "manual:design",
- "name": "Design"
- },
- {
- "key": "manual:error_handling",
- "name": "Error handling"
- },
- {
- "key": "manual:performance",
- "name": "Performance"
- },
- {
- "key": "manual:sql_pitfalls",
- "name": "SQL Pitfall"
- }
- ]
-}
+++ /dev/null
-{
- "uuid": "12345",
- "key": "org.codehaus.sonar:sonar-batch:src/main/java/org/sonar/batch/index/Cache.java",
- "path": "src/main/java/org/sonar/batch/index/Cache.java",
- "name": "Cache.java",
- "longName": "src/main/java/org/sonar/batch/index/Cache.java",
- "q": "FIL",
- "subProject": "org.codehaus.sonar:sonar-batch",
- "subProjectName": "SonarQube :: Batch",
- "project": "org.codehaus.sonar:sonar",
- "projectName": "SonarQube",
- "fav": false,
- "canMarkAsFavourite": true,
- "canCreateManualIssue": true,
- "measures": {
- "lines": "378",
- "coverage": "74.3%",
- "duplicationDensity": "5.8%",
- "debt": "2h 10min",
- "sqaleRating": "A",
- "debtRatio": "1.1%",
- "issues": "6"
- }
-}
+++ /dev/null
-{
- "issue": {
- "key": "e69e2012-c58e-4c37-9e0e-9595576de9de",
- "component": "org.codehaus.sonar:sonar-batch:src/main/java/org/sonar/batch/index/Cache.java",
- "componentId": null,
- "project": "org.codehaus.sonar:sonar",
- "rule": "manual:api",
- "status": "OPEN",
- "severity": "MAJOR",
- "message": "An issue message",
- "line": 3,
- "reporter": "admin",
- "creationDate": "2014-12-08T14:22:49+0100",
- "updateDate": "2014-12-08T14:22:49+0100",
- "fUpdateAge": "less than a minute"
- }
-}
+++ /dev/null
-{"total": 6, "p": 1, "ps": 100, "projects": [
- {
- "uuid": "69e57151-be0d-4157-adff-c06741d88879",
- "key": "org.codehaus.sonar:sonar",
- "id": 2865,
- "qualifier": "TRK",
- "name": "SonarQube",
- "longName": "SonarQube"
- }
-], "components": [
- {
- "uuid": "83379565-7af3-4047-8d1a-ed42b10309b0",
- "key": "org.codehaus.sonar:sonar-batch",
- "id": 1624,
- "enabled": true,
- "qualifier": "BRC",
- "name": "SonarQube :: Batch",
- "longName": "SonarQube :: Batch",
- "path": "sonar-batch",
- "projectId": 2865,
- "subProjectId": 2865
- },
- {
- "uuid": "69e57151-be0d-4157-adff-c06741d88879",
- "key": "org.codehaus.sonar:sonar",
- "id": 2865,
- "enabled": true,
- "qualifier": "TRK",
- "name": "SonarQube",
- "longName": "SonarQube"
- },
- {
- "uuid": "b9615992-2458-4d54-a22f-b91ee7ba5bc5",
- "key": "org.codehaus.sonar:sonar-batch:src/main/java/org/sonar/batch/index/Cache.java",
- "id": 19983,
- "enabled": true,
- "qualifier": "FIL",
- "name": "Cache.java",
- "longName": "src/main/java/org/sonar/batch/index/Cache.java",
- "path": "src/main/java/org/sonar/batch/index/Cache.java",
- "projectId": 2865,
- "subProjectId": 1624
- }
-], "issues": [
- {
- "key": "20002ec7-b647-44da-bdf5-4d9fbf4b7c58",
- "component": "org.codehaus.sonar:sonar-batch:src/main/java/org/sonar/batch/index/Cache.java",
- "componentId": 19983,
- "project": "org.codehaus.sonar:sonar",
- "subProject": "org.codehaus.sonar:sonar-batch",
- "rule": "common-java:DuplicatedBlocks",
- "status": "CONFIRMED",
- "severity": "MAJOR",
- "message": "2 duplicated blocks of code.",
- "debt": "2h",
- "creationDate": "2014-05-01T23:38:31+0200",
- "updateDate": "2014-07-01T17:48:47+0200",
- "fUpdateAge": "5 months",
- "actions": ["comment", "assign", "assign_to_me", "plan", "set_severity"],
- "transitions": ["unconfirm", "resolve", "falsepositive"]
- },
- {
- "key": "71a26f48-a90d-4a76-a745-4f6e6e8b1773",
- "component": "org.codehaus.sonar:sonar-batch:src/main/java/org/sonar/batch/index/Cache.java",
- "componentId": 19983,
- "project": "org.codehaus.sonar:sonar",
- "subProject": "org.codehaus.sonar:sonar-batch",
- "rule": "squid:S1135",
- "status": "CONFIRMED",
- "severity": "INFO",
- "message": "Complete the task associated to this TODO comment.",
- "line": 125,
- "author": "simon.brandhof@gmail.com",
- "creationDate": "2013-10-10T23:51:33+0200",
- "updateDate": "2014-07-29T23:15:18+0200",
- "fUpdateAge": "4 months",
- "actions": ["comment", "assign", "assign_to_me", "plan", "set_severity"],
- "transitions": ["unconfirm", "resolve", "falsepositive"]
- },
- {
- "key": "75419c88-0e3c-4311-aa47-fe5731e67558",
- "component": "org.codehaus.sonar:sonar-batch:src/main/java/org/sonar/batch/index/Cache.java",
- "componentId": 19983,
- "project": "org.codehaus.sonar:sonar",
- "subProject": "org.codehaus.sonar:sonar-batch",
- "rule": "squid:S1135",
- "status": "CONFIRMED",
- "severity": "INFO",
- "message": "Complete the task associated to this TODO comment.",
- "line": 155,
- "author": "simon.brandhof@gmail.com",
- "creationDate": "2013-10-10T23:51:33+0200",
- "updateDate": "2014-07-29T23:15:18+0200",
- "fUpdateAge": "4 months",
- "actions": ["comment", "assign", "assign_to_me", "plan", "set_severity"],
- "transitions": ["unconfirm", "resolve", "falsepositive"]
- },
- {
- "key": "01461208-6c1e-4cdf-9f27-b7afa78e76ec",
- "component": "org.codehaus.sonar:sonar-batch:src/main/java/org/sonar/batch/index/Cache.java",
- "componentId": 19983,
- "project": "org.codehaus.sonar:sonar",
- "subProject": "org.codehaus.sonar:sonar-batch",
- "rule": "squid:S1135",
- "status": "CONFIRMED",
- "severity": "INFO",
- "message": "Complete the task associated to this TODO comment.",
- "line": 184,
- "author": "simon.brandhof@gmail.com",
- "creationDate": "2013-10-10T23:51:33+0200",
- "updateDate": "2014-07-29T23:15:18+0200",
- "fUpdateAge": "4 months",
- "actions": ["comment", "assign", "assign_to_me", "plan", "set_severity"],
- "transitions": ["unconfirm", "resolve", "falsepositive"]
- },
- {
- "key": "e4de6481-7bfb-460a-8b3c-24459f9561d3",
- "component": "org.codehaus.sonar:sonar-batch:src/main/java/org/sonar/batch/index/Cache.java",
- "componentId": 19983,
- "project": "org.codehaus.sonar:sonar",
- "subProject": "org.codehaus.sonar:sonar-batch",
- "rule": "squid:S1135",
- "status": "CONFIRMED",
- "severity": "INFO",
- "message": "Complete the task associated to this TODO comment.",
- "line": 239,
- "author": "Simon Brandhof",
- "creationDate": "2013-08-09T16:04:33+0200",
- "updateDate": "2014-07-29T23:15:18+0200",
- "fUpdateAge": "4 months",
- "actions": ["comment", "assign", "assign_to_me", "plan", "set_severity"],
- "transitions": ["unconfirm", "resolve", "falsepositive"]
- },
- {
- "key": "59fc17f7-c977-4cb6-8f04-fbe88e4b9186",
- "component": "org.codehaus.sonar:sonar-batch:src/main/java/org/sonar/batch/index/Cache.java",
- "componentId": 19983,
- "project": "org.codehaus.sonar:sonar",
- "subProject": "org.codehaus.sonar:sonar-batch",
- "rule": "squid:S1192",
- "status": "CONFIRMED",
- "severity": "MINOR",
- "message": "Define a constant instead of duplicating this literal \"Fail to get keys from cache \" 3 times.",
- "line": 257,
- "debt": "10min",
- "author": "simon.brandhof@gmail.com",
- "creationDate": "2014-02-20T07:48:16+0100",
- "updateDate": "2014-02-24T16:57:34+0100",
- "fUpdateAge": "9 months",
- "actions": ["comment", "assign", "assign_to_me", "plan", "set_severity"],
- "transitions": ["unconfirm", "resolve", "falsepositive"]
- }
-], "rules": [
- {
- "key": "common-java:DuplicatedBlocks",
- "name": "Duplicated blocks",
- "lang": "java",
- "desc": "<p>An issue is created on a file as soon as there is a block of duplicated code on this file. It gives the number of blocks in the file.</p>",
- "status": "READY",
- "langName": "Java"
- },
- {
- "key": "squid:S1192",
- "name": "String literals should not be duplicated",
- "lang": "java",
- "desc": "<p>\n Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.\n On the other hand, constants can be referenced from many places, but only need to be updated in a single place.\n</p>\n\n<h2>Non Compliant Code Example</h2>\n\n<pre>\npublic void run() {\n prepare(\"action1\"); // Non-Compliant - \"action1\" is duplicated 3 times\n execute(\"action1\");\n release(\"action1\");\n}\n\n@SuppressWarning(\"all\") // Compliant - annotations are excluded\nprivate void method1() { /* ... */ }\n@SuppressWarning(\"all\")\nprivate void method2() { /* ... */ }\n\npublic String method3(String a) {\n System.out.println(\"'\" + a + \"'\"); // Compliant - literal \"'\" has less than 5 characters and is excluded\n return \"\"; // Compliant - literal \"\" has less than 5 characters and is excluded\n}\n</pre>\n\n<h2>Compliant Code Example</h2>\n\n<pre>\nprivate static final String ACTION_1 = \"action1\"; // Compliant\n\npublic void run() {\n prepare(ACTION_1); // Compliant\n execute(ACTION_1);\n release(ACTION_1);\n}\n</pre>\n\n<h2>Exceptions</h2>\n<p>To prevent generating some false-positives, literals having less than 5 characters are excluded.</p>",
- "status": "READY",
- "langName": "Java"
- },
- {
- "key": "squid:S1135",
- "name": "TODO tags should be handled",
- "lang": "java",
- "desc": "<p>\n<code>TODO</code> tags are commonly used to mark places where some more code is required, but which the developer wants to implement later.\nSometimes the developer will not have the time or will simply forget to get back to that tag.\nThis rule is meant to track those tags, and ensure that they do not go unnoticed.\n</p>\n\n<p>The following code illustrates this rule:</p>\n\n<pre>\nvoid doSomething() {\n // TODO\n}\n</pre>",
- "status": "READY",
- "langName": "Java"
- }
-], "users": [
- {
- "login": "admin",
- "name": "Admin Admin",
- "active": true,
- "email": "admin@sonarsource.com"
- }
-], "languages": [
- {
- "key": "js",
- "name": "JavaScript"
- },
- {
- "key": "java",
- "name": "Java"
- }
-], "maxResultsReached": false, "paging": {
- "pageIndex": 1,
- "pageSize": 100,
- "total": 6,
- "fTotal": "6",
- "pages": 1
-}}
+++ /dev/null
-{"sources": [
- {
- "line": 1,
- "code": "<span class=\"cppd\">/*</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 2,
- "code": "<span class=\"cppd\"> * SonarQube, open source software quality management tool.</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b1436788cfc71b23cc3e3c15400a6c630c914bec",
- "scmDate": "2013-04-21T11:58:14+0200"
- },
- {
- "line": 3,
- "code": "<span class=\"cppd\"> * Copyright (C) 2008-2014 SonarSource</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "57ae3026c36ae3b0b71756d6161124b1ae594c53",
- "scmDate": "2014-03-11T17:52:41+0100"
- },
- {
- "line": 4,
- "code": "<span class=\"cppd\"> * mailto:contact AT sonarsource DOT com</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 5,
- "code": "<span class=\"cppd\"> *</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 6,
- "code": "<span class=\"cppd\"> * SonarQube is free software; you can redistribute it and/or</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b1436788cfc71b23cc3e3c15400a6c630c914bec",
- "scmDate": "2013-04-21T11:58:14+0200"
- },
- {
- "line": 7,
- "code": "<span class=\"cppd\"> * modify it under the terms of the GNU Lesser General Public</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 8,
- "code": "<span class=\"cppd\"> * License as published by the Free Software Foundation; either</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 9,
- "code": "<span class=\"cppd\"> * version 3 of the License, or (at your option) any later version.</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 10,
- "code": "<span class=\"cppd\"> *</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 11,
- "code": "<span class=\"cppd\"> * SonarQube is distributed in the hope that it will be useful,</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b1436788cfc71b23cc3e3c15400a6c630c914bec",
- "scmDate": "2013-04-21T11:58:14+0200"
- },
- {
- "line": 12,
- "code": "<span class=\"cppd\"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 13,
- "code": "<span class=\"cppd\"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 14,
- "code": "<span class=\"cppd\"> * Lesser General Public License for more details.</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 15,
- "code": "<span class=\"cppd\"> *</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 16,
- "code": "<span class=\"cppd\"> * You should have received a copy of the GNU Lesser General Public License</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "ce63bd4c293fe7a1fa066d73860bbaf4e1f5a608",
- "scmDate": "2013-04-22T09:37:03+0200"
- },
- {
- "line": 17,
- "code": "<span class=\"cppd\"> * along with this program; if not, write to the Free Software Foundation,</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "ce63bd4c293fe7a1fa066d73860bbaf4e1f5a608",
- "scmDate": "2013-04-22T09:37:03+0200"
- },
- {
- "line": 18,
- "code": "<span class=\"cppd\"> * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "ce63bd4c293fe7a1fa066d73860bbaf4e1f5a608",
- "scmDate": "2013-04-22T09:37:03+0200"
- },
- {
- "line": 19,
- "code": "<span class=\"cppd\"> */</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 20,
- "code": "<span class=\"k\">package</span> org.sonar.batch.index;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 21,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 22,
- "code": "<span class=\"k\">import </span>com.google.common.collect.<span class=\"sym-1 sym\">Sets</span>;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 23,
- "code": "<span class=\"k\">import </span>com.persistit.<span class=\"sym-2 sym\">Exchange</span>;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 24,
- "code": "<span class=\"k\">import </span>com.persistit.<span class=\"sym-3 sym\">Key</span>;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 25,
- "code": "<span class=\"k\">import </span>com.persistit.<span class=\"sym-4 sym\">KeyFilter</span>;",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 26,
- "code": "<span class=\"k\">import </span>com.persistit.exception.<span class=\"sym-5 sym\">PersistitException</span>;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 27,
- "code": "<span class=\"k\">import </span>org.apache.commons.lang.builder.<span class=\"sym-6 sym\">ToStringBuilder</span>;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 28,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 29,
- "code": "<span class=\"k\">import </span>javax.annotation.<span class=\"sym-7 sym\">CheckForNull</span>;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 30,
- "code": "",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "171cd79c0b5152461434951ed5d6e5e58849a7b7",
- "scmDate": "2014-04-23T14:41:32+0200"
- },
- {
- "line": 31,
- "code": "<span class=\"k\">import </span>java.util.<span class=\"sym-8 sym\">Iterator</span>;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 32,
- "code": "<span class=\"k\">import </span>java.util.<span class=\"sym-9 sym\">NoSuchElementException</span>;",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 33,
- "code": "<span class=\"k\">import </span>java.util.<span class=\"sym-10 sym\">Set</span>;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 34,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 35,
- "code": "<span class=\"cppd\">/**</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 36,
- "code": "<span class=\"cppd\"> * <p></span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 37,
- "code": "<span class=\"cppd\"> * This cache is not thread-safe, due to direct usage of {@link com.persistit.Exchange}</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 38,
- "code": "<span class=\"cppd\"> * </p></span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 39,
- "code": "<span class=\"cppd\"> */</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 40,
- "code": "<span class=\"k\">public </span><span class=\"k\">class</span> <span class=\"sym-11 sym\">Cache</span><V> {",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "6074164392edd3db2dfdfd21d05cd56c19e2b0e6",
- "scmDate": "2014-07-25T16:31:45+0200"
- },
- {
- "line": 41,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 42,
- "code": " <span class=\"k\">private </span><span class=\"k\">final </span>String <span class=\"sym-12 sym\">name</span>;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 43,
- "code": " <span class=\"k\">private </span><span class=\"k\">final </span><span class=\"sym-2 sym\">Exchange</span> <span class=\"sym-13 sym\">exchange</span>;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 44,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 45,
- "code": " <span class=\"sym-14 sym\">Cache</span>(String <span class=\"sym-15 sym\">name</span>, <span class=\"sym-2 sym\">Exchange</span> <span class=\"sym-16 sym\">exchange</span>) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200",
- "lineHits": 1
- },
- {
- "line": 46,
- "code": " <span class=\"k\">this</span>.<span class=\"sym-12 sym\">name</span> = <span class=\"sym-15 sym\">name</span>;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200",
- "lineHits": 1
- },
- {
- "line": 47,
- "code": " <span class=\"k\">this</span>.<span class=\"sym-13 sym\">exchange</span> = <span class=\"sym-16 sym\">exchange</span>;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200",
- "lineHits": 1
- },
- {
- "line": 48,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200",
- "lineHits": 1
- },
- {
- "line": 49,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 50,
- "code": " <span class=\"k\">public </span><span class=\"sym-11 sym\">Cache</span><V> <span class=\"sym-17 sym\">put</span>(Object <span class=\"sym-18 sym\">key</span>, V <span class=\"sym-19 sym\">value</span>) {",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 51,
- "code": " <span class=\"sym-127 sym\">resetKey</span>(<span class=\"sym-18 sym\">key</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 1
- },
- {
- "line": 52,
- "code": " <span class=\"k\">return</span> <span class=\"sym-32 sym\">doPut</span>(<span class=\"sym-19 sym\">value</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 1
- },
- {
- "line": 53,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 54,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 55,
- "code": " <span class=\"k\">public </span><span class=\"sym-11 sym\">Cache</span><V> <span class=\"sym-20 sym\">put</span>(Object <span class=\"sym-21 sym\">firstKey</span>, Object <span class=\"sym-22 sym\">secondKey</span>, V <span class=\"sym-23 sym\">value</span>) {",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 56,
- "code": " <span class=\"sym-129 sym\">resetKey</span>(<span class=\"sym-21 sym\">firstKey</span>, <span class=\"sym-22 sym\">secondKey</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 1
- },
- {
- "line": 57,
- "code": " <span class=\"k\">return</span> <span class=\"sym-32 sym\">doPut</span>(<span class=\"sym-23 sym\">value</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 1
- },
- {
- "line": 58,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 59,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 60,
- "code": " <span class=\"k\">public </span><span class=\"sym-11 sym\">Cache</span><V> <span class=\"sym-24 sym\">put</span>(Object <span class=\"sym-25 sym\">firstKey</span>, Object <span class=\"sym-26 sym\">secondKey</span>, Object <span class=\"sym-27 sym\">thirdKey</span>, V <span class=\"sym-28 sym\">value</span>) {",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 61,
- "code": " <span class=\"sym-132 sym\">resetKey</span>(<span class=\"sym-25 sym\">firstKey</span>, <span class=\"sym-26 sym\">secondKey</span>, <span class=\"sym-27 sym\">thirdKey</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 1
- },
- {
- "line": 62,
- "code": " <span class=\"k\">return</span> <span class=\"sym-32 sym\">doPut</span>(<span class=\"sym-28 sym\">value</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 1
- },
- {
- "line": 63,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 64,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 65,
- "code": " <span class=\"k\">public </span><span class=\"sym-11 sym\">Cache</span><V> <span class=\"sym-29 sym\">put</span>(Object[] <span class=\"sym-30 sym\">key</span>, V <span class=\"sym-31 sym\">value</span>) {",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 66,
- "code": " <span class=\"sym-136 sym\">resetKey</span>(<span class=\"sym-30 sym\">key</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 0
- },
- {
- "line": 67,
- "code": " <span class=\"k\">return</span> <span class=\"sym-32 sym\">doPut</span>(<span class=\"sym-31 sym\">value</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 0
- },
- {
- "line": 68,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 69,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 70,
- "code": " <span class=\"k\">private </span><span class=\"sym-11 sym\">Cache</span><V> <span class=\"sym-32 sym\">doPut</span>(V <span class=\"sym-33 sym\">value</span>) {",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 71,
- "code": " <span class=\"k\">try </span>{",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 72,
- "code": " <span class=\"sym-13 sym\">exchange</span>.getValue().put(<span class=\"sym-33 sym\">value</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200",
- "lineHits": 1
- },
- {
- "line": 73,
- "code": " <span class=\"sym-13 sym\">exchange</span>.store();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200",
- "lineHits": 1
- },
- {
- "line": 74,
- "code": " <span class=\"k\">return</span> <span class=\"k\">this</span>;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200",
- "lineHits": 1
- },
- {
- "line": 75,
- "code": " } <span class=\"k\">catch </span>(Exception <span class=\"sym-34 sym\">e</span>) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200",
- "lineHits": 1
- },
- {
- "line": 76,
- "code": " <span class=\"k\">throw</span> <span class=\"k\">new</span> IllegalStateException(<span class=\"s\">\"Fail to put element in the cache \" </span>+ <span class=\"sym-12 sym\">name</span>, <span class=\"sym-34 sym\">e</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200",
- "lineHits": 1
- },
- {
- "line": 77,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 78,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 79,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 80,
- "code": " <span class=\"cppd\">/**</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 81,
- "code": "<span class=\"cppd\"> * Returns the value object associated with keys, or null if not found.</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 82,
- "code": "<span class=\"cppd\"> */</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 83,
- "code": " <span class=\"k\">public </span>V <span class=\"sym-35 sym\">get</span>(Object <span class=\"sym-36 sym\">key</span>) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 84,
- "code": " <span class=\"sym-127 sym\">resetKey</span>(<span class=\"sym-36 sym\">key</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 1
- },
- {
- "line": 85,
- "code": " <span class=\"k\">return</span> <span class=\"sym-46 sym\">doGet</span>();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 1
- },
- {
- "line": 86,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 87,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 88,
- "code": " <span class=\"cppd\">/**</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 89,
- "code": "<span class=\"cppd\"> * Returns the value object associated with keys, or null if not found.</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 90,
- "code": "<span class=\"cppd\"> */</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 91,
- "code": " <span class=\"a\">@<span class=\"sym-7 sym\">CheckForNull</span></span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 92,
- "code": "<span class=\"a\"> </span><span class=\"k\">public </span>V <span class=\"sym-37 sym\">get</span>(Object <span class=\"sym-38 sym\">firstKey</span>, Object <span class=\"sym-39 sym\">secondKey</span>) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 93,
- "code": " <span class=\"sym-129 sym\">resetKey</span>(<span class=\"sym-38 sym\">firstKey</span>, <span class=\"sym-39 sym\">secondKey</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 1
- },
- {
- "line": 94,
- "code": " <span class=\"k\">return</span> <span class=\"sym-46 sym\">doGet</span>();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 1
- },
- {
- "line": 95,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 96,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 97,
- "code": " <span class=\"cppd\">/**</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 98,
- "code": "<span class=\"cppd\"> * Returns the value object associated with keys, or null if not found.</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 99,
- "code": "<span class=\"cppd\"> */</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 100,
- "code": " <span class=\"a\">@<span class=\"sym-7 sym\">CheckForNull</span></span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 101,
- "code": "<span class=\"a\"> </span><span class=\"k\">public </span>V <span class=\"sym-40 sym\">get</span>(Object <span class=\"sym-41 sym\">firstKey</span>, Object <span class=\"sym-42 sym\">secondKey</span>, Object <span class=\"sym-43 sym\">thirdKey</span>) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 102,
- "code": " <span class=\"sym-132 sym\">resetKey</span>(<span class=\"sym-41 sym\">firstKey</span>, <span class=\"sym-42 sym\">secondKey</span>, <span class=\"sym-43 sym\">thirdKey</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 1
- },
- {
- "line": 103,
- "code": " <span class=\"k\">return</span> <span class=\"sym-46 sym\">doGet</span>();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 1
- },
- {
- "line": 104,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 105,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 106,
- "code": " <span class=\"cppd\">/**</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 107,
- "code": "<span class=\"cppd\"> * Returns the value object associated with keys, or null if not found.</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 108,
- "code": "<span class=\"cppd\"> */</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 109,
- "code": " <span class=\"a\">@<span class=\"sym-7 sym\">CheckForNull</span></span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 110,
- "code": "<span class=\"a\"> </span><span class=\"k\">public </span>V <span class=\"sym-44 sym\">get</span>(Object[] <span class=\"sym-45 sym\">key</span>) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 111,
- "code": " <span class=\"sym-136 sym\">resetKey</span>(<span class=\"sym-45 sym\">key</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 0
- },
- {
- "line": 112,
- "code": " <span class=\"k\">return</span> <span class=\"sym-46 sym\">doGet</span>();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 0
- },
- {
- "line": 113,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 114,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 115,
- "code": " <span class=\"a\">@SuppressWarnings</span>(<span class=\"s\">\"unchecked\"</span>)",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 116,
- "code": " <span class=\"a\">@<span class=\"sym-7 sym\">CheckForNull</span></span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 117,
- "code": "<span class=\"a\"> </span><span class=\"k\">private </span>V <span class=\"sym-46 sym\">doGet</span>() {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 118,
- "code": " <span class=\"k\">try </span>{",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 119,
- "code": " <span class=\"sym-13 sym\">exchange</span>.fetch();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200",
- "lineHits": 1
- },
- {
- "line": 120,
- "code": " <span class=\"k\">if </span>(!<span class=\"sym-13 sym\">exchange</span>.getValue().isDefined()) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200",
- "lineHits": 1,
- "conditions": 2,
- "coveredConditions": 2
- },
- {
- "line": 121,
- "code": " <span class=\"k\">return</span> <span class=\"k\">null</span>;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200",
- "lineHits": 1
- },
- {
- "line": 122,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 123,
- "code": " <span class=\"k\">return</span> (V) <span class=\"sym-13 sym\">exchange</span>.getValue().get();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200",
- "lineHits": 1
- },
- {
- "line": 124,
- "code": " } <span class=\"k\">catch </span>(Exception <span class=\"sym-47 sym\">e</span>) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200",
- "lineHits": 0
- },
- {
- "line": 125,
- "code": " <span class=\"cppd\">// TODO add parameters to message</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e108f5de333cf36aff978aa03940590f9caca9fc",
- "scmDate": "2013-10-10T12:18:02+0200"
- },
- {
- "line": 126,
- "code": " <span class=\"k\">throw</span> <span class=\"k\">new</span> IllegalStateException(<span class=\"s\">\"Fail to get element from cache \" </span>+ <span class=\"sym-12 sym\">name</span>, <span class=\"sym-47 sym\">e</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200",
- "lineHits": 0
- },
- {
- "line": 127,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 128,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 129,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 130,
- "code": " <span class=\"k\">public </span><span class=\"k\">boolean </span><span class=\"sym-48 sym\">containsKey</span>(Object <span class=\"sym-49 sym\">key</span>) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 131,
- "code": " <span class=\"sym-127 sym\">resetKey</span>(<span class=\"sym-49 sym\">key</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 1
- },
- {
- "line": 132,
- "code": " <span class=\"k\">return</span> <span class=\"sym-59 sym\">doContainsKey</span>();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 1
- },
- {
- "line": 133,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 134,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 135,
- "code": " <span class=\"k\">public </span><span class=\"k\">boolean </span><span class=\"sym-50 sym\">containsKey</span>(Object <span class=\"sym-51 sym\">firstKey</span>, Object <span class=\"sym-52 sym\">secondKey</span>) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 136,
- "code": " <span class=\"sym-129 sym\">resetKey</span>(<span class=\"sym-51 sym\">firstKey</span>, <span class=\"sym-52 sym\">secondKey</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 1
- },
- {
- "line": 137,
- "code": " <span class=\"k\">return</span> <span class=\"sym-59 sym\">doContainsKey</span>();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 1
- },
- {
- "line": 138,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 139,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 140,
- "code": " <span class=\"k\">public </span><span class=\"k\">boolean </span><span class=\"sym-53 sym\">containsKey</span>(Object <span class=\"sym-54 sym\">firstKey</span>, Object <span class=\"sym-55 sym\">secondKey</span>, Object <span class=\"sym-56 sym\">thirdKey</span>) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 141,
- "code": " <span class=\"sym-132 sym\">resetKey</span>(<span class=\"sym-54 sym\">firstKey</span>, <span class=\"sym-55 sym\">secondKey</span>, <span class=\"sym-56 sym\">thirdKey</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 1
- },
- {
- "line": 142,
- "code": " <span class=\"k\">return</span> <span class=\"sym-59 sym\">doContainsKey</span>();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 1
- },
- {
- "line": 143,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 144,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 145,
- "code": " <span class=\"k\">public </span><span class=\"k\">boolean </span><span class=\"sym-57 sym\">containsKey</span>(Object[] <span class=\"sym-58 sym\">key</span>) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 146,
- "code": " <span class=\"sym-136 sym\">resetKey</span>(<span class=\"sym-58 sym\">key</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 0
- },
- {
- "line": 147,
- "code": " <span class=\"k\">return</span> <span class=\"sym-59 sym\">doContainsKey</span>();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 0
- },
- {
- "line": 148,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 149,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 150,
- "code": " <span class=\"k\">private </span><span class=\"k\">boolean </span><span class=\"sym-59 sym\">doContainsKey</span>() {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 151,
- "code": " <span class=\"k\">try </span>{",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e108f5de333cf36aff978aa03940590f9caca9fc",
- "scmDate": "2013-10-10T12:18:02+0200"
- },
- {
- "line": 152,
- "code": " <span class=\"sym-13 sym\">exchange</span>.fetch();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e108f5de333cf36aff978aa03940590f9caca9fc",
- "scmDate": "2013-10-10T12:18:02+0200",
- "lineHits": 1
- },
- {
- "line": 153,
- "code": " <span class=\"k\">return</span> <span class=\"sym-13 sym\">exchange</span>.isValueDefined();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e108f5de333cf36aff978aa03940590f9caca9fc",
- "scmDate": "2013-10-10T12:18:02+0200",
- "lineHits": 1
- },
- {
- "line": 154,
- "code": " } <span class=\"k\">catch </span>(Exception <span class=\"sym-60 sym\">e</span>) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e108f5de333cf36aff978aa03940590f9caca9fc",
- "scmDate": "2013-10-10T12:18:02+0200",
- "lineHits": 0
- },
- {
- "line": 155,
- "code": " <span class=\"cppd\">// TODO add parameters to message</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e108f5de333cf36aff978aa03940590f9caca9fc",
- "scmDate": "2013-10-10T12:18:02+0200"
- },
- {
- "line": 156,
- "code": " <span class=\"k\">throw</span> <span class=\"k\">new</span> IllegalStateException(<span class=\"s\">\"Fail to check if element is in cache \" </span>+ <span class=\"sym-12 sym\">name</span>, <span class=\"sym-60 sym\">e</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e108f5de333cf36aff978aa03940590f9caca9fc",
- "scmDate": "2013-10-10T12:18:02+0200",
- "lineHits": 0
- },
- {
- "line": 157,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e108f5de333cf36aff978aa03940590f9caca9fc",
- "scmDate": "2013-10-10T12:18:02+0200"
- },
- {
- "line": 158,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e108f5de333cf36aff978aa03940590f9caca9fc",
- "scmDate": "2013-10-10T12:18:02+0200"
- },
- {
- "line": 159,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e108f5de333cf36aff978aa03940590f9caca9fc",
- "scmDate": "2013-10-10T12:18:02+0200"
- },
- {
- "line": 160,
- "code": " <span class=\"k\">public </span><span class=\"k\">boolean </span><span class=\"sym-61 sym\">remove</span>(Object <span class=\"sym-62 sym\">key</span>) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 161,
- "code": " <span class=\"sym-127 sym\">resetKey</span>(<span class=\"sym-62 sym\">key</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 1
- },
- {
- "line": 162,
- "code": " <span class=\"k\">return</span> <span class=\"sym-72 sym\">doRemove</span>();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 1
- },
- {
- "line": 163,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 164,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 165,
- "code": " <span class=\"k\">public </span><span class=\"k\">boolean </span><span class=\"sym-63 sym\">remove</span>(Object <span class=\"sym-64 sym\">firstKey</span>, Object <span class=\"sym-65 sym\">secondKey</span>) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 166,
- "code": " <span class=\"sym-129 sym\">resetKey</span>(<span class=\"sym-64 sym\">firstKey</span>, <span class=\"sym-65 sym\">secondKey</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 1
- },
- {
- "line": 167,
- "code": " <span class=\"k\">return</span> <span class=\"sym-72 sym\">doRemove</span>();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 1
- },
- {
- "line": 168,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 169,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 170,
- "code": " <span class=\"k\">public </span><span class=\"k\">boolean </span><span class=\"sym-66 sym\">remove</span>(Object <span class=\"sym-67 sym\">firstKey</span>, Object <span class=\"sym-68 sym\">secondKey</span>, Object <span class=\"sym-69 sym\">thirdKey</span>) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 171,
- "code": " <span class=\"sym-132 sym\">resetKey</span>(<span class=\"sym-67 sym\">firstKey</span>, <span class=\"sym-68 sym\">secondKey</span>, <span class=\"sym-69 sym\">thirdKey</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 1
- },
- {
- "line": 172,
- "code": " <span class=\"k\">return</span> <span class=\"sym-72 sym\">doRemove</span>();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 1
- },
- {
- "line": 173,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 174,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 175,
- "code": " <span class=\"k\">public </span><span class=\"k\">boolean </span><span class=\"sym-70 sym\">remove</span>(Object[] <span class=\"sym-71 sym\">key</span>) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 176,
- "code": " <span class=\"sym-136 sym\">resetKey</span>(<span class=\"sym-71 sym\">key</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 0
- },
- {
- "line": 177,
- "code": " <span class=\"k\">return</span> <span class=\"sym-72 sym\">doRemove</span>();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 0
- },
- {
- "line": 178,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 179,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 180,
- "code": " <span class=\"k\">private </span><span class=\"k\">boolean </span><span class=\"sym-72 sym\">doRemove</span>() {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 181,
- "code": " <span class=\"k\">try </span>{",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 182,
- "code": " <span class=\"k\">return</span> <span class=\"sym-13 sym\">exchange</span>.remove();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "6f1161efb92298ace498df544e38f6f97216ec36",
- "scmDate": "2013-04-26T15:19:16+0200",
- "lineHits": 1
- },
- {
- "line": 183,
- "code": " } <span class=\"k\">catch </span>(Exception <span class=\"sym-73 sym\">e</span>) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200",
- "lineHits": 0
- },
- {
- "line": 184,
- "code": " <span class=\"cppd\">// TODO add parameters to message</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e108f5de333cf36aff978aa03940590f9caca9fc",
- "scmDate": "2013-10-10T12:18:02+0200"
- },
- {
- "line": 185,
- "code": " <span class=\"k\">throw</span> <span class=\"k\">new</span> IllegalStateException(<span class=\"s\">\"Fail to get element from cache \" </span>+ <span class=\"sym-12 sym\">name</span>, <span class=\"sym-73 sym\">e</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200",
- "lineHits": 0
- },
- {
- "line": 186,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 187,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 188,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 189,
- "code": " <span class=\"cppd\">/**</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 190,
- "code": "<span class=\"cppd\"> * Removes everything in the specified group.</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 191,
- "code": "<span class=\"cppd\"> *</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 192,
- "code": "<span class=\"cppd\"> * @param group The group name.</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 193,
- "code": "<span class=\"cppd\"> */</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 194,
- "code": " <span class=\"k\">public </span><span class=\"sym-11 sym\">Cache</span><V> <span class=\"sym-74 sym\">clear</span>(Object <span class=\"sym-75 sym\">key</span>) {",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 195,
- "code": " <span class=\"sym-127 sym\">resetKey</span>(<span class=\"sym-75 sym\">key</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 1
- },
- {
- "line": 196,
- "code": " <span class=\"k\">return</span> <span class=\"sym-85 sym\">doClear</span>();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 1
- },
- {
- "line": 197,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 198,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 199,
- "code": " <span class=\"k\">public </span><span class=\"sym-11 sym\">Cache</span><V> <span class=\"sym-76 sym\">clear</span>(Object <span class=\"sym-77 sym\">firstKey</span>, Object <span class=\"sym-78 sym\">secondKey</span>) {",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 200,
- "code": " <span class=\"sym-129 sym\">resetKey</span>(<span class=\"sym-77 sym\">firstKey</span>, <span class=\"sym-78 sym\">secondKey</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 1
- },
- {
- "line": 201,
- "code": " <span class=\"k\">return</span> <span class=\"sym-85 sym\">doClear</span>();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 1
- },
- {
- "line": 202,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 203,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 204,
- "code": " <span class=\"k\">public </span><span class=\"sym-11 sym\">Cache</span><V> <span class=\"sym-79 sym\">clear</span>(Object <span class=\"sym-80 sym\">firstKey</span>, Object <span class=\"sym-81 sym\">secondKey</span>, Object <span class=\"sym-82 sym\">thirdKey</span>) {",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 205,
- "code": " <span class=\"sym-132 sym\">resetKey</span>(<span class=\"sym-80 sym\">firstKey</span>, <span class=\"sym-81 sym\">secondKey</span>, <span class=\"sym-82 sym\">thirdKey</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 1
- },
- {
- "line": 206,
- "code": " <span class=\"k\">return</span> <span class=\"sym-85 sym\">doClear</span>();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 1
- },
- {
- "line": 207,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 208,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 209,
- "code": " <span class=\"k\">public </span><span class=\"sym-11 sym\">Cache</span><V> <span class=\"sym-83 sym\">clear</span>(Object[] <span class=\"sym-84 sym\">key</span>) {",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 210,
- "code": " <span class=\"sym-136 sym\">resetKey</span>(<span class=\"sym-84 sym\">key</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 0
- },
- {
- "line": 211,
- "code": " <span class=\"k\">return</span> <span class=\"sym-85 sym\">doClear</span>();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 0
- },
- {
- "line": 212,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 213,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 214,
- "code": " <span class=\"k\">private </span><span class=\"sym-11 sym\">Cache</span><V> <span class=\"sym-85 sym\">doClear</span>() {",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 215,
- "code": " <span class=\"k\">try </span>{",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 216,
- "code": " <span class=\"sym-3 sym\">Key</span> <span class=\"sym-86 sym\">to</span> = <span class=\"k\">new</span> <span class=\"sym-3 sym\">Key</span>(<span class=\"sym-13 sym\">exchange</span>.getKey());",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 1
- },
- {
- "line": 217,
- "code": " <span class=\"sym-86 sym\">to</span>.append(<span class=\"sym-3 sym\">Key</span>.AFTER);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 1
- },
- {
- "line": 218,
- "code": " <span class=\"sym-13 sym\">exchange</span>.removeKeyRange(<span class=\"sym-13 sym\">exchange</span>.getKey(), <span class=\"sym-86 sym\">to</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 1
- },
- {
- "line": 219,
- "code": " <span class=\"k\">return</span> <span class=\"k\">this</span>;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200",
- "lineHits": 1
- },
- {
- "line": 220,
- "code": " } <span class=\"k\">catch </span>(Exception <span class=\"sym-87 sym\">e</span>) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200",
- "lineHits": 0
- },
- {
- "line": 221,
- "code": " <span class=\"k\">throw</span> <span class=\"k\">new</span> IllegalStateException(<span class=\"s\">\"Fail to clear values from cache \" </span>+ <span class=\"sym-12 sym\">name</span>, <span class=\"sym-87 sym\">e</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 0
- },
- {
- "line": 222,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 223,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 224,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 225,
- "code": " <span class=\"cppd\">/**</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 226,
- "code": "<span class=\"cppd\"> * Clears the default as well as all group caches.</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 227,
- "code": "<span class=\"cppd\"> */</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 228,
- "code": " <span class=\"k\">public </span><span class=\"k\">void </span><span class=\"sym-88 sym\">clear</span>() {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 229,
- "code": " <span class=\"k\">try </span>{",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 230,
- "code": " <span class=\"sym-13 sym\">exchange</span>.clear();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200",
- "lineHits": 1
- },
- {
- "line": 231,
- "code": " <span class=\"sym-13 sym\">exchange</span>.removeAll();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200",
- "lineHits": 1
- },
- {
- "line": 232,
- "code": " } <span class=\"k\">catch </span>(Exception <span class=\"sym-89 sym\">e</span>) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200",
- "lineHits": 0
- },
- {
- "line": 233,
- "code": " <span class=\"k\">throw</span> <span class=\"k\">new</span> IllegalStateException(<span class=\"s\">\"Fail to clear cache\"</span>, <span class=\"sym-89 sym\">e</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200",
- "lineHits": 0
- },
- {
- "line": 234,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200",
- "lineHits": 1
- },
- {
- "line": 235,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200",
- "lineHits": 1
- },
- {
- "line": 236,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 237,
- "code": " <span class=\"cppd\">/**</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 238,
- "code": "<span class=\"cppd\"> * Returns the set of cache keys associated with this group.</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 239,
- "code": "<span class=\"cppd\"> * TODO implement a lazy-loading equivalent with Iterator/Iterable</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 240,
- "code": "<span class=\"cppd\"> *</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 241,
- "code": "<span class=\"cppd\"> * @param group The group.</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 242,
- "code": "<span class=\"cppd\"> * @return The set of cache keys for this group.</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 243,
- "code": "<span class=\"cppd\"> */</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 244,
- "code": " <span class=\"a\">@SuppressWarnings</span>(<span class=\"s\">\"rawtypes\"</span>)",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 245,
- "code": " <span class=\"k\">public </span><span class=\"sym-10 sym\">Set</span> <span class=\"sym-90 sym\">keySet</span>(Object <span class=\"sym-91 sym\">key</span>) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 246,
- "code": " <span class=\"k\">try </span>{",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 247,
- "code": " <span class=\"sym-10 sym\">Set</span><Object> <span class=\"sym-92 sym\">keys</span> = <span class=\"sym-1 sym\">Sets</span>.newLinkedHashSet();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 1
- },
- {
- "line": 248,
- "code": " <span class=\"sym-13 sym\">exchange</span>.clear();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200",
- "lineHits": 1
- },
- {
- "line": 249,
- "code": " <span class=\"sym-2 sym\">Exchange</span> <span class=\"sym-93 sym\">iteratorExchange</span> = <span class=\"k\">new</span> <span class=\"sym-2 sym\">Exchange</span>(<span class=\"sym-13 sym\">exchange</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200",
- "lineHits": 1
- },
- {
- "line": 250,
- "code": " <span class=\"sym-93 sym\">iteratorExchange</span>.append(<span class=\"sym-91 sym\">key</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 1
- },
- {
- "line": 251,
- "code": " <span class=\"sym-93 sym\">iteratorExchange</span>.append(<span class=\"sym-3 sym\">Key</span>.BEFORE);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200",
- "lineHits": 1
- },
- {
- "line": 252,
- "code": " <span class=\"k\">while </span>(<span class=\"sym-93 sym\">iteratorExchange</span>.next(<span class=\"k\">false</span>)) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200",
- "lineHits": 1,
- "conditions": 2,
- "coveredConditions": 2
- },
- {
- "line": 253,
- "code": " <span class=\"sym-92 sym\">keys</span>.add(<span class=\"sym-93 sym\">iteratorExchange</span>.getKey().indexTo(-<span class=\"c\">1</span>).decode());",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 1
- },
- {
- "line": 254,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 255,
- "code": " <span class=\"k\">return</span> <span class=\"sym-92 sym\">keys</span>;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200",
- "lineHits": 1
- },
- {
- "line": 256,
- "code": " } <span class=\"k\">catch </span>(Exception <span class=\"sym-94 sym\">e</span>) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200",
- "lineHits": 0
- },
- {
- "line": 257,
- "code": " <span class=\"k\">throw</span> <span class=\"k\">new</span> IllegalStateException(<span class=\"s\">\"Fail to get keys from cache \" </span>+ <span class=\"sym-12 sym\">name</span>, <span class=\"sym-94 sym\">e</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200",
- "lineHits": 0
- },
- {
- "line": 258,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 259,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 260,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 261,
- "code": " <span class=\"a\">@SuppressWarnings</span>(<span class=\"s\">\"rawtypes\"</span>)",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 262,
- "code": " <span class=\"k\">public </span><span class=\"sym-10 sym\">Set</span> <span class=\"sym-95 sym\">keySet</span>(Object <span class=\"sym-96 sym\">firstKey</span>, Object <span class=\"sym-97 sym\">secondKey</span>) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 263,
- "code": " <span class=\"k\">try </span>{",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 264,
- "code": " <span class=\"sym-10 sym\">Set</span><Object> <span class=\"sym-98 sym\">keys</span> = <span class=\"sym-1 sym\">Sets</span>.newLinkedHashSet();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 1
- },
- {
- "line": 265,
- "code": " <span class=\"sym-13 sym\">exchange</span>.clear();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 1
- },
- {
- "line": 266,
- "code": " <span class=\"sym-2 sym\">Exchange</span> <span class=\"sym-99 sym\">iteratorExchange</span> = <span class=\"k\">new</span> <span class=\"sym-2 sym\">Exchange</span>(<span class=\"sym-13 sym\">exchange</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 1
- },
- {
- "line": 267,
- "code": " <span class=\"sym-99 sym\">iteratorExchange</span>.append(<span class=\"sym-96 sym\">firstKey</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 1
- },
- {
- "line": 268,
- "code": " <span class=\"sym-99 sym\">iteratorExchange</span>.append(<span class=\"sym-97 sym\">secondKey</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 1
- },
- {
- "line": 269,
- "code": " <span class=\"sym-99 sym\">iteratorExchange</span>.append(<span class=\"sym-3 sym\">Key</span>.BEFORE);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 1
- },
- {
- "line": 270,
- "code": " <span class=\"k\">while </span>(<span class=\"sym-99 sym\">iteratorExchange</span>.next(<span class=\"k\">false</span>)) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 1,
- "conditions": 2,
- "coveredConditions": 2
- },
- {
- "line": 271,
- "code": " <span class=\"sym-98 sym\">keys</span>.add(<span class=\"sym-99 sym\">iteratorExchange</span>.getKey().indexTo(-<span class=\"c\">1</span>).decode());",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 1
- },
- {
- "line": 272,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 273,
- "code": " <span class=\"k\">return</span> <span class=\"sym-98 sym\">keys</span>;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 1
- },
- {
- "line": 274,
- "code": " } <span class=\"k\">catch </span>(Exception <span class=\"sym-100 sym\">e</span>) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 0
- },
- {
- "line": 275,
- "code": " <span class=\"k\">throw</span> <span class=\"k\">new</span> IllegalStateException(<span class=\"s\">\"Fail to get keys from cache \" </span>+ <span class=\"sym-12 sym\">name</span>, <span class=\"sym-100 sym\">e</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 0
- },
- {
- "line": 276,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 277,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 278,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 279,
- "code": " <span class=\"cppd\">/**</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 280,
- "code": "<span class=\"cppd\"> * Returns the set of keys associated with this cache.</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 281,
- "code": "<span class=\"cppd\"> *</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 282,
- "code": "<span class=\"cppd\"> * @return The set containing the keys for this cache.</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 283,
- "code": "<span class=\"cppd\"> */</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 284,
- "code": " <span class=\"k\">public </span><span class=\"sym-10 sym\">Set</span><Object> <span class=\"sym-101 sym\">keySet</span>() {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 285,
- "code": " <span class=\"k\">try </span>{",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 286,
- "code": " <span class=\"sym-10 sym\">Set</span><Object> <span class=\"sym-102 sym\">keys</span> = <span class=\"sym-1 sym\">Sets</span>.newLinkedHashSet();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 1
- },
- {
- "line": 287,
- "code": " <span class=\"sym-13 sym\">exchange</span>.clear();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 1
- },
- {
- "line": 288,
- "code": " <span class=\"sym-2 sym\">Exchange</span> <span class=\"sym-103 sym\">iteratorExchange</span> = <span class=\"k\">new</span> <span class=\"sym-2 sym\">Exchange</span>(<span class=\"sym-13 sym\">exchange</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 1
- },
- {
- "line": 289,
- "code": " <span class=\"sym-103 sym\">iteratorExchange</span>.append(<span class=\"sym-3 sym\">Key</span>.BEFORE);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 1
- },
- {
- "line": 290,
- "code": " <span class=\"k\">while </span>(<span class=\"sym-103 sym\">iteratorExchange</span>.next(<span class=\"k\">false</span>)) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 1,
- "conditions": 2,
- "coveredConditions": 2
- },
- {
- "line": 291,
- "code": " <span class=\"sym-102 sym\">keys</span>.add(<span class=\"sym-103 sym\">iteratorExchange</span>.getKey().indexTo(-<span class=\"c\">1</span>).decode());",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 1
- },
- {
- "line": 292,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 293,
- "code": " <span class=\"k\">return</span> <span class=\"sym-102 sym\">keys</span>;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 1
- },
- {
- "line": 294,
- "code": " } <span class=\"k\">catch </span>(Exception <span class=\"sym-104 sym\">e</span>) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 0
- },
- {
- "line": 295,
- "code": " <span class=\"k\">throw</span> <span class=\"k\">new</span> IllegalStateException(<span class=\"s\">\"Fail to get keys from cache \" </span>+ <span class=\"sym-12 sym\">name</span>, <span class=\"sym-104 sym\">e</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 0
- },
- {
- "line": 296,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 297,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 298,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 299,
- "code": " <span class=\"cppd\">/**</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200"
- },
- {
- "line": 300,
- "code": "<span class=\"cppd\"> * Lazy-loading values for given keys</span>",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "171cd79c0b5152461434951ed5d6e5e58849a7b7",
- "scmDate": "2014-04-23T14:41:32+0200"
- },
- {
- "line": 301,
- "code": "<span class=\"cppd\"> */</span>",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "171cd79c0b5152461434951ed5d6e5e58849a7b7",
- "scmDate": "2014-04-23T14:41:32+0200"
- },
- {
- "line": 302,
- "code": " <span class=\"k\">public </span>Iterable<V> <span class=\"sym-105 sym\">values</span>(Object <span class=\"sym-106 sym\">firstKey</span>, Object <span class=\"sym-107 sym\">secondKey</span>) {",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "171cd79c0b5152461434951ed5d6e5e58849a7b7",
- "scmDate": "2014-04-23T14:41:32+0200"
- },
- {
- "line": 303,
- "code": " <span class=\"k\">try </span>{",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "171cd79c0b5152461434951ed5d6e5e58849a7b7",
- "scmDate": "2014-04-23T14:41:32+0200"
- },
- {
- "line": 304,
- "code": " <span class=\"sym-13 sym\">exchange</span>.clear();",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "171cd79c0b5152461434951ed5d6e5e58849a7b7",
- "scmDate": "2014-04-23T14:41:32+0200",
- "lineHits": 1
- },
- {
- "line": 305,
- "code": " <span class=\"sym-13 sym\">exchange</span>.append(<span class=\"sym-106 sym\">firstKey</span>).append(<span class=\"sym-107 sym\">secondKey</span>).append(<span class=\"sym-3 sym\">Key</span>.BEFORE);",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "171cd79c0b5152461434951ed5d6e5e58849a7b7",
- "scmDate": "2014-04-23T14:41:32+0200",
- "lineHits": 1
- },
- {
- "line": 306,
- "code": " <span class=\"sym-2 sym\">Exchange</span> <span class=\"sym-108 sym\">iteratorExchange</span> = <span class=\"k\">new</span> <span class=\"sym-2 sym\">Exchange</span>(<span class=\"sym-13 sym\">exchange</span>);",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "171cd79c0b5152461434951ed5d6e5e58849a7b7",
- "scmDate": "2014-04-23T14:41:32+0200",
- "lineHits": 1
- },
- {
- "line": 307,
- "code": " <span class=\"sym-4 sym\">KeyFilter</span> <span class=\"sym-109 sym\">filter</span> = <span class=\"k\">new</span> <span class=\"sym-4 sym\">KeyFilter</span>().append(<span class=\"sym-4 sym\">KeyFilter</span>.simpleTerm(<span class=\"sym-106 sym\">firstKey</span>)).append(<span class=\"sym-4 sym\">KeyFilter</span>.simpleTerm(<span class=\"sym-107 sym\">secondKey</span>));",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200",
- "lineHits": 1
- },
- {
- "line": 308,
- "code": " <span class=\"k\">return</span> <span class=\"k\">new</span> <span class=\"sym-139 sym\">ValueIterable</span><V>(<span class=\"sym-108 sym\">iteratorExchange</span>, <span class=\"sym-109 sym\">filter</span>);",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200",
- "lineHits": 1
- },
- {
- "line": 309,
- "code": " } <span class=\"k\">catch </span>(Exception <span class=\"sym-110 sym\">e</span>) {",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "171cd79c0b5152461434951ed5d6e5e58849a7b7",
- "scmDate": "2014-04-23T14:41:32+0200",
- "lineHits": 0
- },
- {
- "line": 310,
- "code": " <span class=\"k\">throw</span> <span class=\"sym-111 sym\">failToGetValues</span>(<span class=\"sym-110 sym\">e</span>);",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "904b462c56317b1fb5a616534bd58aa9c9097d0b",
- "scmDate": "2014-06-20T14:13:01+0200",
- "lineHits": 0
- },
- {
- "line": 311,
- "code": " }",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "171cd79c0b5152461434951ed5d6e5e58849a7b7",
- "scmDate": "2014-04-23T14:41:32+0200"
- },
- {
- "line": 312,
- "code": " }",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "904b462c56317b1fb5a616534bd58aa9c9097d0b",
- "scmDate": "2014-06-20T14:13:01+0200"
- },
- {
- "line": 313,
- "code": "",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "904b462c56317b1fb5a616534bd58aa9c9097d0b",
- "scmDate": "2014-06-20T14:13:01+0200"
- },
- {
- "line": 314,
- "code": " <span class=\"k\">private </span>IllegalStateException <span class=\"sym-111 sym\">failToGetValues</span>(Exception <span class=\"sym-112 sym\">e</span>) {",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "904b462c56317b1fb5a616534bd58aa9c9097d0b",
- "scmDate": "2014-06-20T14:13:01+0200"
- },
- {
- "line": 315,
- "code": " <span class=\"k\">return</span> <span class=\"k\">new</span> IllegalStateException(<span class=\"s\">\"Fail to get values from cache \" </span>+ <span class=\"sym-12 sym\">name</span>, <span class=\"sym-112 sym\">e</span>);",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "904b462c56317b1fb5a616534bd58aa9c9097d0b",
- "scmDate": "2014-06-20T14:13:01+0200",
- "lineHits": 0
- },
- {
- "line": 316,
- "code": " }",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "171cd79c0b5152461434951ed5d6e5e58849a7b7",
- "scmDate": "2014-04-23T14:41:32+0200"
- },
- {
- "line": 317,
- "code": "",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "171cd79c0b5152461434951ed5d6e5e58849a7b7",
- "scmDate": "2014-04-23T14:41:32+0200"
- },
- {
- "line": 318,
- "code": " <span class=\"cppd\">/**</span>",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "171cd79c0b5152461434951ed5d6e5e58849a7b7",
- "scmDate": "2014-04-23T14:41:32+0200"
- },
- {
- "line": 319,
- "code": "<span class=\"cppd\"> * Lazy-loading values for a given key</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 320,
- "code": "<span class=\"cppd\"> */</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200"
- },
- {
- "line": 321,
- "code": " <span class=\"k\">public </span>Iterable<V> <span class=\"sym-113 sym\">values</span>(Object <span class=\"sym-114 sym\">firstKey</span>) {",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 322,
- "code": " <span class=\"k\">try </span>{",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 323,
- "code": " <span class=\"sym-13 sym\">exchange</span>.clear();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200",
- "lineHits": 1
- },
- {
- "line": 324,
- "code": " <span class=\"sym-13 sym\">exchange</span>.append(<span class=\"sym-114 sym\">firstKey</span>).append(<span class=\"sym-3 sym\">Key</span>.BEFORE);",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200",
- "lineHits": 1
- },
- {
- "line": 325,
- "code": " <span class=\"sym-2 sym\">Exchange</span> <span class=\"sym-115 sym\">iteratorExchange</span> = <span class=\"k\">new</span> <span class=\"sym-2 sym\">Exchange</span>(<span class=\"sym-13 sym\">exchange</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200",
- "lineHits": 1
- },
- {
- "line": 326,
- "code": " <span class=\"sym-4 sym\">KeyFilter</span> <span class=\"sym-116 sym\">filter</span> = <span class=\"k\">new</span> <span class=\"sym-4 sym\">KeyFilter</span>().append(<span class=\"sym-4 sym\">KeyFilter</span>.simpleTerm(<span class=\"sym-114 sym\">firstKey</span>));",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200",
- "lineHits": 1
- },
- {
- "line": 327,
- "code": " <span class=\"k\">return</span> <span class=\"k\">new</span> <span class=\"sym-139 sym\">ValueIterable</span><V>(<span class=\"sym-115 sym\">iteratorExchange</span>, <span class=\"sym-116 sym\">filter</span>);",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200",
- "lineHits": 1
- },
- {
- "line": 328,
- "code": " } <span class=\"k\">catch </span>(Exception <span class=\"sym-117 sym\">e</span>) {",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "46395126b184c343df5471a147cdb48133f59f6f",
- "scmDate": "2014-04-23T14:41:32+0200",
- "lineHits": 0
- },
- {
- "line": 329,
- "code": " <span class=\"k\">throw</span> <span class=\"sym-111 sym\">failToGetValues</span>(<span class=\"sym-117 sym\">e</span>);",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "904b462c56317b1fb5a616534bd58aa9c9097d0b",
- "scmDate": "2014-06-20T14:13:01+0200",
- "lineHits": 0
- },
- {
- "line": 330,
- "code": " }",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "46395126b184c343df5471a147cdb48133f59f6f",
- "scmDate": "2014-04-23T14:41:32+0200"
- },
- {
- "line": 331,
- "code": " }",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "46395126b184c343df5471a147cdb48133f59f6f",
- "scmDate": "2014-04-23T14:41:32+0200"
- },
- {
- "line": 332,
- "code": "",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "46395126b184c343df5471a147cdb48133f59f6f",
- "scmDate": "2014-04-23T14:41:32+0200"
- },
- {
- "line": 333,
- "code": " <span class=\"cppd\">/**</span>",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "46395126b184c343df5471a147cdb48133f59f6f",
- "scmDate": "2014-04-23T14:41:32+0200"
- },
- {
- "line": 334,
- "code": "<span class=\"cppd\"> * Lazy-loading values</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200"
- },
- {
- "line": 335,
- "code": "<span class=\"cppd\"> */</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200"
- },
- {
- "line": 336,
- "code": " <span class=\"k\">public </span>Iterable<V> <span class=\"sym-118 sym\">values</span>() {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 337,
- "code": " <span class=\"k\">try </span>{",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 338,
- "code": " <span class=\"sym-13 sym\">exchange</span>.clear().append(<span class=\"sym-3 sym\">Key</span>.BEFORE);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 1
- },
- {
- "line": 339,
- "code": " <span class=\"sym-2 sym\">Exchange</span> <span class=\"sym-119 sym\">iteratorExchange</span> = <span class=\"k\">new</span> <span class=\"sym-2 sym\">Exchange</span>(<span class=\"sym-13 sym\">exchange</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200",
- "lineHits": 1
- },
- {
- "line": 340,
- "code": " <span class=\"sym-4 sym\">KeyFilter</span> <span class=\"sym-120 sym\">filter</span> = <span class=\"k\">new</span> <span class=\"sym-4 sym\">KeyFilter</span>().append(<span class=\"sym-4 sym\">KeyFilter</span>.ALL);",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200",
- "lineHits": 1
- },
- {
- "line": 341,
- "code": " <span class=\"k\">return</span> <span class=\"k\">new</span> <span class=\"sym-139 sym\">ValueIterable</span><V>(<span class=\"sym-119 sym\">iteratorExchange</span>, <span class=\"sym-120 sym\">filter</span>);",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200",
- "lineHits": 1
- },
- {
- "line": 342,
- "code": " } <span class=\"k\">catch </span>(Exception <span class=\"sym-121 sym\">e</span>) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200",
- "lineHits": 0
- },
- {
- "line": 343,
- "code": " <span class=\"k\">throw</span> <span class=\"sym-111 sym\">failToGetValues</span>(<span class=\"sym-121 sym\">e</span>);",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "904b462c56317b1fb5a616534bd58aa9c9097d0b",
- "scmDate": "2014-06-20T14:13:01+0200",
- "lineHits": 0
- },
- {
- "line": 344,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 345,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 346,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 347,
- "code": " <span class=\"k\">public </span>Iterable<<span class=\"sym-177 sym\">Entry</span><V>> <span class=\"sym-122 sym\">entries</span>() {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 348,
- "code": " <span class=\"sym-13 sym\">exchange</span>.clear().to(<span class=\"sym-3 sym\">Key</span>.BEFORE);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200",
- "lineHits": 1
- },
- {
- "line": 349,
- "code": " <span class=\"sym-4 sym\">KeyFilter</span> <span class=\"sym-123 sym\">filter</span> = <span class=\"k\">new</span> <span class=\"sym-4 sym\">KeyFilter</span>().append(<span class=\"sym-4 sym\">KeyFilter</span>.ALL);",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200",
- "lineHits": 1
- },
- {
- "line": 350,
- "code": " <span class=\"k\">return</span> <span class=\"k\">new</span> <span class=\"sym-156 sym\">EntryIterable</span><V>(<span class=\"k\">new</span> <span class=\"sym-2 sym\">Exchange</span>(<span class=\"sym-13 sym\">exchange</span>), <span class=\"sym-123 sym\">filter</span>);",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200",
- "lineHits": 1
- },
- {
- "line": 351,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 352,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 353,
- "code": " <span class=\"k\">public </span>Iterable<<span class=\"sym-177 sym\">Entry</span><V>> <span class=\"sym-124 sym\">entries</span>(Object <span class=\"sym-125 sym\">firstKey</span>) {",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 354,
- "code": " <span class=\"sym-13 sym\">exchange</span>.clear().append(<span class=\"sym-125 sym\">firstKey</span>).append(<span class=\"sym-3 sym\">Key</span>.BEFORE);",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200",
- "lineHits": 1
- },
- {
- "line": 355,
- "code": " <span class=\"sym-4 sym\">KeyFilter</span> <span class=\"sym-126 sym\">filter</span> = <span class=\"k\">new</span> <span class=\"sym-4 sym\">KeyFilter</span>().append(<span class=\"sym-4 sym\">KeyFilter</span>.simpleTerm(<span class=\"sym-125 sym\">firstKey</span>));",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200",
- "lineHits": 1
- },
- {
- "line": 356,
- "code": " <span class=\"k\">return</span> <span class=\"k\">new</span> <span class=\"sym-156 sym\">EntryIterable</span><V>(<span class=\"k\">new</span> <span class=\"sym-2 sym\">Exchange</span>(<span class=\"sym-13 sym\">exchange</span>), <span class=\"sym-126 sym\">filter</span>);",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200",
- "lineHits": 1
- },
- {
- "line": 357,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 358,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 359,
- "code": " <span class=\"k\">private </span><span class=\"k\">void </span><span class=\"sym-127 sym\">resetKey</span>(Object <span class=\"sym-128 sym\">key</span>) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 360,
- "code": " <span class=\"sym-13 sym\">exchange</span>.clear();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 1
- },
- {
- "line": 361,
- "code": " <span class=\"sym-13 sym\">exchange</span>.append(<span class=\"sym-128 sym\">key</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 1
- },
- {
- "line": 362,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 1
- },
- {
- "line": 363,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 364,
- "code": " <span class=\"k\">private </span><span class=\"k\">void </span><span class=\"sym-129 sym\">resetKey</span>(Object <span class=\"sym-130 sym\">first</span>, Object <span class=\"sym-131 sym\">second</span>) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 365,
- "code": " <span class=\"sym-13 sym\">exchange</span>.clear();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 1
- },
- {
- "line": 366,
- "code": " <span class=\"sym-13 sym\">exchange</span>.append(<span class=\"sym-130 sym\">first</span>).append(<span class=\"sym-131 sym\">second</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 1
- },
- {
- "line": 367,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 1
- },
- {
- "line": 368,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 369,
- "code": " <span class=\"k\">private </span><span class=\"k\">void </span><span class=\"sym-132 sym\">resetKey</span>(Object <span class=\"sym-133 sym\">first</span>, Object <span class=\"sym-134 sym\">second</span>, Object <span class=\"sym-135 sym\">third</span>) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 370,
- "code": " <span class=\"sym-13 sym\">exchange</span>.clear();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 1
- },
- {
- "line": 371,
- "code": " <span class=\"sym-13 sym\">exchange</span>.append(<span class=\"sym-133 sym\">first</span>).append(<span class=\"sym-134 sym\">second</span>).append(<span class=\"sym-135 sym\">third</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 1
- },
- {
- "line": 372,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 1
- },
- {
- "line": 373,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 374,
- "code": " <span class=\"k\">private </span><span class=\"k\">void </span><span class=\"sym-136 sym\">resetKey</span>(Object[] <span class=\"sym-137 sym\">keys</span>) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 375,
- "code": " <span class=\"sym-13 sym\">exchange</span>.clear();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 0
- },
- {
- "line": 376,
- "code": " <span class=\"k\">for</span> (Object <span class=\"sym-138 sym\">o</span> : <span class=\"sym-137 sym\">keys</span>) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 0,
- "conditions": 2,
- "coveredConditions": 0
- },
- {
- "line": 377,
- "code": " <span class=\"sym-13 sym\">exchange</span>.append(<span class=\"sym-138 sym\">o</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 0
- },
- {
- "line": 378,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 379,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200",
- "lineHits": 0
- },
- {
- "line": 380,
- "code": "",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "7b301db8c7e3000ff2a04fce5534e45e7d973a1f",
- "scmDate": "2014-04-25T11:17:09+0200"
- },
- {
- "line": 381,
- "code": " <span class=\"cppd\">//</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200"
- },
- {
- "line": 382,
- "code": " <span class=\"cppd\">// LAZY ITERATORS AND ITERABLES</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200"
- },
- {
- "line": 383,
- "code": " <span class=\"cppd\">//</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200"
- },
- {
- "line": 384,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200"
- },
- {
- "line": 385,
- "code": " <span class=\"k\">private </span><span class=\"k\">static </span><span class=\"k\">class</span> <span class=\"sym-139 sym\">ValueIterable</span><T> <span class=\"k\">implements</span> Iterable<T> {",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "6074164392edd3db2dfdfd21d05cd56c19e2b0e6",
- "scmDate": "2014-07-25T16:31:45+0200"
- },
- {
- "line": 386,
- "code": " <span class=\"k\">private </span><span class=\"k\">final </span><span class=\"sym-8 sym\">Iterator</span><T> <span class=\"sym-140 sym\">iterator</span>;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200"
- },
- {
- "line": 387,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200"
- },
- {
- "line": 388,
- "code": " <span class=\"k\">private </span><span class=\"sym-141 sym\">ValueIterable</span>(<span class=\"sym-2 sym\">Exchange</span> <span class=\"sym-142 sym\">exchange</span>, <span class=\"sym-4 sym\">KeyFilter</span> <span class=\"sym-143 sym\">keyFilter</span>) {",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200",
- "lineHits": 1
- },
- {
- "line": 389,
- "code": " <span class=\"k\">this</span>.<span class=\"sym-140 sym\">iterator</span> = <span class=\"k\">new</span> <span class=\"sym-145 sym\">ValueIterator</span><T>(<span class=\"sym-142 sym\">exchange</span>, <span class=\"sym-143 sym\">keyFilter</span>);",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200",
- "lineHits": 1
- },
- {
- "line": 390,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200",
- "lineHits": 1
- },
- {
- "line": 391,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200"
- },
- {
- "line": 392,
- "code": " <span class=\"a\">@Override</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200"
- },
- {
- "line": 393,
- "code": "<span class=\"a\"> </span><span class=\"k\">public </span><span class=\"sym-8 sym\">Iterator</span><T> <span class=\"sym-144 sym\">iterator</span>() {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200"
- },
- {
- "line": 394,
- "code": " <span class=\"k\">return</span> <span class=\"sym-140 sym\">iterator</span>;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200",
- "lineHits": 1
- },
- {
- "line": 395,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200"
- },
- {
- "line": 396,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200"
- },
- {
- "line": 397,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200"
- },
- {
- "line": 398,
- "code": " <span class=\"k\">private </span><span class=\"k\">static </span><span class=\"k\">class</span> <span class=\"sym-145 sym\">ValueIterator</span><T> <span class=\"k\">implements</span> <span class=\"sym-8 sym\">Iterator</span><T> {",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "6074164392edd3db2dfdfd21d05cd56c19e2b0e6",
- "scmDate": "2014-07-25T16:31:45+0200"
- },
- {
- "line": 399,
- "code": " <span class=\"k\">private </span><span class=\"k\">final </span><span class=\"sym-2 sym\">Exchange</span> <span class=\"sym-146 sym\">exchange</span>;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200"
- },
- {
- "line": 400,
- "code": " <span class=\"k\">private </span><span class=\"k\">final </span><span class=\"sym-4 sym\">KeyFilter</span> <span class=\"sym-147 sym\">keyFilter</span>;",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 401,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200"
- },
- {
- "line": 402,
- "code": " <span class=\"k\">private </span><span class=\"sym-148 sym\">ValueIterator</span>(<span class=\"sym-2 sym\">Exchange</span> <span class=\"sym-149 sym\">exchange</span>, <span class=\"sym-4 sym\">KeyFilter</span> <span class=\"sym-150 sym\">keyFilter</span>) {",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200",
- "lineHits": 1
- },
- {
- "line": 403,
- "code": " <span class=\"k\">this</span>.<span class=\"sym-146 sym\">exchange</span> = <span class=\"sym-149 sym\">exchange</span>;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200",
- "lineHits": 1,
- "duplicated": true
- },
- {
- "line": 404,
- "code": " <span class=\"k\">this</span>.<span class=\"sym-147 sym\">keyFilter</span> = <span class=\"sym-150 sym\">keyFilter</span>;",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200",
- "lineHits": 1,
- "duplicated": true
- },
- {
- "line": 405,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200",
- "lineHits": 1,
- "duplicated": true
- },
- {
- "line": 406,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200",
- "duplicated": true
- },
- {
- "line": 407,
- "code": " <span class=\"a\">@Override</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200",
- "duplicated": true
- },
- {
- "line": 408,
- "code": "<span class=\"a\"> </span><span class=\"k\">public </span><span class=\"k\">boolean </span><span class=\"sym-151 sym\">hasNext</span>() {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200",
- "duplicated": true
- },
- {
- "line": 409,
- "code": " <span class=\"k\">try </span>{",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200",
- "duplicated": true
- },
- {
- "line": 410,
- "code": " <span class=\"k\">return</span> <span class=\"sym-146 sym\">exchange</span>.hasNext(<span class=\"sym-147 sym\">keyFilter</span>);",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200",
- "lineHits": 1,
- "duplicated": true
- },
- {
- "line": 411,
- "code": " } <span class=\"k\">catch </span>(<span class=\"sym-5 sym\">PersistitException</span> <span class=\"sym-152 sym\">e</span>) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200",
- "lineHits": 0,
- "duplicated": true
- },
- {
- "line": 412,
- "code": " <span class=\"k\">throw</span> <span class=\"k\">new</span> IllegalStateException(<span class=\"sym-152 sym\">e</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200",
- "lineHits": 0,
- "duplicated": true
- },
- {
- "line": 413,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200",
- "duplicated": true
- },
- {
- "line": 414,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200",
- "duplicated": true
- },
- {
- "line": 415,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200",
- "duplicated": true
- },
- {
- "line": 416,
- "code": " <span class=\"a\">@SuppressWarnings</span>(<span class=\"s\">\"unchecked\"</span>)",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200",
- "duplicated": true
- },
- {
- "line": 417,
- "code": " <span class=\"a\">@Override</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200",
- "duplicated": true
- },
- {
- "line": 418,
- "code": "<span class=\"a\"> </span><span class=\"k\">public </span>T <span class=\"sym-153 sym\">next</span>() {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200"
- },
- {
- "line": 419,
- "code": " <span class=\"k\">try </span>{",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 420,
- "code": " <span class=\"sym-146 sym\">exchange</span>.next(<span class=\"sym-147 sym\">keyFilter</span>);",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200",
- "lineHits": 1
- },
- {
- "line": 421,
- "code": " } <span class=\"k\">catch </span>(<span class=\"sym-5 sym\">PersistitException</span> <span class=\"sym-154 sym\">e</span>) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 0
- },
- {
- "line": 422,
- "code": " <span class=\"k\">throw</span> <span class=\"k\">new</span> IllegalStateException(<span class=\"sym-154 sym\">e</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 0
- },
- {
- "line": 423,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 1
- },
- {
- "line": 424,
- "code": " <span class=\"k\">if </span>(<span class=\"sym-146 sym\">exchange</span>.getValue().isDefined()) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200",
- "lineHits": 1,
- "conditions": 2,
- "coveredConditions": 1
- },
- {
- "line": 425,
- "code": " <span class=\"k\">return</span> (T) <span class=\"sym-146 sym\">exchange</span>.getValue().get();",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200",
- "lineHits": 1
- },
- {
- "line": 426,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200"
- },
- {
- "line": 427,
- "code": " <span class=\"k\">throw</span> <span class=\"k\">new</span> <span class=\"sym-9 sym\">NoSuchElementException</span>();",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200",
- "lineHits": 0
- },
- {
- "line": 428,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200"
- },
- {
- "line": 429,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200"
- },
- {
- "line": 430,
- "code": " <span class=\"a\">@Override</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200"
- },
- {
- "line": 431,
- "code": "<span class=\"a\"> </span><span class=\"k\">public </span><span class=\"k\">void </span><span class=\"sym-155 sym\">remove</span>() {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200"
- },
- {
- "line": 432,
- "code": " <span class=\"k\">throw</span> <span class=\"k\">new</span> UnsupportedOperationException(<span class=\"s\">\"Removing an item is not supported\"</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "34cce8e330192c56a159a856ebd8072d38299087",
- "scmDate": "2014-02-24T14:21:50+0100",
- "lineHits": 0
- },
- {
- "line": 433,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 434,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 435,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 436,
- "code": " <span class=\"k\">private </span><span class=\"k\">static </span><span class=\"k\">class</span> <span class=\"sym-156 sym\">EntryIterable</span><T> <span class=\"k\">implements</span> Iterable<<span class=\"sym-177 sym\">Entry</span><T>> {",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "6074164392edd3db2dfdfd21d05cd56c19e2b0e6",
- "scmDate": "2014-07-25T16:31:45+0200"
- },
- {
- "line": 437,
- "code": " <span class=\"k\">private </span><span class=\"k\">final </span><span class=\"sym-162 sym\">EntryIterator</span><T> <span class=\"sym-157 sym\">it</span>;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 438,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 439,
- "code": " <span class=\"k\">private </span><span class=\"sym-158 sym\">EntryIterable</span>(<span class=\"sym-2 sym\">Exchange</span> <span class=\"sym-159 sym\">exchange</span>, <span class=\"sym-4 sym\">KeyFilter</span> <span class=\"sym-160 sym\">keyFilter</span>) {",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200",
- "lineHits": 1
- },
- {
- "line": 440,
- "code": " <span class=\"sym-157 sym\">it</span> = <span class=\"k\">new</span> <span class=\"sym-162 sym\">EntryIterator</span><T>(<span class=\"sym-159 sym\">exchange</span>, <span class=\"sym-160 sym\">keyFilter</span>);",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200",
- "lineHits": 1
- },
- {
- "line": 441,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200",
- "lineHits": 1
- },
- {
- "line": 442,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 443,
- "code": " <span class=\"a\">@Override</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 444,
- "code": "<span class=\"a\"> </span><span class=\"k\">public </span><span class=\"sym-8 sym\">Iterator</span><<span class=\"sym-177 sym\">Entry</span><T>> <span class=\"sym-161 sym\">iterator</span>() {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 445,
- "code": " <span class=\"k\">return</span> <span class=\"sym-157 sym\">it</span>;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200",
- "lineHits": 1
- },
- {
- "line": 446,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 447,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 448,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 449,
- "code": " <span class=\"k\">private </span><span class=\"k\">static </span><span class=\"k\">class</span> <span class=\"sym-162 sym\">EntryIterator</span><T> <span class=\"k\">implements</span> <span class=\"sym-8 sym\">Iterator</span><<span class=\"sym-177 sym\">Entry</span><T>> {",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "6074164392edd3db2dfdfd21d05cd56c19e2b0e6",
- "scmDate": "2014-07-25T16:31:45+0200"
- },
- {
- "line": 450,
- "code": " <span class=\"k\">private </span><span class=\"k\">final </span><span class=\"sym-2 sym\">Exchange</span> <span class=\"sym-163 sym\">exchange</span>;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 451,
- "code": " <span class=\"k\">private </span><span class=\"k\">final </span><span class=\"sym-4 sym\">KeyFilter</span> <span class=\"sym-164 sym\">keyFilter</span>;",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 452,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 453,
- "code": " <span class=\"k\">private </span><span class=\"sym-165 sym\">EntryIterator</span>(<span class=\"sym-2 sym\">Exchange</span> <span class=\"sym-166 sym\">exchange</span>, <span class=\"sym-4 sym\">KeyFilter</span> <span class=\"sym-167 sym\">keyFilter</span>) {",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200",
- "lineHits": 1
- },
- {
- "line": 454,
- "code": " <span class=\"k\">this</span>.<span class=\"sym-163 sym\">exchange</span> = <span class=\"sym-166 sym\">exchange</span>;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200",
- "lineHits": 1,
- "duplicated": true
- },
- {
- "line": 455,
- "code": " <span class=\"k\">this</span>.<span class=\"sym-164 sym\">keyFilter</span> = <span class=\"sym-167 sym\">keyFilter</span>;",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200",
- "lineHits": 1,
- "duplicated": true
- },
- {
- "line": 456,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200",
- "lineHits": 1,
- "duplicated": true
- },
- {
- "line": 457,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200",
- "duplicated": true
- },
- {
- "line": 458,
- "code": " <span class=\"a\">@Override</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200",
- "duplicated": true
- },
- {
- "line": 459,
- "code": "<span class=\"a\"> </span><span class=\"k\">public </span><span class=\"k\">boolean </span><span class=\"sym-168 sym\">hasNext</span>() {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200",
- "duplicated": true
- },
- {
- "line": 460,
- "code": " <span class=\"k\">try </span>{",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200",
- "duplicated": true
- },
- {
- "line": 461,
- "code": " <span class=\"k\">return</span> <span class=\"sym-163 sym\">exchange</span>.hasNext(<span class=\"sym-164 sym\">keyFilter</span>);",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200",
- "lineHits": 1,
- "duplicated": true
- },
- {
- "line": 462,
- "code": " } <span class=\"k\">catch </span>(<span class=\"sym-5 sym\">PersistitException</span> <span class=\"sym-169 sym\">e</span>) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200",
- "lineHits": 0,
- "duplicated": true
- },
- {
- "line": 463,
- "code": " <span class=\"k\">throw</span> <span class=\"k\">new</span> IllegalStateException(<span class=\"sym-169 sym\">e</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200",
- "lineHits": 0,
- "duplicated": true
- },
- {
- "line": 464,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200",
- "duplicated": true
- },
- {
- "line": 465,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200",
- "duplicated": true
- },
- {
- "line": 466,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200",
- "duplicated": true
- },
- {
- "line": 467,
- "code": " <span class=\"a\">@SuppressWarnings</span>(<span class=\"s\">\"unchecked\"</span>)",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200",
- "duplicated": true
- },
- {
- "line": 468,
- "code": " <span class=\"a\">@Override</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200",
- "duplicated": true
- },
- {
- "line": 469,
- "code": "<span class=\"a\"> </span><span class=\"k\">public </span><span class=\"sym-177 sym\">Entry</span><T> <span class=\"sym-170 sym\">next</span>() {",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 470,
- "code": " <span class=\"k\">try </span>{",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 471,
- "code": " <span class=\"sym-163 sym\">exchange</span>.next(<span class=\"sym-164 sym\">keyFilter</span>);",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200",
- "lineHits": 1
- },
- {
- "line": 472,
- "code": " } <span class=\"k\">catch </span>(<span class=\"sym-5 sym\">PersistitException</span> <span class=\"sym-171 sym\">e</span>) {",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200",
- "lineHits": 0
- },
- {
- "line": 473,
- "code": " <span class=\"k\">throw</span> <span class=\"k\">new</span> IllegalStateException(<span class=\"sym-171 sym\">e</span>);",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200",
- "lineHits": 0
- },
- {
- "line": 474,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200",
- "lineHits": 1
- },
- {
- "line": 475,
- "code": " <span class=\"k\">if </span>(<span class=\"sym-163 sym\">exchange</span>.getValue().isDefined()) {",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200",
- "lineHits": 1,
- "conditions": 2,
- "coveredConditions": 1
- },
- {
- "line": 476,
- "code": " T <span class=\"sym-172 sym\">value</span> = (T) <span class=\"sym-163 sym\">exchange</span>.getValue().get();",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200",
- "lineHits": 1
- },
- {
- "line": 477,
- "code": " <span class=\"sym-3 sym\">Key</span> <span class=\"sym-173 sym\">key</span> = <span class=\"sym-163 sym\">exchange</span>.getKey();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200",
- "lineHits": 1
- },
- {
- "line": 478,
- "code": " Object[] <span class=\"sym-174 sym\">array</span> = <span class=\"k\">new</span> Object[<span class=\"sym-173 sym\">key</span>.getDepth()];",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 1
- },
- {
- "line": 479,
- "code": " <span class=\"k\">for</span> (<span class=\"k\">int </span><span class=\"sym-175 sym\">i</span> = <span class=\"c\">0</span>; <span class=\"sym-175 sym\">i</span> < <span class=\"sym-173 sym\">key</span>.getDepth(); <span class=\"sym-175 sym\">i</span>++) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 1,
- "conditions": 2,
- "coveredConditions": 2
- },
- {
- "line": 480,
- "code": " <span class=\"sym-174 sym\">array</span>[<span class=\"sym-175 sym\">i</span>] = <span class=\"sym-173 sym\">key</span>.indexTo(<span class=\"sym-175 sym\">i</span> - <span class=\"sym-173 sym\">key</span>.getDepth()).decode();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 1
- },
- {
- "line": 481,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 482,
- "code": " <span class=\"k\">return</span> <span class=\"k\">new</span> <span class=\"sym-177 sym\">Entry</span><T>(<span class=\"sym-174 sym\">array</span>, <span class=\"sym-172 sym\">value</span>);",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200",
- "lineHits": 1
- },
- {
- "line": 483,
- "code": " }",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 484,
- "code": " <span class=\"k\">throw</span> <span class=\"k\">new</span> <span class=\"sym-9 sym\">NoSuchElementException</span>();",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200",
- "lineHits": 0
- },
- {
- "line": 485,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 486,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 487,
- "code": " <span class=\"a\">@Override</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 488,
- "code": "<span class=\"a\"> </span><span class=\"k\">public </span><span class=\"k\">void </span><span class=\"sym-176 sym\">remove</span>() {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 489,
- "code": " <span class=\"k\">throw</span> <span class=\"k\">new</span> UnsupportedOperationException(<span class=\"s\">\"Removing an item is not supported\"</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "34cce8e330192c56a159a856ebd8072d38299087",
- "scmDate": "2014-02-24T14:21:50+0100",
- "lineHits": 0
- },
- {
- "line": 490,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 491,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 492,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 493,
- "code": " <span class=\"k\">public </span><span class=\"k\">static </span><span class=\"k\">class</span> <span class=\"sym-177 sym\">Entry</span><V> {",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "6074164392edd3db2dfdfd21d05cd56c19e2b0e6",
- "scmDate": "2014-07-25T16:31:45+0200"
- },
- {
- "line": 494,
- "code": " <span class=\"k\">private </span><span class=\"k\">final </span>Object[] <span class=\"sym-178 sym\">key</span>;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 495,
- "code": " <span class=\"k\">private </span><span class=\"k\">final </span>V <span class=\"sym-179 sym\">value</span>;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 496,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 497,
- "code": " <span class=\"sym-180 sym\">Entry</span>(Object[] <span class=\"sym-181 sym\">key</span>, V <span class=\"sym-182 sym\">value</span>) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "lineHits": 1
- },
- {
- "line": 498,
- "code": " <span class=\"k\">this</span>.<span class=\"sym-178 sym\">key</span> = <span class=\"sym-181 sym\">key</span>;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200",
- "lineHits": 1
- },
- {
- "line": 499,
- "code": " <span class=\"k\">this</span>.<span class=\"sym-179 sym\">value</span> = <span class=\"sym-182 sym\">value</span>;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200",
- "lineHits": 1
- },
- {
- "line": 500,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200",
- "lineHits": 1
- },
- {
- "line": 501,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 502,
- "code": " <span class=\"k\">public </span>Object[] <span class=\"sym-183 sym\">key</span>() {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 503,
- "code": " <span class=\"k\">return</span> <span class=\"sym-178 sym\">key</span>;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200",
- "lineHits": 1
- },
- {
- "line": 504,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 505,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 506,
- "code": " <span class=\"a\">@<span class=\"sym-7 sym\">CheckForNull</span></span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 507,
- "code": "<span class=\"a\"> </span><span class=\"k\">public </span>V <span class=\"sym-184 sym\">value</span>() {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 508,
- "code": " <span class=\"k\">return</span> <span class=\"sym-179 sym\">value</span>;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200",
- "lineHits": 1
- },
- {
- "line": 509,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 510,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 511,
- "code": " <span class=\"a\">@Override</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 512,
- "code": "<span class=\"a\"> </span><span class=\"k\">public </span>String <span class=\"sym-185 sym\">toString</span>() {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 513,
- "code": " <span class=\"k\">return</span> <span class=\"sym-6 sym\">ToStringBuilder</span>.reflectionToString(<span class=\"k\">this</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200",
- "lineHits": 0
- },
- {
- "line": 514,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 515,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 516,
- "code": "",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "43fc31f75a2de06b23faefb0d2bbf1dd97290232",
- "scmDate": "2014-05-05T16:43:19+0200"
- },
- {
- "line": 517,
- "code": "}",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 518,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- }
-]}
+++ /dev/null
-/*
- * SonarQube, open source software quality management tool.
- * Copyright (C) 2008-2014 SonarSource
- * mailto:contact AT sonarsource DOT com
- *
- * SonarQube 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.
- *
- * SonarQube 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.
- */
-/* global casper:false */
-
-var lib = require('../lib'),
- testName = lib.testName('Source Viewer');
-
-lib.initMessages();
-lib.changeWorkingDirectory('source-viewer-spec');
-lib.configureCasper();
-
-
-casper.test.begin(testName('Mark as Favorite'), function (test) {
- casper
- .start(lib.buildUrl('source-viewer'), function () {
- lib.setDefaultViewport();
- lib.mockRequest('/api/l10n/index', '{}');
- lib.mockRequest('/api/favourites', '{}', { type: 'POST' });
- lib.mockRequest('/api/favourites/*', '{}', { type: 'DELETE' });
- lib.mockRequestFromFile('/api/components/app', 'app.json');
- lib.mockRequestFromFile('/api/sources/lines', 'lines.json');
- lib.mockRequestFromFile('/api/issues/search', 'issues.json');
- })
-
- .then(function () {
- casper.waitForSelector('.source-line');
- })
-
- .then(function () {
- test.assertExists('.js-favorite');
- test.assertExists('.icon-not-favorite');
- casper.click('.js-favorite');
- casper.waitForSelector('.icon-favorite', function () {
- test.assertExists('.icon-favorite');
- casper.click('.js-favorite');
- casper.waitForSelector('.icon-not-favorite', function () {
- test.assertExists('.icon-not-favorite');
- });
- });
- })
-
- .run(function () {
- test.done();
- });
-});
-
-
-casper.test.begin(testName('Don\'t Show Favorite If Not Logged In'), function (test) {
- casper
- .start(lib.buildUrl('source-viewer'), function () {
- lib.setDefaultViewport();
- lib.mockRequest('/api/l10n/index', '{}');
- lib.mockRequestFromFile('/api/components/app', 'app-not-logged-in.json');
- lib.mockRequestFromFile('/api/sources/lines', 'lines.json');
- lib.mockRequestFromFile('/api/issues/search', 'issues.json');
- })
-
- .then(function () {
- casper.waitForSelector('.source-line');
- })
-
- .then(function () {
- test.assertDoesntExist('.js-favorite');
- test.assertDoesntExist('.icon-favorite');
- test.assertDoesntExist('.icon-not-favorite');
- })
-
- .run(function () {
- test.done();
- });
-});
+++ /dev/null
-/*
- * SonarQube, open source software quality management tool.
- * Copyright (C) 2008-2014 SonarSource
- * mailto:contact AT sonarsource DOT com
- *
- * SonarQube 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.
- *
- * SonarQube 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.
- */
-/* global casper:false */
-
-var lib = require('../lib'),
- testName = lib.testName('Source Viewer');
-
-lib.initMessages();
-lib.changeWorkingDirectory('source-viewer-spec');
-lib.configureCasper();
-
-
-casper.test.begin(testName('Link to Raw'), function (test) {
- casper
- .start(lib.buildUrl('source-viewer'), function () {
- lib.setDefaultViewport();
- lib.mockRequest('/api/l10n/index', '{}');
- lib.mockRequestFromFile('/api/components/app', 'app.json');
- lib.mockRequestFromFile('/api/sources/lines', 'lines.json');
- lib.mockRequestFromFile('/api/issues/search', 'issues.json');
- })
-
- .then(function () {
- casper.waitForSelector('.source-line');
- })
-
- .then(function () {
- casper.click('.js-actions');
- casper.waitForSelector('.js-raw-source', function () {
- casper.click('.js-raw-source');
- });
- })
-
- .then(function () {
- casper.withPopup(/Cache\.java/, function () {
- this.test.assertUrlMatch('org.codehaus.sonar:sonar-batch:src/main/java/org/sonar/batch/index/Cache.java');
- });
- })
-
- .run(function () {
- test.done();
- });
-});
+++ /dev/null
-/*
- * SonarQube, open source software quality management tool.
- * Copyright (C) 2008-2014 SonarSource
- * mailto:contact AT sonarsource DOT com
- *
- * SonarQube 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.
- *
- * SonarQube 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.
- */
-/* global casper:false */
-
-var lib = require('../lib'),
- testName = lib.testName('Source Viewer');
-
-lib.initMessages();
-lib.changeWorkingDirectory('source-viewer-should-not-show-source-if-no-permission');
-lib.configureCasper();
-
-
-casper.test.begin(testName('source-viewer-should-not-show-source-if-no-permission'), function (test) {
- casper
- .start(lib.buildUrl('source-viewer'), function () {
- lib.setDefaultViewport();
-
- lib.mockRequest('/api/l10n/index', '{}');
- lib.mockRequestFromFile('/api/components/app', 'api-components-app.json');
- lib.mockRequest('/api/sources/lines', '{}', { status: 403 });
- lib.mockRequestFromFile('/api/issues/search', 'api-issues-search.json');
- })
-
- .then(function () {
- casper.waitForSelector('.message-error', function () {
- test.assertDoesntExist('.source-line');
- });
- })
-
- .run(function () {
- test.done();
- });
-});
+++ /dev/null
-{
- "uuid": "12345",
- "key": "org.codehaus.sonar:sonar-batch:src/main/java/org/sonar/batch/index/Simplest.java",
- "path": "src/main/java/foo/Simplest.java",
- "name": "Simplest.java",
- "longName": "src/main/java/foo/Simplest.java",
- "q": "FIL",
- "project": "test:fake-project-for-tests",
- "projectName": "Fake Project for Tests",
- "fav": false,
- "canMarkAsFavourite": true,
- "canCreateManualIssue": true,
- "measures": {
- "lines": "8",
- "coverage": "75.0%",
- "debt": "44min",
- "sqaleRating": "C",
- "debtRatio": "18.3%",
- "issues": "5"
- }
-}
+++ /dev/null
-{
- "total": 5,
- "p": 1,
- "ps": 100,
- "projects": [
- {
- "uuid": "e07e9bed-f45d-4538-a5e8-77031c1ecae7",
- "key": "test:fake-project-for-tests",
- "id": 36125,
- "qualifier": "TRK",
- "name": "Fake Project for Tests",
- "longName": "Fake Project for Tests"
- }
- ],
- "components": [
- {
- "uuid": "b4248001-df0c-436a-8acd-a152809b8a23",
- "key": "test:fake-project-for-tests:src/main/java/foo/Simplest.java",
- "id": 36129,
- "enabled": true,
- "qualifier": "FIL",
- "name": "Simplest.java",
- "longName": "src/main/java/foo/Simplest.java",
- "path": "src/main/java/foo/Simplest.java",
- "projectId": 36125,
- "subProjectId": 36125
- },
- {
- "uuid": "e07e9bed-f45d-4538-a5e8-77031c1ecae7",
- "key": "test:fake-project-for-tests",
- "id": 36125,
- "enabled": true,
- "qualifier": "TRK",
- "name": "Fake Project for Tests",
- "longName": "Fake Project for Tests"
- }
- ],
- "issues": [
- {
- "key": "91b13078-6f69-4b51-ab0f-8fd0bc391532",
- "component": "test:fake-project-for-tests:src/main/java/foo/Simplest.java",
- "componentId": 36129,
- "project": "test:fake-project-for-tests",
- "rule": "squid:S00105",
- "status": "OPEN",
- "severity": "MINOR",
- "message": "Replace all tab characters in this file by sequences of white-spaces.",
- "debt": "2min",
- "creationDate": "2014-12-09T10:47:33+0100",
- "updateDate": "2014-12-09T10:47:33+0100",
- "fUpdateAge": "3 hours",
- "actions": [
- "comment",
- "assign",
- "assign_to_me",
- "plan",
- "set_severity"
- ],
- "transitions": [
- "confirm",
- "resolve",
- "falsepositive"
- ]
- },
- {
- "key": "c18ae6fa-fac7-46b5-bd71-feef7906b05a",
- "component": "test:fake-project-for-tests:src/main/java/foo/Simplest.java",
- "componentId": 36129,
- "project": "test:fake-project-for-tests",
- "rule": "squid:S1118",
- "status": "OPEN",
- "severity": "MAJOR",
- "message": "Add a private constructor to hide the implicit public one.",
- "line": 6,
- "debt": "30min",
- "creationDate": "2014-12-09T10:47:33+0100",
- "updateDate": "2014-12-09T10:47:33+0100",
- "fUpdateAge": "3 hours",
- "actions": [
- "comment",
- "assign",
- "assign_to_me",
- "plan",
- "set_severity"
- ],
- "transitions": [
- "confirm",
- "resolve",
- "falsepositive"
- ]
- },
- {
- "key": "816282ec-0ca9-4d03-b8bc-22b515496fe4",
- "component": "test:fake-project-for-tests:src/main/java/foo/Simplest.java",
- "componentId": 36129,
- "project": "test:fake-project-for-tests",
- "rule": "squid:IndentationCheck",
- "status": "OPEN",
- "severity": "MAJOR",
- "message": "Make this line start at column 3.",
- "line": 8,
- "debt": "1min",
- "creationDate": "2014-12-09T10:47:33+0100",
- "updateDate": "2014-12-09T10:47:33+0100",
- "fUpdateAge": "3 hours",
- "actions": [
- "comment",
- "assign",
- "assign_to_me",
- "plan",
- "set_severity"
- ],
- "transitions": [
- "confirm",
- "resolve",
- "falsepositive"
- ]
- },
- {
- "key": "0229497b-a613-48f3-83ed-2b98983e5e60",
- "component": "test:fake-project-for-tests:src/main/java/foo/Simplest.java",
- "componentId": 36129,
- "project": "test:fake-project-for-tests",
- "rule": "squid:IndentationCheck",
- "status": "OPEN",
- "severity": "MAJOR",
- "message": "Make this line start at column 5.",
- "line": 10,
- "debt": "1min",
- "creationDate": "2014-12-09T10:47:33+0100",
- "updateDate": "2014-12-09T10:47:33+0100",
- "fUpdateAge": "3 hours",
- "actions": [
- "comment",
- "assign",
- "assign_to_me",
- "plan",
- "set_severity"
- ],
- "transitions": [
- "confirm",
- "resolve",
- "falsepositive"
- ]
- },
- {
- "key": "896ccfe0-bb85-4155-be1f-1aaece716539",
- "component": "test:fake-project-for-tests:src/main/java/foo/Simplest.java",
- "componentId": 36129,
- "project": "test:fake-project-for-tests",
- "rule": "squid:S106",
- "status": "OPEN",
- "severity": "MAJOR",
- "message": "Replace this usage of System.out or System.err by a logger.",
- "line": 12,
- "debt": "10min",
- "creationDate": "2014-12-09T10:47:33+0100",
- "updateDate": "2014-12-09T10:47:33+0100",
- "fUpdateAge": "3 hours",
- "actions": [
- "comment",
- "assign",
- "assign_to_me",
- "plan",
- "set_severity"
- ],
- "transitions": [
- "confirm",
- "resolve",
- "falsepositive"
- ]
- }
- ],
- "rules": [
- {
- "key": "squid:IndentationCheck",
- "name": "Source code should be correctly indented",
- "lang": "java",
- "desc": "<p>\nProper indentation is a simple and effective way to improve the code's readability.\nConsistent indentation among developers also reduces the differences that are committed to source control systems, making code reviews easier.\n</p>\n\n<p>The following code illustrates this rule with an indentation level of 2:</p>\n\n<pre>\nclass Foo {\n public int a; // Compliant\npublic int b; // Non-Compliant\n}\n</pre>",
- "status": "READY",
- "langName": "Java"
- },
- {
- "key": "squid:S1118",
- "name": "Utility classes should not have a public constructor",
- "lang": "java",
- "desc": "<p>\nUtility classes, which are a collection of static members, are not meant to be instantiated.\nThey should therefore not have public constructors.\n</p>\n\n<p>\nJava adds an implicit public constructor to every class which does not define at least one explicitly.\nHence, at least one non-public constructor should be defined.\n</p>\n\n<p>The following code:</p>\n\n<pre>\nclass StringUtils { // Non-Compliant\n\n public static String concatenate(String s1, String s2) {\n return s1 + s2;\n }\n\n}\n</pre>\n\n<p>should be refactored into:</p>\n\n<pre>\nclass StringUtils { // Compliant\n\n private StringUtils() {\n }\n\n public static String concatenate(String s1, String s2) {\n return s1 + s2;\n }\n\n}\n</pre>",
- "status": "READY",
- "langName": "Java"
- },
- {
- "key": "squid:S00105",
- "name": "Tabulation characters should not be used",
- "lang": "java",
- "desc": "<p>\nDevelopers should not need to configure the tab width of their text editors in order to be able to read source code.\nSo the use of tabulation character must be banned.\n</p>",
- "status": "READY",
- "langName": "Java"
- },
- {
- "key": "squid:S106",
- "name": "System.out and System.err should not be used as loggers",
- "lang": "java",
- "desc": "<p>Two important requirements must be fulfilled when logging messages:</p>\n\n<ul>\n <li>The user must be able to easily retrieve the logs.</li>\n <li>The format of all messages must be uniform to enable users to easily browse them.</li>\n</ul>\n\n<p>\nIf a program directly writes to the standard output, there is absolutely no way to comply with these requirements.\nThat's why defining and using a dedicated logger is highly recommended.\n</p>\n\n<p>\nThe following code snippet illustrates this rule:\n</p>\n\n<pre>\nSystem.out.println(\"My Message\"); // Non-Compliant\n\nlogger.log(\"My Message\"); // Compliant\n</pre>",
- "status": "READY",
- "langName": "Java"
- }
- ],
- "users": [
- {
- "login": "admin",
- "name": "Admin Admin",
- "active": true,
- "email": "admin@sonarsource.com"
- }
- ],
- "languages": [
- {
- "key": "js",
- "name": "JavaScript"
- },
- {
- "key": "java",
- "name": "Java"
- }
- ],
- "maxResultsReached": false,
- "paging": {
- "pageIndex": 1,
- "pageSize": 100,
- "total": 5,
- "fTotal": "5",
- "pages": 1
- }
-}
+++ /dev/null
-/*
- * SonarQube, open source software quality management tool.
- * Copyright (C) 2008-2014 SonarSource
- * mailto:contact AT sonarsource DOT com
- *
- * SonarQube 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.
- *
- * SonarQube 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.
- */
-/* global casper:false */
-
-var lib = require('../lib'),
- testName = lib.testName('Source Viewer');
-
-lib.initMessages();
-lib.changeWorkingDirectory('source-viewer-should-open-in-new-window');
-lib.configureCasper();
-
-
-casper.test.begin(testName('source-viewer-should-open-in-new-window-with-line'), function (test) {
- casper
- .start(lib.buildUrl('source-viewer'), function () {
- lib.setDefaultViewport();
-
- lib.mockRequest('/api/l10n/index', '{}');
- lib.mockRequestFromFile('/api/components/app', 'api-components-app.json');
- lib.mockRequestFromFile('/api/sources/lines', 'api-sources-lines.json');
- lib.mockRequestFromFile('/api/issues/search', 'api-issues-search.json');
- })
-
- .then(function () {
- casper.waitForSelector('.source-line');
- })
-
- .then(function () {
- casper.click('.source-line-number[data-line-number="6"]');
- casper.waitForSelector('.bubble-popup');
- })
-
- .then(function () {
- casper.click('.js-actions');
- casper.waitForSelector('.js-new-window', function () {
- casper.click('.js-new-window');
- });
- })
-
- .then(function () {
- casper.withPopup(/Simplest\.java/, function () {
- this.test.assertUrlMatch('test:fake-project-for-tests:src/main/java/foo/Simplest.java');
- this.test.assertUrlMatch('line=6');
- });
- })
-
- .run(function () {
- test.done();
- });
-});
+++ /dev/null
-/*
- * SonarQube, open source software quality management tool.
- * Copyright (C) 2008-2014 SonarSource
- * mailto:contact AT sonarsource DOT com
- *
- * SonarQube 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.
- *
- * SonarQube 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.
- */
-/* global casper:false */
-
-var lib = require('../lib'),
- testName = lib.testName('Source Viewer');
-
-lib.initMessages();
-lib.changeWorkingDirectory('source-viewer-should-open-in-new-window');
-lib.configureCasper();
-
-
-casper.test.begin(testName('source-viewer-should-open-in-new-window'), function (test) {
- casper
- .start(lib.buildUrl('source-viewer'), function () {
- lib.setDefaultViewport();
-
- lib.mockRequest('/api/l10n/index', '{}');
- lib.mockRequestFromFile('/api/components/app', 'api-components-app.json');
- lib.mockRequestFromFile('/api/sources/lines', 'api-sources-lines.json');
- lib.mockRequestFromFile('/api/issues/search', 'api-issues-search.json');
- })
-
- .then(function () {
- casper.waitForSelector('.source-line');
- })
-
- .then(function () {
- casper.click('.js-actions');
- casper.waitForSelector('.js-new-window', function () {
- casper.click('.js-new-window');
- });
- })
-
- .then(function () {
- casper.withPopup(/Simplest\.java/, function () {
- this.test.assertUrlMatch('test:fake-project-for-tests:src/main/java/foo/Simplest.java');
- });
- })
-
- .run(function () {
- test.done();
- });
-});
+++ /dev/null
-{
- "uuid": "12345",
- "key": "test:fake-project-for-tests:src/main/java/foo/Simplest.java",
- "path": "src/main/java/foo/Simplest.java",
- "name": "Simplest.java",
- "longName": "src/main/java/foo/Simplest.java",
- "q": "FIL",
- "project": "test:fake-project-for-tests",
- "projectName": "Fake Project for Tests",
- "fav": false,
- "canMarkAsFavourite": true,
- "canCreateManualIssue": true,
- "measures": {
- "lines": "8",
- "coverage": "75.0%",
- "debt": "44min",
- "sqaleRating": "C",
- "debtRatio": "18.3%",
- "issues": "5"
- }
-}
+++ /dev/null
-{
- "total": 5,
- "p": 1,
- "ps": 100,
- "projects": [
- {
- "uuid": "e07e9bed-f45d-4538-a5e8-77031c1ecae7",
- "key": "test:fake-project-for-tests",
- "id": 36125,
- "qualifier": "TRK",
- "name": "Fake Project for Tests",
- "longName": "Fake Project for Tests"
- }
- ],
- "components": [
- {
- "uuid": "b4248001-df0c-436a-8acd-a152809b8a23",
- "key": "test:fake-project-for-tests:src/main/java/foo/Simplest.java",
- "id": 36129,
- "enabled": true,
- "qualifier": "FIL",
- "name": "Simplest.java",
- "longName": "src/main/java/foo/Simplest.java",
- "path": "src/main/java/foo/Simplest.java",
- "projectId": 36125,
- "subProjectId": 36125
- },
- {
- "uuid": "e07e9bed-f45d-4538-a5e8-77031c1ecae7",
- "key": "test:fake-project-for-tests",
- "id": 36125,
- "enabled": true,
- "qualifier": "TRK",
- "name": "Fake Project for Tests",
- "longName": "Fake Project for Tests"
- }
- ],
- "issues": [
- {
- "key": "91b13078-6f69-4b51-ab0f-8fd0bc391532",
- "component": "test:fake-project-for-tests:src/main/java/foo/Simplest.java",
- "componentId": 36129,
- "project": "test:fake-project-for-tests",
- "rule": "squid:S00105",
- "status": "OPEN",
- "severity": "MINOR",
- "message": "Replace all tab characters in this file by sequences of white-spaces.",
- "debt": "2min",
- "creationDate": "2014-12-09T10:47:33+0100",
- "updateDate": "2014-12-09T10:47:33+0100",
- "fUpdateAge": "3 hours",
- "actions": [
- "comment",
- "assign",
- "assign_to_me",
- "plan",
- "set_severity"
- ],
- "transitions": [
- "confirm",
- "resolve",
- "falsepositive"
- ]
- },
- {
- "key": "c18ae6fa-fac7-46b5-bd71-feef7906b05a",
- "component": "test:fake-project-for-tests:src/main/java/foo/Simplest.java",
- "componentId": 36129,
- "project": "test:fake-project-for-tests",
- "rule": "squid:S1118",
- "status": "OPEN",
- "severity": "MAJOR",
- "message": "Add a private constructor to hide the implicit public one.",
- "line": 6,
- "debt": "30min",
- "creationDate": "2014-12-09T10:47:33+0100",
- "updateDate": "2014-12-09T10:47:33+0100",
- "fUpdateAge": "3 hours",
- "actions": [
- "comment",
- "assign",
- "assign_to_me",
- "plan",
- "set_severity"
- ],
- "transitions": [
- "confirm",
- "resolve",
- "falsepositive"
- ]
- },
- {
- "key": "816282ec-0ca9-4d03-b8bc-22b515496fe4",
- "component": "test:fake-project-for-tests:src/main/java/foo/Simplest.java",
- "componentId": 36129,
- "project": "test:fake-project-for-tests",
- "rule": "squid:IndentationCheck",
- "status": "OPEN",
- "severity": "MAJOR",
- "message": "Make this line start at column 3.",
- "line": 8,
- "debt": "1min",
- "creationDate": "2014-12-09T10:47:33+0100",
- "updateDate": "2014-12-09T10:47:33+0100",
- "fUpdateAge": "3 hours",
- "actions": [
- "comment",
- "assign",
- "assign_to_me",
- "plan",
- "set_severity"
- ],
- "transitions": [
- "confirm",
- "resolve",
- "falsepositive"
- ]
- },
- {
- "key": "0229497b-a613-48f3-83ed-2b98983e5e60",
- "component": "test:fake-project-for-tests:src/main/java/foo/Simplest.java",
- "componentId": 36129,
- "project": "test:fake-project-for-tests",
- "rule": "squid:IndentationCheck",
- "status": "OPEN",
- "severity": "MAJOR",
- "message": "Make this line start at column 5.",
- "line": 10,
- "debt": "1min",
- "creationDate": "2014-12-09T10:47:33+0100",
- "updateDate": "2014-12-09T10:47:33+0100",
- "fUpdateAge": "3 hours",
- "actions": [
- "comment",
- "assign",
- "assign_to_me",
- "plan",
- "set_severity"
- ],
- "transitions": [
- "confirm",
- "resolve",
- "falsepositive"
- ]
- },
- {
- "key": "896ccfe0-bb85-4155-be1f-1aaece716539",
- "component": "test:fake-project-for-tests:src/main/java/foo/Simplest.java",
- "componentId": 36129,
- "project": "test:fake-project-for-tests",
- "rule": "squid:S106",
- "status": "OPEN",
- "severity": "MAJOR",
- "message": "Replace this usage of System.out or System.err by a logger.",
- "line": 12,
- "debt": "10min",
- "creationDate": "2014-12-09T10:47:33+0100",
- "updateDate": "2014-12-09T10:47:33+0100",
- "fUpdateAge": "3 hours",
- "actions": [
- "comment",
- "assign",
- "assign_to_me",
- "plan",
- "set_severity"
- ],
- "transitions": [
- "confirm",
- "resolve",
- "falsepositive"
- ]
- }
- ],
- "rules": [
- {
- "key": "squid:IndentationCheck",
- "name": "Source code should be correctly indented",
- "lang": "java",
- "desc": "<p>\nProper indentation is a simple and effective way to improve the code's readability.\nConsistent indentation among developers also reduces the differences that are committed to source control systems, making code reviews easier.\n</p>\n\n<p>The following code illustrates this rule with an indentation level of 2:</p>\n\n<pre>\nclass Foo {\n public int a; // Compliant\npublic int b; // Non-Compliant\n}\n</pre>",
- "status": "READY",
- "langName": "Java"
- },
- {
- "key": "squid:S1118",
- "name": "Utility classes should not have a public constructor",
- "lang": "java",
- "desc": "<p>\nUtility classes, which are a collection of static members, are not meant to be instantiated.\nThey should therefore not have public constructors.\n</p>\n\n<p>\nJava adds an implicit public constructor to every class which does not define at least one explicitly.\nHence, at least one non-public constructor should be defined.\n</p>\n\n<p>The following code:</p>\n\n<pre>\nclass StringUtils { // Non-Compliant\n\n public static String concatenate(String s1, String s2) {\n return s1 + s2;\n }\n\n}\n</pre>\n\n<p>should be refactored into:</p>\n\n<pre>\nclass StringUtils { // Compliant\n\n private StringUtils() {\n }\n\n public static String concatenate(String s1, String s2) {\n return s1 + s2;\n }\n\n}\n</pre>",
- "status": "READY",
- "langName": "Java"
- },
- {
- "key": "squid:S00105",
- "name": "Tabulation characters should not be used",
- "lang": "java",
- "desc": "<p>\nDevelopers should not need to configure the tab width of their text editors in order to be able to read source code.\nSo the use of tabulation character must be banned.\n</p>",
- "status": "READY",
- "langName": "Java"
- },
- {
- "key": "squid:S106",
- "name": "System.out and System.err should not be used as loggers",
- "lang": "java",
- "desc": "<p>Two important requirements must be fulfilled when logging messages:</p>\n\n<ul>\n <li>The user must be able to easily retrieve the logs.</li>\n <li>The format of all messages must be uniform to enable users to easily browse them.</li>\n</ul>\n\n<p>\nIf a program directly writes to the standard output, there is absolutely no way to comply with these requirements.\nThat's why defining and using a dedicated logger is highly recommended.\n</p>\n\n<p>\nThe following code snippet illustrates this rule:\n</p>\n\n<pre>\nSystem.out.println(\"My Message\"); // Non-Compliant\n\nlogger.log(\"My Message\"); // Compliant\n</pre>",
- "status": "READY",
- "langName": "Java"
- }
- ],
- "users": [
- {
- "login": "admin",
- "name": "Admin Admin",
- "active": true,
- "email": "admin@sonarsource.com"
- }
- ],
- "languages": [
- {
- "key": "js",
- "name": "JavaScript"
- },
- {
- "key": "java",
- "name": "Java"
- }
- ],
- "maxResultsReached": false,
- "paging": {
- "pageIndex": 1,
- "pageSize": 100,
- "total": 5,
- "fTotal": "5",
- "pages": 1
- }
-}
+++ /dev/null
-{
- "sources": [
- {
- "line": 1,
- "code": "<span class=\"k\">package </span>foo;",
- "scmAuthor": "fabrice.bellingard@sonarsource.com",
- "scmRevision": "f467e9befd3ff15bb1dbf634b0e9b45d44110bac",
- "scmDate": "2013-09-16T15:31:49+0200"
- },
- {
- "line": 2,
- "code": "",
- "scmAuthor": "fabrice.bellingard@sonarsource.com",
- "scmRevision": "f467e9befd3ff15bb1dbf634b0e9b45d44110bac",
- "scmDate": "2013-09-16T15:31:49+0200"
- },
- {
- "line": 3,
- "code": "<span class=\"cppd\">/**</span>",
- "scmAuthor": "fabrice.bellingard@sonarsource.com",
- "scmRevision": "37acee5ff6e67cdb501c08a656fbabf21160b052",
- "scmDate": "2013-09-19T15:37:05+0200"
- },
- {
- "line": 4,
- "code": "<span class=\"cppd\"> * Simple class</span>",
- "scmAuthor": "fabrice.bellingard@sonarsource.com",
- "scmRevision": "37acee5ff6e67cdb501c08a656fbabf21160b052",
- "scmDate": "2013-09-19T15:37:05+0200"
- },
- {
- "line": 5,
- "code": "<span class=\"cppd\"> */</span>",
- "scmAuthor": "fabrice.bellingard@sonarsource.com",
- "scmRevision": "37acee5ff6e67cdb501c08a656fbabf21160b052",
- "scmDate": "2013-09-19T15:37:05+0200"
- },
- {
- "line": 6,
- "code": "<span class=\"k\">public </span><span class=\"k\">class </span><span class=\"sym-1 sym\">Simplest</span> {",
- "scmAuthor": "fabrice.bellingard@sonarsource.com",
- "scmRevision": "f467e9befd3ff15bb1dbf634b0e9b45d44110bac",
- "scmDate": "2013-09-16T15:31:49+0200"
- },
- {
- "line": 7,
- "code": "",
- "scmAuthor": "fabrice.bellingard@sonarsource.com",
- "scmRevision": "f467e9befd3ff15bb1dbf634b0e9b45d44110bac",
- "scmDate": "2013-09-16T15:31:49+0200"
- },
- {
- "line": 8,
- "code": " <span class=\"k\">public </span><span class=\"k\">static </span><span class=\"k\">int </span><span class=\"sym-2 sym\">add</span>(<span class=\"k\">int </span><span class=\"sym-3 sym\">a</span>, <span class=\"k\">int </span><span class=\"sym-4 sym\">b</span>) {",
- "scmAuthor": "fabrice.bellingard@sonarsource.com",
- "scmRevision": "f467e9befd3ff15bb1dbf634b0e9b45d44110bac",
- "scmDate": "2013-09-16T15:31:49+0200"
- },
- {
- "line": 9,
- "code": " \t<span class=\"cppd\">// introduce a variable that is not needed - just to get a violation</span>",
- "scmAuthor": "fabrice.bellingard@sonarsource.com",
- "scmRevision": "322e4e8b3cb54a39651f563273745e6ee737fb3e",
- "scmDate": "2013-10-15T16:14:22+0200"
- },
- {
- "line": 10,
- "code": " \t<span class=\"k\">int </span><span class=\"sym-5 sym\">result</span> = <span class=\"sym-3 sym\">a</span> + <span class=\"sym-4 sym\">b</span>;",
- "scmAuthor": "fabrice.bellingard@sonarsource.com",
- "scmRevision": "322e4e8b3cb54a39651f563273745e6ee737fb3e",
- "scmDate": "2013-10-15T16:14:22+0200"
- },
- {
- "line": 11,
- "code": "",
- "scmAuthor": "fabrice.bellingard@sonarsource.com",
- "scmRevision": "44e0c5b4fc18a006a405d3f3d489896245fab3d1",
- "scmDate": "2014-01-09T16:48:59+0100"
- },
- {
- "line": 12,
- "code": " \tSystem.out.println(<span class=\"s\">\"\"</span>);",
- "scmAuthor": "fabrice.bellingard@sonarsource.com",
- "scmRevision": "44e0c5b4fc18a006a405d3f3d489896245fab3d1",
- "scmDate": "2014-01-09T16:48:59+0100"
- },
- {
- "line": 13,
- "code": "",
- "scmAuthor": "fabrice.bellingard@sonarsource.com",
- "scmRevision": "44e0c5b4fc18a006a405d3f3d489896245fab3d1",
- "scmDate": "2014-01-09T16:48:59+0100"
- },
- {
- "line": 14,
- "code": " <span class=\"k\">return </span><span class=\"sym-5 sym\">result</span>;",
- "scmAuthor": "fabrice.bellingard@sonarsource.com",
- "scmRevision": "322e4e8b3cb54a39651f563273745e6ee737fb3e",
- "scmDate": "2013-10-15T16:14:22+0200"
- },
- {
- "line": 15,
- "code": " }",
- "scmAuthor": "fabrice.bellingard@sonarsource.com",
- "scmRevision": "f467e9befd3ff15bb1dbf634b0e9b45d44110bac",
- "scmDate": "2013-09-16T15:31:49+0200"
- },
- {
- "line": 16,
- "code": "",
- "scmAuthor": "fabrice.bellingard@sonarsource.com",
- "scmRevision": "f467e9befd3ff15bb1dbf634b0e9b45d44110bac",
- "scmDate": "2013-09-16T15:31:49+0200"
- },
- {
- "line": 17,
- "code": "}",
- "scmAuthor": "fabrice.bellingard@sonarsource.com",
- "scmRevision": "f467e9befd3ff15bb1dbf634b0e9b45d44110bac",
- "scmDate": "2013-09-16T15:31:49+0200"
- },
- {
- "line": 18,
- "code": "",
- "scmAuthor": "fabrice.bellingard@sonarsource.com",
- "scmRevision": "f467e9befd3ff15bb1dbf634b0e9b45d44110bac",
- "scmDate": "2013-09-16T15:31:49+0200"
- }
- ]
-}
+++ /dev/null
-/*
- * SonarQube, open source software quality management tool.
- * Copyright (C) 2008-2014 SonarSource
- * mailto:contact AT sonarsource DOT com
- *
- * SonarQube 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.
- *
- * SonarQube 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.
- */
-/* global casper:false */
-
-
-var lib = require('../lib'),
- testName = lib.testName('Source Viewer');
-
-lib.initMessages();
-lib.changeWorkingDirectory('source-viewer-spec');
-lib.configureCasper();
-
-
-casper.test.begin(testName('Base'), function (test) {
- casper
- .start(lib.buildUrl('source-viewer'), function () {
- lib.setDefaultViewport();
-
- lib.mockRequest('/api/l10n/index', '{}');
- lib.mockRequestFromFile('/api/components/app', 'app.json');
- lib.mockRequestFromFile('/api/sources/lines', 'lines.json');
- lib.mockRequestFromFile('/api/issues/search', 'issues.json');
- })
-
- .then(function () {
- casper.waitForSelector('.source-line', function () {
- // Check header elements
- test.assertExists('.source-viewer-header');
- test.assertSelectorContains('.source-viewer-header', 'SonarQube');
- test.assertSelectorContains('.source-viewer-header', 'SonarQube :: Batch');
- test.assertSelectorContains('.source-viewer-header', 'src/main/java/org/sonar/batch/index/Cache.java');
- test.assertExists('.source-viewer-header .js-favorite');
- test.assertExists('.source-viewer-header-actions');
-
- // Check main measures
- // FIXME enable lines check
- //test.assertSelectorContains('.source-viewer-header-measure', '379');
- test.assertSelectorContains('.source-viewer-header-measure', 'A');
- test.assertSelectorContains('.source-viewer-header-measure', '2h 10min');
- test.assertSelectorContains('.source-viewer-header-measure', '6');
- test.assertSelectorContains('.source-viewer-header-measure', '74.3%');
- test.assertSelectorContains('.source-viewer-header-measure', '5.8%');
-
- // Check source
- // FIXME enable source lines count check
- //test.assertElementCount('.source-line', 518);
- test.assertSelectorContains('.source-viewer', 'public class Cache');
- });
- })
-
- .run(function () {
- test.done();
- });
-});
-
-
-casper.test.begin(testName('Decoration'), function (test) {
- casper
- .start(lib.buildUrl('source-viewer'), function () {
- lib.setDefaultViewport();
-
- lib.mockRequest('/api/l10n/index', '{}');
- lib.mockRequestFromFile('/api/components/app', 'app.json');
- lib.mockRequestFromFile('/api/sources/lines', 'lines.json');
- lib.mockRequestFromFile('/api/issues/search', 'issues.json');
- })
-
- .then(function () {
- casper.waitForSelector('.source-line');
- })
-
- .then(function () {
- // Check issues decoration
- test.assertElementCount('.has-issues', 6);
- })
-
- .then(function () {
- // Check coverage decoration
- test.assertElementCount('.source-line-covered', 142);
- test.assertElementCount('.source-line-uncovered', 50);
- test.assertElementCount('.source-line-partially-covered', 2);
- })
-
- .then(function () {
- // Check duplications decoration
- test.assertElementCount('.source-line-duplicated', 30);
- })
-
- .then(function () {
- // Check scm decoration
- test.assertElementCount('.source-line-scm-inner', 186);
- test.assertExists('.source-line-scm-inner[data-author="simon.brandhof@gmail.com"]');
- test.assertExists('.source-line-scm-inner[data-author="julien.henry@sonarsource.com"]');
- })
-
- .run(function () {
- test.done();
- });
-});
-
-
-casper.test.begin(testName('Test File'), function (test) {
- casper
- .start(lib.buildUrl('source-viewer'), function () {
- lib.setDefaultViewport();
-
- lib.mockRequest('/api/l10n/index', '{}');
- lib.mockRequestFromFile('/api/components/app', 'tests/app.json');
- lib.mockRequestFromFile('/api/sources/lines', 'tests/lines.json');
- lib.mockRequestFromFile('/api/issues/search', 'issues.json');
- })
-
- .then(function () {
- casper.waitForSelector('.source-line');
- })
-
- .then(function () {
- test.assertSelectorContains('.source-viewer-header-measure', '6');
- })
-
- .run(function () {
- test.done();
- });
-});
+++ /dev/null
-{
- "uuid": "12345",
- "key": "org.codehaus.sonar:sonar-batch:src/main/java/org/sonar/batch/index/Cache.java",
- "path": "src/main/java/org/sonar/batch/index/Cache.java",
- "name": "Cache.java",
- "longName": "src/main/java/org/sonar/batch/index/Cache.java",
- "q": "FIL",
- "subProject": "org.codehaus.sonar:sonar-batch",
- "subProjectName": "SonarQube :: Batch",
- "project": "org.codehaus.sonar:sonar",
- "projectName": "SonarQube",
- "fav": false,
- "canMarkAsFavourite": false,
- "canCreateManualIssue": false,
- "measures": {
- "lines": "378",
- "coverage": "74.3%",
- "duplicationDensity": "5.8%",
- "debt": "2h 10min",
- "sqaleRating": "A",
- "debtRatio": "1.1%",
- "issues": "6"
- }
-}
+++ /dev/null
-{
- "uuid": "12345",
- "key": "org.codehaus.sonar:sonar-batch:src/main/java/org/sonar/batch/index/Cache.java",
- "path": "src/main/java/org/sonar/batch/index/Cache.java",
- "name": "Cache.java",
- "longName": "src/main/java/org/sonar/batch/index/Cache.java",
- "q": "FIL",
- "subProject": "org.codehaus.sonar:sonar-batch",
- "subProjectName": "SonarQube :: Batch",
- "project": "org.codehaus.sonar:sonar",
- "projectName": "SonarQube",
- "fav": false,
- "canMarkAsFavourite": true,
- "canCreateManualIssue": true,
- "measures": {
- "lines": "378",
- "coverage": "74.3%",
- "duplicationDensity": "5.8%",
- "debt": "2h 10min",
- "sqaleRating": "A",
- "debtRatio": "1.1%",
- "issues": "6"
- }
-}
+++ /dev/null
-{"coverage": [
- [46, true, 32, null, null],
- [47, true, 32, null, null],
- [48, true, 32, null, null],
- [49, true, 32, null, null],
- [52, true, 2, null, null],
- [53, true, 2, null, null],
- [57, true, 18, null, null],
- [58, true, 18, null, null],
- [62, true, 13, null, null],
- [63, true, 13, null, null],
- [67, false, null, null, null],
- [68, false, null, null, null],
- [73, true, 27, null, null],
- [74, true, 27, null, null],
- [75, true, 27, null, null],
- [76, true, 1, null, null],
- [77, true, 1, null, null],
- [85, true, 5, null, null],
- [86, true, 5, null, null],
- [94, true, 10, null, null],
- [95, true, 10, null, null],
- [103, true, 11, null, null],
- [104, true, 11, null, null],
- [112, false, null, null, null],
- [113, false, null, null, null],
- [120, true, 17, null, null],
- [121, true, 17, 2, 2],
- [122, true, 8, null, null],
- [124, true, 13, null, null],
- [125, false, null, null, null],
- [127, false, null, null, null],
- [132, true, 4, null, null],
- [133, true, 4, null, null],
- [137, true, 3, null, null],
- [138, true, 3, null, null],
- [142, true, 5, null, null],
- [143, true, 5, null, null],
- [147, false, null, null, null],
- [148, false, null, null, null],
- [153, true, 7, null, null],
- [154, true, 7, null, null],
- [155, false, null, null, null],
- [157, false, null, null, null],
- [162, true, 3, null, null],
- [163, true, 3, null, null],
- [167, true, 3, null, null],
- [168, true, 3, null, null],
- [172, true, 2, null, null],
- [173, true, 2, null, null],
- [177, false, null, null, null],
- [178, false, null, null, null],
- [183, true, 6, null, null],
- [184, false, null, null, null],
- [186, false, null, null, null],
- [196, true, 5, null, null],
- [197, true, 5, null, null],
- [201, true, 2, null, null],
- [202, true, 2, null, null],
- [206, true, 1, null, null],
- [207, true, 1, null, null],
- [211, false, null, null, null],
- [212, false, null, null, null],
- [217, true, 5, null, null],
- [218, true, 5, null, null],
- [219, true, 5, null, null],
- [220, true, 5, null, null],
- [221, false, null, null, null],
- [222, false, null, null, null],
- [231, true, 4, null, null],
- [232, true, 4, null, null],
- [233, false, null, null, null],
- [234, false, null, null, null],
- [235, true, 4, null, null],
- [236, true, 4, null, null],
- [248, true, 4, null, null],
- [249, true, 4, null, null],
- [250, true, 4, null, null],
- [251, true, 4, null, null],
- [252, true, 4, null, null],
- [253, true, 4, 2, 2],
- [254, true, 2, null, null],
- [256, true, 4, null, null],
- [257, false, null, null, null],
- [258, false, null, null, null],
- [265, true, 1, null, null],
- [266, true, 1, null, null],
- [267, true, 1, null, null],
- [268, true, 1, null, null],
- [269, true, 1, null, null],
- [270, true, 1, null, null],
- [271, true, 1, 2, 2],
- [272, true, 1, null, null],
- [274, true, 1, null, null],
- [275, false, null, null, null],
- [276, false, null, null, null],
- [287, true, 4, null, null],
- [288, true, 4, null, null],
- [289, true, 4, null, null],
- [290, true, 4, null, null],
- [291, true, 4, 2, 2],
- [292, true, 3, null, null],
- [294, true, 4, null, null],
- [295, false, null, null, null],
- [296, false, null, null, null],
- [305, true, 1, null, null],
- [306, true, 1, null, null],
- [307, true, 1, null, null],
- [308, true, 1, null, null],
- [309, true, 1, null, null],
- [310, false, null, null, null],
- [311, false, null, null, null],
- [316, false, null, null, null],
- [324, true, 23, null, null],
- [325, true, 23, null, null],
- [326, true, 23, null, null],
- [327, true, 23, null, null],
- [328, true, 23, null, null],
- [329, false, null, null, null],
- [330, false, null, null, null],
- [339, true, 16, null, null],
- [340, true, 16, null, null],
- [341, true, 16, null, null],
- [342, true, 16, null, null],
- [343, false, null, null, null],
- [344, false, null, null, null],
- [349, true, 9, null, null],
- [350, true, 9, null, null],
- [351, true, 9, null, null],
- [355, true, 3, null, null],
- [356, true, 3, null, null],
- [357, true, 3, null, null],
- [361, true, 7, null, null],
- [362, true, 7, null, null],
- [363, true, 7, null, null],
- [366, true, 20, null, null],
- [367, true, 20, null, null],
- [368, true, 20, null, null],
- [371, true, 18, null, null],
- [372, true, 18, null, null],
- [373, true, 18, null, null],
- [376, false, null, null, null],
- [377, false, null, 2, 0],
- [378, false, null, null, null],
- [380, false, null, null, null],
- [389, true, 26, null, null],
- [390, true, 26, null, null],
- [391, true, 26, null, null],
- [395, true, 26, null, null],
- [403, true, 26, null, null],
- [404, true, 26, null, null],
- [405, true, 26, null, null],
- [406, true, 26, null, null],
- [411, true, 25, null, null],
- [412, false, null, null, null],
- [413, false, null, null, null],
- [421, true, 23, null, null],
- [422, false, null, null, null],
- [423, false, null, null, null],
- [424, true, 23, null, null],
- [425, true, 23, 2, 1],
- [426, true, 23, null, null],
- [428, false, null, null, null],
- [433, false, null, null, null],
- [440, true, 10, null, null],
- [441, true, 10, null, null],
- [442, true, 10, null, null],
- [446, true, 10, null, null],
- [454, true, 10, null, null],
- [455, true, 10, null, null],
- [456, true, 10, null, null],
- [457, true, 10, null, null],
- [462, true, 10, null, null],
- [463, false, null, null, null],
- [464, false, null, null, null],
- [472, true, 9, null, null],
- [473, false, null, null, null],
- [474, false, null, null, null],
- [475, true, 9, null, null],
- [476, true, 9, 2, 1],
- [477, true, 9, null, null],
- [478, true, 9, null, null],
- [479, true, 9, null, null],
- [480, true, 9, 2, 2],
- [481, true, 9, null, null],
- [483, true, 9, null, null],
- [485, false, null, null, null],
- [490, false, null, null, null],
- [498, true, 16, null, null],
- [499, true, 16, null, null],
- [500, true, 16, null, null],
- [501, true, 16, null, null],
- [504, true, 14, null, null],
- [509, true, 14, null, null],
- [514, false, null, null, null]
-]}
+++ /dev/null
-{"duplications": [
- {
- "blocks": [
- {
- "from": 404,
- "size": 15,
- "_ref": "1"
- },
- {
- "from": 455,
- "size": 15,
- "_ref": "2"
- }
- ]
- }
-], "files": {
- "1": {
- "key": "org.codehaus.sonar:sonar-batch:src/main/java/org/sonar/batch/index/Cache.java",
- "name": "src/main/java/org/sonar/batch/index/Cache.java",
- "project": "org.codehaus.sonar:sonar",
- "projectName": "SonarQube",
- "subProject": "org.codehaus.sonar:sonar-batch",
- "subProjectName": "SonarQube :: Batch"
- },
- "2": {
- "key": "org.codehaus.sonar-plugins.javascript:sonar-javascript-plugin:src/main/java/org/sonar/plugins/javascript/core/JavaScript.java",
- "name": "src/main/java/org/sonar/plugins/javascript/core/JavaScript.java",
- "project": "org.codehaus.sonar-plugins.javascript:javascript",
- "projectName": "JavaScript",
- "subProject": "org.codehaus.sonar-plugins.javascript:sonar-javascript-plugin",
- "subProjectName": "JavaScript :: Sonar Plugin"
- }
-}}
+++ /dev/null
-{"duplications": [
- {
- "blocks": [
- {
- "from": 404,
- "size": 15,
- "_ref": "1"
- },
- {
- "from": 455,
- "size": 15
- }
- ]
- }
-], "files": {
- "1": {
- "key": "org.codehaus.sonar:sonar-batch:src/main/java/org/sonar/batch/index/Cache.java",
- "name": "src/main/java/org/sonar/batch/index/Cache.java",
- "project": "org.codehaus.sonar:sonar",
- "projectName": "SonarQube",
- "subProject": "org.codehaus.sonar:sonar-batch",
- "subProjectName": "SonarQube :: Batch"
- }
-}}
+++ /dev/null
-{"duplications": [
- {
- "blocks": [
- {
- "from": 404,
- "size": 15,
- "_ref": "1"
- },
- {
- "from": 455,
- "size": 15,
- "_ref": "1"
- }
- ]
- }
-], "files": {
- "1": {
- "key": "org.codehaus.sonar:sonar-batch:src/main/java/org/sonar/batch/index/Cache.java",
- "name": "src/main/java/org/sonar/batch/index/Cache.java",
- "project": "org.codehaus.sonar:sonar",
- "projectName": "SonarQube",
- "subProject": "org.codehaus.sonar:sonar-batch",
- "subProjectName": "SonarQube :: Batch"
- }
-}}
+++ /dev/null
-{"total": 6, "p": 1, "ps": 100, "projects": [
- {
- "uuid": "69e57151-be0d-4157-adff-c06741d88879",
- "key": "org.codehaus.sonar:sonar",
- "id": 2865,
- "qualifier": "TRK",
- "name": "SonarQube",
- "longName": "SonarQube"
- }
-], "components": [
- {
- "uuid": "83379565-7af3-4047-8d1a-ed42b10309b0",
- "key": "org.codehaus.sonar:sonar-batch",
- "id": 1624,
- "enabled": true,
- "qualifier": "BRC",
- "name": "SonarQube :: Batch",
- "longName": "SonarQube :: Batch",
- "path": "sonar-batch",
- "projectId": 2865,
- "subProjectId": 2865
- },
- {
- "uuid": "69e57151-be0d-4157-adff-c06741d88879",
- "key": "org.codehaus.sonar:sonar",
- "id": 2865,
- "enabled": true,
- "qualifier": "TRK",
- "name": "SonarQube",
- "longName": "SonarQube"
- },
- {
- "uuid": "b9615992-2458-4d54-a22f-b91ee7ba5bc5",
- "key": "org.codehaus.sonar:sonar-batch:src/main/java/org/sonar/batch/index/Cache.java",
- "id": 19983,
- "enabled": true,
- "qualifier": "FIL",
- "name": "Cache.java",
- "longName": "src/main/java/org/sonar/batch/index/Cache.java",
- "path": "src/main/java/org/sonar/batch/index/Cache.java",
- "projectId": 2865,
- "subProjectId": 1624
- }
-], "issues": [
- {
- "key": "20002ec7-b647-44da-bdf5-4d9fbf4b7c58",
- "component": "org.codehaus.sonar:sonar-batch:src/main/java/org/sonar/batch/index/Cache.java",
- "componentId": 19983,
- "project": "org.codehaus.sonar:sonar",
- "subProject": "org.codehaus.sonar:sonar-batch",
- "rule": "common-java:DuplicatedBlocks",
- "status": "CONFIRMED",
- "severity": "MAJOR",
- "message": "2 duplicated blocks of code.",
- "debt": "2h",
- "creationDate": "2014-05-01T23:38:31+0200",
- "updateDate": "2014-07-01T17:48:47+0200",
- "fUpdateAge": "5 months",
- "actions": ["comment", "assign", "assign_to_me", "plan", "set_severity"],
- "transitions": ["unconfirm", "resolve", "falsepositive"]
- },
- {
- "key": "71a26f48-a90d-4a76-a745-4f6e6e8b1773",
- "component": "org.codehaus.sonar:sonar-batch:src/main/java/org/sonar/batch/index/Cache.java",
- "componentId": 19983,
- "project": "org.codehaus.sonar:sonar",
- "subProject": "org.codehaus.sonar:sonar-batch",
- "rule": "squid:S1135",
- "status": "CONFIRMED",
- "severity": "INFO",
- "message": "Complete the task associated to this TODO comment.",
- "line": 125,
- "author": "simon.brandhof@gmail.com",
- "creationDate": "2013-10-10T23:51:33+0200",
- "updateDate": "2014-07-29T23:15:18+0200",
- "fUpdateAge": "4 months",
- "actions": ["comment", "assign", "assign_to_me", "plan", "set_severity"],
- "transitions": ["unconfirm", "resolve", "falsepositive"]
- },
- {
- "key": "75419c88-0e3c-4311-aa47-fe5731e67558",
- "component": "org.codehaus.sonar:sonar-batch:src/main/java/org/sonar/batch/index/Cache.java",
- "componentId": 19983,
- "project": "org.codehaus.sonar:sonar",
- "subProject": "org.codehaus.sonar:sonar-batch",
- "rule": "squid:S1135",
- "status": "CONFIRMED",
- "severity": "INFO",
- "message": "Complete the task associated to this TODO comment.",
- "line": 155,
- "author": "simon.brandhof@gmail.com",
- "creationDate": "2013-10-10T23:51:33+0200",
- "updateDate": "2014-07-29T23:15:18+0200",
- "fUpdateAge": "4 months",
- "actions": ["comment", "assign", "assign_to_me", "plan", "set_severity"],
- "transitions": ["unconfirm", "resolve", "falsepositive"]
- },
- {
- "key": "01461208-6c1e-4cdf-9f27-b7afa78e76ec",
- "component": "org.codehaus.sonar:sonar-batch:src/main/java/org/sonar/batch/index/Cache.java",
- "componentId": 19983,
- "project": "org.codehaus.sonar:sonar",
- "subProject": "org.codehaus.sonar:sonar-batch",
- "rule": "squid:S1135",
- "status": "CONFIRMED",
- "severity": "INFO",
- "message": "Complete the task associated to this TODO comment.",
- "line": 184,
- "author": "simon.brandhof@gmail.com",
- "creationDate": "2013-10-10T23:51:33+0200",
- "updateDate": "2014-07-29T23:15:18+0200",
- "fUpdateAge": "4 months",
- "actions": ["comment", "assign", "assign_to_me", "plan", "set_severity"],
- "transitions": ["unconfirm", "resolve", "falsepositive"]
- },
- {
- "key": "e4de6481-7bfb-460a-8b3c-24459f9561d3",
- "component": "org.codehaus.sonar:sonar-batch:src/main/java/org/sonar/batch/index/Cache.java",
- "componentId": 19983,
- "project": "org.codehaus.sonar:sonar",
- "subProject": "org.codehaus.sonar:sonar-batch",
- "rule": "squid:S1135",
- "status": "CONFIRMED",
- "severity": "INFO",
- "message": "Complete the task associated to this TODO comment.",
- "line": 239,
- "author": "Simon Brandhof",
- "creationDate": "2013-08-09T16:04:33+0200",
- "updateDate": "2014-07-29T23:15:18+0200",
- "fUpdateAge": "4 months",
- "actions": ["comment", "assign", "assign_to_me", "plan", "set_severity"],
- "transitions": ["unconfirm", "resolve", "falsepositive"]
- },
- {
- "key": "59fc17f7-c977-4cb6-8f04-fbe88e4b9186",
- "component": "org.codehaus.sonar:sonar-batch:src/main/java/org/sonar/batch/index/Cache.java",
- "componentId": 19983,
- "project": "org.codehaus.sonar:sonar",
- "subProject": "org.codehaus.sonar:sonar-batch",
- "rule": "squid:S1192",
- "status": "CONFIRMED",
- "severity": "MINOR",
- "message": "Define a constant instead of duplicating this literal \"Fail to get keys from cache \" 3 times.",
- "line": 257,
- "debt": "10min",
- "author": "simon.brandhof@gmail.com",
- "creationDate": "2014-02-20T07:48:16+0100",
- "updateDate": "2014-02-24T16:57:34+0100",
- "fUpdateAge": "9 months",
- "actions": ["comment", "assign", "assign_to_me", "plan", "set_severity"],
- "transitions": ["unconfirm", "resolve", "falsepositive"]
- }
-], "rules": [
- {
- "key": "common-java:DuplicatedBlocks",
- "name": "Duplicated blocks",
- "lang": "java",
- "desc": "<p>An issue is created on a file as soon as there is a block of duplicated code on this file. It gives the number of blocks in the file.</p>",
- "status": "READY",
- "langName": "Java"
- },
- {
- "key": "squid:S1192",
- "name": "String literals should not be duplicated",
- "lang": "java",
- "desc": "<p>\n Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.\n On the other hand, constants can be referenced from many places, but only need to be updated in a single place.\n</p>\n\n<h2>Non Compliant Code Example</h2>\n\n<pre>\npublic void run() {\n prepare(\"action1\"); // Non-Compliant - \"action1\" is duplicated 3 times\n execute(\"action1\");\n release(\"action1\");\n}\n\n@SuppressWarning(\"all\") // Compliant - annotations are excluded\nprivate void method1() { /* ... */ }\n@SuppressWarning(\"all\")\nprivate void method2() { /* ... */ }\n\npublic String method3(String a) {\n System.out.println(\"'\" + a + \"'\"); // Compliant - literal \"'\" has less than 5 characters and is excluded\n return \"\"; // Compliant - literal \"\" has less than 5 characters and is excluded\n}\n</pre>\n\n<h2>Compliant Code Example</h2>\n\n<pre>\nprivate static final String ACTION_1 = \"action1\"; // Compliant\n\npublic void run() {\n prepare(ACTION_1); // Compliant\n execute(ACTION_1);\n release(ACTION_1);\n}\n</pre>\n\n<h2>Exceptions</h2>\n<p>To prevent generating some false-positives, literals having less than 5 characters are excluded.</p>",
- "status": "READY",
- "langName": "Java"
- },
- {
- "key": "squid:S1135",
- "name": "TODO tags should be handled",
- "lang": "java",
- "desc": "<p>\n<code>TODO</code> tags are commonly used to mark places where some more code is required, but which the developer wants to implement later.\nSometimes the developer will not have the time or will simply forget to get back to that tag.\nThis rule is meant to track those tags, and ensure that they do not go unnoticed.\n</p>\n\n<p>The following code illustrates this rule:</p>\n\n<pre>\nvoid doSomething() {\n // TODO\n}\n</pre>",
- "status": "READY",
- "langName": "Java"
- }
-], "users": [
- {
- "login": "admin",
- "name": "Admin Admin",
- "active": true,
- "email": "admin@sonarsource.com"
- }
-], "languages": [
- {
- "key": "js",
- "name": "JavaScript"
- },
- {
- "key": "java",
- "name": "Java"
- }
-], "maxResultsReached": false, "paging": {
- "pageIndex": 1,
- "pageSize": 100,
- "total": 6,
- "fTotal": "6",
- "pages": 1
-}}
+++ /dev/null
-{"sources": [
- {
- "line": 1,
- "code": "<span class=\"cppd\">/*</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 2,
- "code": "<span class=\"cppd\"> * SonarQube, open source software quality management tool.</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b1436788cfc71b23cc3e3c15400a6c630c914bec",
- "scmDate": "2013-04-21T11:58:14+0200"
- },
- {
- "line": 3,
- "code": "<span class=\"cppd\"> * Copyright (C) 2008-2014 SonarSource</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "57ae3026c36ae3b0b71756d6161124b1ae594c53",
- "scmDate": "2014-03-11T17:52:41+0100"
- },
- {
- "line": 4,
- "code": "<span class=\"cppd\"> * mailto:contact AT sonarsource DOT com</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 5,
- "code": "<span class=\"cppd\"> *</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 6,
- "code": "<span class=\"cppd\"> * SonarQube is free software; you can redistribute it and/or</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b1436788cfc71b23cc3e3c15400a6c630c914bec",
- "scmDate": "2013-04-21T11:58:14+0200"
- },
- {
- "line": 7,
- "code": "<span class=\"cppd\"> * modify it under the terms of the GNU Lesser General Public</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 8,
- "code": "<span class=\"cppd\"> * License as published by the Free Software Foundation; either</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 9,
- "code": "<span class=\"cppd\"> * version 3 of the License, or (at your option) any later version.</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 10,
- "code": "<span class=\"cppd\"> *</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 11,
- "code": "<span class=\"cppd\"> * SonarQube is distributed in the hope that it will be useful,</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b1436788cfc71b23cc3e3c15400a6c630c914bec",
- "scmDate": "2013-04-21T11:58:14+0200"
- },
- {
- "line": 12,
- "code": "<span class=\"cppd\"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 13,
- "code": "<span class=\"cppd\"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 14,
- "code": "<span class=\"cppd\"> * Lesser General Public License for more details.</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 15,
- "code": "<span class=\"cppd\"> *</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 16,
- "code": "<span class=\"cppd\"> * You should have received a copy of the GNU Lesser General Public License</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "ce63bd4c293fe7a1fa066d73860bbaf4e1f5a608",
- "scmDate": "2013-04-22T09:37:03+0200"
- },
- {
- "line": 17,
- "code": "<span class=\"cppd\"> * along with this program; if not, write to the Free Software Foundation,</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "ce63bd4c293fe7a1fa066d73860bbaf4e1f5a608",
- "scmDate": "2013-04-22T09:37:03+0200"
- },
- {
- "line": 18,
- "code": "<span class=\"cppd\"> * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "ce63bd4c293fe7a1fa066d73860bbaf4e1f5a608",
- "scmDate": "2013-04-22T09:37:03+0200"
- },
- {
- "line": 19,
- "code": "<span class=\"cppd\"> */</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 20,
- "code": "<span class=\"k\">package</span> org.sonar.batch.index;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 21,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 22,
- "code": "<span class=\"k\">import </span>com.google.common.collect.<span class=\"sym-1 sym\">Sets</span>;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 23,
- "code": "<span class=\"k\">import </span>com.persistit.<span class=\"sym-2 sym\">Exchange</span>;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 24,
- "code": "<span class=\"k\">import </span>com.persistit.<span class=\"sym-3 sym\">Key</span>;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 25,
- "code": "<span class=\"k\">import </span>com.persistit.<span class=\"sym-4 sym\">KeyFilter</span>;",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 26,
- "code": "<span class=\"k\">import </span>com.persistit.exception.<span class=\"sym-5 sym\">PersistitException</span>;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 27,
- "code": "<span class=\"k\">import </span>org.apache.commons.lang.builder.<span class=\"sym-6 sym\">ToStringBuilder</span>;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 28,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 29,
- "code": "<span class=\"k\">import </span>javax.annotation.<span class=\"sym-7 sym\">CheckForNull</span>;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 30,
- "code": "",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "171cd79c0b5152461434951ed5d6e5e58849a7b7",
- "scmDate": "2014-04-23T14:41:32+0200"
- },
- {
- "line": 31,
- "code": "<span class=\"k\">import </span>java.util.<span class=\"sym-8 sym\">Iterator</span>;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 32,
- "code": "<span class=\"k\">import </span>java.util.<span class=\"sym-9 sym\">NoSuchElementException</span>;",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 33,
- "code": "<span class=\"k\">import </span>java.util.<span class=\"sym-10 sym\">Set</span>;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 34,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 35,
- "code": "<span class=\"cppd\">/**</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 36,
- "code": "<span class=\"cppd\"> * <p></span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 37,
- "code": "<span class=\"cppd\"> * This cache is not thread-safe, due to direct usage of {@link com.persistit.Exchange}</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 38,
- "code": "<span class=\"cppd\"> * </p></span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 39,
- "code": "<span class=\"cppd\"> */</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 40,
- "code": "<span class=\"k\">public </span><span class=\"k\">class</span> <span class=\"sym-11 sym\">Cache</span><V> {",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "6074164392edd3db2dfdfd21d05cd56c19e2b0e6",
- "scmDate": "2014-07-25T16:31:45+0200"
- },
- {
- "line": 41,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 42,
- "code": " <span class=\"k\">private </span><span class=\"k\">final </span>String <span class=\"sym-12 sym\">name</span>;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 43,
- "code": " <span class=\"k\">private </span><span class=\"k\">final </span><span class=\"sym-2 sym\">Exchange</span> <span class=\"sym-13 sym\">exchange</span>;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 44,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 45,
- "code": " <span class=\"sym-14 sym\">Cache</span>(String <span class=\"sym-15 sym\">name</span>, <span class=\"sym-2 sym\">Exchange</span> <span class=\"sym-16 sym\">exchange</span>) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200",
- "utLineHits": 1
- },
- {
- "line": 46,
- "code": " <span class=\"k\">this</span>.<span class=\"sym-12 sym\">name</span> = <span class=\"sym-15 sym\">name</span>;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200",
- "utLineHits": 1
- },
- {
- "line": 47,
- "code": " <span class=\"k\">this</span>.<span class=\"sym-13 sym\">exchange</span> = <span class=\"sym-16 sym\">exchange</span>;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200",
- "utLineHits": 1
- },
- {
- "line": 48,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200",
- "utLineHits": 1
- },
- {
- "line": 49,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 50,
- "code": " <span class=\"k\">public </span><span class=\"sym-11 sym\">Cache</span><V> <span class=\"sym-17 sym\">put</span>(Object <span class=\"sym-18 sym\">key</span>, V <span class=\"sym-19 sym\">value</span>) {",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 51,
- "code": " <span class=\"sym-127 sym\">resetKey</span>(<span class=\"sym-18 sym\">key</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 1
- },
- {
- "line": 52,
- "code": " <span class=\"k\">return</span> <span class=\"sym-32 sym\">doPut</span>(<span class=\"sym-19 sym\">value</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 1
- },
- {
- "line": 53,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 54,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 55,
- "code": " <span class=\"k\">public </span><span class=\"sym-11 sym\">Cache</span><V> <span class=\"sym-20 sym\">put</span>(Object <span class=\"sym-21 sym\">firstKey</span>, Object <span class=\"sym-22 sym\">secondKey</span>, V <span class=\"sym-23 sym\">value</span>) {",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 56,
- "code": " <span class=\"sym-129 sym\">resetKey</span>(<span class=\"sym-21 sym\">firstKey</span>, <span class=\"sym-22 sym\">secondKey</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 1
- },
- {
- "line": 57,
- "code": " <span class=\"k\">return</span> <span class=\"sym-32 sym\">doPut</span>(<span class=\"sym-23 sym\">value</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 1
- },
- {
- "line": 58,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 59,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 60,
- "code": " <span class=\"k\">public </span><span class=\"sym-11 sym\">Cache</span><V> <span class=\"sym-24 sym\">put</span>(Object <span class=\"sym-25 sym\">firstKey</span>, Object <span class=\"sym-26 sym\">secondKey</span>, Object <span class=\"sym-27 sym\">thirdKey</span>, V <span class=\"sym-28 sym\">value</span>) {",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 61,
- "code": " <span class=\"sym-132 sym\">resetKey</span>(<span class=\"sym-25 sym\">firstKey</span>, <span class=\"sym-26 sym\">secondKey</span>, <span class=\"sym-27 sym\">thirdKey</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 1
- },
- {
- "line": 62,
- "code": " <span class=\"k\">return</span> <span class=\"sym-32 sym\">doPut</span>(<span class=\"sym-28 sym\">value</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 1
- },
- {
- "line": 63,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 64,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 65,
- "code": " <span class=\"k\">public </span><span class=\"sym-11 sym\">Cache</span><V> <span class=\"sym-29 sym\">put</span>(Object[] <span class=\"sym-30 sym\">key</span>, V <span class=\"sym-31 sym\">value</span>) {",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 66,
- "code": " <span class=\"sym-136 sym\">resetKey</span>(<span class=\"sym-30 sym\">key</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 0
- },
- {
- "line": 67,
- "code": " <span class=\"k\">return</span> <span class=\"sym-32 sym\">doPut</span>(<span class=\"sym-31 sym\">value</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 0
- },
- {
- "line": 68,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 69,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 70,
- "code": " <span class=\"k\">private </span><span class=\"sym-11 sym\">Cache</span><V> <span class=\"sym-32 sym\">doPut</span>(V <span class=\"sym-33 sym\">value</span>) {",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 71,
- "code": " <span class=\"k\">try </span>{",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 72,
- "code": " <span class=\"sym-13 sym\">exchange</span>.getValue().put(<span class=\"sym-33 sym\">value</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200",
- "utLineHits": 1
- },
- {
- "line": 73,
- "code": " <span class=\"sym-13 sym\">exchange</span>.store();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200",
- "utLineHits": 1
- },
- {
- "line": 74,
- "code": " <span class=\"k\">return</span> <span class=\"k\">this</span>;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200",
- "utLineHits": 1
- },
- {
- "line": 75,
- "code": " } <span class=\"k\">catch </span>(Exception <span class=\"sym-34 sym\">e</span>) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200",
- "utLineHits": 1
- },
- {
- "line": 76,
- "code": " <span class=\"k\">throw</span> <span class=\"k\">new</span> IllegalStateException(<span class=\"s\">\"Fail to put element in the cache \" </span>+ <span class=\"sym-12 sym\">name</span>, <span class=\"sym-34 sym\">e</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200",
- "utLineHits": 1
- },
- {
- "line": 77,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 78,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 79,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 80,
- "code": " <span class=\"cppd\">/**</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 81,
- "code": "<span class=\"cppd\"> * Returns the value object associated with keys, or null if not found.</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 82,
- "code": "<span class=\"cppd\"> */</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 83,
- "code": " <span class=\"k\">public </span>V <span class=\"sym-35 sym\">get</span>(Object <span class=\"sym-36 sym\">key</span>) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 84,
- "code": " <span class=\"sym-127 sym\">resetKey</span>(<span class=\"sym-36 sym\">key</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 1
- },
- {
- "line": 85,
- "code": " <span class=\"k\">return</span> <span class=\"sym-46 sym\">doGet</span>();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 1
- },
- {
- "line": 86,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 87,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 88,
- "code": " <span class=\"cppd\">/**</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 89,
- "code": "<span class=\"cppd\"> * Returns the value object associated with keys, or null if not found.</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 90,
- "code": "<span class=\"cppd\"> */</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 91,
- "code": " <span class=\"a\">@<span class=\"sym-7 sym\">CheckForNull</span></span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 92,
- "code": "<span class=\"a\"> </span><span class=\"k\">public </span>V <span class=\"sym-37 sym\">get</span>(Object <span class=\"sym-38 sym\">firstKey</span>, Object <span class=\"sym-39 sym\">secondKey</span>) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 93,
- "code": " <span class=\"sym-129 sym\">resetKey</span>(<span class=\"sym-38 sym\">firstKey</span>, <span class=\"sym-39 sym\">secondKey</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 1
- },
- {
- "line": 94,
- "code": " <span class=\"k\">return</span> <span class=\"sym-46 sym\">doGet</span>();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 1
- },
- {
- "line": 95,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 96,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 97,
- "code": " <span class=\"cppd\">/**</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 98,
- "code": "<span class=\"cppd\"> * Returns the value object associated with keys, or null if not found.</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 99,
- "code": "<span class=\"cppd\"> */</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 100,
- "code": " <span class=\"a\">@<span class=\"sym-7 sym\">CheckForNull</span></span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 101,
- "code": "<span class=\"a\"> </span><span class=\"k\">public </span>V <span class=\"sym-40 sym\">get</span>(Object <span class=\"sym-41 sym\">firstKey</span>, Object <span class=\"sym-42 sym\">secondKey</span>, Object <span class=\"sym-43 sym\">thirdKey</span>) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 102,
- "code": " <span class=\"sym-132 sym\">resetKey</span>(<span class=\"sym-41 sym\">firstKey</span>, <span class=\"sym-42 sym\">secondKey</span>, <span class=\"sym-43 sym\">thirdKey</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 1
- },
- {
- "line": 103,
- "code": " <span class=\"k\">return</span> <span class=\"sym-46 sym\">doGet</span>();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 1
- },
- {
- "line": 104,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 105,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 106,
- "code": " <span class=\"cppd\">/**</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 107,
- "code": "<span class=\"cppd\"> * Returns the value object associated with keys, or null if not found.</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 108,
- "code": "<span class=\"cppd\"> */</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 109,
- "code": " <span class=\"a\">@<span class=\"sym-7 sym\">CheckForNull</span></span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 110,
- "code": "<span class=\"a\"> </span><span class=\"k\">public </span>V <span class=\"sym-44 sym\">get</span>(Object[] <span class=\"sym-45 sym\">key</span>) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 111,
- "code": " <span class=\"sym-136 sym\">resetKey</span>(<span class=\"sym-45 sym\">key</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 0
- },
- {
- "line": 112,
- "code": " <span class=\"k\">return</span> <span class=\"sym-46 sym\">doGet</span>();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 0
- },
- {
- "line": 113,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 114,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 115,
- "code": " <span class=\"a\">@SuppressWarnings</span>(<span class=\"s\">\"unchecked\"</span>)",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 116,
- "code": " <span class=\"a\">@<span class=\"sym-7 sym\">CheckForNull</span></span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 117,
- "code": "<span class=\"a\"> </span><span class=\"k\">private </span>V <span class=\"sym-46 sym\">doGet</span>() {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 118,
- "code": " <span class=\"k\">try </span>{",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 119,
- "code": " <span class=\"sym-13 sym\">exchange</span>.fetch();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200",
- "utLineHits": 1
- },
- {
- "line": 120,
- "code": " <span class=\"k\">if </span>(!<span class=\"sym-13 sym\">exchange</span>.getValue().isDefined()) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200",
- "utLineHits": 1,
- "utConditions": 2,
- "utCoveredConditions": 2
- },
- {
- "line": 121,
- "code": " <span class=\"k\">return</span> <span class=\"k\">null</span>;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200",
- "utLineHits": 1
- },
- {
- "line": 122,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 123,
- "code": " <span class=\"k\">return</span> (V) <span class=\"sym-13 sym\">exchange</span>.getValue().get();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200",
- "utLineHits": 1
- },
- {
- "line": 124,
- "code": " } <span class=\"k\">catch </span>(Exception <span class=\"sym-47 sym\">e</span>) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200",
- "utLineHits": 0
- },
- {
- "line": 125,
- "code": " <span class=\"cppd\">// TODO add parameters to message</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e108f5de333cf36aff978aa03940590f9caca9fc",
- "scmDate": "2013-10-10T12:18:02+0200"
- },
- {
- "line": 126,
- "code": " <span class=\"k\">throw</span> <span class=\"k\">new</span> IllegalStateException(<span class=\"s\">\"Fail to get element from cache \" </span>+ <span class=\"sym-12 sym\">name</span>, <span class=\"sym-47 sym\">e</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200",
- "utLineHits": 0
- },
- {
- "line": 127,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 128,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 129,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 130,
- "code": " <span class=\"k\">public </span><span class=\"k\">boolean </span><span class=\"sym-48 sym\">containsKey</span>(Object <span class=\"sym-49 sym\">key</span>) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 131,
- "code": " <span class=\"sym-127 sym\">resetKey</span>(<span class=\"sym-49 sym\">key</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 1
- },
- {
- "line": 132,
- "code": " <span class=\"k\">return</span> <span class=\"sym-59 sym\">doContainsKey</span>();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 1
- },
- {
- "line": 133,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 134,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 135,
- "code": " <span class=\"k\">public </span><span class=\"k\">boolean </span><span class=\"sym-50 sym\">containsKey</span>(Object <span class=\"sym-51 sym\">firstKey</span>, Object <span class=\"sym-52 sym\">secondKey</span>) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 136,
- "code": " <span class=\"sym-129 sym\">resetKey</span>(<span class=\"sym-51 sym\">firstKey</span>, <span class=\"sym-52 sym\">secondKey</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 1
- },
- {
- "line": 137,
- "code": " <span class=\"k\">return</span> <span class=\"sym-59 sym\">doContainsKey</span>();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 1
- },
- {
- "line": 138,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 139,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 140,
- "code": " <span class=\"k\">public </span><span class=\"k\">boolean </span><span class=\"sym-53 sym\">containsKey</span>(Object <span class=\"sym-54 sym\">firstKey</span>, Object <span class=\"sym-55 sym\">secondKey</span>, Object <span class=\"sym-56 sym\">thirdKey</span>) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 141,
- "code": " <span class=\"sym-132 sym\">resetKey</span>(<span class=\"sym-54 sym\">firstKey</span>, <span class=\"sym-55 sym\">secondKey</span>, <span class=\"sym-56 sym\">thirdKey</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 1
- },
- {
- "line": 142,
- "code": " <span class=\"k\">return</span> <span class=\"sym-59 sym\">doContainsKey</span>();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 1
- },
- {
- "line": 143,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 144,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 145,
- "code": " <span class=\"k\">public </span><span class=\"k\">boolean </span><span class=\"sym-57 sym\">containsKey</span>(Object[] <span class=\"sym-58 sym\">key</span>) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 146,
- "code": " <span class=\"sym-136 sym\">resetKey</span>(<span class=\"sym-58 sym\">key</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 0
- },
- {
- "line": 147,
- "code": " <span class=\"k\">return</span> <span class=\"sym-59 sym\">doContainsKey</span>();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 0
- },
- {
- "line": 148,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 149,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 150,
- "code": " <span class=\"k\">private </span><span class=\"k\">boolean </span><span class=\"sym-59 sym\">doContainsKey</span>() {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 151,
- "code": " <span class=\"k\">try </span>{",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e108f5de333cf36aff978aa03940590f9caca9fc",
- "scmDate": "2013-10-10T12:18:02+0200"
- },
- {
- "line": 152,
- "code": " <span class=\"sym-13 sym\">exchange</span>.fetch();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e108f5de333cf36aff978aa03940590f9caca9fc",
- "scmDate": "2013-10-10T12:18:02+0200",
- "utLineHits": 1
- },
- {
- "line": 153,
- "code": " <span class=\"k\">return</span> <span class=\"sym-13 sym\">exchange</span>.isValueDefined();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e108f5de333cf36aff978aa03940590f9caca9fc",
- "scmDate": "2013-10-10T12:18:02+0200",
- "utLineHits": 1
- },
- {
- "line": 154,
- "code": " } <span class=\"k\">catch </span>(Exception <span class=\"sym-60 sym\">e</span>) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e108f5de333cf36aff978aa03940590f9caca9fc",
- "scmDate": "2013-10-10T12:18:02+0200",
- "utLineHits": 0
- },
- {
- "line": 155,
- "code": " <span class=\"cppd\">// TODO add parameters to message</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e108f5de333cf36aff978aa03940590f9caca9fc",
- "scmDate": "2013-10-10T12:18:02+0200"
- },
- {
- "line": 156,
- "code": " <span class=\"k\">throw</span> <span class=\"k\">new</span> IllegalStateException(<span class=\"s\">\"Fail to check if element is in cache \" </span>+ <span class=\"sym-12 sym\">name</span>, <span class=\"sym-60 sym\">e</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e108f5de333cf36aff978aa03940590f9caca9fc",
- "scmDate": "2013-10-10T12:18:02+0200",
- "utLineHits": 0
- },
- {
- "line": 157,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e108f5de333cf36aff978aa03940590f9caca9fc",
- "scmDate": "2013-10-10T12:18:02+0200"
- },
- {
- "line": 158,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e108f5de333cf36aff978aa03940590f9caca9fc",
- "scmDate": "2013-10-10T12:18:02+0200"
- },
- {
- "line": 159,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e108f5de333cf36aff978aa03940590f9caca9fc",
- "scmDate": "2013-10-10T12:18:02+0200"
- },
- {
- "line": 160,
- "code": " <span class=\"k\">public </span><span class=\"k\">boolean </span><span class=\"sym-61 sym\">remove</span>(Object <span class=\"sym-62 sym\">key</span>) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 161,
- "code": " <span class=\"sym-127 sym\">resetKey</span>(<span class=\"sym-62 sym\">key</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 1
- },
- {
- "line": 162,
- "code": " <span class=\"k\">return</span> <span class=\"sym-72 sym\">doRemove</span>();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 1
- },
- {
- "line": 163,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 164,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 165,
- "code": " <span class=\"k\">public </span><span class=\"k\">boolean </span><span class=\"sym-63 sym\">remove</span>(Object <span class=\"sym-64 sym\">firstKey</span>, Object <span class=\"sym-65 sym\">secondKey</span>) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 166,
- "code": " <span class=\"sym-129 sym\">resetKey</span>(<span class=\"sym-64 sym\">firstKey</span>, <span class=\"sym-65 sym\">secondKey</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 1
- },
- {
- "line": 167,
- "code": " <span class=\"k\">return</span> <span class=\"sym-72 sym\">doRemove</span>();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 1
- },
- {
- "line": 168,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 169,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 170,
- "code": " <span class=\"k\">public </span><span class=\"k\">boolean </span><span class=\"sym-66 sym\">remove</span>(Object <span class=\"sym-67 sym\">firstKey</span>, Object <span class=\"sym-68 sym\">secondKey</span>, Object <span class=\"sym-69 sym\">thirdKey</span>) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 171,
- "code": " <span class=\"sym-132 sym\">resetKey</span>(<span class=\"sym-67 sym\">firstKey</span>, <span class=\"sym-68 sym\">secondKey</span>, <span class=\"sym-69 sym\">thirdKey</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 1
- },
- {
- "line": 172,
- "code": " <span class=\"k\">return</span> <span class=\"sym-72 sym\">doRemove</span>();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 1
- },
- {
- "line": 173,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 174,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 175,
- "code": " <span class=\"k\">public </span><span class=\"k\">boolean </span><span class=\"sym-70 sym\">remove</span>(Object[] <span class=\"sym-71 sym\">key</span>) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 176,
- "code": " <span class=\"sym-136 sym\">resetKey</span>(<span class=\"sym-71 sym\">key</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 0
- },
- {
- "line": 177,
- "code": " <span class=\"k\">return</span> <span class=\"sym-72 sym\">doRemove</span>();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 0
- },
- {
- "line": 178,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 179,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 180,
- "code": " <span class=\"k\">private </span><span class=\"k\">boolean </span><span class=\"sym-72 sym\">doRemove</span>() {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 181,
- "code": " <span class=\"k\">try </span>{",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 182,
- "code": " <span class=\"k\">return</span> <span class=\"sym-13 sym\">exchange</span>.remove();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "6f1161efb92298ace498df544e38f6f97216ec36",
- "scmDate": "2013-04-26T15:19:16+0200",
- "utLineHits": 1
- },
- {
- "line": 183,
- "code": " } <span class=\"k\">catch </span>(Exception <span class=\"sym-73 sym\">e</span>) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200",
- "utLineHits": 0
- },
- {
- "line": 184,
- "code": " <span class=\"cppd\">// TODO add parameters to message</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e108f5de333cf36aff978aa03940590f9caca9fc",
- "scmDate": "2013-10-10T12:18:02+0200"
- },
- {
- "line": 185,
- "code": " <span class=\"k\">throw</span> <span class=\"k\">new</span> IllegalStateException(<span class=\"s\">\"Fail to get element from cache \" </span>+ <span class=\"sym-12 sym\">name</span>, <span class=\"sym-73 sym\">e</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200",
- "utLineHits": 0
- },
- {
- "line": 186,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 187,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 188,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 189,
- "code": " <span class=\"cppd\">/**</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 190,
- "code": "<span class=\"cppd\"> * Removes everything in the specified group.</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 191,
- "code": "<span class=\"cppd\"> *</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 192,
- "code": "<span class=\"cppd\"> * @param group The group name.</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 193,
- "code": "<span class=\"cppd\"> */</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 194,
- "code": " <span class=\"k\">public </span><span class=\"sym-11 sym\">Cache</span><V> <span class=\"sym-74 sym\">clear</span>(Object <span class=\"sym-75 sym\">key</span>) {",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 195,
- "code": " <span class=\"sym-127 sym\">resetKey</span>(<span class=\"sym-75 sym\">key</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 1
- },
- {
- "line": 196,
- "code": " <span class=\"k\">return</span> <span class=\"sym-85 sym\">doClear</span>();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 1
- },
- {
- "line": 197,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 198,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 199,
- "code": " <span class=\"k\">public </span><span class=\"sym-11 sym\">Cache</span><V> <span class=\"sym-76 sym\">clear</span>(Object <span class=\"sym-77 sym\">firstKey</span>, Object <span class=\"sym-78 sym\">secondKey</span>) {",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 200,
- "code": " <span class=\"sym-129 sym\">resetKey</span>(<span class=\"sym-77 sym\">firstKey</span>, <span class=\"sym-78 sym\">secondKey</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 1
- },
- {
- "line": 201,
- "code": " <span class=\"k\">return</span> <span class=\"sym-85 sym\">doClear</span>();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 1
- },
- {
- "line": 202,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 203,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 204,
- "code": " <span class=\"k\">public </span><span class=\"sym-11 sym\">Cache</span><V> <span class=\"sym-79 sym\">clear</span>(Object <span class=\"sym-80 sym\">firstKey</span>, Object <span class=\"sym-81 sym\">secondKey</span>, Object <span class=\"sym-82 sym\">thirdKey</span>) {",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 205,
- "code": " <span class=\"sym-132 sym\">resetKey</span>(<span class=\"sym-80 sym\">firstKey</span>, <span class=\"sym-81 sym\">secondKey</span>, <span class=\"sym-82 sym\">thirdKey</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 1
- },
- {
- "line": 206,
- "code": " <span class=\"k\">return</span> <span class=\"sym-85 sym\">doClear</span>();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 1
- },
- {
- "line": 207,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 208,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 209,
- "code": " <span class=\"k\">public </span><span class=\"sym-11 sym\">Cache</span><V> <span class=\"sym-83 sym\">clear</span>(Object[] <span class=\"sym-84 sym\">key</span>) {",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 210,
- "code": " <span class=\"sym-136 sym\">resetKey</span>(<span class=\"sym-84 sym\">key</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 0
- },
- {
- "line": 211,
- "code": " <span class=\"k\">return</span> <span class=\"sym-85 sym\">doClear</span>();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 0
- },
- {
- "line": 212,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 213,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 214,
- "code": " <span class=\"k\">private </span><span class=\"sym-11 sym\">Cache</span><V> <span class=\"sym-85 sym\">doClear</span>() {",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 215,
- "code": " <span class=\"k\">try </span>{",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 216,
- "code": " <span class=\"sym-3 sym\">Key</span> <span class=\"sym-86 sym\">to</span> = <span class=\"k\">new</span> <span class=\"sym-3 sym\">Key</span>(<span class=\"sym-13 sym\">exchange</span>.getKey());",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 1
- },
- {
- "line": 217,
- "code": " <span class=\"sym-86 sym\">to</span>.append(<span class=\"sym-3 sym\">Key</span>.AFTER);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 1
- },
- {
- "line": 218,
- "code": " <span class=\"sym-13 sym\">exchange</span>.removeKeyRange(<span class=\"sym-13 sym\">exchange</span>.getKey(), <span class=\"sym-86 sym\">to</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 1
- },
- {
- "line": 219,
- "code": " <span class=\"k\">return</span> <span class=\"k\">this</span>;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200",
- "utLineHits": 1
- },
- {
- "line": 220,
- "code": " } <span class=\"k\">catch </span>(Exception <span class=\"sym-87 sym\">e</span>) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200",
- "utLineHits": 0
- },
- {
- "line": 221,
- "code": " <span class=\"k\">throw</span> <span class=\"k\">new</span> IllegalStateException(<span class=\"s\">\"Fail to clear values from cache \" </span>+ <span class=\"sym-12 sym\">name</span>, <span class=\"sym-87 sym\">e</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 0
- },
- {
- "line": 222,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 223,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 224,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 225,
- "code": " <span class=\"cppd\">/**</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 226,
- "code": "<span class=\"cppd\"> * Clears the default as well as all group caches.</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 227,
- "code": "<span class=\"cppd\"> */</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 228,
- "code": " <span class=\"k\">public </span><span class=\"k\">void </span><span class=\"sym-88 sym\">clear</span>() {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 229,
- "code": " <span class=\"k\">try </span>{",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 230,
- "code": " <span class=\"sym-13 sym\">exchange</span>.clear();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200",
- "utLineHits": 1
- },
- {
- "line": 231,
- "code": " <span class=\"sym-13 sym\">exchange</span>.removeAll();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200",
- "utLineHits": 1
- },
- {
- "line": 232,
- "code": " } <span class=\"k\">catch </span>(Exception <span class=\"sym-89 sym\">e</span>) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200",
- "utLineHits": 0
- },
- {
- "line": 233,
- "code": " <span class=\"k\">throw</span> <span class=\"k\">new</span> IllegalStateException(<span class=\"s\">\"Fail to clear cache\"</span>, <span class=\"sym-89 sym\">e</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200",
- "utLineHits": 0
- },
- {
- "line": 234,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200",
- "utLineHits": 1
- },
- {
- "line": 235,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200",
- "utLineHits": 1
- },
- {
- "line": 236,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 237,
- "code": " <span class=\"cppd\">/**</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 238,
- "code": "<span class=\"cppd\"> * Returns the set of cache keys associated with this group.</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 239,
- "code": "<span class=\"cppd\"> * TODO implement a lazy-loading equivalent with Iterator/Iterable</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 240,
- "code": "<span class=\"cppd\"> *</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 241,
- "code": "<span class=\"cppd\"> * @param group The group.</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 242,
- "code": "<span class=\"cppd\"> * @return The set of cache keys for this group.</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 243,
- "code": "<span class=\"cppd\"> */</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 244,
- "code": " <span class=\"a\">@SuppressWarnings</span>(<span class=\"s\">\"rawtypes\"</span>)",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 245,
- "code": " <span class=\"k\">public </span><span class=\"sym-10 sym\">Set</span> <span class=\"sym-90 sym\">keySet</span>(Object <span class=\"sym-91 sym\">key</span>) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 246,
- "code": " <span class=\"k\">try </span>{",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 247,
- "code": " <span class=\"sym-10 sym\">Set</span><Object> <span class=\"sym-92 sym\">keys</span> = <span class=\"sym-1 sym\">Sets</span>.newLinkedHashSet();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 1
- },
- {
- "line": 248,
- "code": " <span class=\"sym-13 sym\">exchange</span>.clear();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200",
- "utLineHits": 1
- },
- {
- "line": 249,
- "code": " <span class=\"sym-2 sym\">Exchange</span> <span class=\"sym-93 sym\">iteratorExchange</span> = <span class=\"k\">new</span> <span class=\"sym-2 sym\">Exchange</span>(<span class=\"sym-13 sym\">exchange</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200",
- "utLineHits": 1
- },
- {
- "line": 250,
- "code": " <span class=\"sym-93 sym\">iteratorExchange</span>.append(<span class=\"sym-91 sym\">key</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 1
- },
- {
- "line": 251,
- "code": " <span class=\"sym-93 sym\">iteratorExchange</span>.append(<span class=\"sym-3 sym\">Key</span>.BEFORE);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200",
- "utLineHits": 1
- },
- {
- "line": 252,
- "code": " <span class=\"k\">while </span>(<span class=\"sym-93 sym\">iteratorExchange</span>.next(<span class=\"k\">false</span>)) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200",
- "utLineHits": 1,
- "utConditions": 2,
- "utCoveredConditions": 2
- },
- {
- "line": 253,
- "code": " <span class=\"sym-92 sym\">keys</span>.add(<span class=\"sym-93 sym\">iteratorExchange</span>.getKey().indexTo(-<span class=\"c\">1</span>).decode());",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 1
- },
- {
- "line": 254,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 255,
- "code": " <span class=\"k\">return</span> <span class=\"sym-92 sym\">keys</span>;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200",
- "utLineHits": 1
- },
- {
- "line": 256,
- "code": " } <span class=\"k\">catch </span>(Exception <span class=\"sym-94 sym\">e</span>) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200",
- "utLineHits": 0
- },
- {
- "line": 257,
- "code": " <span class=\"k\">throw</span> <span class=\"k\">new</span> IllegalStateException(<span class=\"s\">\"Fail to get keys from cache \" </span>+ <span class=\"sym-12 sym\">name</span>, <span class=\"sym-94 sym\">e</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200",
- "utLineHits": 0
- },
- {
- "line": 258,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 259,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 260,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 261,
- "code": " <span class=\"a\">@SuppressWarnings</span>(<span class=\"s\">\"rawtypes\"</span>)",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 262,
- "code": " <span class=\"k\">public </span><span class=\"sym-10 sym\">Set</span> <span class=\"sym-95 sym\">keySet</span>(Object <span class=\"sym-96 sym\">firstKey</span>, Object <span class=\"sym-97 sym\">secondKey</span>) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 263,
- "code": " <span class=\"k\">try </span>{",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 264,
- "code": " <span class=\"sym-10 sym\">Set</span><Object> <span class=\"sym-98 sym\">keys</span> = <span class=\"sym-1 sym\">Sets</span>.newLinkedHashSet();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 1
- },
- {
- "line": 265,
- "code": " <span class=\"sym-13 sym\">exchange</span>.clear();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 1
- },
- {
- "line": 266,
- "code": " <span class=\"sym-2 sym\">Exchange</span> <span class=\"sym-99 sym\">iteratorExchange</span> = <span class=\"k\">new</span> <span class=\"sym-2 sym\">Exchange</span>(<span class=\"sym-13 sym\">exchange</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 1
- },
- {
- "line": 267,
- "code": " <span class=\"sym-99 sym\">iteratorExchange</span>.append(<span class=\"sym-96 sym\">firstKey</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 1
- },
- {
- "line": 268,
- "code": " <span class=\"sym-99 sym\">iteratorExchange</span>.append(<span class=\"sym-97 sym\">secondKey</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 1
- },
- {
- "line": 269,
- "code": " <span class=\"sym-99 sym\">iteratorExchange</span>.append(<span class=\"sym-3 sym\">Key</span>.BEFORE);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 1
- },
- {
- "line": 270,
- "code": " <span class=\"k\">while </span>(<span class=\"sym-99 sym\">iteratorExchange</span>.next(<span class=\"k\">false</span>)) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 1,
- "utConditions": 2,
- "utCoveredConditions": 2
- },
- {
- "line": 271,
- "code": " <span class=\"sym-98 sym\">keys</span>.add(<span class=\"sym-99 sym\">iteratorExchange</span>.getKey().indexTo(-<span class=\"c\">1</span>).decode());",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 1
- },
- {
- "line": 272,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 273,
- "code": " <span class=\"k\">return</span> <span class=\"sym-98 sym\">keys</span>;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 1
- },
- {
- "line": 274,
- "code": " } <span class=\"k\">catch </span>(Exception <span class=\"sym-100 sym\">e</span>) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 0
- },
- {
- "line": 275,
- "code": " <span class=\"k\">throw</span> <span class=\"k\">new</span> IllegalStateException(<span class=\"s\">\"Fail to get keys from cache \" </span>+ <span class=\"sym-12 sym\">name</span>, <span class=\"sym-100 sym\">e</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 0
- },
- {
- "line": 276,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 277,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 278,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 279,
- "code": " <span class=\"cppd\">/**</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 280,
- "code": "<span class=\"cppd\"> * Returns the set of keys associated with this cache.</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 281,
- "code": "<span class=\"cppd\"> *</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 282,
- "code": "<span class=\"cppd\"> * @return The set containing the keys for this cache.</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 283,
- "code": "<span class=\"cppd\"> */</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 284,
- "code": " <span class=\"k\">public </span><span class=\"sym-10 sym\">Set</span><Object> <span class=\"sym-101 sym\">keySet</span>() {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 285,
- "code": " <span class=\"k\">try </span>{",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 286,
- "code": " <span class=\"sym-10 sym\">Set</span><Object> <span class=\"sym-102 sym\">keys</span> = <span class=\"sym-1 sym\">Sets</span>.newLinkedHashSet();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 1
- },
- {
- "line": 287,
- "code": " <span class=\"sym-13 sym\">exchange</span>.clear();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 1
- },
- {
- "line": 288,
- "code": " <span class=\"sym-2 sym\">Exchange</span> <span class=\"sym-103 sym\">iteratorExchange</span> = <span class=\"k\">new</span> <span class=\"sym-2 sym\">Exchange</span>(<span class=\"sym-13 sym\">exchange</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 1
- },
- {
- "line": 289,
- "code": " <span class=\"sym-103 sym\">iteratorExchange</span>.append(<span class=\"sym-3 sym\">Key</span>.BEFORE);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 1
- },
- {
- "line": 290,
- "code": " <span class=\"k\">while </span>(<span class=\"sym-103 sym\">iteratorExchange</span>.next(<span class=\"k\">false</span>)) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 1,
- "utConditions": 2,
- "utCoveredConditions": 2
- },
- {
- "line": 291,
- "code": " <span class=\"sym-102 sym\">keys</span>.add(<span class=\"sym-103 sym\">iteratorExchange</span>.getKey().indexTo(-<span class=\"c\">1</span>).decode());",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 1
- },
- {
- "line": 292,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 293,
- "code": " <span class=\"k\">return</span> <span class=\"sym-102 sym\">keys</span>;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 1
- },
- {
- "line": 294,
- "code": " } <span class=\"k\">catch </span>(Exception <span class=\"sym-104 sym\">e</span>) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 0
- },
- {
- "line": 295,
- "code": " <span class=\"k\">throw</span> <span class=\"k\">new</span> IllegalStateException(<span class=\"s\">\"Fail to get keys from cache \" </span>+ <span class=\"sym-12 sym\">name</span>, <span class=\"sym-104 sym\">e</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 0
- },
- {
- "line": 296,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 297,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 298,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 299,
- "code": " <span class=\"cppd\">/**</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200"
- },
- {
- "line": 300,
- "code": "<span class=\"cppd\"> * Lazy-loading values for given keys</span>",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "171cd79c0b5152461434951ed5d6e5e58849a7b7",
- "scmDate": "2014-04-23T14:41:32+0200"
- },
- {
- "line": 301,
- "code": "<span class=\"cppd\"> */</span>",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "171cd79c0b5152461434951ed5d6e5e58849a7b7",
- "scmDate": "2014-04-23T14:41:32+0200"
- },
- {
- "line": 302,
- "code": " <span class=\"k\">public </span>Iterable<V> <span class=\"sym-105 sym\">values</span>(Object <span class=\"sym-106 sym\">firstKey</span>, Object <span class=\"sym-107 sym\">secondKey</span>) {",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "171cd79c0b5152461434951ed5d6e5e58849a7b7",
- "scmDate": "2014-04-23T14:41:32+0200"
- },
- {
- "line": 303,
- "code": " <span class=\"k\">try </span>{",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "171cd79c0b5152461434951ed5d6e5e58849a7b7",
- "scmDate": "2014-04-23T14:41:32+0200"
- },
- {
- "line": 304,
- "code": " <span class=\"sym-13 sym\">exchange</span>.clear();",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "171cd79c0b5152461434951ed5d6e5e58849a7b7",
- "scmDate": "2014-04-23T14:41:32+0200",
- "utLineHits": 1
- },
- {
- "line": 305,
- "code": " <span class=\"sym-13 sym\">exchange</span>.append(<span class=\"sym-106 sym\">firstKey</span>).append(<span class=\"sym-107 sym\">secondKey</span>).append(<span class=\"sym-3 sym\">Key</span>.BEFORE);",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "171cd79c0b5152461434951ed5d6e5e58849a7b7",
- "scmDate": "2014-04-23T14:41:32+0200",
- "utLineHits": 1
- },
- {
- "line": 306,
- "code": " <span class=\"sym-2 sym\">Exchange</span> <span class=\"sym-108 sym\">iteratorExchange</span> = <span class=\"k\">new</span> <span class=\"sym-2 sym\">Exchange</span>(<span class=\"sym-13 sym\">exchange</span>);",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "171cd79c0b5152461434951ed5d6e5e58849a7b7",
- "scmDate": "2014-04-23T14:41:32+0200",
- "utLineHits": 1
- },
- {
- "line": 307,
- "code": " <span class=\"sym-4 sym\">KeyFilter</span> <span class=\"sym-109 sym\">filter</span> = <span class=\"k\">new</span> <span class=\"sym-4 sym\">KeyFilter</span>().append(<span class=\"sym-4 sym\">KeyFilter</span>.simpleTerm(<span class=\"sym-106 sym\">firstKey</span>)).append(<span class=\"sym-4 sym\">KeyFilter</span>.simpleTerm(<span class=\"sym-107 sym\">secondKey</span>));",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200",
- "utLineHits": 1
- },
- {
- "line": 308,
- "code": " <span class=\"k\">return</span> <span class=\"k\">new</span> <span class=\"sym-139 sym\">ValueIterable</span><V>(<span class=\"sym-108 sym\">iteratorExchange</span>, <span class=\"sym-109 sym\">filter</span>);",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200",
- "utLineHits": 1
- },
- {
- "line": 309,
- "code": " } <span class=\"k\">catch </span>(Exception <span class=\"sym-110 sym\">e</span>) {",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "171cd79c0b5152461434951ed5d6e5e58849a7b7",
- "scmDate": "2014-04-23T14:41:32+0200",
- "utLineHits": 0
- },
- {
- "line": 310,
- "code": " <span class=\"k\">throw</span> <span class=\"sym-111 sym\">failToGetValues</span>(<span class=\"sym-110 sym\">e</span>);",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "904b462c56317b1fb5a616534bd58aa9c9097d0b",
- "scmDate": "2014-06-20T14:13:01+0200",
- "utLineHits": 0
- },
- {
- "line": 311,
- "code": " }",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "171cd79c0b5152461434951ed5d6e5e58849a7b7",
- "scmDate": "2014-04-23T14:41:32+0200"
- },
- {
- "line": 312,
- "code": " }",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "904b462c56317b1fb5a616534bd58aa9c9097d0b",
- "scmDate": "2014-06-20T14:13:01+0200"
- },
- {
- "line": 313,
- "code": "",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "904b462c56317b1fb5a616534bd58aa9c9097d0b",
- "scmDate": "2014-06-20T14:13:01+0200"
- },
- {
- "line": 314,
- "code": " <span class=\"k\">private </span>IllegalStateException <span class=\"sym-111 sym\">failToGetValues</span>(Exception <span class=\"sym-112 sym\">e</span>) {",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "904b462c56317b1fb5a616534bd58aa9c9097d0b",
- "scmDate": "2014-06-20T14:13:01+0200"
- },
- {
- "line": 315,
- "code": " <span class=\"k\">return</span> <span class=\"k\">new</span> IllegalStateException(<span class=\"s\">\"Fail to get values from cache \" </span>+ <span class=\"sym-12 sym\">name</span>, <span class=\"sym-112 sym\">e</span>);",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "904b462c56317b1fb5a616534bd58aa9c9097d0b",
- "scmDate": "2014-06-20T14:13:01+0200",
- "utLineHits": 0
- },
- {
- "line": 316,
- "code": " }",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "171cd79c0b5152461434951ed5d6e5e58849a7b7",
- "scmDate": "2014-04-23T14:41:32+0200"
- },
- {
- "line": 317,
- "code": "",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "171cd79c0b5152461434951ed5d6e5e58849a7b7",
- "scmDate": "2014-04-23T14:41:32+0200"
- },
- {
- "line": 318,
- "code": " <span class=\"cppd\">/**</span>",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "171cd79c0b5152461434951ed5d6e5e58849a7b7",
- "scmDate": "2014-04-23T14:41:32+0200"
- },
- {
- "line": 319,
- "code": "<span class=\"cppd\"> * Lazy-loading values for a given key</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 320,
- "code": "<span class=\"cppd\"> */</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200"
- },
- {
- "line": 321,
- "code": " <span class=\"k\">public </span>Iterable<V> <span class=\"sym-113 sym\">values</span>(Object <span class=\"sym-114 sym\">firstKey</span>) {",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 322,
- "code": " <span class=\"k\">try </span>{",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 323,
- "code": " <span class=\"sym-13 sym\">exchange</span>.clear();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200",
- "utLineHits": 1
- },
- {
- "line": 324,
- "code": " <span class=\"sym-13 sym\">exchange</span>.append(<span class=\"sym-114 sym\">firstKey</span>).append(<span class=\"sym-3 sym\">Key</span>.BEFORE);",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200",
- "utLineHits": 1
- },
- {
- "line": 325,
- "code": " <span class=\"sym-2 sym\">Exchange</span> <span class=\"sym-115 sym\">iteratorExchange</span> = <span class=\"k\">new</span> <span class=\"sym-2 sym\">Exchange</span>(<span class=\"sym-13 sym\">exchange</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200",
- "utLineHits": 1
- },
- {
- "line": 326,
- "code": " <span class=\"sym-4 sym\">KeyFilter</span> <span class=\"sym-116 sym\">filter</span> = <span class=\"k\">new</span> <span class=\"sym-4 sym\">KeyFilter</span>().append(<span class=\"sym-4 sym\">KeyFilter</span>.simpleTerm(<span class=\"sym-114 sym\">firstKey</span>));",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200",
- "utLineHits": 1
- },
- {
- "line": 327,
- "code": " <span class=\"k\">return</span> <span class=\"k\">new</span> <span class=\"sym-139 sym\">ValueIterable</span><V>(<span class=\"sym-115 sym\">iteratorExchange</span>, <span class=\"sym-116 sym\">filter</span>);",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200",
- "utLineHits": 1
- },
- {
- "line": 328,
- "code": " } <span class=\"k\">catch </span>(Exception <span class=\"sym-117 sym\">e</span>) {",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "46395126b184c343df5471a147cdb48133f59f6f",
- "scmDate": "2014-04-23T14:41:32+0200",
- "utLineHits": 0
- },
- {
- "line": 329,
- "code": " <span class=\"k\">throw</span> <span class=\"sym-111 sym\">failToGetValues</span>(<span class=\"sym-117 sym\">e</span>);",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "904b462c56317b1fb5a616534bd58aa9c9097d0b",
- "scmDate": "2014-06-20T14:13:01+0200",
- "utLineHits": 0
- },
- {
- "line": 330,
- "code": " }",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "46395126b184c343df5471a147cdb48133f59f6f",
- "scmDate": "2014-04-23T14:41:32+0200"
- },
- {
- "line": 331,
- "code": " }",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "46395126b184c343df5471a147cdb48133f59f6f",
- "scmDate": "2014-04-23T14:41:32+0200"
- },
- {
- "line": 332,
- "code": "",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "46395126b184c343df5471a147cdb48133f59f6f",
- "scmDate": "2014-04-23T14:41:32+0200"
- },
- {
- "line": 333,
- "code": " <span class=\"cppd\">/**</span>",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "46395126b184c343df5471a147cdb48133f59f6f",
- "scmDate": "2014-04-23T14:41:32+0200"
- },
- {
- "line": 334,
- "code": "<span class=\"cppd\"> * Lazy-loading values</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200"
- },
- {
- "line": 335,
- "code": "<span class=\"cppd\"> */</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200"
- },
- {
- "line": 336,
- "code": " <span class=\"k\">public </span>Iterable<V> <span class=\"sym-118 sym\">values</span>() {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 337,
- "code": " <span class=\"k\">try </span>{",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 338,
- "code": " <span class=\"sym-13 sym\">exchange</span>.clear().append(<span class=\"sym-3 sym\">Key</span>.BEFORE);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 1
- },
- {
- "line": 339,
- "code": " <span class=\"sym-2 sym\">Exchange</span> <span class=\"sym-119 sym\">iteratorExchange</span> = <span class=\"k\">new</span> <span class=\"sym-2 sym\">Exchange</span>(<span class=\"sym-13 sym\">exchange</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200",
- "utLineHits": 1
- },
- {
- "line": 340,
- "code": " <span class=\"sym-4 sym\">KeyFilter</span> <span class=\"sym-120 sym\">filter</span> = <span class=\"k\">new</span> <span class=\"sym-4 sym\">KeyFilter</span>().append(<span class=\"sym-4 sym\">KeyFilter</span>.ALL);",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200",
- "utLineHits": 1
- },
- {
- "line": 341,
- "code": " <span class=\"k\">return</span> <span class=\"k\">new</span> <span class=\"sym-139 sym\">ValueIterable</span><V>(<span class=\"sym-119 sym\">iteratorExchange</span>, <span class=\"sym-120 sym\">filter</span>);",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200",
- "utLineHits": 1
- },
- {
- "line": 342,
- "code": " } <span class=\"k\">catch </span>(Exception <span class=\"sym-121 sym\">e</span>) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200",
- "utLineHits": 0
- },
- {
- "line": 343,
- "code": " <span class=\"k\">throw</span> <span class=\"sym-111 sym\">failToGetValues</span>(<span class=\"sym-121 sym\">e</span>);",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "904b462c56317b1fb5a616534bd58aa9c9097d0b",
- "scmDate": "2014-06-20T14:13:01+0200",
- "utLineHits": 0
- },
- {
- "line": 344,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 345,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 346,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 347,
- "code": " <span class=\"k\">public </span>Iterable<<span class=\"sym-177 sym\">Entry</span><V>> <span class=\"sym-122 sym\">entries</span>() {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 348,
- "code": " <span class=\"sym-13 sym\">exchange</span>.clear().to(<span class=\"sym-3 sym\">Key</span>.BEFORE);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200",
- "utLineHits": 1
- },
- {
- "line": 349,
- "code": " <span class=\"sym-4 sym\">KeyFilter</span> <span class=\"sym-123 sym\">filter</span> = <span class=\"k\">new</span> <span class=\"sym-4 sym\">KeyFilter</span>().append(<span class=\"sym-4 sym\">KeyFilter</span>.ALL);",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200",
- "utLineHits": 1
- },
- {
- "line": 350,
- "code": " <span class=\"k\">return</span> <span class=\"k\">new</span> <span class=\"sym-156 sym\">EntryIterable</span><V>(<span class=\"k\">new</span> <span class=\"sym-2 sym\">Exchange</span>(<span class=\"sym-13 sym\">exchange</span>), <span class=\"sym-123 sym\">filter</span>);",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200",
- "utLineHits": 1
- },
- {
- "line": 351,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 352,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 353,
- "code": " <span class=\"k\">public </span>Iterable<<span class=\"sym-177 sym\">Entry</span><V>> <span class=\"sym-124 sym\">entries</span>(Object <span class=\"sym-125 sym\">firstKey</span>) {",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 354,
- "code": " <span class=\"sym-13 sym\">exchange</span>.clear().append(<span class=\"sym-125 sym\">firstKey</span>).append(<span class=\"sym-3 sym\">Key</span>.BEFORE);",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200",
- "utLineHits": 1
- },
- {
- "line": 355,
- "code": " <span class=\"sym-4 sym\">KeyFilter</span> <span class=\"sym-126 sym\">filter</span> = <span class=\"k\">new</span> <span class=\"sym-4 sym\">KeyFilter</span>().append(<span class=\"sym-4 sym\">KeyFilter</span>.simpleTerm(<span class=\"sym-125 sym\">firstKey</span>));",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200",
- "utLineHits": 1
- },
- {
- "line": 356,
- "code": " <span class=\"k\">return</span> <span class=\"k\">new</span> <span class=\"sym-156 sym\">EntryIterable</span><V>(<span class=\"k\">new</span> <span class=\"sym-2 sym\">Exchange</span>(<span class=\"sym-13 sym\">exchange</span>), <span class=\"sym-126 sym\">filter</span>);",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200",
- "utLineHits": 1
- },
- {
- "line": 357,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 358,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 359,
- "code": " <span class=\"k\">private </span><span class=\"k\">void </span><span class=\"sym-127 sym\">resetKey</span>(Object <span class=\"sym-128 sym\">key</span>) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 360,
- "code": " <span class=\"sym-13 sym\">exchange</span>.clear();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 1
- },
- {
- "line": 361,
- "code": " <span class=\"sym-13 sym\">exchange</span>.append(<span class=\"sym-128 sym\">key</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 1
- },
- {
- "line": 362,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 1
- },
- {
- "line": 363,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 364,
- "code": " <span class=\"k\">private </span><span class=\"k\">void </span><span class=\"sym-129 sym\">resetKey</span>(Object <span class=\"sym-130 sym\">first</span>, Object <span class=\"sym-131 sym\">second</span>) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 365,
- "code": " <span class=\"sym-13 sym\">exchange</span>.clear();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 1
- },
- {
- "line": 366,
- "code": " <span class=\"sym-13 sym\">exchange</span>.append(<span class=\"sym-130 sym\">first</span>).append(<span class=\"sym-131 sym\">second</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 1
- },
- {
- "line": 367,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 1
- },
- {
- "line": 368,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 369,
- "code": " <span class=\"k\">private </span><span class=\"k\">void </span><span class=\"sym-132 sym\">resetKey</span>(Object <span class=\"sym-133 sym\">first</span>, Object <span class=\"sym-134 sym\">second</span>, Object <span class=\"sym-135 sym\">third</span>) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 370,
- "code": " <span class=\"sym-13 sym\">exchange</span>.clear();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 1
- },
- {
- "line": 371,
- "code": " <span class=\"sym-13 sym\">exchange</span>.append(<span class=\"sym-133 sym\">first</span>).append(<span class=\"sym-134 sym\">second</span>).append(<span class=\"sym-135 sym\">third</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 1
- },
- {
- "line": 372,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 1
- },
- {
- "line": 373,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 374,
- "code": " <span class=\"k\">private </span><span class=\"k\">void </span><span class=\"sym-136 sym\">resetKey</span>(Object[] <span class=\"sym-137 sym\">keys</span>) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 375,
- "code": " <span class=\"sym-13 sym\">exchange</span>.clear();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 0
- },
- {
- "line": 376,
- "code": " <span class=\"k\">for</span> (Object <span class=\"sym-138 sym\">o</span> : <span class=\"sym-137 sym\">keys</span>) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 0,
- "utConditions": 2,
- "utCoveredConditions": 0
- },
- {
- "line": 377,
- "code": " <span class=\"sym-13 sym\">exchange</span>.append(<span class=\"sym-138 sym\">o</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 0
- },
- {
- "line": 378,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 379,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200",
- "utLineHits": 0
- },
- {
- "line": 380,
- "code": "",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "7b301db8c7e3000ff2a04fce5534e45e7d973a1f",
- "scmDate": "2014-04-25T11:17:09+0200"
- },
- {
- "line": 381,
- "code": " <span class=\"cppd\">//</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200"
- },
- {
- "line": 382,
- "code": " <span class=\"cppd\">// LAZY ITERATORS AND ITERABLES</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200"
- },
- {
- "line": 383,
- "code": " <span class=\"cppd\">//</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200"
- },
- {
- "line": 384,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200"
- },
- {
- "line": 385,
- "code": " <span class=\"k\">private </span><span class=\"k\">static </span><span class=\"k\">class</span> <span class=\"sym-139 sym\">ValueIterable</span><T> <span class=\"k\">implements</span> Iterable<T> {",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "6074164392edd3db2dfdfd21d05cd56c19e2b0e6",
- "scmDate": "2014-07-25T16:31:45+0200"
- },
- {
- "line": 386,
- "code": " <span class=\"k\">private </span><span class=\"k\">final </span><span class=\"sym-8 sym\">Iterator</span><T> <span class=\"sym-140 sym\">iterator</span>;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200"
- },
- {
- "line": 387,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200"
- },
- {
- "line": 388,
- "code": " <span class=\"k\">private </span><span class=\"sym-141 sym\">ValueIterable</span>(<span class=\"sym-2 sym\">Exchange</span> <span class=\"sym-142 sym\">exchange</span>, <span class=\"sym-4 sym\">KeyFilter</span> <span class=\"sym-143 sym\">keyFilter</span>) {",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200",
- "utLineHits": 1
- },
- {
- "line": 389,
- "code": " <span class=\"k\">this</span>.<span class=\"sym-140 sym\">iterator</span> = <span class=\"k\">new</span> <span class=\"sym-145 sym\">ValueIterator</span><T>(<span class=\"sym-142 sym\">exchange</span>, <span class=\"sym-143 sym\">keyFilter</span>);",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200",
- "utLineHits": 1
- },
- {
- "line": 390,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200",
- "utLineHits": 1
- },
- {
- "line": 391,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200"
- },
- {
- "line": 392,
- "code": " <span class=\"a\">@Override</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200"
- },
- {
- "line": 393,
- "code": "<span class=\"a\"> </span><span class=\"k\">public </span><span class=\"sym-8 sym\">Iterator</span><T> <span class=\"sym-144 sym\">iterator</span>() {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200"
- },
- {
- "line": 394,
- "code": " <span class=\"k\">return</span> <span class=\"sym-140 sym\">iterator</span>;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200",
- "utLineHits": 1
- },
- {
- "line": 395,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200"
- },
- {
- "line": 396,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200"
- },
- {
- "line": 397,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200"
- },
- {
- "line": 398,
- "code": " <span class=\"k\">private </span><span class=\"k\">static </span><span class=\"k\">class</span> <span class=\"sym-145 sym\">ValueIterator</span><T> <span class=\"k\">implements</span> <span class=\"sym-8 sym\">Iterator</span><T> {",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "6074164392edd3db2dfdfd21d05cd56c19e2b0e6",
- "scmDate": "2014-07-25T16:31:45+0200"
- },
- {
- "line": 399,
- "code": " <span class=\"k\">private </span><span class=\"k\">final </span><span class=\"sym-2 sym\">Exchange</span> <span class=\"sym-146 sym\">exchange</span>;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200"
- },
- {
- "line": 400,
- "code": " <span class=\"k\">private </span><span class=\"k\">final </span><span class=\"sym-4 sym\">KeyFilter</span> <span class=\"sym-147 sym\">keyFilter</span>;",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 401,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200"
- },
- {
- "line": 402,
- "code": " <span class=\"k\">private </span><span class=\"sym-148 sym\">ValueIterator</span>(<span class=\"sym-2 sym\">Exchange</span> <span class=\"sym-149 sym\">exchange</span>, <span class=\"sym-4 sym\">KeyFilter</span> <span class=\"sym-150 sym\">keyFilter</span>) {",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200",
- "utLineHits": 1
- },
- {
- "line": 403,
- "code": " <span class=\"k\">this</span>.<span class=\"sym-146 sym\">exchange</span> = <span class=\"sym-149 sym\">exchange</span>;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200",
- "utLineHits": 1,
- "duplicated": true
- },
- {
- "line": 404,
- "code": " <span class=\"k\">this</span>.<span class=\"sym-147 sym\">keyFilter</span> = <span class=\"sym-150 sym\">keyFilter</span>;",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200",
- "utLineHits": 1,
- "duplicated": true
- },
- {
- "line": 405,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200",
- "utLineHits": 1,
- "duplicated": true
- },
- {
- "line": 406,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200",
- "duplicated": true
- },
- {
- "line": 407,
- "code": " <span class=\"a\">@Override</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200",
- "duplicated": true
- },
- {
- "line": 408,
- "code": "<span class=\"a\"> </span><span class=\"k\">public </span><span class=\"k\">boolean </span><span class=\"sym-151 sym\">hasNext</span>() {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200",
- "duplicated": true
- },
- {
- "line": 409,
- "code": " <span class=\"k\">try </span>{",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200",
- "duplicated": true
- },
- {
- "line": 410,
- "code": " <span class=\"k\">return</span> <span class=\"sym-146 sym\">exchange</span>.hasNext(<span class=\"sym-147 sym\">keyFilter</span>);",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200",
- "utLineHits": 1,
- "duplicated": true
- },
- {
- "line": 411,
- "code": " } <span class=\"k\">catch </span>(<span class=\"sym-5 sym\">PersistitException</span> <span class=\"sym-152 sym\">e</span>) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200",
- "utLineHits": 0,
- "duplicated": true
- },
- {
- "line": 412,
- "code": " <span class=\"k\">throw</span> <span class=\"k\">new</span> IllegalStateException(<span class=\"sym-152 sym\">e</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200",
- "utLineHits": 0,
- "duplicated": true
- },
- {
- "line": 413,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200",
- "duplicated": true
- },
- {
- "line": 414,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200",
- "duplicated": true
- },
- {
- "line": 415,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200",
- "duplicated": true
- },
- {
- "line": 416,
- "code": " <span class=\"a\">@SuppressWarnings</span>(<span class=\"s\">\"unchecked\"</span>)",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200",
- "duplicated": true
- },
- {
- "line": 417,
- "code": " <span class=\"a\">@Override</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200",
- "duplicated": true
- },
- {
- "line": 418,
- "code": "<span class=\"a\"> </span><span class=\"k\">public </span>T <span class=\"sym-153 sym\">next</span>() {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200"
- },
- {
- "line": 419,
- "code": " <span class=\"k\">try </span>{",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 420,
- "code": " <span class=\"sym-146 sym\">exchange</span>.next(<span class=\"sym-147 sym\">keyFilter</span>);",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200",
- "utLineHits": 1
- },
- {
- "line": 421,
- "code": " } <span class=\"k\">catch </span>(<span class=\"sym-5 sym\">PersistitException</span> <span class=\"sym-154 sym\">e</span>) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 0
- },
- {
- "line": 422,
- "code": " <span class=\"k\">throw</span> <span class=\"k\">new</span> IllegalStateException(<span class=\"sym-154 sym\">e</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 0
- },
- {
- "line": 423,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 1
- },
- {
- "line": 424,
- "code": " <span class=\"k\">if </span>(<span class=\"sym-146 sym\">exchange</span>.getValue().isDefined()) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200",
- "utLineHits": 1,
- "utConditions": 2,
- "utCoveredConditions": 1
- },
- {
- "line": 425,
- "code": " <span class=\"k\">return</span> (T) <span class=\"sym-146 sym\">exchange</span>.getValue().get();",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200",
- "utLineHits": 1
- },
- {
- "line": 426,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200"
- },
- {
- "line": 427,
- "code": " <span class=\"k\">throw</span> <span class=\"k\">new</span> <span class=\"sym-9 sym\">NoSuchElementException</span>();",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200",
- "utLineHits": 0
- },
- {
- "line": 428,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200"
- },
- {
- "line": 429,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200"
- },
- {
- "line": 430,
- "code": " <span class=\"a\">@Override</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200"
- },
- {
- "line": 431,
- "code": "<span class=\"a\"> </span><span class=\"k\">public </span><span class=\"k\">void </span><span class=\"sym-155 sym\">remove</span>() {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
- "scmDate": "2013-05-29T14:27:38+0200"
- },
- {
- "line": 432,
- "code": " <span class=\"k\">throw</span> <span class=\"k\">new</span> UnsupportedOperationException(<span class=\"s\">\"Removing an item is not supported\"</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "34cce8e330192c56a159a856ebd8072d38299087",
- "scmDate": "2014-02-24T14:21:50+0100",
- "utLineHits": 0
- },
- {
- "line": 433,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 434,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 435,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 436,
- "code": " <span class=\"k\">private </span><span class=\"k\">static </span><span class=\"k\">class</span> <span class=\"sym-156 sym\">EntryIterable</span><T> <span class=\"k\">implements</span> Iterable<<span class=\"sym-177 sym\">Entry</span><T>> {",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "6074164392edd3db2dfdfd21d05cd56c19e2b0e6",
- "scmDate": "2014-07-25T16:31:45+0200"
- },
- {
- "line": 437,
- "code": " <span class=\"k\">private </span><span class=\"k\">final </span><span class=\"sym-162 sym\">EntryIterator</span><T> <span class=\"sym-157 sym\">it</span>;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 438,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 439,
- "code": " <span class=\"k\">private </span><span class=\"sym-158 sym\">EntryIterable</span>(<span class=\"sym-2 sym\">Exchange</span> <span class=\"sym-159 sym\">exchange</span>, <span class=\"sym-4 sym\">KeyFilter</span> <span class=\"sym-160 sym\">keyFilter</span>) {",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200",
- "utLineHits": 1
- },
- {
- "line": 440,
- "code": " <span class=\"sym-157 sym\">it</span> = <span class=\"k\">new</span> <span class=\"sym-162 sym\">EntryIterator</span><T>(<span class=\"sym-159 sym\">exchange</span>, <span class=\"sym-160 sym\">keyFilter</span>);",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200",
- "utLineHits": 1
- },
- {
- "line": 441,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200",
- "utLineHits": 1
- },
- {
- "line": 442,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 443,
- "code": " <span class=\"a\">@Override</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 444,
- "code": "<span class=\"a\"> </span><span class=\"k\">public </span><span class=\"sym-8 sym\">Iterator</span><<span class=\"sym-177 sym\">Entry</span><T>> <span class=\"sym-161 sym\">iterator</span>() {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 445,
- "code": " <span class=\"k\">return</span> <span class=\"sym-157 sym\">it</span>;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200",
- "utLineHits": 1
- },
- {
- "line": 446,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 447,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 448,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 449,
- "code": " <span class=\"k\">private </span><span class=\"k\">static </span><span class=\"k\">class</span> <span class=\"sym-162 sym\">EntryIterator</span><T> <span class=\"k\">implements</span> <span class=\"sym-8 sym\">Iterator</span><<span class=\"sym-177 sym\">Entry</span><T>> {",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "6074164392edd3db2dfdfd21d05cd56c19e2b0e6",
- "scmDate": "2014-07-25T16:31:45+0200"
- },
- {
- "line": 450,
- "code": " <span class=\"k\">private </span><span class=\"k\">final </span><span class=\"sym-2 sym\">Exchange</span> <span class=\"sym-163 sym\">exchange</span>;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 451,
- "code": " <span class=\"k\">private </span><span class=\"k\">final </span><span class=\"sym-4 sym\">KeyFilter</span> <span class=\"sym-164 sym\">keyFilter</span>;",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 452,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 453,
- "code": " <span class=\"k\">private </span><span class=\"sym-165 sym\">EntryIterator</span>(<span class=\"sym-2 sym\">Exchange</span> <span class=\"sym-166 sym\">exchange</span>, <span class=\"sym-4 sym\">KeyFilter</span> <span class=\"sym-167 sym\">keyFilter</span>) {",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200",
- "utLineHits": 1
- },
- {
- "line": 454,
- "code": " <span class=\"k\">this</span>.<span class=\"sym-163 sym\">exchange</span> = <span class=\"sym-166 sym\">exchange</span>;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200",
- "utLineHits": 1,
- "duplicated": true
- },
- {
- "line": 455,
- "code": " <span class=\"k\">this</span>.<span class=\"sym-164 sym\">keyFilter</span> = <span class=\"sym-167 sym\">keyFilter</span>;",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200",
- "utLineHits": 1,
- "duplicated": true
- },
- {
- "line": 456,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200",
- "utLineHits": 1,
- "duplicated": true
- },
- {
- "line": 457,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200",
- "duplicated": true
- },
- {
- "line": 458,
- "code": " <span class=\"a\">@Override</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200",
- "duplicated": true
- },
- {
- "line": 459,
- "code": "<span class=\"a\"> </span><span class=\"k\">public </span><span class=\"k\">boolean </span><span class=\"sym-168 sym\">hasNext</span>() {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200",
- "duplicated": true
- },
- {
- "line": 460,
- "code": " <span class=\"k\">try </span>{",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200",
- "duplicated": true
- },
- {
- "line": 461,
- "code": " <span class=\"k\">return</span> <span class=\"sym-163 sym\">exchange</span>.hasNext(<span class=\"sym-164 sym\">keyFilter</span>);",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200",
- "utLineHits": 1,
- "duplicated": true
- },
- {
- "line": 462,
- "code": " } <span class=\"k\">catch </span>(<span class=\"sym-5 sym\">PersistitException</span> <span class=\"sym-169 sym\">e</span>) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200",
- "utLineHits": 0,
- "duplicated": true
- },
- {
- "line": 463,
- "code": " <span class=\"k\">throw</span> <span class=\"k\">new</span> IllegalStateException(<span class=\"sym-169 sym\">e</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200",
- "utLineHits": 0,
- "duplicated": true
- },
- {
- "line": 464,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200",
- "duplicated": true
- },
- {
- "line": 465,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200",
- "duplicated": true
- },
- {
- "line": 466,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200",
- "duplicated": true
- },
- {
- "line": 467,
- "code": " <span class=\"a\">@SuppressWarnings</span>(<span class=\"s\">\"unchecked\"</span>)",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200",
- "duplicated": true
- },
- {
- "line": 468,
- "code": " <span class=\"a\">@Override</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200",
- "duplicated": true
- },
- {
- "line": 469,
- "code": "<span class=\"a\"> </span><span class=\"k\">public </span><span class=\"sym-177 sym\">Entry</span><T> <span class=\"sym-170 sym\">next</span>() {",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 470,
- "code": " <span class=\"k\">try </span>{",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 471,
- "code": " <span class=\"sym-163 sym\">exchange</span>.next(<span class=\"sym-164 sym\">keyFilter</span>);",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200",
- "utLineHits": 1
- },
- {
- "line": 472,
- "code": " } <span class=\"k\">catch </span>(<span class=\"sym-5 sym\">PersistitException</span> <span class=\"sym-171 sym\">e</span>) {",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200",
- "utLineHits": 0
- },
- {
- "line": 473,
- "code": " <span class=\"k\">throw</span> <span class=\"k\">new</span> IllegalStateException(<span class=\"sym-171 sym\">e</span>);",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200",
- "utLineHits": 0
- },
- {
- "line": 474,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200",
- "utLineHits": 1
- },
- {
- "line": 475,
- "code": " <span class=\"k\">if </span>(<span class=\"sym-163 sym\">exchange</span>.getValue().isDefined()) {",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200",
- "utLineHits": 1,
- "utConditions": 2,
- "utCoveredConditions": 1
- },
- {
- "line": 476,
- "code": " T <span class=\"sym-172 sym\">value</span> = (T) <span class=\"sym-163 sym\">exchange</span>.getValue().get();",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200",
- "utLineHits": 1
- },
- {
- "line": 477,
- "code": " <span class=\"sym-3 sym\">Key</span> <span class=\"sym-173 sym\">key</span> = <span class=\"sym-163 sym\">exchange</span>.getKey();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200",
- "utLineHits": 1
- },
- {
- "line": 478,
- "code": " Object[] <span class=\"sym-174 sym\">array</span> = <span class=\"k\">new</span> Object[<span class=\"sym-173 sym\">key</span>.getDepth()];",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 1
- },
- {
- "line": 479,
- "code": " <span class=\"k\">for</span> (<span class=\"k\">int </span><span class=\"sym-175 sym\">i</span> = <span class=\"c\">0</span>; <span class=\"sym-175 sym\">i</span> < <span class=\"sym-173 sym\">key</span>.getDepth(); <span class=\"sym-175 sym\">i</span>++) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 1,
- "utConditions": 2,
- "utCoveredConditions": 2
- },
- {
- "line": 480,
- "code": " <span class=\"sym-174 sym\">array</span>[<span class=\"sym-175 sym\">i</span>] = <span class=\"sym-173 sym\">key</span>.indexTo(<span class=\"sym-175 sym\">i</span> - <span class=\"sym-173 sym\">key</span>.getDepth()).decode();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 1
- },
- {
- "line": 481,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 482,
- "code": " <span class=\"k\">return</span> <span class=\"k\">new</span> <span class=\"sym-177 sym\">Entry</span><T>(<span class=\"sym-174 sym\">array</span>, <span class=\"sym-172 sym\">value</span>);",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200",
- "utLineHits": 1
- },
- {
- "line": 483,
- "code": " }",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 484,
- "code": " <span class=\"k\">throw</span> <span class=\"k\">new</span> <span class=\"sym-9 sym\">NoSuchElementException</span>();",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200",
- "utLineHits": 0
- },
- {
- "line": 485,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 486,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 487,
- "code": " <span class=\"a\">@Override</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 488,
- "code": "<span class=\"a\"> </span><span class=\"k\">public </span><span class=\"k\">void </span><span class=\"sym-176 sym\">remove</span>() {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 489,
- "code": " <span class=\"k\">throw</span> <span class=\"k\">new</span> UnsupportedOperationException(<span class=\"s\">\"Removing an item is not supported\"</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "34cce8e330192c56a159a856ebd8072d38299087",
- "scmDate": "2014-02-24T14:21:50+0100",
- "utLineHits": 0
- },
- {
- "line": 490,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 491,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 492,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 493,
- "code": " <span class=\"k\">public </span><span class=\"k\">static </span><span class=\"k\">class</span> <span class=\"sym-177 sym\">Entry</span><V> {",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "6074164392edd3db2dfdfd21d05cd56c19e2b0e6",
- "scmDate": "2014-07-25T16:31:45+0200"
- },
- {
- "line": 494,
- "code": " <span class=\"k\">private </span><span class=\"k\">final </span>Object[] <span class=\"sym-178 sym\">key</span>;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 495,
- "code": " <span class=\"k\">private </span><span class=\"k\">final </span>V <span class=\"sym-179 sym\">value</span>;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 496,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 497,
- "code": " <span class=\"sym-180 sym\">Entry</span>(Object[] <span class=\"sym-181 sym\">key</span>, V <span class=\"sym-182 sym\">value</span>) {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100",
- "utLineHits": 1
- },
- {
- "line": 498,
- "code": " <span class=\"k\">this</span>.<span class=\"sym-178 sym\">key</span> = <span class=\"sym-181 sym\">key</span>;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200",
- "utLineHits": 1
- },
- {
- "line": 499,
- "code": " <span class=\"k\">this</span>.<span class=\"sym-179 sym\">value</span> = <span class=\"sym-182 sym\">value</span>;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200",
- "utLineHits": 1
- },
- {
- "line": 500,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200",
- "utLineHits": 1
- },
- {
- "line": 501,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 502,
- "code": " <span class=\"k\">public </span>Object[] <span class=\"sym-183 sym\">key</span>() {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 503,
- "code": " <span class=\"k\">return</span> <span class=\"sym-178 sym\">key</span>;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200",
- "utLineHits": 1
- },
- {
- "line": 504,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 505,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 506,
- "code": " <span class=\"a\">@<span class=\"sym-7 sym\">CheckForNull</span></span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 507,
- "code": "<span class=\"a\"> </span><span class=\"k\">public </span>V <span class=\"sym-184 sym\">value</span>() {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 508,
- "code": " <span class=\"k\">return</span> <span class=\"sym-179 sym\">value</span>;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200",
- "utLineHits": 1
- },
- {
- "line": 509,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 510,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 511,
- "code": " <span class=\"a\">@Override</span>",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 512,
- "code": "<span class=\"a\"> </span><span class=\"k\">public </span>String <span class=\"sym-185 sym\">toString</span>() {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 513,
- "code": " <span class=\"k\">return</span> <span class=\"sym-6 sym\">ToStringBuilder</span>.reflectionToString(<span class=\"k\">this</span>);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200",
- "utLineHits": 0
- },
- {
- "line": 514,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 515,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 516,
- "code": "",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "43fc31f75a2de06b23faefb0d2bbf1dd97290232",
- "scmDate": "2014-05-05T16:43:19+0200"
- },
- {
- "line": 517,
- "code": "}",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 518,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- }
-]}
+++ /dev/null
-[
- {
- "id": 19983,
- "key": "org.codehaus.sonar:sonar-batch:src/main/java/org/sonar/batch/index/Cache.java",
- "name": "Cache.java",
- "scope": "FIL",
- "qualifier": "FIL",
- "date": "2014-07-21T23:18:51+0200",
- "creationDate": "2013-04-17T04:06:45+0200",
- "lname": "src/main/java/org/sonar/batch/index/Cache.java",
- "lang": "java",
- "msr": [
- {
- "key": "lines",
- "val": 519.0,
- "frmt_val": "519"
- },
- {
- "key": "ncloc",
- "val": 379.0,
- "frmt_val": "379"
- },
- {
- "key": "classes",
- "val": 6.0,
- "frmt_val": "6"
- },
- {
- "key": "functions",
- "val": 56.0,
- "frmt_val": "56"
- },
- {
- "key": "accessors",
- "val": 0.0,
- "frmt_val": "0"
- },
- {
- "key": "statements",
- "val": 174.0,
- "frmt_val": "174"
- },
- {
- "key": "public_api",
- "val": 33.0,
- "frmt_val": "33"
- },
- {
- "key": "comment_lines",
- "val": 23.0,
- "frmt_val": "23"
- },
- {
- "key": "comment_lines_density",
- "val": 5.7,
- "frmt_val": "5.7%"
- },
- {
- "key": "public_documented_api_density",
- "val": 36.4,
- "frmt_val": "36.4%"
- },
- {
- "key": "public_undocumented_api",
- "val": 21.0,
- "frmt_val": "21"
- },
- {
- "key": "complexity",
- "val": 116.0,
- "frmt_val": "116"
- },
- {
- "key": "function_complexity",
- "val": 2.1,
- "frmt_val": "2.1"
- },
- {
- "key": "coverage",
- "val": 74.3,
- "frmt_val": "74.3%"
- },
- {
- "key": "lines_to_cover",
- "val": 194.0,
- "frmt_val": "194"
- },
- {
- "key": "uncovered_lines",
- "val": 50.0,
- "frmt_val": "50"
- },
- {
- "key": "line_coverage",
- "val": 74.2,
- "frmt_val": "74.2%"
- },
- {
- "key": "conditions_to_cover",
- "val": 16.0,
- "frmt_val": "16"
- },
- {
- "key": "uncovered_conditions",
- "val": 4.0,
- "frmt_val": "4"
- },
- {
- "key": "branch_coverage",
- "val": 75.0,
- "frmt_val": "75.0%"
- },
- {
- "key": "duplicated_lines",
- "val": 30.0,
- "frmt_val": "30"
- },
- {
- "key": "duplicated_blocks",
- "val": 2.0,
- "frmt_val": "2"
- },
- {
- "key": "duplicated_files",
- "val": 1.0,
- "frmt_val": "1"
- },
- {
- "key": "duplicated_lines_density",
- "val": 5.8,
- "frmt_val": "5.8%"
- },
- {
- "key": "major_violations",
- "val": 1.0,
- "frmt_val": "1"
- },
- {
- "key": "minor_violations",
- "val": 1.0,
- "frmt_val": "1"
- },
- {
- "key": "info_violations",
- "val": 4.0,
- "frmt_val": "4"
- }
- ]
- }
-]
+++ /dev/null
-[
- {
- "id": 19983,
- "key": "org.codehaus.sonar:sonar-batch:src/main/java/org/sonar/batch/index/Cache.java",
- "name": "Cache.java",
- "scope": "FIL",
- "qualifier": "FIL",
- "date": "2014-07-21T23:18:51+0200",
- "creationDate": "2013-04-17T04:06:45+0200",
- "lname": "src/main/java/org/sonar/batch/index/Cache.java",
- "lang": "java",
- "msr": [
- {
- "key": "lines",
- "val": 519.0,
- "frmt_val": "519"
- },
- {
- "key": "ncloc",
- "val": 379.0,
- "frmt_val": "379"
- },
- {
- "key": "classes",
- "val": 6.0,
- "frmt_val": "6"
- },
- {
- "key": "functions",
- "val": 56.0,
- "frmt_val": "56"
- },
- {
- "key": "accessors",
- "val": 0.0,
- "frmt_val": "0"
- },
- {
- "key": "statements",
- "val": 174.0,
- "frmt_val": "174"
- },
- {
- "key": "public_api",
- "val": 33.0,
- "frmt_val": "33"
- },
- {
- "key": "comment_lines",
- "val": 23.0,
- "frmt_val": "23"
- },
- {
- "key": "comment_lines_density",
- "val": 5.7,
- "frmt_val": "5.7%"
- },
- {
- "key": "public_documented_api_density",
- "val": 36.4,
- "frmt_val": "36.4%"
- },
- {
- "key": "public_undocumented_api",
- "val": 21.0,
- "frmt_val": "21"
- },
- {
- "key": "complexity",
- "val": 116.0,
- "frmt_val": "116"
- },
- {
- "key": "function_complexity",
- "val": 2.1,
- "frmt_val": "2.1"
- },
- {
- "key": "coverage",
- "val": 74.3,
- "frmt_val": "74.3%"
- },
- {
- "key": "lines_to_cover",
- "val": 194.0,
- "frmt_val": "194"
- },
- {
- "key": "uncovered_lines",
- "val": 50.0,
- "frmt_val": "50"
- },
- {
- "key": "line_coverage",
- "val": 74.2,
- "frmt_val": "74.2%"
- },
- {
- "key": "conditions_to_cover",
- "val": 16.0,
- "frmt_val": "16"
- },
- {
- "key": "uncovered_conditions",
- "val": 4.0,
- "frmt_val": "4"
- },
- {
- "key": "branch_coverage",
- "val": 75.0,
- "frmt_val": "75.0%"
- },
- {
- "key": "duplicated_lines",
- "val": 30.0,
- "frmt_val": "30"
- },
- {
- "key": "duplicated_blocks",
- "val": 2.0,
- "frmt_val": "2"
- },
- {
- "key": "duplicated_files",
- "val": 1.0,
- "frmt_val": "1"
- },
- {
- "key": "duplicated_lines_density",
- "val": 5.8,
- "frmt_val": "5.8%"
- },
- {
- "key": "major_violations",
- "val": 1.0,
- "frmt_val": "1"
- },
- {
- "key": "minor_violations",
- "val": 1.0,
- "frmt_val": "1"
- },
- {
- "key": "info_violations",
- "val": 4.0,
- "frmt_val": "4"
- },
- {
- "key": "ncloc_data",
- "data": "1=0;2=0;3=0;4=0;5=0;6=0;7=0;8=0;9=0;10=0;11=0;12=0;13=0;14=0;15=0;17=0;16=0;19=0;18=0;21=0;20=1;23=1;22=1;25=1;24=1;27=1;26=1;29=1;28=0;31=1;30=0;34=1;35=0;32=1;33=1;38=0;39=0;36=0;37=0;42=0;43=1;40=0;41=1;46=1;47=1;44=1;45=0;51=1;50=0;49=1;48=1;55=0;54=1;53=1;52=1;59=1;58=1;57=1;56=1;63=1;62=1;61=1;60=0;68=1;69=1;70=0;71=1;64=1;65=0;66=1;67=1;76=1;77=1;78=1;79=1;72=1;73=1;74=1;75=1;85=1;84=1;87=1;86=1;81=0;80=0;83=0;82=0;93=1;92=1;95=1;94=1;89=0;88=0;91=0;90=0;102=1;103=1;100=0;101=1;98=0;99=0;96=1;97=0;110=1;111=1;108=0;109=0;106=0;107=0;104=1;105=1;119=1;118=1;117=1;116=1;115=0;114=1;113=1;112=1;127=1;126=0;125=1;124=1;123=1;122=1;121=1;120=1;137=1;136=1;139=1;138=1;141=1;140=0;143=1;142=1;129=1;128=1;131=1;130=0;133=1;132=1;135=0;134=1;152=1;153=1;154=1;155=1;156=0;157=1;158=1;159=1;144=1;145=0;146=1;147=1;148=1;149=1;150=0;151=1;171=1;170=0;169=1;168=1;175=0;174=1;173=1;172=1;163=1;162=1;161=1;160=0;167=1;166=1;165=0;164=1;186=1;187=1;184=1;185=0;190=0;191=0;188=1;189=0;178=1;179=1;176=1;177=1;182=1;183=1;180=0;181=1;205=1;204=0;207=1;206=1;201=1;200=1;203=1;202=1;197=1;196=1;199=0;198=1;193=0;192=0;195=1;194=0;220=1;221=1;222=1;223=1;216=1;217=1;218=1;219=1;212=1;213=1;214=0;215=1;208=1;209=0;210=1;211=1;239=0;238=0;237=0;236=1;235=1;234=1;233=1;232=1;231=1;230=1;229=1;228=0;227=0;226=0;225=0;224=1;254=1;255=1;252=1;253=1;250=1;251=1;248=1;249=1;246=1;247=1;244=0;245=1;242=0;243=0;240=0;241=0;275=1;274=1;273=1;272=1;279=0;278=1;277=1;276=1;283=0;282=0;281=0;280=0;287=1;286=1;285=1;284=0;258=1;259=1;256=1;257=1;262=1;263=1;260=1;261=0;266=1;267=1;264=1;265=1;270=1;271=1;268=1;269=1;305=1;304=1;307=1;306=1;309=1;308=1;311=1;310=1;313=1;312=1;315=1;314=0;317=1;316=1;319=0;318=0;288=1;289=1;290=1;291=1;292=1;293=1;294=1;295=1;296=1;297=1;298=1;299=0;300=0;301=0;302=0;303=1;343=1;342=1;341=1;340=1;339=1;338=1;337=1;336=0;351=1;350=1;349=1;348=1;347=0;346=1;345=1;344=1;326=1;327=1;324=1;325=1;322=1;323=1;320=0;321=0;334=0;335=0;332=1;333=0;330=1;331=1;328=1;329=1;373=1;372=1;375=1;374=0;369=0;368=1;371=1;370=1;381=0;380=1;383=0;382=0;377=1;376=1;379=1;378=1;356=1;357=1;358=1;359=0;352=1;353=0;354=1;355=1;364=0;365=1;366=1;367=1;360=1;361=1;362=1;363=1;410=1;411=1;408=1;409=1;414=1;415=1;412=1;413=1;402=0;403=1;400=1;401=1;406=1;407=0;404=1;405=1;395=1;394=1;393=1;392=0;399=1;398=0;397=1;396=1;387=1;386=1;385=0;384=0;391=1;390=1;389=1;388=0;440=1;441=1;442=1;443=0;444=1;445=1;446=1;447=1;432=1;433=1;434=1;435=1;436=0;437=1;438=1;439=0;425=1;424=1;427=1;426=1;429=1;428=1;431=1;430=0;417=1;416=0;419=1;418=1;421=1;420=1;423=1;422=1;478=1;479=1;476=1;477=1;474=1;475=1;472=1;473=1;470=1;471=1;468=1;469=1;466=1;467=0;464=1;465=1;463=1;462=1;461=1;460=1;459=1;458=0;457=1;456=1;455=1;454=1;453=0;452=1;451=1;450=1;449=0;448=1;508=1;509=1;510=1;511=0;504=1;505=1;506=0;507=1;500=1;501=1;502=0;503=1;496=1;497=0;498=1;499=1;493=0;492=1;495=1;494=1;489=1;488=1;491=1;490=1;485=1;484=1;487=0;486=1;481=1;480=1;483=1;482=1;516=1;517=0;518=1;512=1;513=1;514=1;515=1"
- }
- ]
- }
-]
+++ /dev/null
-{"scm": [
- [1, "simon.brandhof@gmail.com", "2013-04-16"],
- [2, "simon.brandhof@gmail.com", "2013-04-21"],
- [3, "simon.brandhof@gmail.com", "2014-03-11"],
- [4, "simon.brandhof@gmail.com", "2013-04-16"],
- [6, "simon.brandhof@gmail.com", "2013-04-21"],
- [7, "simon.brandhof@gmail.com", "2013-04-16"],
- [11, "simon.brandhof@gmail.com", "2013-04-21"],
- [12, "simon.brandhof@gmail.com", "2013-04-16"],
- [16, "simon.brandhof@gmail.com", "2013-04-22"],
- [19, "simon.brandhof@gmail.com", "2013-04-16"],
- [25, "julien.henry@sonarsource.com", "2014-05-01"],
- [26, "simon.brandhof@gmail.com", "2013-04-17"],
- [30, "julien.henry@sonarsource.com", "2014-04-30"],
- [31, "simon.brandhof@gmail.com", "2013-04-16"],
- [32, "simon.brandhof@gmail.com", "2013-04-17"],
- [33, "julien.henry@sonarsource.com", "2014-05-01"],
- [34, "simon.brandhof@gmail.com", "2013-04-16"],
- [37, "simon.brandhof@gmail.com", "2013-04-17"],
- [38, "simon.brandhof@gmail.com", "2013-04-16"],
- [39, "simon.brandhof@gmail.com", "2013-04-17"],
- [40, "simon.brandhof@gmail.com", "2013-04-16"],
- [41, "simon.brandhof@gmail.com", "2014-02-20"],
- [42, "simon.brandhof@gmail.com", "2013-04-16"],
- [51, "julien.henry@sonarsource.com", "2014-05-01"],
- [52, "simon.brandhof@gmail.com", "2014-02-20"],
- [54, "simon.brandhof@gmail.com", "2013-04-16"],
- [56, "julien.henry@sonarsource.com", "2014-05-01"],
- [57, "simon.brandhof@gmail.com", "2014-02-20"],
- [61, "julien.henry@sonarsource.com", "2014-05-01"],
- [62, "simon.brandhof@gmail.com", "2014-02-20"],
- [66, "julien.henry@sonarsource.com", "2014-05-01"],
- [67, "simon.brandhof@gmail.com", "2014-02-20"],
- [71, "julien.henry@sonarsource.com", "2014-05-01"],
- [72, "simon.brandhof@gmail.com", "2013-04-16"],
- [77, "simon.brandhof@gmail.com", "2013-05-29"],
- [78, "simon.brandhof@gmail.com", "2013-04-16"],
- [82, "simon.brandhof@gmail.com", "2014-02-20"],
- [83, "simon.brandhof@gmail.com", "2013-04-16"],
- [84, "simon.brandhof@gmail.com", "2014-02-20"],
- [116, "julien.henry@sonarsource.com", "2014-05-01"],
- [117, "simon.brandhof@gmail.com", "2014-02-20"],
- [119, "simon.brandhof@gmail.com", "2013-04-16"],
- [126, "simon.brandhof@gmail.com", "2013-10-10"],
- [127, "simon.brandhof@gmail.com", "2013-05-29"],
- [128, "simon.brandhof@gmail.com", "2013-04-16"],
- [131, "simon.brandhof@gmail.com", "2014-02-20"],
- [144, "simon.brandhof@gmail.com", "2013-04-16"],
- [146, "simon.brandhof@gmail.com", "2014-02-20"],
- [152, "simon.brandhof@gmail.com", "2013-10-10"],
- [161, "simon.brandhof@gmail.com", "2014-02-20"],
- [182, "simon.brandhof@gmail.com", "2013-04-16"],
- [183, "simon.brandhof@gmail.com", "2013-04-26"],
- [184, "simon.brandhof@gmail.com", "2013-04-16"],
- [185, "simon.brandhof@gmail.com", "2013-10-10"],
- [186, "simon.brandhof@gmail.com", "2013-05-29"],
- [187, "simon.brandhof@gmail.com", "2013-04-16"],
- [195, "julien.henry@sonarsource.com", "2014-05-01"],
- [196, "simon.brandhof@gmail.com", "2014-02-20"],
- [200, "julien.henry@sonarsource.com", "2014-05-01"],
- [201, "simon.brandhof@gmail.com", "2014-02-20"],
- [205, "julien.henry@sonarsource.com", "2014-05-01"],
- [206, "simon.brandhof@gmail.com", "2014-02-20"],
- [210, "julien.henry@sonarsource.com", "2014-05-01"],
- [211, "simon.brandhof@gmail.com", "2014-02-20"],
- [215, "julien.henry@sonarsource.com", "2014-05-01"],
- [216, "simon.brandhof@gmail.com", "2013-04-16"],
- [217, "simon.brandhof@gmail.com", "2014-02-20"],
- [220, "simon.brandhof@gmail.com", "2013-04-16"],
- [222, "simon.brandhof@gmail.com", "2014-02-20"],
- [223, "simon.brandhof@gmail.com", "2013-04-16"],
- [229, "simon.brandhof@gmail.com", "2014-02-20"],
- [230, "simon.brandhof@gmail.com", "2013-04-16"],
- [245, "julien.henry@sonarsource.com", "2014-05-01"],
- [246, "simon.brandhof@gmail.com", "2014-02-20"],
- [247, "simon.brandhof@gmail.com", "2013-04-16"],
- [248, "simon.brandhof@gmail.com", "2014-02-20"],
- [249, "simon.brandhof@gmail.com", "2013-04-16"],
- [251, "simon.brandhof@gmail.com", "2014-02-20"],
- [252, "simon.brandhof@gmail.com", "2013-04-16"],
- [254, "simon.brandhof@gmail.com", "2014-02-20"],
- [255, "simon.brandhof@gmail.com", "2013-04-16"],
- [258, "simon.brandhof@gmail.com", "2013-05-29"],
- [259, "simon.brandhof@gmail.com", "2013-04-16"],
- [262, "julien.henry@sonarsource.com", "2014-05-01"],
- [263, "simon.brandhof@gmail.com", "2014-02-20"],
- [279, "simon.brandhof@gmail.com", "2013-04-16"],
- [285, "simon.brandhof@gmail.com", "2014-02-20"],
- [298, "simon.brandhof@gmail.com", "2013-04-16"],
- [300, "simon.brandhof@gmail.com", "2013-05-29"],
- [301, "julien.henry@sonarsource.com", "2014-04-30"],
- [308, "julien.henry@sonarsource.com", "2014-05-01"],
- [310, "julien.henry@sonarsource.com", "2014-04-30"],
- [311, "julien.henry@sonarsource.com", "2014-06-20"],
- [312, "julien.henry@sonarsource.com", "2014-04-30"],
- [315, "julien.henry@sonarsource.com", "2014-06-20"],
- [319, "julien.henry@sonarsource.com", "2014-04-30"],
- [320, "simon.brandhof@gmail.com", "2014-02-20"],
- [321, "simon.brandhof@gmail.com", "2013-05-29"],
- [322, "julien.henry@sonarsource.com", "2014-05-01"],
- [323, "simon.brandhof@gmail.com", "2013-04-16"],
- [325, "julien.henry@sonarsource.com", "2014-05-01"],
- [326, "simon.brandhof@gmail.com", "2013-04-16"],
- [327, "julien.henry@sonarsource.com", "2014-05-01"],
- [329, "simon.brandhof@gmail.com", "2013-04-16"],
- [330, "julien.henry@sonarsource.com", "2014-06-20"],
- [331, "simon.brandhof@gmail.com", "2013-04-16"],
- [334, "simon.brandhof@gmail.com", "2013-05-29"],
- [337, "simon.brandhof@gmail.com", "2013-04-16"],
- [339, "simon.brandhof@gmail.com", "2014-02-20"],
- [340, "simon.brandhof@gmail.com", "2013-04-16"],
- [341, "julien.henry@sonarsource.com", "2014-05-01"],
- [343, "simon.brandhof@gmail.com", "2013-04-16"],
- [344, "julien.henry@sonarsource.com", "2014-06-20"],
- [345, "simon.brandhof@gmail.com", "2013-04-16"],
- [347, "simon.brandhof@gmail.com", "2013-04-17"],
- [348, "simon.brandhof@gmail.com", "2014-02-20"],
- [350, "julien.henry@sonarsource.com", "2014-05-01"],
- [352, "simon.brandhof@gmail.com", "2013-04-17"],
- [353, "simon.brandhof@gmail.com", "2014-02-20"],
- [354, "julien.henry@sonarsource.com", "2014-05-01"],
- [358, "simon.brandhof@gmail.com", "2013-04-17"],
- [359, "simon.brandhof@gmail.com", "2014-02-20"],
- [363, "simon.brandhof@gmail.com", "2013-04-17"],
- [365, "simon.brandhof@gmail.com", "2014-02-20"],
- [368, "simon.brandhof@gmail.com", "2013-04-17"],
- [370, "simon.brandhof@gmail.com", "2014-02-20"],
- [380, "simon.brandhof@gmail.com", "2013-04-17"],
- [382, "simon.brandhof@gmail.com", "2013-05-29"],
- [389, "julien.henry@sonarsource.com", "2014-05-01"],
- [391, "simon.brandhof@gmail.com", "2013-05-29"],
- [401, "julien.henry@sonarsource.com", "2014-05-01"],
- [402, "simon.brandhof@gmail.com", "2013-05-29"],
- [403, "julien.henry@sonarsource.com", "2014-05-01"],
- [404, "simon.brandhof@gmail.com", "2013-05-29"],
- [405, "julien.henry@sonarsource.com", "2014-05-01"],
- [406, "simon.brandhof@gmail.com", "2013-05-29"],
- [411, "julien.henry@sonarsource.com", "2014-05-01"],
- [412, "simon.brandhof@gmail.com", "2013-05-29"],
- [417, "julien.henry@sonarsource.com", "2014-05-01"],
- [418, "simon.brandhof@gmail.com", "2013-05-29"],
- [420, "simon.brandhof@gmail.com", "2014-02-20"],
- [421, "julien.henry@sonarsource.com", "2014-05-01"],
- [422, "simon.brandhof@gmail.com", "2014-02-20"],
- [425, "simon.brandhof@gmail.com", "2013-05-29"],
- [426, "julien.henry@sonarsource.com", "2014-05-01"],
- [427, "simon.brandhof@gmail.com", "2013-05-29"],
- [428, "julien.henry@sonarsource.com", "2014-05-01"],
- [429, "simon.brandhof@gmail.com", "2013-05-29"],
- [433, "simon.brandhof@gmail.com", "2014-02-24"],
- [434, "simon.brandhof@gmail.com", "2013-05-29"],
- [437, "simon.brandhof@gmail.com", "2013-04-17"],
- [440, "julien.henry@sonarsource.com", "2014-05-01"],
- [442, "simon.brandhof@gmail.com", "2013-04-17"],
- [452, "julien.henry@sonarsource.com", "2014-05-01"],
- [453, "simon.brandhof@gmail.com", "2013-04-17"],
- [454, "julien.henry@sonarsource.com", "2014-05-01"],
- [455, "simon.brandhof@gmail.com", "2013-04-17"],
- [456, "julien.henry@sonarsource.com", "2014-05-01"],
- [457, "simon.brandhof@gmail.com", "2013-04-17"],
- [462, "julien.henry@sonarsource.com", "2014-05-01"],
- [463, "simon.brandhof@gmail.com", "2013-04-17"],
- [468, "julien.henry@sonarsource.com", "2014-05-01"],
- [469, "simon.brandhof@gmail.com", "2013-04-17"],
- [470, "julien.henry@sonarsource.com", "2014-05-01"],
- [475, "simon.brandhof@gmail.com", "2013-04-17"],
- [476, "julien.henry@sonarsource.com", "2014-05-01"],
- [478, "simon.brandhof@gmail.com", "2013-04-17"],
- [479, "simon.brandhof@gmail.com", "2014-02-20"],
- [483, "julien.henry@sonarsource.com", "2014-05-01"],
- [486, "simon.brandhof@gmail.com", "2013-04-17"],
- [490, "simon.brandhof@gmail.com", "2014-02-24"],
- [491, "simon.brandhof@gmail.com", "2013-04-17"],
- [494, "simon.brandhof@gmail.com", "2014-02-20"],
- [497, "simon.brandhof@gmail.com", "2013-04-17"],
- [498, "simon.brandhof@gmail.com", "2014-02-20"],
- [499, "simon.brandhof@gmail.com", "2013-04-17"],
- [503, "simon.brandhof@gmail.com", "2014-02-20"],
- [504, "simon.brandhof@gmail.com", "2013-04-17"],
- [508, "simon.brandhof@gmail.com", "2014-02-20"],
- [509, "simon.brandhof@gmail.com", "2013-04-17"],
- [517, "julien.henry@sonarsource.com", "2014-05-06"],
- [518, "simon.brandhof@gmail.com", "2013-04-16"]
-]}
+++ /dev/null
-{"sources": [
- [1, "<span class=\"cppd\">/*</span>"],
- [2, "<span class=\"cppd\"> * SonarQube, open source software quality management tool.</span>"],
- [3, "<span class=\"cppd\"> * Copyright (C) 2008-2014 SonarSource</span>"],
- [4, "<span class=\"cppd\"> * mailto:contact AT sonarsource DOT com</span>"],
- [5, "<span class=\"cppd\"> *</span>"],
- [6, "<span class=\"cppd\"> * SonarQube is free software; you can redistribute it and/or</span>"],
- [7, "<span class=\"cppd\"> * modify it under the terms of the GNU Lesser General Public</span>"],
- [8, "<span class=\"cppd\"> * License as published by the Free Software Foundation; either</span>"],
- [9, "<span class=\"cppd\"> * version 3 of the License, or (at your option) any later version.</span>"],
- [10, "<span class=\"cppd\"> *</span>"],
- [11, "<span class=\"cppd\"> * SonarQube is distributed in the hope that it will be useful,</span>"],
- [12, "<span class=\"cppd\"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>"],
- [13, "<span class=\"cppd\"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>"],
- [14, "<span class=\"cppd\"> * Lesser General Public License for more details.</span>"],
- [15, "<span class=\"cppd\"> *</span>"],
- [16, "<span class=\"cppd\"> * You should have received a copy of the GNU Lesser General Public License</span>"],
- [17, "<span class=\"cppd\"> * along with this program; if not, write to the Free Software Foundation,</span>"],
- [18, "<span class=\"cppd\"> * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</span>"],
- [19, "<span class=\"cppd\"> */</span>"],
- [20, "<span class=\"k\">package </span>org.sonar.batch.index;"],
- [21, ""],
- [22, "<span class=\"k\">import </span>com.google.common.collect.<span class=\"sym-949 sym\">Sets</span>;"],
- [23, "<span class=\"k\">import </span>com.persistit.<span class=\"sym-976 sym\">Exchange</span>;"],
- [24, "<span class=\"k\">import </span>com.persistit.<span class=\"sym-1007 sym\">Key</span>;"],
- [25, "<span class=\"k\">import </span>com.persistit.<span class=\"sym-1033 sym\">KeyFilter</span>;"],
- [26, "<span class=\"k\">import </span>com.persistit.exception.<span class=\"sym-1075 sym\">PersistitException</span>;"],
- [27, "<span class=\"k\">import </span>org.apache.commons.lang.builder.<span class=\"sym-1134 sym\">ToStringBuilder</span>;"],
- [28, ""],
- [29, "<span class=\"k\">import </span>javax.annotation.<span class=\"sym-1176 sym\">CheckForNull</span>;"],
- [30, ""],
- [31, "<span class=\"k\">import </span>java.io.<span class=\"sym-1206 sym\">Serializable</span>;"],
- [32, "<span class=\"k\">import </span>java.util.<span class=\"sym-1237 sym\">Iterator</span>;"],
- [33, "<span class=\"k\">import </span>java.util.<span class=\"sym-1264 sym\">NoSuchElementException</span>;"],
- [34, "<span class=\"k\">import </span>java.util.<span class=\"sym-1305 sym\">Set</span>;"],
- [35, ""],
- [36, "<span class=\"cppd\">/**</span>"],
- [37, "<span class=\"cppd\"> * <p></span>"],
- [38, "<span class=\"cppd\"> * This cache is not thread-safe, due to direct usage of {@link com.persistit.Exchange}</span>"],
- [39, "<span class=\"cppd\"> * </p></span>"],
- [40, "<span class=\"cppd\"> */</span>"],
- [41, "<span class=\"k\">public </span><span class=\"k\">class </span><span class=\"sym-1435 sym\">Cache</span><V <span class=\"k\">extends </span>Serializable> {"],
- [42, ""],
- [43, " <span class=\"k\">private </span><span class=\"k\">final </span>String <span class=\"sym-1491 sym\">name</span>;"],
- [44, " <span class=\"k\">private </span><span class=\"k\">final </span><span class=\"sym-976 sym\">Exchange</span> <span class=\"sym-1522 sym\">exchange</span>;"],
- [45, ""],
- [46, " <span class=\"sym-1535 sym\">Cache</span>(String <span class=\"sym-1548 sym\">name</span>, <span class=\"sym-976 sym\">Exchange</span> <span class=\"sym-1563 sym\">exchange</span>) {"],
- [47, " <span class=\"k\">this</span>.<span class=\"sym-1491 sym\">name</span> = <span class=\"sym-1548 sym\">name</span>;"],
- [48, " <span class=\"k\">this</span>.<span class=\"sym-1522 sym\">exchange</span> = <span class=\"sym-1563 sym\">exchange</span>;"],
- [49, " }"],
- [50, ""],
- [51, " <span class=\"k\">public </span><span class=\"sym-1435 sym\">Cache</span><V> <span class=\"sym-1650 sym\">put</span>(Object <span class=\"sym-1661 sym\">key</span>, V <span class=\"sym-1668 sym\">value</span>) {"],
- [52, " resetKey(<span class=\"sym-1661 sym\">key</span>);"],
- [53, " <span class=\"k\">return </span><span class=\"sym-2134 sym\">doPut</span>(<span class=\"sym-1668 sym\">value</span>);"],
- [54, " }"],
- [55, ""],
- [56, " <span class=\"k\">public </span><span class=\"sym-1435 sym\">Cache</span><V> <span class=\"sym-1744 sym\">put</span>(Object <span class=\"sym-1755 sym\">firstKey</span>, Object <span class=\"sym-1772 sym\">secondKey</span>, V <span class=\"sym-1785 sym\">value</span>) {"],
- [57, " resetKey(<span class=\"sym-1755 sym\">firstKey</span>, <span class=\"sym-1772 sym\">secondKey</span>);"],
- [58, " <span class=\"k\">return </span><span class=\"sym-2134 sym\">doPut</span>(<span class=\"sym-1785 sym\">value</span>);"],
- [59, " }"],
- [60, ""],
- [61, " <span class=\"k\">public </span><span class=\"sym-1435 sym\">Cache</span><V> <span class=\"sym-1877 sym\">put</span>(Object <span class=\"sym-1888 sym\">firstKey</span>, Object <span class=\"sym-1905 sym\">secondKey</span>, Object <span class=\"sym-1923 sym\">thirdKey</span>, V <span class=\"sym-1935 sym\">value</span>) {"],
- [62, " resetKey(<span class=\"sym-1888 sym\">firstKey</span>, <span class=\"sym-1905 sym\">secondKey</span>, <span class=\"sym-1923 sym\">thirdKey</span>);"],
- [63, " <span class=\"k\">return </span><span class=\"sym-2134 sym\">doPut</span>(<span class=\"sym-1935 sym\">value</span>);"],
- [64, " }"],
- [65, ""],
- [66, " <span class=\"k\">public </span><span class=\"sym-1435 sym\">Cache</span><V> <span class=\"sym-2037 sym\">put</span>(Object[] <span class=\"sym-2050 sym\">key</span>, V <span class=\"sym-2057 sym\">value</span>) {"],
- [67, " resetKey(<span class=\"sym-2050 sym\">key</span>);"],
- [68, " <span class=\"k\">return </span><span class=\"sym-2134 sym\">doPut</span>(<span class=\"sym-2057 sym\">value</span>);"],
- [69, " }"],
- [70, ""],
- [71, " <span class=\"k\">private </span><span class=\"sym-1435 sym\">Cache</span><V> <span class=\"sym-2134 sym\">doPut</span>(V <span class=\"sym-2142 sym\">value</span>) {"],
- [72, " <span class=\"k\">try </span>{"],
- [73, " <span class=\"sym-1522 sym\">exchange</span>.getValue().put(<span class=\"sym-2142 sym\">value</span>);"],
- [74, " <span class=\"sym-1522 sym\">exchange</span>.store();"],
- [75, " <span class=\"k\">return </span><span class=\"k\">this</span>;"],
- [76, " } <span class=\"k\">catch </span>(Exception <span class=\"sym-2265 sym\">e</span>) {"],
- [77, " <span class=\"k\">throw </span><span class=\"k\">new </span>IllegalStateException(<span class=\"s\">\"Fail to put element in the cache \" </span>+ <span class=\"sym-1491 sym\">name</span>, <span class=\"sym-2265 sym\">e</span>);"],
- [78, " }"],
- [79, " }"],
- [80, ""],
- [81, " <span class=\"cppd\">/**</span>"],
- [82, "<span class=\"cppd\"> * Returns the value object associated with keys, or null if not found.</span>"],
- [83, "<span class=\"cppd\"> */</span>"],
- [84, " <span class=\"k\">public </span>V <span class=\"sym-2464 sym\">get</span>(Object <span class=\"sym-2475 sym\">key</span>) {"],
- [85, " resetKey(<span class=\"sym-2475 sym\">key</span>);"],
- [86, " <span class=\"k\">return </span><span class=\"sym-3219 sym\">doGet</span>();"],
- [87, " }"],
- [88, ""],
- [89, " <span class=\"cppd\">/**</span>"],
- [90, "<span class=\"cppd\"> * Returns the value object associated with keys, or null if not found.</span>"],
- [91, "<span class=\"cppd\"> */</span>"],
- [92, " <span class=\"a\">@<span class=\"sym-1176 sym\">CheckForNull</span></span>"],
- [93, "<span class=\"a\"> </span><span class=\"k\">public </span>V <span class=\"sym-2639 sym\">get</span>(Object <span class=\"sym-2650 sym\">firstKey</span>, Object <span class=\"sym-2667 sym\">secondKey</span>) {"],
- [94, " resetKey(<span class=\"sym-2650 sym\">firstKey</span>, <span class=\"sym-2667 sym\">secondKey</span>);"],
- [95, " <span class=\"k\">return </span><span class=\"sym-3219 sym\">doGet</span>();"],
- [96, " }"],
- [97, ""],
- [98, " <span class=\"cppd\">/**</span>"],
- [99, "<span class=\"cppd\"> * Returns the value object associated with keys, or null if not found.</span>"],
- [100, "<span class=\"cppd\"> */</span>"],
- [101, " <span class=\"a\">@<span class=\"sym-1176 sym\">CheckForNull</span></span>"],
- [102, "<span class=\"a\"> </span><span class=\"k\">public </span>V <span class=\"sym-2853 sym\">get</span>(Object <span class=\"sym-2864 sym\">firstKey</span>, Object <span class=\"sym-2881 sym\">secondKey</span>, Object <span class=\"sym-2899 sym\">thirdKey</span>) {"],
- [103, " resetKey(<span class=\"sym-2864 sym\">firstKey</span>, <span class=\"sym-2881 sym\">secondKey</span>, <span class=\"sym-2899 sym\">thirdKey</span>);"],
- [104, " <span class=\"k\">return </span><span class=\"sym-3219 sym\">doGet</span>();"],
- [105, " }"],
- [106, ""],
- [107, " <span class=\"cppd\">/**</span>"],
- [108, "<span class=\"cppd\"> * Returns the value object associated with keys, or null if not found.</span>"],
- [109, "<span class=\"cppd\"> */</span>"],
- [110, " <span class=\"a\">@<span class=\"sym-1176 sym\">CheckForNull</span></span>"],
- [111, "<span class=\"a\"> </span><span class=\"k\">public </span>V <span class=\"sym-3094 sym\">get</span>(Object[] <span class=\"sym-3107 sym\">key</span>) {"],
- [112, " resetKey(<span class=\"sym-3107 sym\">key</span>);"],
- [113, " <span class=\"k\">return </span><span class=\"sym-3219 sym\">doGet</span>();"],
- [114, " }"],
- [115, ""],
- [116, " <span class=\"a\">@SuppressWarnings</span>(<span class=\"s\">\"unchecked\"</span>)"],
- [117, " <span class=\"a\">@<span class=\"sym-1176 sym\">CheckForNull</span></span>"],
- [118, "<span class=\"a\"> </span><span class=\"k\">private </span>V <span class=\"sym-3219 sym\">doGet</span>() {"],
- [119, " <span class=\"k\">try </span>{"],
- [120, " <span class=\"sym-1522 sym\">exchange</span>.fetch();"],
- [121, " <span class=\"k\">if </span>(!<span class=\"sym-1522 sym\">exchange</span>.getValue().isDefined()) {"],
- [122, " <span class=\"k\">return </span><span class=\"k\">null</span>;"],
- [123, " }"],
- [124, " <span class=\"k\">return </span>(V) <span class=\"sym-1522 sym\">exchange</span>.getValue().get();"],
- [125, " } <span class=\"k\">catch </span>(Exception <span class=\"sym-3405 sym\">e</span>) {"],
- [126, " <span class=\"cppd\">// TODO add parameters to message</span>"],
- [127, " <span class=\"k\">throw </span><span class=\"k\">new </span>IllegalStateException(<span class=\"s\">\"Fail to get element from cache \" </span>+ <span class=\"sym-1491 sym\">name</span>, <span class=\"sym-3405 sym\">e</span>);"],
- [128, " }"],
- [129, " }"],
- [130, ""],
- [131, " <span class=\"k\">public </span><span class=\"k\">boolean </span><span class=\"sym-3562 sym\">containsKey</span>(Object <span class=\"sym-3581 sym\">key</span>) {"],
- [132, " resetKey(<span class=\"sym-3581 sym\">key</span>);"],
- [133, " <span class=\"k\">return </span><span class=\"sym-4050 sym\">doContainsKey</span>();"],
- [134, " }"],
- [135, ""],
- [136, " <span class=\"k\">public </span><span class=\"k\">boolean </span><span class=\"sym-3657 sym\">containsKey</span>(Object <span class=\"sym-3676 sym\">firstKey</span>, Object <span class=\"sym-3693 sym\">secondKey</span>) {"],
- [137, " resetKey(<span class=\"sym-3676 sym\">firstKey</span>, <span class=\"sym-3693 sym\">secondKey</span>);"],
- [138, " <span class=\"k\">return </span><span class=\"sym-4050 sym\">doContainsKey</span>();"],
- [139, " }"],
- [140, ""],
- [141, " <span class=\"k\">public </span><span class=\"k\">boolean </span><span class=\"sym-3791 sym\">containsKey</span>(Object <span class=\"sym-3810 sym\">firstKey</span>, Object <span class=\"sym-3827 sym\">secondKey</span>, Object <span class=\"sym-3845 sym\">thirdKey</span>) {"],
- [142, " resetKey(<span class=\"sym-3810 sym\">firstKey</span>, <span class=\"sym-3827 sym\">secondKey</span>, <span class=\"sym-3845 sym\">thirdKey</span>);"],
- [143, " <span class=\"k\">return </span><span class=\"sym-4050 sym\">doContainsKey</span>();"],
- [144, " }"],
- [145, ""],
- [146, " <span class=\"k\">public </span><span class=\"k\">boolean </span><span class=\"sym-3952 sym\">containsKey</span>(Object[] <span class=\"sym-3973 sym\">key</span>) {"],
- [147, " resetKey(<span class=\"sym-3973 sym\">key</span>);"],
- [148, " <span class=\"k\">return </span><span class=\"sym-4050 sym\">doContainsKey</span>();"],
- [149, " }"],
- [150, ""],
- [151, " <span class=\"k\">private </span><span class=\"k\">boolean </span><span class=\"sym-4050 sym\">doContainsKey</span>() {"],
- [152, " <span class=\"k\">try </span>{"],
- [153, " <span class=\"sym-1522 sym\">exchange</span>.fetch();"],
- [154, " <span class=\"k\">return </span><span class=\"sym-1522 sym\">exchange</span>.isValueDefined();"],
- [155, " } <span class=\"k\">catch </span>(Exception <span class=\"sym-4165 sym\">e</span>) {"],
- [156, " <span class=\"cppd\">// TODO add parameters to message</span>"],
- [157, " <span class=\"k\">throw </span><span class=\"k\">new </span>IllegalStateException(<span class=\"s\">\"Fail to check if element is in cache \" </span>+ <span class=\"sym-1491 sym\">name</span>, <span class=\"sym-4165 sym\">e</span>);"],
- [158, " }"],
- [159, " }"],
- [160, ""],
- [161, " <span class=\"k\">public </span><span class=\"k\">boolean </span><span class=\"sym-4328 sym\">remove</span>(Object <span class=\"sym-4342 sym\">key</span>) {"],
- [162, " resetKey(<span class=\"sym-4342 sym\">key</span>);"],
- [163, " <span class=\"k\">return </span><span class=\"sym-4776 sym\">doRemove</span>();"],
- [164, " }"],
- [165, ""],
- [166, " <span class=\"k\">public </span><span class=\"k\">boolean </span><span class=\"sym-4413 sym\">remove</span>(Object <span class=\"sym-4427 sym\">firstKey</span>, Object <span class=\"sym-4444 sym\">secondKey</span>) {"],
- [167, " resetKey(<span class=\"sym-4427 sym\">firstKey</span>, <span class=\"sym-4444 sym\">secondKey</span>);"],
- [168, " <span class=\"k\">return </span><span class=\"sym-4776 sym\">doRemove</span>();"],
- [169, " }"],
- [170, ""],
- [171, " <span class=\"k\">public </span><span class=\"k\">boolean </span><span class=\"sym-4537 sym\">remove</span>(Object <span class=\"sym-4551 sym\">firstKey</span>, Object <span class=\"sym-4568 sym\">secondKey</span>, Object <span class=\"sym-4586 sym\">thirdKey</span>) {"],
- [172, " resetKey(<span class=\"sym-4551 sym\">firstKey</span>, <span class=\"sym-4568 sym\">secondKey</span>, <span class=\"sym-4586 sym\">thirdKey</span>);"],
- [173, " <span class=\"k\">return </span><span class=\"sym-4776 sym\">doRemove</span>();"],
- [174, " }"],
- [175, ""],
- [176, " <span class=\"k\">public </span><span class=\"k\">boolean </span><span class=\"sym-4688 sym\">remove</span>(Object[] <span class=\"sym-4704 sym\">key</span>) {"],
- [177, " resetKey(<span class=\"sym-4704 sym\">key</span>);"],
- [178, " <span class=\"k\">return </span><span class=\"sym-4776 sym\">doRemove</span>();"],
- [179, " }"],
- [180, ""],
- [181, " <span class=\"k\">private </span><span class=\"k\">boolean </span><span class=\"sym-4776 sym\">doRemove</span>() {"],
- [182, " <span class=\"k\">try </span>{"],
- [183, " <span class=\"k\">return </span><span class=\"sym-1522 sym\">exchange</span>.remove();"],
- [184, " } <span class=\"k\">catch </span>(Exception <span class=\"sym-4854 sym\">e</span>) {"],
- [185, " <span class=\"cppd\">// TODO add parameters to message</span>"],
- [186, " <span class=\"k\">throw </span><span class=\"k\">new </span>IllegalStateException(<span class=\"s\">\"Fail to get element from cache \" </span>+ <span class=\"sym-1491 sym\">name</span>, <span class=\"sym-4854 sym\">e</span>);"],
- [187, " }"],
- [188, " }"],
- [189, ""],
- [190, " <span class=\"cppd\">/**</span>"],
- [191, "<span class=\"cppd\"> * Removes everything in the specified group.</span>"],
- [192, "<span class=\"cppd\"> *</span>"],
- [193, "<span class=\"cppd\"> * @param group The group name.</span>"],
- [194, "<span class=\"cppd\"> */</span>"],
- [195, " <span class=\"k\">public </span><span class=\"sym-1435 sym\">Cache</span><V> <span class=\"sym-5111 sym\">clear</span>(Object <span class=\"sym-5124 sym\">key</span>) {"],
- [196, " resetKey(<span class=\"sym-5124 sym\">key</span>);"],
- [197, " <span class=\"k\">return </span><span class=\"sym-5555 sym\">doClear</span>();"],
- [198, " }"],
- [199, ""],
- [200, " <span class=\"k\">public </span><span class=\"sym-1435 sym\">Cache</span><V> <span class=\"sym-5195 sym\">clear</span>(Object <span class=\"sym-5208 sym\">firstKey</span>, Object <span class=\"sym-5225 sym\">secondKey</span>) {"],
- [201, " resetKey(<span class=\"sym-5208 sym\">firstKey</span>, <span class=\"sym-5225 sym\">secondKey</span>);"],
- [202, " <span class=\"k\">return </span><span class=\"sym-5555 sym\">doClear</span>();"],
- [203, " }"],
- [204, ""],
- [205, " <span class=\"k\">public </span><span class=\"sym-1435 sym\">Cache</span><V> <span class=\"sym-5318 sym\">clear</span>(Object <span class=\"sym-5331 sym\">firstKey</span>, Object <span class=\"sym-5348 sym\">secondKey</span>, Object <span class=\"sym-5366 sym\">thirdKey</span>) {"],
- [206, " resetKey(<span class=\"sym-5331 sym\">firstKey</span>, <span class=\"sym-5348 sym\">secondKey</span>, <span class=\"sym-5366 sym\">thirdKey</span>);"],
- [207, " <span class=\"k\">return </span><span class=\"sym-5555 sym\">doClear</span>();"],
- [208, " }"],
- [209, ""],
- [210, " <span class=\"k\">public </span><span class=\"sym-1435 sym\">Cache</span><V> <span class=\"sym-5468 sym\">clear</span>(Object[] <span class=\"sym-5483 sym\">key</span>) {"],
- [211, " resetKey(<span class=\"sym-5483 sym\">key</span>);"],
- [212, " <span class=\"k\">return </span><span class=\"sym-5555 sym\">doClear</span>();"],
- [213, " }"],
- [214, ""],
- [215, " <span class=\"k\">private </span><span class=\"sym-1435 sym\">Cache</span><V> <span class=\"sym-5555 sym\">doClear</span>() {"],
- [216, " <span class=\"k\">try </span>{"],
- [217, " <span class=\"sym-1007 sym\">Key</span> <span class=\"sym-5587 sym\">to</span> = <span class=\"k\">new </span><span class=\"sym-1007 sym\">Key</span>(<span class=\"sym-1522 sym\">exchange</span>.getKey());"],
- [218, " <span class=\"sym-5587 sym\">to</span>.append(<span class=\"sym-1007 sym\">Key</span>.AFTER);"],
- [219, " <span class=\"sym-1522 sym\">exchange</span>.removeKeyRange(<span class=\"sym-1522 sym\">exchange</span>.getKey(), <span class=\"sym-5587 sym\">to</span>);"],
- [220, " <span class=\"k\">return </span><span class=\"k\">this</span>;"],
- [221, " } <span class=\"k\">catch </span>(Exception <span class=\"sym-5744 sym\">e</span>) {"],
- [222, " <span class=\"k\">throw </span><span class=\"k\">new </span>IllegalStateException(<span class=\"s\">\"Fail to clear values from cache \" </span>+ <span class=\"sym-1491 sym\">name</span>, <span class=\"sym-5744 sym\">e</span>);"],
- [223, " }"],
- [224, " }"],
- [225, ""],
- [226, " <span class=\"cppd\">/**</span>"],
- [227, "<span class=\"cppd\"> * Clears the default as well as all group caches.</span>"],
- [228, "<span class=\"cppd\"> */</span>"],
- [229, " <span class=\"k\">public </span><span class=\"k\">void </span><span class=\"sym-5924 sym\">clear</span>() {"],
- [230, " <span class=\"k\">try </span>{"],
- [231, " <span class=\"sym-1522 sym\">exchange</span>.clear();"],
- [232, " <span class=\"sym-1522 sym\">exchange</span>.removeAll();"],
- [233, " } <span class=\"k\">catch </span>(Exception <span class=\"sym-6019 sym\">e</span>) {"],
- [234, " <span class=\"k\">throw </span><span class=\"k\">new </span>IllegalStateException(<span class=\"s\">\"Fail to clear cache\"</span>, <span class=\"sym-6019 sym\">e</span>);"],
- [235, " }"],
- [236, " }"],
- [237, ""],
- [238, " <span class=\"cppd\">/**</span>"],
- [239, "<span class=\"cppd\"> * Returns the set of cache keys associated with this group.</span>"],
- [240, "<span class=\"cppd\"> * TODO implement a lazy-loading equivalent with Iterator/Iterable</span>"],
- [241, "<span class=\"cppd\"> *</span>"],
- [242, "<span class=\"cppd\"> * @param group The group.</span>"],
- [243, "<span class=\"cppd\"> * @return The set of cache keys for this group.</span>"],
- [244, "<span class=\"cppd\"> */</span>"],
- [245, " <span class=\"a\">@SuppressWarnings</span>(<span class=\"s\">\"rawtypes\"</span>)"],
- [246, " <span class=\"k\">public </span><span class=\"sym-1305 sym\">Set</span> <span class=\"sym-6374 sym\">keySet</span>(Object <span class=\"sym-6388 sym\">key</span>) {"],
- [247, " <span class=\"k\">try </span>{"],
- [248, " <span class=\"sym-1305 sym\">Set</span><Object> <span class=\"sym-6423 sym\">keys</span> = <span class=\"sym-949 sym\">Sets</span>.newLinkedHashSet();"],
- [249, " <span class=\"sym-1522 sym\">exchange</span>.clear();"],
- [250, " <span class=\"sym-976 sym\">Exchange</span> <span class=\"sym-6494 sym\">iteratorExchange</span> = <span class=\"k\">new </span><span class=\"sym-976 sym\">Exchange</span>(<span class=\"sym-1522 sym\">exchange</span>);"],
- [251, " <span class=\"sym-6494 sym\">iteratorExchange</span>.append(<span class=\"sym-6388 sym\">key</span>);"],
- [252, " <span class=\"sym-6494 sym\">iteratorExchange</span>.append(<span class=\"sym-1007 sym\">Key</span>.BEFORE);"],
- [253, " <span class=\"k\">while </span>(<span class=\"sym-6494 sym\">iteratorExchange</span>.next(<span class=\"k\">false</span>)) {"],
- [254, " <span class=\"sym-6423 sym\">keys</span>.add(<span class=\"sym-6494 sym\">iteratorExchange</span>.getKey().indexTo(-<span class=\"c\">1</span>).decode());"],
- [255, " }"],
- [256, " <span class=\"k\">return </span><span class=\"sym-6423 sym\">keys</span>;"],
- [257, " } <span class=\"k\">catch </span>(Exception <span class=\"sym-6777 sym\">e</span>) {"],
- [258, " <span class=\"k\">throw </span><span class=\"k\">new </span>IllegalStateException(<span class=\"s\">\"Fail to get keys from cache \" </span>+ <span class=\"sym-1491 sym\">name</span>, <span class=\"sym-6777 sym\">e</span>);"],
- [259, " }"],
- [260, " }"],
- [261, ""],
- [262, " <span class=\"a\">@SuppressWarnings</span>(<span class=\"s\">\"rawtypes\"</span>)"],
- [263, " <span class=\"k\">public </span><span class=\"sym-1305 sym\">Set</span> <span class=\"sym-6919 sym\">keySet</span>(Object <span class=\"sym-6933 sym\">firstKey</span>, Object <span class=\"sym-6950 sym\">secondKey</span>) {"],
- [264, " <span class=\"k\">try </span>{"],
- [265, " <span class=\"sym-1305 sym\">Set</span><Object> <span class=\"sym-6991 sym\">keys</span> = <span class=\"sym-949 sym\">Sets</span>.newLinkedHashSet();"],
- [266, " <span class=\"sym-1522 sym\">exchange</span>.clear();"],
- [267, " <span class=\"sym-976 sym\">Exchange</span> <span class=\"sym-7062 sym\">iteratorExchange</span> = <span class=\"k\">new </span><span class=\"sym-976 sym\">Exchange</span>(<span class=\"sym-1522 sym\">exchange</span>);"],
- [268, " <span class=\"sym-7062 sym\">iteratorExchange</span>.append(<span class=\"sym-6933 sym\">firstKey</span>);"],
- [269, " <span class=\"sym-7062 sym\">iteratorExchange</span>.append(<span class=\"sym-6950 sym\">secondKey</span>);"],
- [270, " <span class=\"sym-7062 sym\">iteratorExchange</span>.append(<span class=\"sym-1007 sym\">Key</span>.BEFORE);"],
- [271, " <span class=\"k\">while </span>(<span class=\"sym-7062 sym\">iteratorExchange</span>.next(<span class=\"k\">false</span>)) {"],
- [272, " <span class=\"sym-6991 sym\">keys</span>.add(<span class=\"sym-7062 sym\">iteratorExchange</span>.getKey().indexTo(-<span class=\"c\">1</span>).decode());"],
- [273, " }"],
- [274, " <span class=\"k\">return </span><span class=\"sym-6991 sym\">keys</span>;"],
- [275, " } <span class=\"k\">catch </span>(Exception <span class=\"sym-7392 sym\">e</span>) {"],
- [276, " <span class=\"k\">throw </span><span class=\"k\">new </span>IllegalStateException(<span class=\"s\">\"Fail to get keys from cache \" </span>+ <span class=\"sym-1491 sym\">name</span>, <span class=\"sym-7392 sym\">e</span>);"],
- [277, " }"],
- [278, " }"],
- [279, ""],
- [280, " <span class=\"cppd\">/**</span>"],
- [281, "<span class=\"cppd\"> * Returns the set of keys associated with this cache.</span>"],
- [282, "<span class=\"cppd\"> *</span>"],
- [283, "<span class=\"cppd\"> * @return The set containing the keys for this cache.</span>"],
- [284, "<span class=\"cppd\"> */</span>"],
- [285, " <span class=\"k\">public </span><span class=\"sym-1305 sym\">Set</span><Object> <span class=\"sym-7641 sym\">keySet</span>() {"],
- [286, " <span class=\"k\">try </span>{"],
- [287, " <span class=\"sym-1305 sym\">Set</span><Object> <span class=\"sym-7680 sym\">keys</span> = <span class=\"sym-949 sym\">Sets</span>.newLinkedHashSet();"],
- [288, " <span class=\"sym-1522 sym\">exchange</span>.clear();"],
- [289, " <span class=\"sym-976 sym\">Exchange</span> <span class=\"sym-7751 sym\">iteratorExchange</span> = <span class=\"k\">new </span><span class=\"sym-976 sym\">Exchange</span>(<span class=\"sym-1522 sym\">exchange</span>);"],
- [290, " <span class=\"sym-7751 sym\">iteratorExchange</span>.append(<span class=\"sym-1007 sym\">Key</span>.BEFORE);"],
- [291, " <span class=\"k\">while </span>(<span class=\"sym-7751 sym\">iteratorExchange</span>.next(<span class=\"k\">false</span>)) {"],
- [292, " <span class=\"sym-7680 sym\">keys</span>.add(<span class=\"sym-7751 sym\">iteratorExchange</span>.getKey().indexTo(-<span class=\"c\">1</span>).decode());"],
- [293, " }"],
- [294, " <span class=\"k\">return </span><span class=\"sym-7680 sym\">keys</span>;"],
- [295, " } <span class=\"k\">catch </span>(Exception <span class=\"sym-7998 sym\">e</span>) {"],
- [296, " <span class=\"k\">throw </span><span class=\"k\">new </span>IllegalStateException(<span class=\"s\">\"Fail to get keys from cache \" </span>+ <span class=\"sym-1491 sym\">name</span>, <span class=\"sym-7998 sym\">e</span>);"],
- [297, " }"],
- [298, " }"],
- [299, ""],
- [300, " <span class=\"cppd\">/**</span>"],
- [301, "<span class=\"cppd\"> * Lazy-loading values for given keys</span>"],
- [302, "<span class=\"cppd\"> */</span>"],
- [303, " <span class=\"k\">public </span>Iterable<V> <span class=\"sym-8168 sym\">values</span>(Object <span class=\"sym-8182 sym\">firstKey</span>, Object <span class=\"sym-8199 sym\">secondKey</span>) {"],
- [304, " <span class=\"k\">try </span>{"],
- [305, " <span class=\"sym-1522 sym\">exchange</span>.clear();"],
- [306, " <span class=\"sym-1522 sym\">exchange</span>.append(<span class=\"sym-8182 sym\">firstKey</span>).append(<span class=\"sym-8199 sym\">secondKey</span>).append(<span class=\"sym-1007 sym\">Key</span>.BEFORE);"],
- [307, " <span class=\"sym-976 sym\">Exchange</span> <span class=\"sym-8331 sym\">iteratorExchange</span> = <span class=\"k\">new </span><span class=\"sym-976 sym\">Exchange</span>(<span class=\"sym-1522 sym\">exchange</span>);"],
- [308, " <span class=\"sym-1033 sym\">KeyFilter</span> <span class=\"sym-8390 sym\">filter</span> = <span class=\"k\">new </span><span class=\"sym-1033 sym\">KeyFilter</span>().append(<span class=\"sym-1033 sym\">KeyFilter</span>.simpleTerm(<span class=\"sym-8182 sym\">firstKey</span>)).append(<span class=\"sym-1033 sym\">KeyFilter</span>.simpleTerm(<span class=\"sym-8199 sym\">secondKey</span>));"],
- [309, " <span class=\"k\">return </span><span class=\"k\">new </span><span class=\"sym-10646 sym\">ValueIterable</span><V>(<span class=\"sym-8331 sym\">iteratorExchange</span>, <span class=\"sym-8390 sym\">filter</span>);"],
- [310, " } <span class=\"k\">catch </span>(Exception <span class=\"sym-8579 sym\">e</span>) {"],
- [311, " <span class=\"k\">throw </span><span class=\"sym-8659 sym\">failToGetValues</span>(<span class=\"sym-8579 sym\">e</span>);"],
- [312, " }"],
- [313, " }"],
- [314, ""],
- [315, " <span class=\"k\">private </span>IllegalStateException <span class=\"sym-8659 sym\">failToGetValues</span>(Exception <span class=\"sym-8685 sym\">e</span>) {"],
- [316, " <span class=\"k\">return </span><span class=\"k\">new </span>IllegalStateException(<span class=\"s\">\"Fail to get values from cache \" </span>+ <span class=\"sym-1491 sym\">name</span>, <span class=\"sym-8685 sym\">e</span>);"],
- [317, " }"],
- [318, ""],
- [319, " <span class=\"cppd\">/**</span>"],
- [320, "<span class=\"cppd\"> * Lazy-loading values for a given key</span>"],
- [321, "<span class=\"cppd\"> */</span>"],
- [322, " <span class=\"k\">public </span>Iterable<V> <span class=\"sym-8851 sym\">values</span>(Object <span class=\"sym-8865 sym\">firstKey</span>) {"],
- [323, " <span class=\"k\">try </span>{"],
- [324, " <span class=\"sym-1522 sym\">exchange</span>.clear();"],
- [325, " <span class=\"sym-1522 sym\">exchange</span>.append(<span class=\"sym-8865 sym\">firstKey</span>).append(<span class=\"sym-1007 sym\">Key</span>.BEFORE);"],
- [326, " <span class=\"sym-976 sym\">Exchange</span> <span class=\"sym-8978 sym\">iteratorExchange</span> = <span class=\"k\">new </span><span class=\"sym-976 sym\">Exchange</span>(<span class=\"sym-1522 sym\">exchange</span>);"],
- [327, " <span class=\"sym-1033 sym\">KeyFilter</span> <span class=\"sym-9037 sym\">filter</span> = <span class=\"k\">new </span><span class=\"sym-1033 sym\">KeyFilter</span>().append(<span class=\"sym-1033 sym\">KeyFilter</span>.simpleTerm(<span class=\"sym-8865 sym\">firstKey</span>));"],
- [328, " <span class=\"k\">return </span><span class=\"k\">new </span><span class=\"sym-10646 sym\">ValueIterable</span><V>(<span class=\"sym-8978 sym\">iteratorExchange</span>, <span class=\"sym-9037 sym\">filter</span>);"],
- [329, " } <span class=\"k\">catch </span>(Exception <span class=\"sym-9186 sym\">e</span>) {"],
- [330, " <span class=\"k\">throw </span><span class=\"sym-8659 sym\">failToGetValues</span>(<span class=\"sym-9186 sym\">e</span>);"],
- [331, " }"],
- [332, " }"],
- [333, ""],
- [334, " <span class=\"cppd\">/**</span>"],
- [335, "<span class=\"cppd\"> * Lazy-loading values</span>"],
- [336, "<span class=\"cppd\"> */</span>"],
- [337, " <span class=\"k\">public </span>Iterable<V> <span class=\"sym-9292 sym\">values</span>() {"],
- [338, " <span class=\"k\">try </span>{"],
- [339, " <span class=\"sym-1522 sym\">exchange</span>.clear().append(<span class=\"sym-1007 sym\">Key</span>.BEFORE);"],
- [340, " <span class=\"sym-976 sym\">Exchange</span> <span class=\"sym-9371 sym\">iteratorExchange</span> = <span class=\"k\">new </span><span class=\"sym-976 sym\">Exchange</span>(<span class=\"sym-1522 sym\">exchange</span>);"],
- [341, " <span class=\"sym-1033 sym\">KeyFilter</span> <span class=\"sym-9430 sym\">filter</span> = <span class=\"k\">new </span><span class=\"sym-1033 sym\">KeyFilter</span>().append(<span class=\"sym-1033 sym\">KeyFilter</span>.ALL);"],
- [342, " <span class=\"k\">return </span><span class=\"k\">new </span><span class=\"sym-10646 sym\">ValueIterable</span><V>(<span class=\"sym-9371 sym\">iteratorExchange</span>, <span class=\"sym-9430 sym\">filter</span>);"],
- [343, " } <span class=\"k\">catch </span>(Exception <span class=\"sym-9562 sym\">e</span>) {"],
- [344, " <span class=\"k\">throw </span><span class=\"sym-8659 sym\">failToGetValues</span>(<span class=\"sym-9562 sym\">e</span>);"],
- [345, " }"],
- [346, " }"],
- [347, ""],
- [348, " <span class=\"k\">public </span>Iterable<<span class=\"sym-13607 sym\">Entry</span><V>> <span class=\"sym-9638 sym\">entries</span>() {"],
- [349, " <span class=\"sym-1522 sym\">exchange</span>.clear().to(<span class=\"sym-1007 sym\">Key</span>.BEFORE);"],
- [350, " <span class=\"sym-1033 sym\">KeyFilter</span> <span class=\"sym-9701 sym\">filter</span> = <span class=\"k\">new </span><span class=\"sym-1033 sym\">KeyFilter</span>().append(<span class=\"sym-1033 sym\">KeyFilter</span>.ALL);"],
- [351, " <span class=\"k\">return </span><span class=\"k\">new </span><span class=\"sym-11992 sym\">EntryIterable</span><V>(<span class=\"k\">new </span><span class=\"sym-976 sym\">Exchange</span>(<span class=\"sym-1522 sym\">exchange</span>), <span class=\"sym-9701 sym\">filter</span>);"],
- [352, " }"],
- [353, ""],
- [354, " <span class=\"k\">public </span>Iterable<<span class=\"sym-13607 sym\">Entry</span><V>> <span class=\"sym-9847 sym\">entries</span>(Object <span class=\"sym-9862 sym\">firstKey</span>) {"],
- [355, " <span class=\"sym-1522 sym\">exchange</span>.clear().append(<span class=\"sym-9862 sym\">firstKey</span>).append(<span class=\"sym-1007 sym\">Key</span>.BEFORE);"],
- [356, " <span class=\"sym-1033 sym\">KeyFilter</span> <span class=\"sym-9946 sym\">filter</span> = <span class=\"k\">new </span><span class=\"sym-1033 sym\">KeyFilter</span>().append(<span class=\"sym-1033 sym\">KeyFilter</span>.simpleTerm(<span class=\"sym-9862 sym\">firstKey</span>));"],
- [357, " <span class=\"k\">return </span><span class=\"k\">new </span><span class=\"sym-11992 sym\">EntryIterable</span><V>(<span class=\"k\">new </span><span class=\"sym-976 sym\">Exchange</span>(<span class=\"sym-1522 sym\">exchange</span>), <span class=\"sym-9946 sym\">filter</span>);"],
- [358, " }"],
- [359, ""],
- [360, " <span class=\"k\">private </span><span class=\"k\">void </span><span class=\"sym-10096 sym\">resetKey</span>(Object <span class=\"sym-10112 sym\">key</span>) {"],
- [361, " <span class=\"sym-1522 sym\">exchange</span>.clear();"],
- [362, " <span class=\"sym-1522 sym\">exchange</span>.append(<span class=\"sym-10112 sym\">key</span>);"],
- [363, " }"],
- [364, ""],
- [365, " <span class=\"k\">private </span><span class=\"k\">void </span><span class=\"sym-10187 sym\">resetKey</span>(Object <span class=\"sym-10203 sym\">first</span>, Object <span class=\"sym-10217 sym\">second</span>) {"],
- [366, " <span class=\"sym-1522 sym\">exchange</span>.clear();"],
- [367, " <span class=\"sym-1522 sym\">exchange</span>.append(<span class=\"sym-10203 sym\">first</span>).append(<span class=\"sym-10217 sym\">second</span>);"],
- [368, " }"],
- [369, ""],
- [370, " <span class=\"k\">private </span><span class=\"k\">void </span><span class=\"sym-10312 sym\">resetKey</span>(Object <span class=\"sym-10328 sym\">first</span>, Object <span class=\"sym-10342 sym\">second</span>, Object <span class=\"sym-10357 sym\">third</span>) {"],
- [371, " <span class=\"sym-1522 sym\">exchange</span>.clear();"],
- [372, " <span class=\"sym-1522 sym\">exchange</span>.append(<span class=\"sym-10328 sym\">first</span>).append(<span class=\"sym-10342 sym\">second</span>).append(<span class=\"sym-10357 sym\">third</span>);"],
- [373, " }"],
- [374, ""],
- [375, " <span class=\"k\">private </span><span class=\"k\">void </span><span class=\"sym-10465 sym\">resetKey</span>(Object[] <span class=\"sym-10483 sym\">keys</span>) {"],
- [376, " <span class=\"sym-1522 sym\">exchange</span>.clear();"],
- [377, " <span class=\"k\">for </span>(Object <span class=\"sym-10529 sym\">o</span> : <span class=\"sym-10483 sym\">keys</span>) {"],
- [378, " <span class=\"sym-1522 sym\">exchange</span>.append(<span class=\"sym-10529 sym\">o</span>);"],
- [379, " }"],
- [380, " }"],
- [381, ""],
- [382, " <span class=\"cppd\">//</span>"],
- [383, " <span class=\"cppd\">// LAZY ITERATORS AND ITERABLES</span>"],
- [384, " <span class=\"cppd\">//</span>"],
- [385, ""],
- [386, " <span class=\"k\">private </span><span class=\"k\">static </span><span class=\"k\">class </span><span class=\"sym-10646 sym\">ValueIterable</span><T <span class=\"k\">extends </span>Serializable> <span class=\"k\">implements </span>Iterable<T> {"],
- [387, " <span class=\"k\">private </span><span class=\"k\">final </span><span class=\"sym-1237 sym\">Iterator</span><T> <span class=\"sym-10739 sym\">iterator</span>;"],
- [388, ""],
- [389, " <span class=\"k\">private </span><span class=\"sym-10762 sym\">ValueIterable</span>(<span class=\"sym-976 sym\">Exchange</span> <span class=\"sym-10785 sym\">exchange</span>, <span class=\"sym-1033 sym\">KeyFilter</span> <span class=\"sym-10805 sym\">keyFilter</span>) {"],
- [390, " <span class=\"k\">this</span>.<span class=\"sym-10739 sym\">iterator</span> = <span class=\"k\">new </span><span class=\"sym-10997 sym\">ValueIterator</span><T>(<span class=\"sym-10785 sym\">exchange</span>, <span class=\"sym-10805 sym\">keyFilter</span>);"],
- [391, " }"],
- [392, ""],
- [393, " <span class=\"a\">@Override</span>"],
- [394, "<span class=\"a\"> </span><span class=\"k\">public </span><span class=\"sym-1237 sym\">Iterator</span><T> <span class=\"sym-10927 sym\">iterator</span>() {"],
- [395, " <span class=\"k\">return </span><span class=\"sym-10739 sym\">iterator</span>;"],
- [396, " }"],
- [397, " }"],
- [398, ""],
- [399, " <span class=\"k\">private </span><span class=\"k\">static </span><span class=\"k\">class </span><span class=\"sym-10997 sym\">ValueIterator</span><T <span class=\"k\">extends </span>Serializable> <span class=\"k\">implements </span><span class=\"sym-1237 sym\">Iterator</span><T> {"],
- [400, " <span class=\"k\">private </span><span class=\"k\">final </span><span class=\"sym-976 sym\">Exchange</span> <span class=\"sym-11087 sym\">exchange</span>;"],
- [401, " <span class=\"k\">private </span><span class=\"k\">final </span><span class=\"sym-1033 sym\">KeyFilter</span> <span class=\"sym-11125 sym\">keyFilter</span>;"],
- [402, ""],
- [403, " <span class=\"k\">private </span><span class=\"sym-11149 sym\">ValueIterator</span>(<span class=\"sym-976 sym\">Exchange</span> <span class=\"sym-11172 sym\">exchange</span>, <span class=\"sym-1033 sym\">KeyFilter</span> <span class=\"sym-11192 sym\">keyFilter</span>) {"],
- [404, " <span class=\"k\">this</span>.<span class=\"sym-11087 sym\">exchange</span> = <span class=\"sym-11172 sym\">exchange</span>;"],
- [405, " <span class=\"k\">this</span>.<span class=\"sym-11125 sym\">keyFilter</span> = <span class=\"sym-11192 sym\">keyFilter</span>;"],
- [406, " }"],
- [407, ""],
- [408, " <span class=\"a\">@Override</span>"],
- [409, "<span class=\"a\"> </span><span class=\"k\">public </span><span class=\"k\">boolean </span><span class=\"sym-11311 sym\">hasNext</span>() {"],
- [410, " <span class=\"k\">try </span>{"],
- [411, " <span class=\"k\">return </span><span class=\"sym-11087 sym\">exchange</span>.hasNext(<span class=\"sym-11125 sym\">keyFilter</span>);"],
- [412, " } <span class=\"k\">catch </span>(<span class=\"sym-1075 sym\">PersistitException</span> <span class=\"sym-11413 sym\">e</span>) {"],
- [413, " <span class=\"k\">throw </span><span class=\"k\">new </span>IllegalStateException(<span class=\"sym-11413 sym\">e</span>);"],
- [414, " }"],
- [415, " }"],
- [416, ""],
- [417, " <span class=\"a\">@SuppressWarnings</span>(<span class=\"s\">\"unchecked\"</span>)"],
- [418, " <span class=\"a\">@Override</span>"],
- [419, "<span class=\"a\"> </span><span class=\"k\">public </span>T <span class=\"sym-11539 sym\">next</span>() {"],
- [420, " <span class=\"k\">try </span>{"],
- [421, " <span class=\"sym-11087 sym\">exchange</span>.next(<span class=\"sym-11125 sym\">keyFilter</span>);"],
- [422, " } <span class=\"k\">catch </span>(<span class=\"sym-1075 sym\">PersistitException</span> <span class=\"sym-11628 sym\">e</span>) {"],
- [423, " <span class=\"k\">throw </span><span class=\"k\">new </span>IllegalStateException(<span class=\"sym-11628 sym\">e</span>);"],
- [424, " }"],
- [425, " <span class=\"k\">if </span>(<span class=\"sym-11087 sym\">exchange</span>.getValue().isDefined()) {"],
- [426, " <span class=\"k\">return </span>(T) <span class=\"sym-11087 sym\">exchange</span>.getValue().get();"],
- [427, " }"],
- [428, " <span class=\"k\">throw </span><span class=\"k\">new </span><span class=\"sym-1264 sym\">NoSuchElementException</span>();"],
- [429, " }"],
- [430, ""],
- [431, " <span class=\"a\">@Override</span>"],
- [432, "<span class=\"a\"> </span><span class=\"k\">public </span><span class=\"k\">void </span><span class=\"sym-11863 sym\">remove</span>() {"],
- [433, " <span class=\"k\">throw </span><span class=\"k\">new </span>UnsupportedOperationException(<span class=\"s\">\"Removing an item is not supported\"</span>);"],
- [434, " }"],
- [435, " }"],
- [436, ""],
- [437, " <span class=\"k\">private </span><span class=\"k\">static </span><span class=\"k\">class </span><span class=\"sym-11992 sym\">EntryIterable</span><T <span class=\"k\">extends </span>Serializable> <span class=\"k\">implements </span>Iterable<<span class=\"sym-13607 sym\">Entry</span><T>> {"],
- [438, " <span class=\"k\">private </span><span class=\"k\">final </span><span class=\"sym-12339 sym\">EntryIterator</span><T> <span class=\"sym-12097 sym\">it</span>;"],
- [439, ""],
- [440, " <span class=\"k\">private </span><span class=\"sym-12114 sym\">EntryIterable</span>(<span class=\"sym-976 sym\">Exchange</span> <span class=\"sym-12137 sym\">exchange</span>, <span class=\"sym-1033 sym\">KeyFilter</span> <span class=\"sym-12157 sym\">keyFilter</span>) {"],
- [441, " <span class=\"sym-12097 sym\">it</span> = <span class=\"k\">new </span><span class=\"sym-12339 sym\">EntryIterator</span><T>(<span class=\"sym-12137 sym\">exchange</span>, <span class=\"sym-12157 sym\">keyFilter</span>);"],
- [442, " }"],
- [443, ""],
- [444, " <span class=\"a\">@Override</span>"],
- [445, "<span class=\"a\"> </span><span class=\"k\">public </span><span class=\"sym-1237 sym\">Iterator</span><<span class=\"sym-13607 sym\">Entry</span><T>> <span class=\"sym-12275 sym\">iterator</span>() {"],
- [446, " <span class=\"k\">return </span><span class=\"sym-12097 sym\">it</span>;"],
- [447, " }"],
- [448, " }"],
- [449, ""],
- [450, " <span class=\"k\">private </span><span class=\"k\">static </span><span class=\"k\">class </span><span class=\"sym-12339 sym\">EntryIterator</span><T <span class=\"k\">extends </span>Serializable> <span class=\"k\">implements </span><span class=\"sym-1237 sym\">Iterator</span><<span class=\"sym-13607 sym\">Entry</span><T>> {"],
- [451, " <span class=\"k\">private </span><span class=\"k\">final </span><span class=\"sym-976 sym\">Exchange</span> <span class=\"sym-12436 sym\">exchange</span>;"],
- [452, " <span class=\"k\">private </span><span class=\"k\">final </span><span class=\"sym-1033 sym\">KeyFilter</span> <span class=\"sym-12474 sym\">keyFilter</span>;"],
- [453, ""],
- [454, " <span class=\"k\">private </span><span class=\"sym-12498 sym\">EntryIterator</span>(<span class=\"sym-976 sym\">Exchange</span> <span class=\"sym-12521 sym\">exchange</span>, <span class=\"sym-1033 sym\">KeyFilter</span> <span class=\"sym-12541 sym\">keyFilter</span>) {"],
- [455, " <span class=\"k\">this</span>.<span class=\"sym-12436 sym\">exchange</span> = <span class=\"sym-12521 sym\">exchange</span>;"],
- [456, " <span class=\"k\">this</span>.<span class=\"sym-12474 sym\">keyFilter</span> = <span class=\"sym-12541 sym\">keyFilter</span>;"],
- [457, " }"],
- [458, ""],
- [459, " <span class=\"a\">@Override</span>"],
- [460, "<span class=\"a\"> </span><span class=\"k\">public </span><span class=\"k\">boolean </span><span class=\"sym-12660 sym\">hasNext</span>() {"],
- [461, " <span class=\"k\">try </span>{"],
- [462, " <span class=\"k\">return </span><span class=\"sym-12436 sym\">exchange</span>.hasNext(<span class=\"sym-12474 sym\">keyFilter</span>);"],
- [463, " } <span class=\"k\">catch </span>(<span class=\"sym-1075 sym\">PersistitException</span> <span class=\"sym-12762 sym\">e</span>) {"],
- [464, " <span class=\"k\">throw </span><span class=\"k\">new </span>IllegalStateException(<span class=\"sym-12762 sym\">e</span>);"],
- [465, " }"],
- [466, " }"],
- [467, ""],
- [468, " <span class=\"a\">@SuppressWarnings</span>(<span class=\"s\">\"unchecked\"</span>)"],
- [469, " <span class=\"a\">@Override</span>"],
- [470, "<span class=\"a\"> </span><span class=\"k\">public </span><span class=\"sym-13607 sym\">Entry</span><T> <span class=\"sym-12895 sym\">next</span>() {"],
- [471, " <span class=\"k\">try </span>{"],
- [472, " <span class=\"sym-12436 sym\">exchange</span>.next(<span class=\"sym-12474 sym\">keyFilter</span>);"],
- [473, " } <span class=\"k\">catch </span>(<span class=\"sym-1075 sym\">PersistitException</span> <span class=\"sym-12984 sym\">e</span>) {"],
- [474, " <span class=\"k\">throw </span><span class=\"k\">new </span>IllegalStateException(<span class=\"sym-12984 sym\">e</span>);"],
- [475, " }"],
- [476, " <span class=\"k\">if </span>(<span class=\"sym-12436 sym\">exchange</span>.getValue().isDefined()) {"],
- [477, " T <span class=\"sym-13096 sym\">value</span> = (T) <span class=\"sym-12436 sym\">exchange</span>.getValue().get();"],
- [478, " <span class=\"sym-1007 sym\">Key</span> <span class=\"sym-13147 sym\">key</span> = <span class=\"sym-12436 sym\">exchange</span>.getKey();"],
- [479, " Object[] <span class=\"sym-13189 sym\">array</span> = <span class=\"k\">new </span>Object[<span class=\"sym-13147 sym\">key</span>.getDepth()];"],
- [480, " <span class=\"k\">for </span>(<span class=\"k\">int </span><span class=\"sym-13242 sym\">i</span> = <span class=\"c\">0</span>; <span class=\"sym-13242 sym\">i</span> < <span class=\"sym-13147 sym\">key</span>.getDepth(); <span class=\"sym-13242 sym\">i</span>++) {"],
- [481, " <span class=\"sym-13189 sym\">array</span>[<span class=\"sym-13242 sym\">i</span>] = <span class=\"sym-13147 sym\">key</span>.indexTo(<span class=\"sym-13242 sym\">i</span> - <span class=\"sym-13147 sym\">key</span>.getDepth()).decode();"],
- [482, " }"],
- [483, " <span class=\"k\">return </span><span class=\"k\">new </span><span class=\"sym-13607 sym\">Entry</span><T>(<span class=\"sym-13189 sym\">array</span>, <span class=\"sym-13096 sym\">value</span>);"],
- [484, " }"],
- [485, " <span class=\"k\">throw </span><span class=\"k\">new </span><span class=\"sym-1264 sym\">NoSuchElementException</span>();"],
- [486, " }"],
- [487, ""],
- [488, " <span class=\"a\">@Override</span>"],
- [489, "<span class=\"a\"> </span><span class=\"k\">public </span><span class=\"k\">void </span><span class=\"sym-13479 sym\">remove</span>() {"],
- [490, " <span class=\"k\">throw </span><span class=\"k\">new </span>UnsupportedOperationException(<span class=\"s\">\"Removing an item is not supported\"</span>);"],
- [491, " }"],
- [492, " }"],
- [493, ""],
- [494, " <span class=\"k\">public </span><span class=\"k\">static </span><span class=\"k\">class </span><span class=\"sym-13607 sym\">Entry</span><V <span class=\"k\">extends </span>Serializable> {"],
- [495, " <span class=\"k\">private </span><span class=\"k\">final </span>Object[] <span class=\"sym-13666 sym\">key</span>;"],
- [496, " <span class=\"k\">private </span><span class=\"k\">final </span>V <span class=\"sym-13691 sym\">value</span>;"],
- [497, ""],
- [498, " <span class=\"sym-13703 sym\">Entry</span>(Object[] <span class=\"sym-13718 sym\">key</span>, V <span class=\"sym-13725 sym\">value</span>) {"],
- [499, " <span class=\"k\">this</span>.<span class=\"sym-13666 sym\">key</span> = <span class=\"sym-13718 sym\">key</span>;"],
- [500, " <span class=\"k\">this</span>.<span class=\"sym-13691 sym\">value</span> = <span class=\"sym-13725 sym\">value</span>;"],
- [501, " }"],
- [502, ""],
- [503, " <span class=\"k\">public </span>Object[] <span class=\"sym-13809 sym\">key</span>() {"],
- [504, " <span class=\"k\">return </span><span class=\"sym-13666 sym\">key</span>;"],
- [505, " }"],
- [506, ""],
- [507, " <span class=\"a\">@<span class=\"sym-1176 sym\">CheckForNull</span></span>"],
- [508, "<span class=\"a\"> </span><span class=\"k\">public </span>V <span class=\"sym-13873 sym\">value</span>() {"],
- [509, " <span class=\"k\">return </span><span class=\"sym-13691 sym\">value</span>;"],
- [510, " }"],
- [511, ""],
- [512, " <span class=\"a\">@Override</span>"],
- [513, "<span class=\"a\"> </span><span class=\"k\">public </span>String <span class=\"sym-13942 sym\">toString</span>() {"],
- [514, " <span class=\"k\">return </span><span class=\"sym-1134 sym\">ToStringBuilder</span>.reflectionToString(<span class=\"k\">this</span>);"],
- [515, " }"],
- [516, " }"],
- [517, ""],
- [518, "}"],
- [519, ""]
-]}
+++ /dev/null
-{"tests": [
- {
- "name": "should_update_existing_issue",
- "status": "OK",
- "durationInMs": 293,
- "_ref": "1"
- },
- {
- "name": "testDistributionMeasure",
- "status": "OK",
- "durationInMs": 148,
- "_ref": "2"
- },
- {
- "name": "one_part_key",
- "status": "OK",
- "durationInMs": 96,
- "_ref": "3"
- },
- {
- "name": "testIssueExclusion",
- "status": "OK",
- "durationInMs": 305,
- "_ref": "4"
- },
- {
- "name": "should_add_measure_with_same_metric",
- "status": "OK",
- "durationInMs": 141,
- "_ref": "5"
- },
- {
- "name": "should_create_cache",
- "status": "OK",
- "durationInMs": 81,
- "_ref": "6"
- },
- {
- "name": "scanProjectWithMixedSourcesAndTests",
- "status": "OK",
- "durationInMs": 239,
- "_ref": "7"
- },
- {
- "name": "remove_versus_clear",
- "status": "OK",
- "durationInMs": 111,
- "_ref": "3"
- },
- {
- "name": "should_persist_component_data",
- "status": "OK",
- "durationInMs": 132,
- "_ref": "8"
- },
- {
- "name": "scanProjectWithSourceDir",
- "status": "OK",
- "durationInMs": 212,
- "_ref": "7"
- },
- {
- "name": "should_add_measure_with_too_big_data_for_persistit",
- "status": "OK",
- "durationInMs": 336,
- "_ref": "5"
- },
- {
- "name": "failForDuplicateInputFile",
- "status": "OK",
- "durationInMs": 127,
- "_ref": "7"
- },
- {
- "name": "should_not_create_cache_twice",
- "status": "OK",
- "durationInMs": 101,
- "_ref": "6"
- },
- {
- "name": "should_get_and_set_data",
- "status": "OK",
- "durationInMs": 190,
- "_ref": "9"
- },
- {
- "name": "should_add_input_file",
- "status": "OK",
- "durationInMs": 122,
- "_ref": "10"
- },
- {
- "name": "scanTempProject",
- "status": "OK",
- "durationInMs": 345,
- "_ref": "4"
- },
- {
- "name": "should_get_measures",
- "status": "OK",
- "durationInMs": 114,
- "_ref": "5"
- },
- {
- "name": "test_key_being_prefix_of_another_key",
- "status": "OK",
- "durationInMs": 94,
- "_ref": "3"
- },
- {
- "name": "should_add_measure_with_big_data",
- "status": "OK",
- "durationInMs": 242,
- "_ref": "5"
- },
- {
- "name": "should_get_all_issues",
- "status": "OK",
- "durationInMs": 104,
- "_ref": "1"
- },
- {
- "name": "should_add_measure",
- "status": "OK",
- "durationInMs": 117,
- "_ref": "5"
- },
- {
- "name": "computeMeasuresOnSampleProject",
- "status": "OK",
- "durationInMs": 315,
- "_ref": "2"
- },
- {
- "name": "test_measure_coder",
- "status": "OK",
- "durationInMs": 110,
- "_ref": "5"
- },
- {
- "name": "should_add_measure_with_too_big_data_for_persistit_pre_patch",
- "status": "OK",
- "durationInMs": 821,
- "_ref": "5"
- },
- {
- "name": "three_parts_key",
- "status": "OK",
- "durationInMs": 122,
- "_ref": "3"
- },
- {
- "name": "two_parts_key",
- "status": "OK",
- "durationInMs": 118,
- "_ref": "3"
- },
- {
- "name": "should_add_new_issue",
- "status": "OK",
- "durationInMs": 95,
- "_ref": "1"
- },
- {
- "name": "empty_cache",
- "status": "OK",
- "durationInMs": 104,
- "_ref": "3"
- },
- {
- "name": "scanProjectWithTestDir",
- "status": "OK",
- "durationInMs": 322,
- "_ref": "7"
- },
- {
- "name": "scanSampleProject",
- "status": "OK",
- "durationInMs": 184,
- "_ref": "4"
- },
- {
- "name": "computeMeasuresOnTempProject",
- "status": "OK",
- "durationInMs": 274,
- "_ref": "2"
- },
- {
- "name": "should_get_and_set_string_data",
- "status": "OK",
- "durationInMs": 95,
- "_ref": "9"
- }
-], "files": {
- "3": {
- "key": "org.codehaus.sonar:sonar-batch:src/test/java/org/sonar/batch/index/CacheTest.java",
- "longName": "src/test/java/org/sonar/batch/index/CacheTest.java"
- },
- "1": {
- "key": "org.codehaus.sonar:sonar-batch:src/test/java/org/sonar/batch/issue/IssueCacheTest.java",
- "longName": "src/test/java/org/sonar/batch/issue/IssueCacheTest.java"
- },
- "4": {
- "key": "org.codehaus.sonar:sonar-batch:src/test/java/org/sonar/batch/mediumtest/issues/IssuesMediumTest.java",
- "longName": "src/test/java/org/sonar/batch/mediumtest/issues/IssuesMediumTest.java"
- },
- "2": {
- "key": "org.codehaus.sonar:sonar-batch:src/test/java/org/sonar/batch/mediumtest/measures/MeasuresMediumTest.java",
- "longName": "src/test/java/org/sonar/batch/mediumtest/measures/MeasuresMediumTest.java"
- },
- "8": {
- "key": "org.codehaus.sonar:sonar-batch:src/test/java/org/sonar/batch/index/ComponentDataPersisterTest.java",
- "longName": "src/test/java/org/sonar/batch/index/ComponentDataPersisterTest.java"
- },
- "9": {
- "key": "org.codehaus.sonar:sonar-batch:src/test/java/org/sonar/batch/index/ComponentDataCacheTest.java",
- "longName": "src/test/java/org/sonar/batch/index/ComponentDataCacheTest.java"
- },
- "10": {
- "key": "org.codehaus.sonar:sonar-batch:src/test/java/org/sonar/batch/scan/filesystem/InputFileCacheTest.java",
- "longName": "src/test/java/org/sonar/batch/scan/filesystem/InputFileCacheTest.java"
- },
- "7": {
- "key": "org.codehaus.sonar:sonar-batch:src/test/java/org/sonar/batch/mediumtest/fs/FileSystemMediumTest.java",
- "longName": "src/test/java/org/sonar/batch/mediumtest/fs/FileSystemMediumTest.java"
- },
- "5": {
- "key": "org.codehaus.sonar:sonar-batch:src/test/java/org/sonar/batch/scan/measure/MeasureCacheTest.java",
- "longName": "src/test/java/org/sonar/batch/scan/measure/MeasureCacheTest.java"
- },
- "6": {
- "key": "org.codehaus.sonar:sonar-batch:src/test/java/org/sonar/batch/index/CachesTest.java",
- "longName": "src/test/java/org/sonar/batch/index/CachesTest.java"
- }
-}}
+++ /dev/null
-{
- "uuid": "12345",
- "key": "org.codehaus.sonar:sonar-batch:src/main/java/org/sonar/batch/index/CacheTest.java",
- "path": "src/test/java/org/sonar/batch/index/CacheTest.java",
- "name": "CacheTest.java",
- "longName": "src/test/java/org/sonar/batch/index/CacheTest.java",
- "q": "UTS",
- "subProject": "org.codehaus.sonar:sonar-batch",
- "subProjectName": "SonarQube :: Batch",
- "project": "org.codehaus.sonar:sonar",
- "projectName": "SonarQube",
- "fav": false,
- "canMarkAsFavourite": true,
- "canCreateManualIssue": true,
- "measures": {
- "tests": "6"
- }
-}
+++ /dev/null
-{"sources": [
- {
- "line": 1,
- "code": "/*",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "108dc916996e3075eb21c6ae1bbc7c9a24f09ab0",
- "scmDate": "2013-04-16T13:24:54+0200"
- },
- {
- "line": 2,
- "code": " * SonarQube, open source software quality management tool.",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b1436788cfc71b23cc3e3c15400a6c630c914bec",
- "scmDate": "2013-04-21T11:58:14+0200"
- },
- {
- "line": 3,
- "code": " * Copyright (C) 2008-2014 SonarSource",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "57ae3026c36ae3b0b71756d6161124b1ae594c53",
- "scmDate": "2014-03-11T17:52:41+0100"
- },
- {
- "line": 4,
- "code": " * mailto:contact AT sonarsource DOT com",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "108dc916996e3075eb21c6ae1bbc7c9a24f09ab0",
- "scmDate": "2013-04-16T13:24:54+0200"
- },
- {
- "line": 5,
- "code": " *",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "108dc916996e3075eb21c6ae1bbc7c9a24f09ab0",
- "scmDate": "2013-04-16T13:24:54+0200"
- },
- {
- "line": 6,
- "code": " * SonarQube is free software; you can redistribute it and/or",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b1436788cfc71b23cc3e3c15400a6c630c914bec",
- "scmDate": "2013-04-21T11:58:14+0200"
- },
- {
- "line": 7,
- "code": " * modify it under the terms of the GNU Lesser General Public",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "108dc916996e3075eb21c6ae1bbc7c9a24f09ab0",
- "scmDate": "2013-04-16T13:24:54+0200"
- },
- {
- "line": 8,
- "code": " * License as published by the Free Software Foundation; either",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "108dc916996e3075eb21c6ae1bbc7c9a24f09ab0",
- "scmDate": "2013-04-16T13:24:54+0200"
- },
- {
- "line": 9,
- "code": " * version 3 of the License, or (at your option) any later version.",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "108dc916996e3075eb21c6ae1bbc7c9a24f09ab0",
- "scmDate": "2013-04-16T13:24:54+0200"
- },
- {
- "line": 10,
- "code": " *",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "108dc916996e3075eb21c6ae1bbc7c9a24f09ab0",
- "scmDate": "2013-04-16T13:24:54+0200"
- },
- {
- "line": 11,
- "code": " * SonarQube is distributed in the hope that it will be useful,",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b1436788cfc71b23cc3e3c15400a6c630c914bec",
- "scmDate": "2013-04-21T11:58:14+0200"
- },
- {
- "line": 12,
- "code": " * but WITHOUT ANY WARRANTY; without even the implied warranty of",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "108dc916996e3075eb21c6ae1bbc7c9a24f09ab0",
- "scmDate": "2013-04-16T13:24:54+0200"
- },
- {
- "line": 13,
- "code": " * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "108dc916996e3075eb21c6ae1bbc7c9a24f09ab0",
- "scmDate": "2013-04-16T13:24:54+0200"
- },
- {
- "line": 14,
- "code": " * Lesser General Public License for more details.",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "108dc916996e3075eb21c6ae1bbc7c9a24f09ab0",
- "scmDate": "2013-04-16T13:24:54+0200"
- },
- {
- "line": 15,
- "code": " *",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "108dc916996e3075eb21c6ae1bbc7c9a24f09ab0",
- "scmDate": "2013-04-16T13:24:54+0200"
- },
- {
- "line": 16,
- "code": " * You should have received a copy of the GNU Lesser General Public License",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "ce63bd4c293fe7a1fa066d73860bbaf4e1f5a608",
- "scmDate": "2013-04-22T09:37:03+0200"
- },
- {
- "line": 17,
- "code": " * along with this program; if not, write to the Free Software Foundation,",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "ce63bd4c293fe7a1fa066d73860bbaf4e1f5a608",
- "scmDate": "2013-04-22T09:37:03+0200"
- },
- {
- "line": 18,
- "code": " * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "ce63bd4c293fe7a1fa066d73860bbaf4e1f5a608",
- "scmDate": "2013-04-22T09:37:03+0200"
- },
- {
- "line": 19,
- "code": " */",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "108dc916996e3075eb21c6ae1bbc7c9a24f09ab0",
- "scmDate": "2013-04-16T13:24:54+0200"
- },
- {
- "line": 20,
- "code": "package org.sonar.batch.index;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "108dc916996e3075eb21c6ae1bbc7c9a24f09ab0",
- "scmDate": "2013-04-16T13:24:54+0200"
- },
- {
- "line": 21,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "108dc916996e3075eb21c6ae1bbc7c9a24f09ab0",
- "scmDate": "2013-04-16T13:24:54+0200"
- },
- {
- "line": 22,
- "code": "import com.google.common.collect.Iterables;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 23,
- "code": "import org.junit.After;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 24,
- "code": "import org.junit.Before;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 25,
- "code": "import org.junit.Rule;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 26,
- "code": "import org.junit.Test;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "108dc916996e3075eb21c6ae1bbc7c9a24f09ab0",
- "scmDate": "2013-04-16T13:24:54+0200"
- },
- {
- "line": 27,
- "code": "import org.junit.rules.TemporaryFolder;",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "18a4c15b060d1b56f08826bf6006d08eaf2625ec",
- "scmDate": "2013-10-15T17:14:44+0200"
- },
- {
- "line": 28,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "108dc916996e3075eb21c6ae1bbc7c9a24f09ab0",
- "scmDate": "2013-04-16T13:24:54+0200"
- },
- {
- "line": 29,
- "code": "import static org.fest.assertions.Assertions.assertThat;",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 30,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "108dc916996e3075eb21c6ae1bbc7c9a24f09ab0",
- "scmDate": "2013-04-16T13:24:54+0200"
- },
- {
- "line": 31,
- "code": "public class CacheTest {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 32,
- "code": "",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "18a4c15b060d1b56f08826bf6006d08eaf2625ec",
- "scmDate": "2013-10-15T17:14:44+0200"
- },
- {
- "line": 33,
- "code": " @Rule",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 34,
- "code": " public TemporaryFolder temp = new TemporaryFolder();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 35,
- "code": "",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "18a4c15b060d1b56f08826bf6006d08eaf2625ec",
- "scmDate": "2013-10-15T17:14:44+0200"
- },
- {
- "line": 36,
- "code": " Caches caches;",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "18a4c15b060d1b56f08826bf6006d08eaf2625ec",
- "scmDate": "2013-10-15T17:14:44+0200"
- },
- {
- "line": 37,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 38,
- "code": " @Before",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 39,
- "code": " public void start() throws Exception {",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "18a4c15b060d1b56f08826bf6006d08eaf2625ec",
- "scmDate": "2013-10-15T17:14:44+0200"
- },
- {
- "line": 40,
- "code": " caches = CachesTest.createCacheOnTemp(temp);",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "18a4c15b060d1b56f08826bf6006d08eaf2625ec",
- "scmDate": "2013-10-15T17:14:44+0200"
- },
- {
- "line": 41,
- "code": " caches.start();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 42,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "108dc916996e3075eb21c6ae1bbc7c9a24f09ab0",
- "scmDate": "2013-04-16T13:24:54+0200"
- },
- {
- "line": 43,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "108dc916996e3075eb21c6ae1bbc7c9a24f09ab0",
- "scmDate": "2013-04-16T13:24:54+0200"
- },
- {
- "line": 44,
- "code": " @After",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 45,
- "code": " public void stop() {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 46,
- "code": " caches.stop();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 47,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 48,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 49,
- "code": " @Test",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 50,
- "code": " public void one_part_key() throws Exception {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 51,
- "code": " Cache<String> cache = caches.createCache(\"capitals\");",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 52,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 53,
- "code": " assertThat(cache.get(\"france\")).isNull();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 54,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 55,
- "code": " cache.put(\"france\", \"paris\");",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 56,
- "code": " cache.put(\"italy\", \"rome\");",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 57,
- "code": " assertThat(cache.get(\"france\")).isEqualTo(\"paris\");",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 58,
- "code": " assertThat(cache.keySet()).containsOnly(\"france\", \"italy\");",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 59,
- "code": " assertThat(cache.keySet(\"france\")).isEmpty();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 60,
- "code": " assertThat(cache.values()).containsOnly(\"paris\", \"rome\");",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 61,
- "code": " assertThat(cache.containsKey(\"france\")).isTrue();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 62,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 63,
- "code": " Cache.Entry[] entries = Iterables.toArray(cache.entries(), Cache.Entry.class);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "db81d934752174207268c49658963ba98665794b",
- "scmDate": "2014-02-20T07:35:27+0100"
- },
- {
- "line": 64,
- "code": " assertThat(entries).hasSize(2);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 65,
- "code": " assertThat(entries[0].key()[0]).isEqualTo(\"france\");",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 66,
- "code": " assertThat(entries[0].value()).isEqualTo(\"paris\");",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 67,
- "code": " assertThat(entries[1].key()[0]).isEqualTo(\"italy\");",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 68,
- "code": " assertThat(entries[1].value()).isEqualTo(\"rome\");",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 69,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 70,
- "code": " cache.remove(\"france\");",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 71,
- "code": " assertThat(cache.get(\"france\")).isNull();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 72,
- "code": " assertThat(cache.get(\"italy\")).isEqualTo(\"rome\");",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 73,
- "code": " assertThat(cache.keySet()).containsOnly(\"italy\");",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 74,
- "code": " assertThat(cache.keySet(\"france\")).isEmpty();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 75,
- "code": " assertThat(cache.containsKey(\"france\")).isFalse();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 76,
- "code": " assertThat(cache.containsKey(\"italy\")).isTrue();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 77,
- "code": " assertThat(cache.values()).containsOnly(\"rome\");",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 78,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 79,
- "code": " cache.clear();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 80,
- "code": " assertThat(cache.values()).isEmpty();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 81,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 82,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 83,
- "code": " @Test",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 84,
- "code": " public void test_key_being_prefix_of_another_key() throws Exception {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "2a37a23b0ff74cd69a3a4c9053f3a2331b234097",
- "scmDate": "2013-05-31T12:42:59+0200"
- },
- {
- "line": 85,
- "code": " Cache<String> cache = caches.createCache(\"components\");",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 86,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "2a37a23b0ff74cd69a3a4c9053f3a2331b234097",
- "scmDate": "2013-05-31T12:42:59+0200"
- },
- {
- "line": 87,
- "code": " cache.put(\"struts-el:org.apache.strutsel.taglib.html.ELButtonTag\", \"the Tag\");",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "2a37a23b0ff74cd69a3a4c9053f3a2331b234097",
- "scmDate": "2013-05-31T12:42:59+0200"
- },
- {
- "line": 88,
- "code": " cache.put(\"struts-el:org.apache.strutsel.taglib.html.ELButtonTagBeanInfo\", \"the BeanInfo\");",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "2a37a23b0ff74cd69a3a4c9053f3a2331b234097",
- "scmDate": "2013-05-31T12:42:59+0200"
- },
- {
- "line": 89,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "2a37a23b0ff74cd69a3a4c9053f3a2331b234097",
- "scmDate": "2013-05-31T12:42:59+0200"
- },
- {
- "line": 90,
- "code": " assertThat(cache.get(\"struts-el:org.apache.strutsel.taglib.html.ELButtonTag\")).isEqualTo(\"the Tag\");",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "2a37a23b0ff74cd69a3a4c9053f3a2331b234097",
- "scmDate": "2013-05-31T12:42:59+0200"
- },
- {
- "line": 91,
- "code": " assertThat(cache.get(\"struts-el:org.apache.strutsel.taglib.html.ELButtonTagBeanInfo\")).isEqualTo(\"the BeanInfo\");",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "2a37a23b0ff74cd69a3a4c9053f3a2331b234097",
- "scmDate": "2013-05-31T12:42:59+0200"
- },
- {
- "line": 92,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "2a37a23b0ff74cd69a3a4c9053f3a2331b234097",
- "scmDate": "2013-05-31T12:42:59+0200"
- },
- {
- "line": 93,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "2a37a23b0ff74cd69a3a4c9053f3a2331b234097",
- "scmDate": "2013-05-31T12:42:59+0200"
- },
- {
- "line": 94,
- "code": " @Test",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "2a37a23b0ff74cd69a3a4c9053f3a2331b234097",
- "scmDate": "2013-05-31T12:42:59+0200"
- },
- {
- "line": 95,
- "code": " public void two_parts_key() throws Exception {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 96,
- "code": " Cache<String> cache = caches.createCache(\"capitals\");",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 97,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 98,
- "code": " assertThat(cache.get(\"europe\", \"france\")).isNull();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 99,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 100,
- "code": " cache.put(\"europe\", \"france\", \"paris\");",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 101,
- "code": " cache.put(\"europe\", \"italy\", \"rome\");",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 102,
- "code": " cache.put(\"asia\", \"china\", \"pekin\");",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 103,
- "code": " assertThat(cache.get(\"europe\")).isNull();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 104,
- "code": " assertThat(cache.get(\"europe\", \"france\")).isEqualTo(\"paris\");",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 105,
- "code": " assertThat(cache.get(\"europe\", \"italy\")).isEqualTo(\"rome\");",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 106,
- "code": " assertThat(cache.get(\"europe\")).isNull();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 107,
- "code": " assertThat(cache.keySet(\"europe\")).containsOnly(\"france\", \"italy\");",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 108,
- "code": " assertThat(cache.keySet()).containsOnly(\"europe\", \"asia\");",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 109,
- "code": " assertThat(cache.containsKey(\"europe\")).isFalse();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 110,
- "code": " assertThat(cache.containsKey(\"europe\", \"france\")).isTrue();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 111,
- "code": " assertThat(cache.containsKey(\"europe\", \"spain\")).isFalse();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 112,
- "code": " assertThat(cache.values()).containsOnly(\"paris\", \"rome\", \"pekin\");",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 113,
- "code": " assertThat(cache.values(\"america\")).isEmpty();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 114,
- "code": " assertThat(cache.values(\"europe\")).containsOnly(\"paris\", \"rome\");",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 115,
- "code": " assertThat(cache.values(\"oceania\")).isEmpty();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 116,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 117,
- "code": " Cache.Entry[] allEntries = Iterables.toArray(cache.entries(), Cache.Entry.class);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "db81d934752174207268c49658963ba98665794b",
- "scmDate": "2014-02-20T07:35:27+0100"
- },
- {
- "line": 118,
- "code": " assertThat(allEntries).hasSize(3);",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 119,
- "code": " assertThat(allEntries[0].key()).isEqualTo(new String[] {\"asia\", \"china\"});",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 120,
- "code": " assertThat(allEntries[0].value()).isEqualTo(\"pekin\");",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 121,
- "code": " assertThat(allEntries[1].key()).isEqualTo(new String[] {\"europe\", \"france\"});",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 122,
- "code": " assertThat(allEntries[1].value()).isEqualTo(\"paris\");",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 123,
- "code": " assertThat(allEntries[2].key()).isEqualTo(new String[] {\"europe\", \"italy\"});",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 124,
- "code": " assertThat(allEntries[2].value()).isEqualTo(\"rome\");",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 125,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 126,
- "code": " Cache.Entry[] subEntries = Iterables.toArray(cache.entries(\"europe\"), Cache.Entry.class);",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 127,
- "code": " assertThat(subEntries).hasSize(2);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 128,
- "code": " assertThat(subEntries[0].key()).isEqualTo(new String[] {\"europe\", \"france\"});",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 129,
- "code": " assertThat(subEntries[0].value()).isEqualTo(\"paris\");",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 130,
- "code": " assertThat(subEntries[1].key()).isEqualTo(new String[] {\"europe\", \"italy\"});",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 131,
- "code": " assertThat(subEntries[1].value()).isEqualTo(\"rome\");",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 132,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 133,
- "code": " cache.remove(\"europe\", \"france\");",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 134,
- "code": " assertThat(cache.values()).containsOnly(\"rome\", \"pekin\");",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 135,
- "code": " assertThat(cache.get(\"europe\", \"france\")).isNull();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 136,
- "code": " assertThat(cache.get(\"europe\", \"italy\")).isEqualTo(\"rome\");",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 137,
- "code": " assertThat(cache.containsKey(\"europe\", \"france\")).isFalse();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 138,
- "code": " assertThat(cache.keySet(\"europe\")).containsOnly(\"italy\");",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 139,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 140,
- "code": " cache.clear(\"america\");",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 141,
- "code": " assertThat(cache.keySet()).containsOnly(\"europe\", \"asia\");",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 142,
- "code": " cache.clear();",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 143,
- "code": " assertThat(cache.keySet()).isEmpty();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 144,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 145,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 146,
- "code": " @Test",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 147,
- "code": " public void three_parts_key() throws Exception {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 148,
- "code": " Cache<String> cache = caches.createCache(\"places\");",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 149,
- "code": " assertThat(cache.get(\"europe\", \"france\", \"paris\")).isNull();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 150,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 151,
- "code": " cache.put(\"europe\", \"france\", \"paris\", \"eiffel tower\");",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 152,
- "code": " cache.put(\"europe\", \"france\", \"annecy\", \"lake\");",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 153,
- "code": " cache.put(\"europe\", \"france\", \"poitiers\", \"notre dame\");",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 154,
- "code": " cache.put(\"europe\", \"italy\", \"rome\", \"colosseum\");",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 155,
- "code": " cache.put(\"europe2\", \"ukrania\", \"kiev\", \"dunno\");",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 156,
- "code": " cache.put(\"asia\", \"china\", \"pekin\", \"great wall\");",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 157,
- "code": " cache.put(\"america\", \"us\", \"new york\", \"empire state building\");",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 158,
- "code": " assertThat(cache.get(\"europe\")).isNull();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 159,
- "code": " assertThat(cache.get(\"europe\", \"france\")).isNull();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 160,
- "code": " assertThat(cache.get(\"europe\", \"france\", \"paris\")).isEqualTo(\"eiffel tower\");",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 161,
- "code": " assertThat(cache.get(\"europe\", \"france\", \"annecy\")).isEqualTo(\"lake\");",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 162,
- "code": " assertThat(cache.get(\"europe\", \"italy\", \"rome\")).isEqualTo(\"colosseum\");",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 163,
- "code": " assertThat(cache.keySet()).containsOnly(\"europe\", \"asia\", \"america\", \"europe2\");",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 164,
- "code": " assertThat(cache.keySet(\"europe\")).containsOnly(\"france\", \"italy\");",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 165,
- "code": " assertThat(cache.keySet(\"europe\", \"france\")).containsOnly(\"annecy\", \"paris\", \"poitiers\");",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 166,
- "code": " assertThat(cache.containsKey(\"europe\")).isFalse();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 167,
- "code": " assertThat(cache.containsKey(\"europe\", \"france\")).isFalse();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 168,
- "code": " assertThat(cache.containsKey(\"europe\", \"france\", \"annecy\")).isTrue();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 169,
- "code": " assertThat(cache.containsKey(\"europe\", \"france\", \"biarritz\")).isFalse();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 170,
- "code": " assertThat(cache.values()).containsOnly(\"eiffel tower\", \"lake\", \"colosseum\", \"notre dame\", \"great wall\", \"empire state building\", \"dunno\");",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 171,
- "code": " assertThat(cache.values(\"europe\")).containsOnly(\"eiffel tower\", \"lake\", \"colosseum\", \"notre dame\");",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 172,
- "code": " assertThat(cache.values(\"europe\", \"france\")).containsOnly(\"eiffel tower\", \"lake\", \"notre dame\");",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 173,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 174,
- "code": " Cache.Entry[] allEntries = Iterables.toArray(cache.entries(), Cache.Entry.class);",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "db81d934752174207268c49658963ba98665794b",
- "scmDate": "2014-02-20T07:35:27+0100"
- },
- {
- "line": 175,
- "code": " assertThat(allEntries).hasSize(7);",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 176,
- "code": " assertThat(allEntries[0].key()).isEqualTo(new String[] {\"america\", \"us\", \"new york\"});",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 177,
- "code": " assertThat(allEntries[0].value()).isEqualTo(\"empire state building\");",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 178,
- "code": " assertThat(allEntries[1].key()).isEqualTo(new String[] {\"asia\", \"china\", \"pekin\"});",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 179,
- "code": " assertThat(allEntries[1].value()).isEqualTo(\"great wall\");",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 180,
- "code": " assertThat(allEntries[2].key()).isEqualTo(new String[] {\"europe\", \"france\", \"annecy\"});",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 181,
- "code": " assertThat(allEntries[2].value()).isEqualTo(\"lake\");",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 182,
- "code": " assertThat(allEntries[3].key()).isEqualTo(new String[] {\"europe\", \"france\", \"paris\"});",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 183,
- "code": " assertThat(allEntries[3].value()).isEqualTo(\"eiffel tower\");",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 184,
- "code": " assertThat(allEntries[4].key()).isEqualTo(new String[] {\"europe\", \"france\", \"poitiers\"});",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 185,
- "code": " assertThat(allEntries[4].value()).isEqualTo(\"notre dame\");",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 186,
- "code": " assertThat(allEntries[5].key()).isEqualTo(new String[] {\"europe\", \"italy\", \"rome\"});",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 187,
- "code": " assertThat(allEntries[5].value()).isEqualTo(\"colosseum\");",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 188,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 189,
- "code": " Cache.Entry[] subEntries = Iterables.toArray(cache.entries(\"europe\"), Cache.Entry.class);",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 190,
- "code": " assertThat(subEntries).hasSize(4);",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 191,
- "code": " assertThat(subEntries[0].key()).isEqualTo(new String[] {\"europe\", \"france\", \"annecy\"});",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 192,
- "code": " assertThat(subEntries[0].value()).isEqualTo(\"lake\");",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 193,
- "code": " assertThat(subEntries[1].key()).isEqualTo(new String[] {\"europe\", \"france\", \"paris\"});",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 194,
- "code": " assertThat(subEntries[1].value()).isEqualTo(\"eiffel tower\");",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 195,
- "code": " assertThat(subEntries[2].key()).isEqualTo(new String[] {\"europe\", \"france\", \"poitiers\"});",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 196,
- "code": " assertThat(subEntries[2].value()).isEqualTo(\"notre dame\");",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 197,
- "code": " assertThat(subEntries[3].key()).isEqualTo(new String[] {\"europe\", \"italy\", \"rome\"});",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 198,
- "code": " assertThat(subEntries[3].value()).isEqualTo(\"colosseum\");",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 199,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 200,
- "code": " cache.remove(\"europe\", \"france\", \"annecy\");",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 201,
- "code": " assertThat(cache.values()).containsOnly(\"eiffel tower\", \"colosseum\", \"notre dame\", \"great wall\", \"empire state building\", \"dunno\");",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 202,
- "code": " assertThat(cache.values(\"europe\")).containsOnly(\"eiffel tower\", \"colosseum\", \"notre dame\");",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 203,
- "code": " assertThat(cache.values(\"europe\", \"france\")).containsOnly(\"eiffel tower\", \"notre dame\");",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 204,
- "code": " assertThat(cache.get(\"europe\", \"france\", \"annecy\")).isNull();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 205,
- "code": " assertThat(cache.get(\"europe\", \"italy\", \"rome\")).isEqualTo(\"colosseum\");",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 206,
- "code": " assertThat(cache.containsKey(\"europe\", \"france\")).isFalse();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 207,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 208,
- "code": " cache.clear(\"europe\", \"italy\");",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 209,
- "code": " assertThat(cache.values()).containsOnly(\"eiffel tower\", \"notre dame\", \"great wall\", \"empire state building\", \"dunno\");",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 210,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 211,
- "code": " cache.clear(\"europe\");",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 212,
- "code": " assertThat(cache.values()).containsOnly(\"great wall\", \"empire state building\", \"dunno\");",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 213,
- "code": "",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 214,
- "code": " cache.clear();",
- "scmAuthor": "julien.henry@sonarsource.com",
- "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
- "scmDate": "2014-05-01T00:00:12+0200"
- },
- {
- "line": 215,
- "code": " assertThat(cache.values()).isEmpty();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 216,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 217,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 218,
- "code": " @Test",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 219,
- "code": " public void remove_versus_clear() throws Exception {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 220,
- "code": " Cache<String> cache = caches.createCache(\"capitals\");",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 221,
- "code": " cache.put(\"europe\", \"france\", \"paris\");",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 222,
- "code": " cache.put(\"europe\", \"italy\", \"rome\");",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 223,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 224,
- "code": " // remove(\"europe\") does not remove sub-keys",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 225,
- "code": " cache.remove(\"europe\");",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 226,
- "code": " assertThat(cache.values()).containsOnly(\"paris\", \"rome\");",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 227,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 228,
- "code": " // clear(\"europe\") removes sub-keys",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 229,
- "code": " cache.clear(\"europe\");",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 230,
- "code": " assertThat(cache.values()).isEmpty();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 231,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 232,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 233,
- "code": " @Test",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 234,
- "code": " public void empty_cache() throws Exception {",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 235,
- "code": " Cache<String> cache = caches.createCache(\"empty\");",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 236,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 237,
- "code": " assertThat(cache.get(\"foo\")).isNull();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 238,
- "code": " assertThat(cache.get(\"foo\", \"bar\")).isNull();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 239,
- "code": " assertThat(cache.get(\"foo\", \"bar\", \"baz\")).isNull();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 240,
- "code": " assertThat(cache.keySet()).isEmpty();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 241,
- "code": " assertThat(cache.keySet(\"foo\")).isEmpty();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 242,
- "code": " assertThat(cache.containsKey(\"foo\")).isFalse();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 243,
- "code": " assertThat(cache.containsKey(\"foo\", \"bar\")).isFalse();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 244,
- "code": " assertThat(cache.containsKey(\"foo\", \"bar\", \"baz\")).isFalse();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 245,
- "code": " assertThat(cache.values()).isEmpty();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 246,
- "code": " assertThat(cache.values(\"foo\")).isEmpty();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 247,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 248,
- "code": " // do not fail",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 249,
- "code": " cache.remove(\"foo\");",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 250,
- "code": " cache.remove(\"foo\", \"bar\");",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 251,
- "code": " cache.remove(\"foo\", \"bar\", \"baz\");",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 252,
- "code": " cache.clear(\"foo\");",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 253,
- "code": " cache.clear(\"foo\", \"bar\");",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 254,
- "code": " cache.clear(\"foo\", \"bar\", \"baz\");",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
- "scmDate": "2014-02-20T07:23:08+0100"
- },
- {
- "line": 255,
- "code": " cache.clear();",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
- "scmDate": "2013-04-16T17:26:34+0200"
- },
- {
- "line": 256,
- "code": " }",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
- "scmDate": "2013-04-17T10:35:23+0200"
- },
- {
- "line": 257,
- "code": "}",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "108dc916996e3075eb21c6ae1bbc7c9a24f09ab0",
- "scmDate": "2013-04-16T13:24:54+0200"
- },
- {
- "line": 258,
- "code": "",
- "scmAuthor": "simon.brandhof@gmail.com",
- "scmRevision": "108dc916996e3075eb21c6ae1bbc7c9a24f09ab0",
- "scmDate": "2013-04-16T13:24:54+0200"
- }
-]}
+++ /dev/null
-{"tests": [
- {
- "name": "two_parts_key",
- "status": "OK",
- "durationInMs": 324,
- "coveredLines": 0
- },
- {
- "name": "remove_versus_clear",
- "status": "OK",
- "durationInMs": 81,
- "coveredLines": 0
- },
- {
- "name": "three_parts_key",
- "status": "OK",
- "durationInMs": 93,
- "coveredLines": 0
- },
- {
- "name": "test_key_being_prefix_of_another_key",
- "status": "OK",
- "durationInMs": 89,
- "coveredLines": 0
- },
- {
- "name": "one_part_key",
- "status": "OK",
- "durationInMs": 91,
- "coveredLines": 0
- },
- {
- "name": "empty_cache",
- "status": "OK",
- "durationInMs": 88,
- "coveredLines": 0
- }
-]}
+++ /dev/null
-/*
- * SonarQube, open source software quality management tool.
- * Copyright (C) 2008-2014 SonarSource
- * mailto:contact AT sonarsource DOT com
- *
- * SonarQube 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.
- *
- * SonarQube 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.
- */
-var lib = require('../lib');
-
-lib.initMessages();
-lib.changeWorkingDirectory('treemap-spec');
-lib.configureCasper();
-
-
-casper.test.begin('Treemap', function (test) {
- var treemapData = JSON.parse(fs.read('treemap.json'));
-
- casper.start(lib.buildUrl('treemap'), function () {
- lib.mockRequestFromFile('/api/resources/index', 'treemap-resources.json');
-
- casper.evaluate(function (treemapData) {
- var widget = new SonarWidgets.Treemap();
- widget
- .metrics(treemapData.metrics)
- .metricsPriority(['coverage', 'ncloc'])
- .components(treemapData.components)
- .options({
- heightInPercents: 55,
- maxItems: 30,
- maxItemsReachedMessage: '',
- baseUrl: '/dashboard/index/',
- noData: '',
- resource: ''
- })
- .render('#container');
- }, treemapData)
- });
-
- casper
- .then(function () {
- casper.waitWhileSelector('.spinner', function() {
- test.assertElementCount('.treemap-cell', 30);
- test.assertSelectorHasText('.treemap-cell', 'SonarQube');
- test.assertMatch(casper.getElementAttribute('.treemap-link', 'href'), /dashboard\/index/,
- 'Treemap cells have links to dashboards');
- });
- })
- .then(function () {
- casper.evaluate(function () {
- var evt = document.createEvent('MouseEvents');
- evt.initMouseEvent('click', true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
- d3.select('.treemap-cell').node().dispatchEvent(evt);
- });
- })
- .then(function () {
- casper.wait(500, function () {
- test.assertSelectorHasText('.treemap-cell', 'Server');
- test.assertElementCount('.treemap-cell', 25);
- });
- });
-
- casper.run(function() {
- test.done();
- });
-});
+++ /dev/null
-[
- {
- "id": 258,
- "key": "org.codehaus.sonar:sonar-core",
- "name": "SonarQube :: Core",
- "scope": "PRJ",
- "qualifier": "BRC",
- "date": "2014-07-09T23:19:45+0600",
- "creationDate": null,
- "lname": "SonarQube :: Core",
- "version": "4.5-SNAPSHOT",
- "description": "Core components shared to batch and server",
- "msr": [
- {
- "key": "coverage",
- "val": 83.3,
- "frmt_val": "83.3%"
- },
- {
- "key": "ncloc",
- "val": 17854.0,
- "frmt_val": "17,854"
- }
- ]
- },
- {
- "id": 17221,
- "key": "org.codehaus.sonar:sonar-home",
- "name": "SonarQube :: Home",
- "scope": "PRJ",
- "qualifier": "BRC",
- "date": "2014-07-09T23:19:45+0600",
- "creationDate": "2013-02-08T22:22:38+0600",
- "lname": "SonarQube :: Home",
- "version": "4.5-SNAPSHOT",
- "description": "Access the user home directory that contains cache of files",
- "msr": [
- {
- "key": "coverage",
- "val": 75.1,
- "frmt_val": "75.1%"
- },
- {
- "key": "ncloc",
- "val": 280.0,
- "frmt_val": "280"
- }
- ]
- },
- {
- "id": 2867,
- "key": "org.codehaus.sonar:sonar-batch-maven-compat",
- "name": "SonarQube :: Batch Maven Compat",
- "scope": "PRJ",
- "qualifier": "BRC",
- "date": "2014-07-09T23:19:45+0600",
- "creationDate": null,
- "lname": "SonarQube :: Batch Maven Compat",
- "version": "4.5-SNAPSHOT",
- "description": "Compatibility layer, which provides MavenProject for non-Maven environments."
- },
- {
- "id": 2871,
- "key": "org.codehaus.sonar:sonar-maven3-plugin",
- "name": "SonarQube :: Maven3 Plugin",
- "scope": "PRJ",
- "qualifier": "BRC",
- "date": "2014-07-09T23:19:45+0600",
- "creationDate": null,
- "lname": "SonarQube :: Maven3 Plugin",
- "version": "4.5-SNAPSHOT",
- "description": "Open source platform for continuous inspection of code quality"
- },
- {
- "id": 2872,
- "key": "org.codehaus.sonar:sonar-server",
- "name": "SonarQube :: Server",
- "scope": "PRJ",
- "qualifier": "BRC",
- "date": "2014-07-09T23:19:45+0600",
- "creationDate": null,
- "lname": "SonarQube :: Server",
- "version": "4.5-SNAPSHOT",
- "description": "Open source platform for continuous inspection of code quality",
- "msr": [
- {
- "key": "coverage",
- "val": 87.8,
- "frmt_val": "87.8%"
- },
- {
- "key": "ncloc",
- "val": 35987.0,
- "frmt_val": "35,987"
- }
- ]
- },
- {
- "id": 1227,
- "key": "org.codehaus.sonar:sonar-ws-client",
- "name": "SonarQube :: Web Service Client",
- "scope": "PRJ",
- "qualifier": "BRC",
- "date": "2014-07-09T23:19:45+0600",
- "creationDate": null,
- "lname": "SonarQube :: Web Service Client",
- "version": "4.5-SNAPSHOT",
- "description": "Java Client Library for SonarQube Web Services",
- "msr": [
- {
- "key": "coverage",
- "val": 77.2,
- "frmt_val": "77.2%"
- },
- {
- "key": "ncloc",
- "val": 6393.0,
- "frmt_val": "6,393"
- }
- ]
- },
- {
- "id": 1627,
- "key": "org.codehaus.sonar.plugins:sonar-dbcleaner-plugin",
- "name": "SonarQube :: Plugins :: Database Cleaner",
- "scope": "PRJ",
- "qualifier": "BRC",
- "date": "2014-07-09T23:19:45+0600",
- "creationDate": null,
- "lname": "SonarQube :: Plugins :: Database Cleaner",
- "version": "4.5-SNAPSHOT",
- "description": "Optimizes database performances by removing old and useless data.",
- "msr": [
- {
- "key": "coverage",
- "val": 80.8,
- "frmt_val": "80.8%"
- },
- {
- "key": "ncloc",
- "val": 397.0,
- "frmt_val": "397"
- }
- ]
- },
- {
- "id": 2881,
- "key": "org.codehaus.sonar.plugins:sonar-design-plugin",
- "name": "SonarQube :: Plugins :: Design",
- "scope": "PRJ",
- "qualifier": "BRC",
- "date": "2014-07-09T23:19:45+0600",
- "creationDate": null,
- "lname": "SonarQube :: Plugins :: Design",
- "version": "4.5-SNAPSHOT",
- "description": "Open source platform for continuous inspection of code quality",
- "msr": [
- {
- "key": "coverage",
- "val": 28.4,
- "frmt_val": "28.4%"
- },
- {
- "key": "ncloc",
- "val": 359.0,
- "frmt_val": "359"
- }
- ]
- },
- {
- "id": 2882,
- "key": "org.codehaus.sonar.plugins:sonar-l10n-en-plugin",
- "name": "SonarQube :: Plugins :: English Pack",
- "scope": "PRJ",
- "qualifier": "BRC",
- "date": "2014-07-09T23:19:45+0600",
- "creationDate": null,
- "lname": "SonarQube :: Plugins :: English Pack",
- "version": "4.5-SNAPSHOT",
- "description": "Open source platform for continuous inspection of code quality",
- "msr": [
- {
- "key": "coverage",
- "val": 100.0,
- "frmt_val": "100.0%"
- },
- {
- "key": "ncloc",
- "val": 9.0,
- "frmt_val": "9"
- }
- ]
- },
- {
- "id": 25120,
- "key": "org.codehaus.sonar.plugins:sonar-xoo-plugin",
- "name": "SonarQube :: Plugins :: Xoo",
- "scope": "PRJ",
- "qualifier": "BRC",
- "date": "2014-07-09T23:19:45+0600",
- "creationDate": "2014-01-17T16:38:52+0600",
- "lname": "SonarQube :: Plugins :: Xoo",
- "version": "4.5-SNAPSHOT",
- "description": "Sample of plugin to document and test available APIs",
- "msr": [
- {
- "key": "coverage",
- "val": 50.0,
- "frmt_val": "50.0%"
- },
- {
- "key": "ncloc",
- "val": 86.0,
- "frmt_val": "86"
- }
- ]
- },
- {
- "id": 2866,
- "key": "org.codehaus.sonar:sonar-application",
- "name": "SonarQube :: Application",
- "scope": "PRJ",
- "qualifier": "BRC",
- "date": "2014-07-09T23:19:45+0600",
- "creationDate": null,
- "lname": "SonarQube :: Application",
- "version": "4.5-SNAPSHOT",
- "description": "Package the standalone distribution",
- "msr": [
- {
- "key": "coverage",
- "val": 90.2,
- "frmt_val": "90.2%"
- },
- {
- "key": "ncloc",
- "val": 610.0,
- "frmt_val": "610"
- }
- ]
- },
- {
- "id": 33484,
- "key": "org.codehaus.sonar:sonar-process",
- "name": "SonarQube :: Process",
- "scope": "PRJ",
- "qualifier": "BRC",
- "date": "2014-07-09T23:19:45+0600",
- "creationDate": "2014-07-08T17:17:01+0600",
- "lname": "SonarQube :: Process",
- "version": "4.5-SNAPSHOT",
- "description": "Open source platform for continuous inspection of code quality",
- "msr": [
- {
- "key": "coverage",
- "val": 68.9,
- "frmt_val": "68.9%"
- },
- {
- "key": "ncloc",
- "val": 409.0,
- "frmt_val": "409"
- }
- ]
- },
- {
- "id": 33505,
- "key": "org.codehaus.sonar:sonar-search",
- "name": "SonarQube :: Search",
- "scope": "PRJ",
- "qualifier": "BRC",
- "date": "2014-07-09T23:19:45+0600",
- "creationDate": "2014-07-09T23:19:46+0600",
- "lname": "SonarQube :: Search",
- "version": "4.5-SNAPSHOT",
- "description": "Open source platform for continuous inspection of code quality",
- "msr": [
- {
- "key": "coverage",
- "val": 24.2,
- "frmt_val": "24.2%"
- },
- {
- "key": "ncloc",
- "val": 226.0,
- "frmt_val": "226"
- }
- ]
- },
- {
- "id": 1624,
- "key": "org.codehaus.sonar:sonar-batch",
- "name": "SonarQube :: Batch",
- "scope": "PRJ",
- "qualifier": "BRC",
- "date": "2014-07-09T23:19:45+0600",
- "creationDate": null,
- "lname": "SonarQube :: Batch",
- "version": "4.5-SNAPSHOT",
- "description": "Open source platform for continuous inspection of code quality",
- "msr": [
- {
- "key": "coverage",
- "val": 76.7,
- "frmt_val": "76.7%"
- },
- {
- "key": "ncloc",
- "val": 15301.0,
- "frmt_val": "15,301"
- }
- ]
- },
- {
- "id": 17,
- "key": "org.codehaus.sonar:sonar-check-api",
- "name": "SonarQube :: Check API",
- "scope": "PRJ",
- "qualifier": "BRC",
- "date": "2014-07-09T23:19:45+0600",
- "creationDate": null,
- "lname": "SonarQube :: Check API",
- "version": "4.5-SNAPSHOT",
- "description": "Check API",
- "msr": [
- {
- "key": "ncloc",
- "val": 57.0,
- "frmt_val": "57"
- }
- ]
- },
- {
- "id": 18,
- "key": "org.codehaus.sonar:sonar-colorizer",
- "name": "SonarQube :: Code Colorizer",
- "scope": "PRJ",
- "qualifier": "BRC",
- "date": "2014-07-09T23:19:45+0600",
- "creationDate": null,
- "lname": "SonarQube :: Code Colorizer",
- "version": "4.5-SNAPSHOT",
- "description": "Code syntax highlighter",
- "msr": [
- {
- "key": "coverage",
- "val": 89.2,
- "frmt_val": "89.2%"
- },
- {
- "key": "ncloc",
- "val": 784.0,
- "frmt_val": "784"
- }
- ]
- },
- {
- "id": 1625,
- "key": "org.codehaus.sonar:sonar-deprecated",
- "name": "SonarQube :: Deprecated",
- "scope": "PRJ",
- "qualifier": "BRC",
- "date": "2014-07-09T23:19:45+0600",
- "creationDate": null,
- "lname": "SonarQube :: Deprecated",
- "version": "4.5-SNAPSHOT",
- "description": "Open source platform for continuous inspection of code quality",
- "msr": [
- {
- "key": "coverage",
- "val": 52.0,
- "frmt_val": "52.0%"
- },
- {
- "key": "ncloc",
- "val": 1375.0,
- "frmt_val": "1,375"
- }
- ]
- },
- {
- "id": 20,
- "key": "org.codehaus.sonar:sonar-duplications",
- "name": "SonarQube :: Duplications",
- "scope": "PRJ",
- "qualifier": "BRC",
- "date": "2014-07-09T23:19:45+0600",
- "creationDate": null,
- "lname": "SonarQube :: Duplications",
- "version": "4.5-SNAPSHOT",
- "description": "Detect duplicated code",
- "msr": [
- {
- "key": "coverage",
- "val": 85.1,
- "frmt_val": "85.1%"
- },
- {
- "key": "ncloc",
- "val": 2693.0,
- "frmt_val": "2,693"
- }
- ]
- },
- {
- "id": 21,
- "key": "org.codehaus.sonar:sonar-graph",
- "name": "SonarQube :: Graph",
- "scope": "PRJ",
- "qualifier": "BRC",
- "date": "2014-07-09T23:19:45+0600",
- "creationDate": null,
- "lname": "SonarQube :: Graph",
- "version": "4.5-SNAPSHOT",
- "description": "Open source platform for continuous inspection of code quality",
- "msr": [
- {
- "key": "coverage",
- "val": 93.0,
- "frmt_val": "93.0%"
- },
- {
- "key": "ncloc",
- "val": 997.0,
- "frmt_val": "997"
- }
- ]
- },
- {
- "id": 1626,
- "key": "org.codehaus.sonar:sonar-java-api",
- "name": "SonarQube :: Java API",
- "scope": "PRJ",
- "qualifier": "BRC",
- "date": "2014-07-09T23:19:45+0600",
- "creationDate": null,
- "lname": "SonarQube :: Java API",
- "version": "4.5-SNAPSHOT",
- "description": "Open source platform for continuous inspection of code quality",
- "msr": [
- {
- "key": "coverage",
- "val": 60.9,
- "frmt_val": "60.9%"
- },
- {
- "key": "ncloc",
- "val": 265.0,
- "frmt_val": "265"
- }
- ]
- },
- {
- "id": 2869,
- "key": "org.codehaus.sonar:sonar-markdown",
- "name": "SonarQube :: Markdown",
- "scope": "PRJ",
- "qualifier": "BRC",
- "date": "2014-07-09T23:19:45+0600",
- "creationDate": null,
- "lname": "SonarQube :: Markdown",
- "version": "4.5-SNAPSHOT",
- "description": "Open source platform for continuous inspection of code quality",
- "msr": [
- {
- "key": "coverage",
- "val": 95.5,
- "frmt_val": "95.5%"
- },
- {
- "key": "ncloc",
- "val": 340.0,
- "frmt_val": "340"
- }
- ]
- },
- {
- "id": 2870,
- "key": "org.codehaus.sonar:sonar-maven-plugin",
- "name": "SonarQube :: Maven2 Plugin",
- "scope": "PRJ",
- "qualifier": "BRC",
- "date": "2014-07-09T23:19:45+0600",
- "creationDate": null,
- "lname": "SonarQube :: Maven2 Plugin",
- "version": "4.5-SNAPSHOT",
- "description": "Open source platform for continuous inspection of code quality",
- "msr": [
- {
- "key": "coverage",
- "val": 16.9,
- "frmt_val": "16.9%"
- },
- {
- "key": "ncloc",
- "val": 122.0,
- "frmt_val": "122"
- }
- ]
- },
- {
- "id": 16,
- "key": "org.codehaus.sonar:sonar-plugin-api",
- "name": "SonarQube :: Plugin API",
- "scope": "PRJ",
- "qualifier": "BRC",
- "date": "2014-07-09T23:19:45+0600",
- "creationDate": null,
- "lname": "SonarQube :: Plugin API",
- "version": "4.5-SNAPSHOT",
- "description": "Open source platform for continuous inspection of code quality",
- "msr": [
- {
- "key": "coverage",
- "val": 71.8,
- "frmt_val": "71.8%"
- },
- {
- "key": "ncloc",
- "val": 22421.0,
- "frmt_val": "22,421"
- }
- ]
- },
- {
- "id": 251,
- "key": "org.codehaus.sonar:sonar-testing-harness",
- "name": "SonarQube :: Testing Harness",
- "scope": "PRJ",
- "qualifier": "BRC",
- "date": "2014-07-09T23:19:45+0600",
- "creationDate": null,
- "lname": "SonarQube :: Testing Harness",
- "version": "4.5-SNAPSHOT",
- "description": "Open source platform for continuous inspection of code quality",
- "msr": [
- {
- "key": "ncloc",
- "val": 265.0,
- "frmt_val": "265"
- }
- ]
- },
- {
- "id": 2873,
- "key": "org.codehaus.sonar.plugins:sonar-core-plugin",
- "name": "SonarQube :: Plugins :: Core",
- "scope": "PRJ",
- "qualifier": "BRC",
- "date": "2014-07-09T23:19:45+0600",
- "creationDate": null,
- "lname": "SonarQube :: Plugins :: Core",
- "version": "4.5-SNAPSHOT",
- "description": "Open source platform for continuous inspection of code quality",
- "msr": [
- {
- "key": "coverage",
- "val": 86.4,
- "frmt_val": "86.4%"
- },
- {
- "key": "ncloc",
- "val": 4904.0,
- "frmt_val": "4,904"
- }
- ]
- },
- {
- "id": 2879,
- "key": "org.codehaus.sonar.plugins:sonar-cpd-plugin",
- "name": "SonarQube :: Plugins :: CPD",
- "scope": "PRJ",
- "qualifier": "BRC",
- "date": "2014-07-09T23:19:45+0600",
- "creationDate": null,
- "lname": "SonarQube :: Plugins :: CPD",
- "version": "4.5-SNAPSHOT",
- "description": "Find duplicated source code within project.",
- "msr": [
- {
- "key": "coverage",
- "val": 42.6,
- "frmt_val": "42.6%"
- },
- {
- "key": "ncloc",
- "val": 722.0,
- "frmt_val": "722"
- }
- ]
- },
- {
- "id": 2883,
- "key": "org.codehaus.sonar.plugins:sonar-email-notifications-plugin",
- "name": "SonarQube :: Plugins :: Email Notifications",
- "scope": "PRJ",
- "qualifier": "BRC",
- "date": "2014-07-09T23:19:45+0600",
- "creationDate": null,
- "lname": "SonarQube :: Plugins :: Email Notifications",
- "version": "4.5-SNAPSHOT",
- "description": "Email Notifications",
- "msr": [
- {
- "key": "coverage",
- "val": 80.6,
- "frmt_val": "80.6%"
- },
- {
- "key": "ncloc",
- "val": 267.0,
- "frmt_val": "267"
- }
- ]
- }
-]
+++ /dev/null
-{"metrics": {
- "coverage": {
- "name": "Coverage",
- "type": "PERCENT",
- "direction": 1,
- "worstValue": 0.0,
- "bestValue": 100.0
- },
- "ncloc": {
- "name": "Lines of code",
- "type": "INT",
- "direction": -1
- }
-}, "components": [
- {
- "key": "org.codehaus.sonar:sonar",
- "name": "SonarQube",
- "longName": "SonarQube",
- "qualifier": "TRK",
- "measures": {
- "coverage": {
- "val": 80.4,
- "fval": "80.4%"
- },
- "ncloc": {
- "val": 113123.0,
- "fval": "113,123"
- }
- }
- },
- {
- "key": "org.codehaus.sonar:sonar-persistit",
- "name": "sonar-persistit",
- "longName": "sonar-persistit",
- "qualifier": "TRK",
- "measures": {
- "ncloc": {
- "val": 45330.0,
- "fval": "45,330"
- }
- }
- },
- {
- "key": "com.sonarsource.cpp:cpp",
- "name": "SonarSource :: CPP",
- "longName": "SonarSource :: CPP",
- "qualifier": "TRK",
- "measures": {
- "coverage": {
- "val": 90.4,
- "fval": "90.4%"
- },
- "ncloc": {
- "val": 31250.0,
- "fval": "31,250"
- }
- }
- },
- {
- "key": "org.codehaus.sonar-plugins.java:java",
- "name": "SonarQube Java",
- "longName": "SonarQube Java",
- "qualifier": "TRK",
- "measures": {
- "coverage": {
- "val": 90.1,
- "fval": "90.1%"
- },
- "ncloc": {
- "val": 22588.0,
- "fval": "22,588"
- }
- }
- },
- {
- "key": "com.sonarsource.cobol:cobol",
- "name": "SonarSource :: Cobol",
- "longName": "SonarSource :: Cobol",
- "qualifier": "TRK",
- "measures": {
- "coverage": {
- "val": 83.5,
- "fval": "83.5%"
- },
- "ncloc": {
- "val": 20879.0,
- "fval": "20,879"
- }
- }
- },
- {
- "key": "com.sonarsource.plsql:plsql",
- "name": "SonarSource :: PL/SQL",
- "longName": "SonarSource :: PL/SQL",
- "qualifier": "TRK",
- "measures": {
- "coverage": {
- "val": 96.6,
- "fval": "96.6%"
- },
- "ncloc": {
- "val": 12110.0,
- "fval": "12,110"
- }
- }
- },
- {
- "key": "org.codehaus.sonar.sslr:sslr",
- "name": "SonarSource :: Language Recognizer",
- "longName": "SonarSource :: Language Recognizer",
- "qualifier": "TRK",
- "measures": {
- "coverage": {
- "val": 80.3,
- "fval": "80.3%"
- },
- "ncloc": {
- "val": 8698.0,
- "fval": "8,698"
- }
- }
- },
- {
- "key": "org.codehaus.sonar-ide.eclipse:eclipse-parent",
- "name": "SonarQube Integration for Eclipse (parent)",
- "longName": "SonarQube Integration for Eclipse (parent)",
- "qualifier": "TRK",
- "measures": {
- "coverage": {
- "val": 17.2,
- "fval": "17.2%"
- },
- "ncloc": {
- "val": 7924.0,
- "fval": "7,924"
- }
- }
- },
- {
- "key": "org.codehaus.sonar-plugins.php:parent",
- "name": "PHP",
- "longName": "PHP",
- "qualifier": "TRK",
- "measures": {
- "coverage": {
- "val": 94.9,
- "fval": "94.9%"
- },
- "ncloc": {
- "val": 7134.0,
- "fval": "7,134"
- }
- }
- },
- {
- "key": "org.codehaus.sonar-plugins.javascript:javascript",
- "name": "JavaScript",
- "longName": "JavaScript",
- "qualifier": "TRK",
- "measures": {
- "coverage": {
- "val": 94.0,
- "fval": "94.0%"
- },
- "ncloc": {
- "val": 6820.0,
- "fval": "6,820"
- }
- }
- },
- {
- "key": "com.maif.sonar:maif-cobol-plugin",
- "name": "MAIF :: Cobol plugin",
- "longName": "MAIF :: Cobol plugin",
- "qualifier": "TRK",
- "measures": {
- "coverage": {
- "val": 91.6,
- "fval": "91.6%"
- },
- "ncloc": {
- "val": 6684.0,
- "fval": "6,684"
- }
- }
- },
- {
- "key": "com.sonarsource.vbnet:vbnet",
- "name": "SonarSource :: Visual Basic .NET",
- "longName": "SonarSource :: Visual Basic .NET",
- "qualifier": "TRK",
- "measures": {
- "coverage": {
- "val": 94.3,
- "fval": "94.3%"
- },
- "ncloc": {
- "val": 6416.0,
- "fval": "6,416"
- }
- }
- },
- {
- "key": "com.sonarsource.orchestrator:orchestrator-parent",
- "name": "SonarSource :: Orchestrator :: Parent",
- "longName": "SonarSource :: Orchestrator :: Parent",
- "qualifier": "TRK",
- "measures": {
- "coverage": {
- "val": 76.1,
- "fval": "76.1%"
- },
- "ncloc": {
- "val": 5815.0,
- "fval": "5,815"
- }
- }
- },
- {
- "key": "org.codehaus.sonar-plugins.flex:flex",
- "name": "Flex",
- "longName": "Flex",
- "qualifier": "TRK",
- "measures": {
- "coverage": {
- "val": 93.1,
- "fval": "93.1%"
- },
- "ncloc": {
- "val": 5401.0,
- "fval": "5,401"
- }
- }
- },
- {
- "key": "org.codehaus.sonar-plugins.dotnet.csharp:sonar-csharp-squid",
- "name": "SonarQube C# Plugin",
- "longName": "SonarQube C# Plugin",
- "qualifier": "TRK",
- "measures": {
- "coverage": {
- "val": 90.3,
- "fval": "90.3%"
- },
- "ncloc": {
- "val": 4930.0,
- "fval": "4,930"
- }
- }
- },
- {
- "key": "com.sonarsource.rpg:rpg",
- "name": "SonarSource :: RPG",
- "longName": "SonarSource :: RPG",
- "qualifier": "TRK",
- "measures": {
- "coverage": {
- "val": 92.7,
- "fval": "92.7%"
- },
- "ncloc": {
- "val": 4235.0,
- "fval": "4,235"
- }
- }
- },
- {
- "key": "com.sonarsource.plugins.vb:vb",
- "name": "SonarSource :: Visual Basic",
- "longName": "SonarSource :: Visual Basic",
- "qualifier": "TRK",
- "measures": {
- "coverage": {
- "val": 96.1,
- "fval": "96.1%"
- },
- "ncloc": {
- "val": 4190.0,
- "fval": "4,190"
- }
- }
- },
- {
- "key": "org.codehaus.sonar-plugins.erlang:erlang",
- "name": "Erlang",
- "longName": "Erlang",
- "qualifier": "TRK",
- "measures": {
- "coverage": {
- "val": 88.6,
- "fval": "88.6%"
- },
- "ncloc": {
- "val": 3843.0,
- "fval": "3,843"
- }
- }
- },
- {
- "key": "org.codehaus.sonar-plugins:sonar-web-plugin",
- "name": "SonarQube Web Plugin",
- "longName": "SonarQube Web Plugin",
- "qualifier": "TRK",
- "measures": {
- "coverage": {
- "val": 94.4,
- "fval": "94.4%"
- },
- "ncloc": {
- "val": 3816.0,
- "fval": "3,816"
- }
- }
- },
- {
- "key": "org.codehaus.sonar-plugins.python:python",
- "name": "Python",
- "longName": "Python",
- "qualifier": "TRK",
- "measures": {
- "coverage": {
- "val": 91.5,
- "fval": "91.5%"
- },
- "ncloc": {
- "val": 3631.0,
- "fval": "3,631"
- }
- }
- },
- {
- "key": "com.sonarsource.abap:abap",
- "name": "SonarSource :: ABAP",
- "longName": "SonarSource :: ABAP",
- "qualifier": "TRK",
- "measures": {
- "coverage": {
- "val": 95.1,
- "fval": "95.1%"
- },
- "ncloc": {
- "val": 3603.0,
- "fval": "3,603"
- }
- }
- },
- {
- "key": "com.sonarsource.pli:pli",
- "name": "SonarSource :: PL/I",
- "longName": "SonarSource :: PL/I",
- "qualifier": "TRK",
- "measures": {
- "coverage": {
- "val": 95.7,
- "fval": "95.7%"
- },
- "ncloc": {
- "val": 3387.0,
- "fval": "3,387"
- }
- }
- },
- {
- "key": "org.codehaus.sonar.sslr-squid-bridge:sslr-squid-bridge",
- "name": "SonarSource :: Language Recognizer :: Squid Bridge",
- "longName": "SonarSource :: Language Recognizer :: Squid Bridge",
- "qualifier": "TRK",
- "measures": {
- "coverage": {
- "val": 85.2,
- "fval": "85.2%"
- },
- "ncloc": {
- "val": 3250.0,
- "fval": "3,250"
- }
- }
- },
- {
- "key": "org.codehaus.sonar:sonar-update-center",
- "name": "Sonar :: Update Center",
- "longName": "Sonar :: Update Center",
- "qualifier": "TRK",
- "measures": {
- "coverage": {
- "val": 89.0,
- "fval": "89.0%"
- },
- "ncloc": {
- "val": 3192.0,
- "fval": "3,192"
- }
- }
- },
- {
- "key": "com.sonarsource.infra:jobs-creator",
- "name": "Infra Jenkins Job Creator",
- "longName": "Infra Jenkins Job Creator",
- "qualifier": "TRK",
- "measures": {
- "coverage": {
- "val": 50.6,
- "fval": "50.6%"
- },
- "ncloc": {
- "val": 2757.0,
- "fval": "2,757"
- }
- }
- },
- {
- "key": "com.sonarsource:sonar-dev-cockpit-plugin",
- "name": "SonarSource :: Developer Cockpit",
- "longName": "SonarSource :: Developer Cockpit",
- "qualifier": "TRK",
- "measures": {
- "coverage": {
- "val": 92.7,
- "fval": "92.7%"
- },
- "ncloc": {
- "val": 2692.0,
- "fval": "2,692"
- }
- }
- },
- {
- "key": "org.codehaus.sonar-ide.intellij:sonar-intellij-plugin",
- "name": "SonarQube Integration for IntelliJ",
- "longName": "SonarQube Integration for IntelliJ",
- "qualifier": "TRK",
- "measures": {
- "coverage": {
- "val": 0.2,
- "fval": "0.2%"
- },
- "ncloc": {
- "val": 2679.0,
- "fval": "2,679"
- }
- }
- },
- {
- "key": "com.sonarsource.views:sonar-views-plugin",
- "name": "SonarSource :: Views",
- "longName": "SonarSource :: Views",
- "qualifier": "TRK",
- "measures": {
- "coverage": {
- "val": 94.6,
- "fval": "94.6%"
- },
- "ncloc": {
- "val": 2630.0,
- "fval": "2,630"
- }
- }
- },
- {
- "key": "org.codehaus.sonar-plugins.css:css",
- "name": "CSS",
- "longName": "CSS",
- "qualifier": "TRK",
- "measures": {
- "coverage": {
- "val": 81.9,
- "fval": "81.9%"
- },
- "ncloc": {
- "val": 2485.0,
- "fval": "2,485"
- }
- }
- },
- {
- "key": "org.codehaus.sonar-plugins.xml:xml",
- "name": "XML",
- "longName": "XML",
- "qualifier": "TRK",
- "measures": {
- "coverage": {
- "val": 83.8,
- "fval": "83.8%"
- },
- "ncloc": {
- "val": 2122.0,
- "fval": "2,122"
- }
- }
- }
-], "maxResultsReached": false, "paging": {
- "page": 1,
- "pages": 3,
- "pageSize": 30,
- "total": 73
-}}
+++ /dev/null
-extends ./layouts/main
-
-block header
- script(src='../js/require.js')
- script.
- window.waitForMocks('/js/coding-rules/app.js');
-
-block body
- #content
- .coding-rules.search-navigator
+++ /dev/null
-extends ./layouts/main
-
-block header
- script(src='../js/require.js')
- script.
- window.waitForMocks('/js/design/app.js');
-
-block body
- #container
- #project-design: i.spinner
-
- script.
- window.resourceKey = 'com.maif.sonar:maif-cobol-plugin';
+++ /dev/null
-extends ./layouts/main
-
-block header
- script(src='../js/require.js')
- script.
- window.waitForMocks('/js/issues/app-new.js');
-
-block body
- #content
- .issues.search-navigator
+++ /dev/null
-html
- head
- meta(http-equiv='Content-Type', content='text/html; charset=UTF-8')
- link(href='/css/sonar.css', rel='stylesheet', media='all')
- script(src='/js/sonar.js')
- script(src='/js/third-party/jquery.mockjax.js')
- script.
- var baseUrl = '';
- var $j = jQuery.noConflict();
- window.suppressTranslationWarnings = true;
- jQuery.mockjaxSettings.contentType = 'text/json';
- jQuery.mockjaxSettings.responseTime = 50;
- jQuery.mockjaxSettings.throwUnmocked = true;
- $j(document).ready(function () { $j('.open-modal').modal(); });
- window.waitForMocks = function (app) {
- var x = setInterval(function () {
- jQuery.get('/api/l10n/index').done(function () {
- clearInterval(x);
- require([app]);
- });
- }, 500);
- }
- block header
- body
- #body
- block body
+++ /dev/null
-extends ./layouts/main
-
-block header
- script(src='../js/require.js')
- script.
- window.waitForMocks('/js/quality-gate/app.js');
-
-block body
- #content
- .search-navigator#quality-gates
+++ /dev/null
-extends ./layouts/main
-
-block header
- script(src='../js/require.js')
- script.
- window.waitForMocks('/js/source-viewer/app.js');
-
-block body
- #source-viewer
-
- script.
- window.file = {
- uuid: '',
- key: ''
- };
+++ /dev/null
-extends ./layouts/main
-
-block body
- #container
--- /dev/null
+/*
+ * SonarQube, open source software quality management tool.
+ * Copyright (C) 2008-2014 SonarSource
+ * mailto:contact AT sonarsource DOT com
+ *
+ * SonarQube 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.
+ *
+ * SonarQube 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.
+ */
+/* global casper:false */
+
+var lib = require('../lib');
+
+lib.initMessages();
+lib.changeWorkingDirectory('coding-rules-page-active-severity-facet');
+lib.configureCasper();
+
+
+casper.test.begin('coding-rules-page-active-severity-facet', 7, function (test) {
+ casper
+ .start(lib.buildUrl('coding-rules'), function () {
+ lib.setDefaultViewport();
+
+ lib.mockRequest('/api/l10n/index', '{}');
+ lib.mockRequestFromFile('/api/rules/app', 'app.json');
+ lib.mockRequestFromFile('/api/rules/search', 'search-BLOCKER.json', { data: { active_severities: 'BLOCKER' } });
+ lib.mockRequestFromFile('/api/rules/search', 'search-qprofile.json',
+ { data: { qprofile: 'java-default-with-mojo-conventions-49307' } });
+ lib.mockRequestFromFile('/api/rules/search', 'search.json');
+ })
+
+ .then(function () {
+ casper.waitForSelector('.coding-rule');
+ })
+
+ .then(function () {
+ test.assertSelectorContains('#coding-rules-total', '609');
+ test.assertExists('.search-navigator-facet-box-forbidden[data-property="active_severities"]');
+ casper.click('[data-property="qprofile"] .js-facet-toggle');
+ casper.waitForSelector('.js-facet[data-value="java-default-with-mojo-conventions-49307"]');
+ })
+
+ .then(function () {
+ casper.click('.js-facet[data-value="java-default-with-mojo-conventions-49307"]');
+ casper.waitForSelectorTextChange('#coding-rules-total');
+ })
+
+ .then(function () {
+ test.assertSelectorContains('#coding-rules-total', '407');
+ test.assertDoesntExist('.search-navigator-facet-box-forbidden[data-property="active_severities"]');
+ casper.click('[data-property="active_severities"] .js-facet-toggle');
+ casper.waitForSelector('[data-property="active_severities"] [data-value="BLOCKER"]');
+ })
+
+ .then(function () {
+ casper.click('[data-property="active_severities"] [data-value="BLOCKER"]');
+ casper.waitForSelectorTextChange('#coding-rules-total');
+ })
+
+ .then(function () {
+ test.assertSelectorContains('#coding-rules-total', '4');
+ casper.click('[data-property="qprofile"] .js-facet-toggle');
+ casper.waitForSelectorTextChange('#coding-rules-total');
+ })
+
+ .then(function () {
+ test.assertSelectorContains('#coding-rules-total', '609');
+ test.assertExists('.search-navigator-facet-box-forbidden[data-property="active_severities"]');
+ })
+
+ .then(function () {
+ lib.sendCoverage();
+ })
+
+ .run(function () {
+ test.done();
+ });
+});
--- /dev/null
+/*
+ * SonarQube, open source software quality management tool.
+ * Copyright (C) 2008-2014 SonarSource
+ * mailto:contact AT sonarsource DOT com
+ *
+ * SonarQube 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.
+ *
+ * SonarQube 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.
+ */
+/* global casper:false */
+
+var lib = require('../lib');
+
+lib.initMessages();
+lib.changeWorkingDirectory('coding-rules-page-available-since');
+lib.configureCasper();
+
+
+casper.test.begin('coding-rules-page-available-since', 2, function (test) {
+ casper
+ .start(lib.buildUrl('coding-rules'), function () {
+ lib.setDefaultViewport();
+
+ lib.mockRequest('/api/l10n/index', '{}');
+ lib.mockRequestFromFile('/api/rules/app', 'app.json');
+ lib.mockRequestFromFile('/api/rules/search', 'search-limited.json',
+ { data: { available_since: '2014-12-01' } });
+ lib.mockRequestFromFile('/api/rules/search', 'search.json');
+ })
+
+ .then(function () {
+ casper.waitForSelector('.coding-rule');
+ })
+
+ .then(function () {
+ test.assertSelectorContains('#coding-rules-total', '609');
+ casper.click('[data-property="available_since"] .js-facet-toggle');
+ casper.evaluate(function () {
+ jQuery('[data-property="available_since"] input').val('2014-12-01').change();
+ });
+ })
+
+ .then(function () {
+ casper.waitForSelectorTextChange('#coding-rules-total');
+ })
+
+ .then(function () {
+ test.assertSelectorContains('#coding-rules-total', '101');
+ })
+
+ .then(function () {
+ lib.sendCoverage();
+ })
+
+ .run(function () {
+ test.done();
+ });
+});
--- /dev/null
+/*
+ * SonarQube, open source software quality management tool.
+ * Copyright (C) 2008-2014 SonarSource
+ * mailto:contact AT sonarsource DOT com
+ *
+ * SonarQube 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.
+ *
+ * SonarQube 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.
+ */
+/* global casper:false */
+
+var lib = require('../lib');
+
+lib.initMessages();
+lib.changeWorkingDirectory('coding-rules-page-inheritance-facet');
+lib.configureCasper();
+
+
+casper.test.begin('coding-rules-page-inheritance-facet', 11, function (test) {
+ casper
+ .start(lib.buildUrl('coding-rules'), function () {
+ lib.setDefaultViewport();
+
+ lib.mockRequest('/api/l10n/index', '{}');
+ lib.mockRequestFromFile('/api/rules/app', 'app.json');
+ lib.mockRequestFromFile('/api/rules/search', 'search-not-inherited.json', { data: { inheritance: 'NONE' } });
+ lib.mockRequestFromFile('/api/rules/search', 'search-inherited.json', { data: { inheritance: 'INHERITED' } });
+ lib.mockRequestFromFile('/api/rules/search', 'search-overriden.json', { data: { inheritance: 'OVERRIDES' } });
+ lib.mockRequestFromFile('/api/rules/search', 'search-qprofile.json',
+ { data: { qprofile: 'java-default-with-mojo-conventions-49307' } });
+ lib.mockRequestFromFile('/api/rules/search', 'search-qprofile2.json',
+ { data: { qprofile: 'java-top-profile-without-formatting-conventions-50037' } });
+ lib.mockRequestFromFile('/api/rules/search', 'search.json');
+ })
+
+ .then(function () {
+ casper.waitForSelector('.coding-rule');
+ })
+
+ .then(function () {
+ test.assertSelectorContains('#coding-rules-total', '609');
+ test.assertExists('.search-navigator-facet-box-forbidden[data-property="inheritance"]');
+ casper.click('[data-property="qprofile"] .js-facet-toggle');
+ casper.waitForSelector('.js-facet[data-value="java-default-with-mojo-conventions-49307"]');
+ })
+
+ .then(function () {
+ casper.click('.js-facet[data-value="java-default-with-mojo-conventions-49307"]');
+ casper.waitForSelectorTextChange('#coding-rules-total');
+ })
+
+ .then(function () {
+ test.assertSelectorContains('#coding-rules-total', '407');
+ test.assertDoesntExist('.search-navigator-facet-box-forbidden[data-property="inheritance"]');
+ casper.click('[data-property="inheritance"] .js-facet-toggle');
+ casper.waitForSelector('[data-property="inheritance"] [data-value="NONE"]');
+ })
+
+ .then(function () {
+ casper.click('[data-property="inheritance"] [data-value="NONE"]');
+ casper.waitForSelectorTextChange('#coding-rules-total');
+ })
+
+ .then(function () {
+ test.assertSelectorContains('#coding-rules-total', '103');
+ casper.click('[data-property="inheritance"] [data-value="INHERITED"]');
+ casper.waitForSelectorTextChange('#coding-rules-total');
+ })
+
+ .then(function () {
+ test.assertSelectorContains('#coding-rules-total', '101');
+ casper.click('[data-property="inheritance"] [data-value="OVERRIDES"]');
+ casper.waitForSelectorTextChange('#coding-rules-total');
+ })
+
+ .then(function () {
+ test.assertSelectorContains('#coding-rules-total', '102');
+ casper.click('.js-facet[data-value="java-top-profile-without-formatting-conventions-50037"]');
+ casper.waitForSelectorTextChange('#coding-rules-total');
+ })
+
+ .then(function () {
+ test.assertSelectorContains('#coding-rules-total', '408');
+ test.assertExists('.search-navigator-facet-box-forbidden[data-property="inheritance"]');
+ casper.click('[data-property="qprofile"] .js-facet-toggle');
+ casper.waitForSelectorTextChange('#coding-rules-total');
+ })
+
+ .then(function () {
+ test.assertSelectorContains('#coding-rules-total', '609');
+ test.assertExists('.search-navigator-facet-box-forbidden[data-property="inheritance"]');
+ })
+
+ .then(function () {
+ lib.sendCoverage();
+ })
+
+ .run(function () {
+ test.done();
+ });
+});
--- /dev/null
+/*
+ * SonarQube, open source software quality management tool.
+ * Copyright (C) 2008-2014 SonarSource
+ * mailto:contact AT sonarsource DOT com
+ *
+ * SonarQube 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.
+ *
+ * SonarQube 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.
+ */
+/* global casper:false */
+
+var lib = require('../lib');
+
+lib.initMessages();
+lib.changeWorkingDirectory('coding-rules-page-no-available-profiles-for-activation');
+lib.configureCasper();
+
+
+casper.test.begin('coding-rules-page-no-available-profiles-for-activation', 2, function (test) {
+ casper
+ .start(lib.buildUrl('coding-rules'), function () {
+ lib.setDefaultViewport();
+
+ lib.mockRequest('/api/l10n/index', '{}');
+ lib.mockRequestFromFile('/api/rules/app', 'app.json');
+ lib.mockRequestFromFile('/api/rules/search', 'search.json');
+ lib.mockRequestFromFile('/api/rules/show', 'show.json');
+ lib.mockRequest('/api/issues/search', '{}');
+ })
+
+ .then(function () {
+ casper.waitForSelector('.coding-rule.selected', function () {
+ casper.click('.coding-rule.selected .js-rule');
+ });
+ })
+
+ .then(function () {
+ casper.waitForSelector('.coding-rules-detail-header');
+ })
+
+ .then(function () {
+ test.assertExist('#coding-rules-quality-profile-activate');
+ casper.click('#coding-rules-quality-profile-activate');
+ casper.waitForSelector('.modal');
+ })
+
+ .then(function () {
+ test.assertExists('.modal .message-notice');
+ })
+
+ .then(function () {
+ lib.sendCoverage();
+ })
+
+ .run(function () {
+ test.done();
+ });
+});
--- /dev/null
+/*
+ * SonarQube, open source software quality management tool.
+ * Copyright (C) 2008-2014 SonarSource
+ * mailto:contact AT sonarsource DOT com
+ *
+ * SonarQube 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.
+ *
+ * SonarQube 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.
+ */
+/* global casper:false */
+
+var lib = require('../lib');
+
+lib.initMessages();
+lib.changeWorkingDirectory('coding-rules-page-quality-profile-facet');
+lib.configureCasper();
+
+
+casper.test.begin('coding-rules-page-quality-profile-facet', 6, function (test) {
+ casper
+ .start(lib.buildUrl('coding-rules'), function () {
+ lib.setDefaultViewport();
+
+ lib.mockRequest('/api/l10n/index', '{}');
+ lib.mockRequestFromFile('/api/rules/app', 'app.json');
+ lib.mockRequestFromFile('/api/rules/search', 'search-qprofile-active.json',
+ { data: { activation: true } });
+ lib.mockRequestFromFile('/api/rules/search', 'search-qprofile-inactive.json',
+ { data: { activation: 'false' } });
+ lib.mockRequestFromFile('/api/rules/search', 'search.json');
+ })
+
+ .then(function () {
+ casper.waitForSelector('.coding-rule');
+ })
+
+ .then(function () {
+ test.assertSelectorContains('#coding-rules-total', '609');
+ casper.click('[data-property="qprofile"] .js-facet-toggle');
+ casper.waitForSelector('.js-facet[data-value="java-default-with-mojo-conventions-49307"]');
+ })
+
+ .then(function () {
+ casper.click('.js-facet[data-value="java-default-with-mojo-conventions-49307"]');
+ casper.waitForSelectorTextChange('#coding-rules-total');
+ })
+
+ .then(function () {
+ test.assertSelectorContains('#coding-rules-total', '407');
+ test.assertExists('.js-facet[data-value="java-default-with-mojo-conventions-49307"] .js-active.facet-toggle-active');
+ casper.click('.js-facet[data-value="java-default-with-mojo-conventions-49307"] .js-inactive');
+ casper.waitForSelectorTextChange('#coding-rules-total');
+ })
+
+ .then(function () {
+ test.assertSelectorContains('#coding-rules-total', '408');
+ test.assertExists('.js-facet[data-value="java-default-with-mojo-conventions-49307"] .js-inactive.facet-toggle-active');
+ casper.click('[data-property="qprofile"] .js-facet-toggle');
+ casper.waitForSelectorTextChange('#coding-rules-total');
+ })
+
+ .then(function () {
+ test.assertSelectorContains('#coding-rules-total', '609');
+ })
+
+ .then(function () {
+ lib.sendCoverage();
+ })
+
+ .run(function () {
+ test.done();
+ });
+});
--- /dev/null
+/*
+ * SonarQube, open source software quality management tool.
+ * Copyright (C) 2008-2014 SonarSource
+ * mailto:contact AT sonarsource DOT com
+ *
+ * SonarQube 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.
+ *
+ * SonarQube 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.
+ */
+/* global casper:false */
+
+var lib = require('../lib');
+
+lib.initMessages();
+lib.changeWorkingDirectory('coding-rules-page-query-facet');
+lib.configureCasper();
+
+
+casper.test.begin('coding-rules-page-query-facet', 3, function (test) {
+ casper
+ .start(lib.buildUrl('coding-rules'), function () {
+ lib.setDefaultViewport();
+
+ lib.mockRequest('/api/l10n/index', '{}');
+ lib.mockRequestFromFile('/api/rules/app', 'app.json');
+ lib.mockRequestFromFile('/api/rules/search', 'search-query.json', { data: { q: 'query' } });
+ lib.mockRequestFromFile('/api/rules/search', 'search.json');
+ })
+
+ .then(function () {
+ casper.waitForSelector('.coding-rule');
+ })
+
+ .then(function () {
+ test.assertSelectorContains('#coding-rules-total', '609');
+ casper.evaluate(function () {
+ jQuery('[data-property="q"] input').val('query');
+ jQuery('[data-property="q"] form').submit();
+ });
+ casper.waitForSelectorTextChange('#coding-rules-total');
+ })
+
+ .then(function () {
+ test.assertSelectorContains('#coding-rules-total', '4');
+ casper.evaluate(function () {
+ jQuery('[data-property="q"] input').val('');
+ jQuery('[data-property="q"] form').submit();
+ });
+ casper.waitForSelectorTextChange('#coding-rules-total');
+ })
+
+ .then(function () {
+ test.assertSelectorContains('#coding-rules-total', '609');
+ })
+
+ .then(function () {
+ lib.sendCoverage();
+ })
+
+ .run(function () {
+ test.done();
+ });
+});
--- /dev/null
+/*
+ * SonarQube, open source software quality management tool.
+ * Copyright (C) 2008-2014 SonarSource
+ * mailto:contact AT sonarsource DOT com
+ *
+ * SonarQube 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.
+ *
+ * SonarQube 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.
+ */
+/* global casper:false */
+
+var lib = require('../lib');
+
+lib.initMessages();
+lib.changeWorkingDirectory('coding-rules-page-rule-permalink');
+lib.configureCasper();
+
+
+casper.test.begin('coding-rules-page-rule-permalink', 1, function (test) {
+ casper
+ .start(lib.buildUrl('coding-rules'), function () {
+ lib.setDefaultViewport();
+
+ lib.mockRequest('/api/l10n/index', '{}');
+ lib.mockRequestFromFile('/api/rules/app', 'app.json');
+ lib.mockRequestFromFile('/api/rules/search', 'search.json');
+ lib.mockRequestFromFile('/api/rules/show', 'show.json');
+ lib.mockRequest('/api/issues/search', '{}');
+ })
+
+ .then(function () {
+ casper.waitForSelector('.coding-rule.selected');
+ })
+
+ .then(function () {
+ casper.click('.coding-rule.selected .js-rule');
+ casper.waitForSelector('.coding-rules-detail-header');
+ })
+
+ .then(function () {
+ test.assertExists('a[href="/coding_rules#rule_key=squid%3AS1181"]');
+ })
+
+ .then(function () {
+ lib.sendCoverage();
+ })
+
+ .run(function () {
+ test.done();
+ });
+});
--- /dev/null
+/*
+ * SonarQube, open source software quality management tool.
+ * Copyright (C) 2008-2014 SonarSource
+ * mailto:contact AT sonarsource DOT com
+ *
+ * SonarQube 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.
+ *
+ * SonarQube 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.
+ */
+/* global casper:false */
+
+var lib = require('../lib');
+
+lib.initMessages();
+lib.changeWorkingDirectory('coding-rules-page-should-activate-profile');
+lib.configureCasper();
+
+
+casper.test.begin('coding-rules-page-should-activate-profile', 5, function (test) {
+ casper
+ .start(lib.buildUrl('coding-rules'), function () {
+ lib.setDefaultViewport();
+
+ lib.mockRequest('/api/l10n/index', '{}');
+ lib.mockRequestFromFile('/api/rules/app', 'app.json');
+ lib.mockRequestFromFile('/api/rules/search', 'search.json');
+ this.showMock = lib.mockRequestFromFile('/api/rules/show', 'show.json');
+ lib.mockRequest('/api/qualityprofiles/activate_rule', '{}');
+ lib.mockRequest('/api/issues/search', '{}');
+ })
+
+ .then(function () {
+ casper.waitForSelector('.coding-rule.selected', function () {
+ casper.click('.coding-rule.selected .js-rule');
+ });
+ })
+
+ .then(function () {
+ casper.waitForSelector('.coding-rules-detail-header');
+ })
+
+ .then(function () {
+ test.assertDoesntExist('.coding-rules-detail-quality-profile-name');
+ test.assertExist('#coding-rules-quality-profile-activate');
+ casper.click('#coding-rules-quality-profile-activate');
+ casper.waitForSelector('.modal');
+ })
+
+ .then(function () {
+ lib.clearRequestMock(this.showMock);
+ lib.mockRequestFromFile('/api/rules/show', 'show-with-profile.json');
+ casper.click('#coding-rules-quality-profile-activation-activate');
+ casper.waitForSelector('.coding-rules-detail-quality-profile-name');
+ })
+
+ .then(function () {
+ test.assertExists('.coding-rules-detail-quality-profile-name');
+ test.assertExists('.coding-rules-detail-quality-profile-severity');
+ test.assertExists('.coding-rules-detail-quality-profile-deactivate');
+ })
+
+ .then(function () {
+ lib.sendCoverage();
+ })
+
+ .run(function () {
+ test.done();
+ });
+});
--- /dev/null
+/*
+ * SonarQube, open source software quality management tool.
+ * Copyright (C) 2008-2014 SonarSource
+ * mailto:contact AT sonarsource DOT com
+ *
+ * SonarQube 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.
+ *
+ * SonarQube 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.
+ */
+/* global casper:false */
+
+var lib = require('../lib');
+
+lib.initMessages();
+lib.changeWorkingDirectory('coding-rules-page-should-create-custom-rules');
+lib.configureCasper();
+
+
+casper.test.begin('coding-rules-page-should-delete-create-rules', 2, function (test) {
+ casper
+ .start(lib.buildUrl('coding-rules'), function () {
+ lib.setDefaultViewport();
+
+ lib.mockRequest('/api/l10n/index', '{}');
+ lib.mockRequestFromFile('/api/rules/app', 'app.json');
+ this.customRulesSearchMock = lib.mockRequestFromFile('/api/rules/search', 'search-custom-rules.json',
+ { data: { template_key: 'squid:ArchitecturalConstraint' } });
+ this.searchMock = lib.mockRequestFromFile('/api/rules/search', 'search.json');
+ lib.mockRequestFromFile('/api/rules/show', 'show.json');
+ lib.mockRequest('/api/rules/create', '{}');
+ lib.mockRequest('/api/issues/search', '{}');
+ })
+
+ .then(function () {
+ casper.waitForSelector('.coding-rule.selected', function () {
+ casper.click('.coding-rule.selected .js-rule');
+ });
+ })
+
+ .then(function () {
+ casper.waitForSelector('#coding-rules-detail-custom-rules .coding-rules-detail-list-name');
+ })
+
+ .then(function () {
+ lib.clearRequestMock(this.customRulesSearchMock);
+ lib.clearRequestMock(this.searchMock);
+ lib.mockRequestFromFile('/api/rules/search', 'search-custom-rules2.json');
+ })
+
+ .then(function () {
+ test.assertElementCount('#coding-rules-detail-custom-rules .coding-rules-detail-list-name', 1);
+ casper.click('.js-create-custom-rule');
+ casper.fillForm('.modal form', {
+ name: 'test',
+ markdown_description: 'test'
+ });
+ casper.click('#coding-rules-custom-rule-creation-create');
+ lib.waitForElementCount('#coding-rules-detail-custom-rules .coding-rules-detail-list-name', 2, function () {
+ test.assert(true); // put dummy assert into wait statement
+ });
+ })
+
+ .then(function () {
+ lib.sendCoverage();
+ })
+
+ .run(function () {
+ test.done();
+ });
+});
--- /dev/null
+/*
+ * SonarQube, open source software quality management tool.
+ * Copyright (C) 2008-2014 SonarSource
+ * mailto:contact AT sonarsource DOT com
+ *
+ * SonarQube 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.
+ *
+ * SonarQube 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.
+ */
+/* global casper:false */
+
+var lib = require('../lib');
+
+lib.initMessages();
+lib.changeWorkingDirectory('coding-rules-page-should-create-manual-rules');
+lib.configureCasper();
+
+
+casper.test.begin('coding-rules-page-should-delete-manual-rules', 3, function (test) {
+ casper
+ .start(lib.buildUrl('coding-rules'), function () {
+ lib.setDefaultViewport();
+
+ lib.mockRequest('/api/l10n/index', '{}');
+ lib.mockRequestFromFile('/api/rules/app', 'app.json');
+ lib.mockRequestFromFile('/api/rules/search', 'search.json');
+ lib.mockRequestFromFile('/api/rules/create', 'show.json');
+ lib.mockRequestFromFile('/api/rules/show', 'show.json');
+ lib.mockRequest('/api/issues/search', '{}');
+ })
+
+ .then(function () {
+ casper.waitForSelector('.js-create-manual-rule', function () {
+ casper.click('.js-create-manual-rule');
+ });
+ })
+
+ .then(function () {
+ casper.waitForSelector('.modal');
+ })
+
+ .then(function () {
+ casper.evaluate(function () {
+ jQuery('.modal [name="name"]').val('Manual Rule');
+ jQuery('.modal [name="key"]').val('manual:Manual_Rule');
+ jQuery('.modal [name="markdown_description"]').val('Manual Rule Description');
+ jQuery('.modal #coding-rules-manual-rule-creation-create').click();
+ });
+ casper.waitForSelector('.coding-rules-detail-header');
+ })
+
+ .then(function () {
+ test.assertSelectorContains('.coding-rules-detail-header', 'Manual Rule');
+ test.assertSelectorContains('.coding-rule-details .subtitle', 'manual:Manual_Rule');
+ test.assertSelectorContains('.coding-rules-detail-description', 'Manual Rule Description');
+ })
+
+ .then(function () {
+ lib.sendCoverage();
+ })
+
+ .run(function () {
+ test.done();
+ });
+});
--- /dev/null
+/*
+ * SonarQube, open source software quality management tool.
+ * Copyright (C) 2008-2014 SonarSource
+ * mailto:contact AT sonarsource DOT com
+ *
+ * SonarQube 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.
+ *
+ * SonarQube 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.
+ */
+/* global casper:false */
+
+var lib = require('../lib');
+
+lib.initMessages();
+lib.changeWorkingDirectory('coding-rules-page-should-delete-custom-rules');
+lib.configureCasper();
+
+
+casper.test.begin('coding-rules-page-should-delete-custom-rules', 2, function (test) {
+ casper
+ .start(lib.buildUrl('coding-rules'), function () {
+ lib.setDefaultViewport();
+
+ lib.mockRequest('/api/l10n/index', '{}');
+ lib.mockRequestFromFile('/api/rules/app', 'app.json');
+ lib.mockRequestFromFile('/api/rules/search', 'search-custom-rules.json',
+ { data: { template_key: 'squid:ArchitecturalConstraint' } });
+ lib.mockRequestFromFile('/api/rules/search', 'search.json');
+ lib.mockRequestFromFile('/api/rules/show', 'show.json');
+ lib.mockRequest('/api/rules/delete', '{}');
+ lib.mockRequest('/api/issues/search', '{}');
+ })
+
+ .then(function () {
+ casper.waitForSelector('.coding-rule.selected', function () {
+ casper.click('.coding-rule.selected .js-rule');
+ });
+ })
+
+ .then(function () {
+ casper.waitForSelector('#coding-rules-detail-custom-rules .coding-rules-detail-list-name');
+ })
+
+ .then(function () {
+ test.assertElementCount('#coding-rules-detail-custom-rules .coding-rules-detail-list-name', 2);
+ casper.click('.js-delete-custom-rule');
+ casper.click('[data-confirm="yes"]');
+ lib.waitForElementCount('#coding-rules-detail-custom-rules .coding-rules-detail-list-name', 1, function () {
+ test.assert(true); // put dummy assert into wait statement
+ });
+ })
+
+ .then(function () {
+ lib.sendCoverage();
+ })
+
+ .run(function () {
+ test.done();
+ });
+});
--- /dev/null
+/*
+ * SonarQube, open source software quality management tool.
+ * Copyright (C) 2008-2014 SonarSource
+ * mailto:contact AT sonarsource DOT com
+ *
+ * SonarQube 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.
+ *
+ * SonarQube 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.
+ */
+/* global casper:false */
+
+var lib = require('../lib');
+
+lib.initMessages();
+lib.changeWorkingDirectory('coding-rules-page-should-delete-manual-rules');
+lib.configureCasper();
+
+
+casper.test.begin('coding-rules-page-should-delete-manual-rules', 1, function (test) {
+ casper
+ .start(lib.buildUrl('coding-rules'), function () {
+ lib.setDefaultViewport();
+
+ lib.mockRequest('/api/l10n/index', '{}');
+ lib.mockRequestFromFile('/api/rules/app', 'app.json');
+ this.searchMock = lib.mockRequestFromFile('/api/rules/search', 'search-before.json');
+ lib.mockRequestFromFile('/api/rules/show', 'show.json');
+ lib.mockRequest('/api/rules/delete', '{}');
+ lib.mockRequest('/api/issues/search', '{}');
+ })
+
+ .then(function () {
+ casper.waitForSelector('.coding-rule.selected', function () {
+ casper.click('.coding-rule.selected .js-rule');
+ });
+ })
+
+ .then(function () {
+ casper.waitForSelector('.js-delete');
+ })
+
+ .then(function () {
+ casper.click('.js-delete');
+ casper.waitForSelector('[data-confirm="yes"]');
+ })
+
+ .then(function () {
+ lib.clearRequestMock(this.searchMock);
+ lib.mockRequestFromFile('/api/rules/search', 'search-after.json');
+ casper.click('[data-confirm="yes"]');
+ casper.waitForSelectorTextChange('#coding-rules-total');
+ })
+
+ .then(function () {
+ test.assertSelectorContains('#coding-rules-total', 0);
+ })
+
+ .then(function () {
+ lib.sendCoverage();
+ })
+
+ .run(function () {
+ test.done();
+ });
+});
--- /dev/null
+/*
+ * SonarQube, open source software quality management tool.
+ * Copyright (C) 2008-2014 SonarSource
+ * mailto:contact AT sonarsource DOT com
+ *
+ * SonarQube 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.
+ *
+ * SonarQube 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.
+ */
+/* global casper:false */
+
+var lib = require('../lib');
+
+lib.initMessages();
+lib.changeWorkingDirectory('coding-rules-page-should-show-custom-rules');
+lib.configureCasper();
+
+
+casper.test.begin('coding-rules-page-should-show-custom-rules', 3, function (test) {
+ casper
+ .start(lib.buildUrl('coding-rules'), function () {
+ lib.setDefaultViewport();
+
+ lib.mockRequest('/api/l10n/index', '{}');
+ lib.mockRequestFromFile('/api/rules/app', 'app.json');
+ lib.mockRequestFromFile('/api/rules/search', 'search-custom-rules.json',
+ { data: { template_key: 'squid:ArchitecturalConstraint' } });
+ lib.mockRequestFromFile('/api/rules/search', 'search.json');
+ lib.mockRequestFromFile('/api/rules/show', 'show.json');
+ lib.mockRequest('/api/issues/search', '{}');
+ })
+
+ .then(function () {
+ casper.waitForSelector('.coding-rule.selected', function () {
+ casper.click('.coding-rule.selected .js-rule');
+ });
+ })
+
+ .then(function () {
+ casper.waitForSelector('#coding-rules-detail-custom-rules .coding-rules-detail-list-name');
+ })
+
+ .then(function () {
+ test.assertExists('#coding-rules-detail-custom-rules');
+ test.assertElementCount('#coding-rules-detail-custom-rules .coding-rules-detail-list-name', 2);
+ test.assertSelectorContains('#coding-rules-detail-custom-rules .coding-rules-detail-list-name',
+ 'Do not use org.h2.util.StringUtils');
+ })
+
+ .then(function () {
+ lib.sendCoverage();
+ })
+
+ .run(function () {
+ test.done();
+ });
+});
--- /dev/null
+/*
+ * SonarQube, open source software quality management tool.
+ * Copyright (C) 2008-2014 SonarSource
+ * mailto:contact AT sonarsource DOT com
+ *
+ * SonarQube 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.
+ *
+ * SonarQube 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.
+ */
+/* global casper:false */
+
+var lib = require('../lib');
+
+lib.initMessages();
+lib.changeWorkingDirectory('coding-rules-page-should-show-deprecated-label');
+lib.configureCasper();
+
+
+casper.test.begin('coding-rules-page-should-show-deprecated-label', 1, function (test) {
+ casper
+ .start(lib.buildUrl('coding-rules'), function () {
+ lib.setDefaultViewport();
+
+ lib.mockRequest('/api/l10n/index', '{}');
+ lib.mockRequestFromFile('/api/rules/app', 'app.json');
+ lib.mockRequestFromFile('/api/rules/search', 'search.json');
+ })
+
+ .then(function () {
+ casper.waitForSelector('.coding-rule.selected');
+ })
+
+ .then(function () {
+ test.assertSelectorContains('.coding-rule.selected', 'DEPRECATED');
+ })
+
+ .then(function () {
+ lib.sendCoverage();
+ })
+
+ .run(function () {
+ test.done();
+ });
+});
--- /dev/null
+/*
+ * SonarQube, open source software quality management tool.
+ * Copyright (C) 2008-2014 SonarSource
+ * mailto:contact AT sonarsource DOT com
+ *
+ * SonarQube 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.
+ *
+ * SonarQube 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.
+ */
+/* global casper:false */
+
+var lib = require('../lib');
+
+lib.initMessages();
+lib.changeWorkingDirectory('coding-rules-page-should-show-details');
+lib.configureCasper();
+
+
+casper.test.begin('coding-rules-page-should-show-details', 20, function (test) {
+ casper
+ .start(lib.buildUrl('coding-rules'), function () {
+ lib.setDefaultViewport();
+
+ lib.mockRequest('/api/l10n/index', '{}');
+ lib.mockRequestFromFile('/api/rules/app', 'app.json');
+ lib.mockRequestFromFile('/api/rules/search', 'search.json');
+ lib.mockRequestFromFile('/api/rules/show', 'show.json');
+ lib.mockRequest('/api/issues/search', '{}');
+ })
+
+ .then(function () {
+ casper.waitForSelector('.coding-rule.selected', function () {
+ casper.click('.coding-rule.selected .js-rule');
+ });
+ })
+
+ .then(function () {
+ casper.waitForSelector('.coding-rules-detail-header');
+ })
+
+ .then(function () {
+ test.assertSelectorContains('.search-navigator-workspace-details',
+ 'Throwable and Error classes should not be caught');
+
+ test.assertSelectorContains('.search-navigator-workspace-details', 'squid:S1181');
+ test.assertExists('.coding-rules-detail-properties .icon-severity-blocker');
+ test.assertSelectorContains('.coding-rules-detail-properties', 'error-handling');
+ test.assertSelectorContains('.coding-rules-detail-properties', '2013');
+ test.assertSelectorContains('.coding-rules-detail-properties', 'SonarQube (Java)');
+ test.assertSelectorContains('.coding-rules-detail-properties', 'Reliability > Exception handling');
+ test.assertSelectorContains('.coding-rules-detail-properties', 'LINEAR');
+ test.assertSelectorContains('.coding-rules-detail-properties', '20min');
+
+ test.assertSelectorContains('.coding-rules-detail-description', 'is the superclass of all errors and');
+ test.assertSelectorContains('.coding-rules-detail-description', 'its subclasses should be caught.');
+ test.assertSelectorContains('.coding-rules-detail-description', 'Noncompliant Code Example');
+ test.assertSelectorContains('.coding-rules-detail-description', 'Compliant Solution');
+
+ test.assertSelectorContains('.coding-rules-detail-parameters', 'max');
+ test.assertSelectorContains('.coding-rules-detail-parameters', 'Maximum authorized number of parameters');
+ test.assertSelectorContains('.coding-rules-detail-parameters', '7');
+
+ test.assertElementCount('.coding-rules-detail-quality-profile-name', 6);
+ test.assertSelectorContains('.coding-rules-detail-quality-profile-name', 'Default - Top');
+ test.assertElementCount('.coding-rules-detail-quality-profile-inheritance', 4);
+ test.assertSelectorContains('.coding-rules-detail-quality-profile-inheritance', 'Default - Top');
+ })
+
+ .then(function () {
+ lib.sendCoverage();
+ })
+
+ .run(function () {
+ test.done();
+ });
+});
--- /dev/null
+/*
+ * SonarQube, open source software quality management tool.
+ * Copyright (C) 2008-2014 SonarSource
+ * mailto:contact AT sonarsource DOT com
+ *
+ * SonarQube 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.
+ *
+ * SonarQube 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.
+ */
+/* global casper:false */
+
+var lib = require('../lib');
+
+lib.initMessages();
+lib.changeWorkingDirectory('coding-rules-page-should-show-empty-list');
+lib.configureCasper();
+
+
+casper.test.begin('coding-rules-page-should-show-empty-list', 3, function (test) {
+ casper
+ .start(lib.buildUrl('coding-rules'), function () {
+ lib.setDefaultViewport();
+
+ lib.mockRequest('/api/l10n/index', '{}');
+ lib.mockRequestFromFile('/api/rules/app', 'app.json');
+ lib.mockRequestFromFile('/api/rules/search', 'search.json');
+ })
+
+ .then(function () {
+ casper.waitForSelector('.search-navigator-facet-box');
+ })
+
+ .then(function () {
+ test.assertDoesntExist('.coding-rule');
+ test.assertSelectorContains('#coding-rules-total', 0);
+ test.assertExists('.search-navigator-no-results');
+ })
+
+ .then(function () {
+ lib.sendCoverage();
+ })
+
+ .run(function () {
+ test.done();
+ });
+});
--- /dev/null
+/*
+ * SonarQube, open source software quality management tool.
+ * Copyright (C) 2008-2014 SonarSource
+ * mailto:contact AT sonarsource DOT com
+ *
+ * SonarQube 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.
+ *
+ * SonarQube 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.
+ */
+/* global casper:false */
+
+var lib = require('../lib');
+
+lib.initMessages();
+lib.changeWorkingDirectory('coding-rules');
+lib.configureCasper();
+
+
+casper.test.begin('coding-rules-page-should-show-facets', 1, function (test) {
+ casper
+ .start(lib.buildUrl('coding-rules'), function () {
+ lib.setDefaultViewport();
+
+ lib.mockRequest('/api/l10n/index', '{}');
+ lib.mockRequestFromFile('/api/rules/app', 'app.json');
+ lib.mockRequestFromFile('/api/rules/search', 'search.json');
+ })
+
+ .then(function () {
+ casper.waitForSelector('.search-navigator-facet-box');
+ })
+
+ .then(function () {
+ test.assertElementCount('.search-navigator-facet-box', 13);
+ })
+
+ .then(function () {
+ lib.sendCoverage();
+ })
+
+ .run(function () {
+ test.done();
+ });
+});
--- /dev/null
+/*
+ * SonarQube, open source software quality management tool.
+ * Copyright (C) 2008-2014 SonarSource
+ * mailto:contact AT sonarsource DOT com
+ *
+ * SonarQube 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.
+ *
+ * SonarQube 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.
+ */
+/* global casper:false */
+
+var lib = require('../lib');
+
+lib.initMessages();
+lib.changeWorkingDirectory('coding-rules-page-should-show-rule-issues');
+lib.configureCasper();
+
+
+casper.test.begin('coding-rules-page-should-show-rule-issues', 5, function (test) {
+ casper
+ .start(lib.buildUrl('coding-rules'), function () {
+ lib.setDefaultViewport();
+
+ lib.mockRequest('/api/l10n/index', '{}');
+ lib.mockRequestFromFile('/api/rules/app', 'app.json');
+ lib.mockRequestFromFile('/api/rules/search', 'search.json');
+ lib.mockRequestFromFile('/api/rules/show', 'show.json');
+ lib.mockRequestFromFile('/api/issues/search', 'issues-search.json');
+ })
+
+ .then(function () {
+ casper.waitForSelector('.coding-rule.selected', function () {
+ casper.click('.coding-rule.selected .js-rule');
+ });
+ })
+
+ .then(function () {
+ casper.waitForSelector('.coding-rules-most-violated-projects');
+ })
+
+ .then(function () {
+ test.assertSelectorContains('.js-rule-issues', '7');
+ test.assertSelectorContains('.coding-rules-most-violated-projects', 'SonarQube');
+ test.assertSelectorContains('.coding-rules-most-violated-projects', '2');
+ test.assertSelectorContains('.coding-rules-most-violated-projects', 'SonarQube Runner');
+ test.assertSelectorContains('.coding-rules-most-violated-projects', '1');
+ })
+
+ .then(function () {
+ lib.sendCoverage();
+ })
+
+ .run(function () {
+ test.done();
+ });
+});
--- /dev/null
+/*
+ * SonarQube, open source software quality management tool.
+ * Copyright (C) 2008-2014 SonarSource
+ * mailto:contact AT sonarsource DOT com
+ *
+ * SonarQube 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.
+ *
+ * SonarQube 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.
+ */
+/* global casper:false */
+
+var lib = require('../lib');
+
+lib.initMessages();
+lib.changeWorkingDirectory('coding-rules');
+lib.configureCasper();
+
+
+casper.test.begin('coding-rules-page-should-show-rule', 7, function (test) {
+ casper
+ .start(lib.buildUrl('coding-rules'), function () {
+ lib.setDefaultViewport();
+
+ lib.mockRequest('/api/l10n/index', '{}');
+ lib.mockRequestFromFile('/api/rules/app', 'app.json');
+ lib.mockRequestFromFile('/api/rules/search', 'search.json');
+ })
+
+ .then(function () {
+ casper.waitForSelector('.coding-rule.selected');
+ })
+
+ .then(function () {
+ test.assertSelectorContains('.coding-rule.selected', 'Values passed to SQL commands should be sanitized');
+ test.assertSelectorContains('.coding-rule.selected', 'Java');
+ test.assertSelectorContains('.coding-rule.selected', 'cwe');
+ test.assertSelectorContains('.coding-rule.selected', 'owasp-top10');
+ test.assertSelectorContains('.coding-rule.selected', 'security');
+ test.assertSelectorContains('.coding-rule.selected', 'sql');
+ test.assertSelectorContains('.coding-rule.selected', 'custom-tag');
+ })
+
+ .then(function () {
+ lib.sendCoverage();
+ })
+
+ .run(function () {
+ test.done();
+ });
+});
--- /dev/null
+/*
+ * SonarQube, open source software quality management tool.
+ * Copyright (C) 2008-2014 SonarSource
+ * mailto:contact AT sonarsource DOT com
+ *
+ * SonarQube 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.
+ *
+ * SonarQube 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.
+ */
+/* global casper:false */
+
+var lib = require('../lib');
+
+lib.initMessages();
+lib.changeWorkingDirectory('coding-rules');
+lib.configureCasper();
+
+
+casper.test.begin('coding-rules-page-should-show-rules', 4, function (test) {
+ casper
+ .start(lib.buildUrl('coding-rules'), function () {
+ lib.setDefaultViewport();
+
+ lib.mockRequest('/api/l10n/index', '{}');
+ lib.mockRequestFromFile('/api/rules/app', 'app.json');
+ lib.mockRequestFromFile('/api/rules/search', 'search.json');
+ })
+
+ .then(function () {
+ casper.waitForSelector('.coding-rule');
+ })
+
+ .then(function () {
+ test.assertElementCount('.coding-rule', 25);
+ test.assertSelectorContains('.coding-rule', 'Values passed to SQL commands should be sanitized');
+ test.assertSelectorContains('.coding-rule', 'An open curly brace should be located at the beginning of a line');
+ test.assertSelectorContains('#coding-rules-total', '609');
+ })
+
+ .then(function () {
+ lib.sendCoverage();
+ })
+
+ .run(function () {
+ test.done();
+ });
+});
--- /dev/null
+/*
+ * SonarQube, open source software quality management tool.
+ * Copyright (C) 2008-2014 SonarSource
+ * mailto:contact AT sonarsource DOT com
+ *
+ * SonarQube 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.
+ *
+ * SonarQube 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.
+ */
+var lib = require('../lib'),
+ testName = lib.testName('Design');
+
+lib.initMessages();
+lib.changeWorkingDirectory('design-spec');
+lib.configureCasper();
+
+
+casper.test.begin(testName('Base'), function suite(test) {
+ casper
+ .start(lib.buildUrl('design'), function () {
+ lib.setDefaultViewport();
+ lib.mockRequest('/api/l10n/index', '{}');
+ lib.mockRequestFromFile('/api/resources', 'resources.json');
+ lib.mockRequestFromFile('/api/dependencies', 'dependencies.json');
+ })
+
+ .then(function () {
+ casper.waitWhileSelector('.spinner');
+ })
+
+ .then(function () {
+ test.assertSelectorContains('.dsm-body', 'src/test/java/com/maif/sonar/cobol/metrics');
+ test.assertSelectorContains('.dsm-body', 'src/test/java/com/maif/sonar/cobol/repository');
+ test.assertElementCount('.dsm-body-cell-dependency', 12);
+ test.assertElementCount('.dsm-body-cell-cycle', 1);
+ test.assertSelectorContains('.dsm-body-cell-cycle', '6');
+ })
+
+ .then(function () {
+ casper.mouse.doubleclick('.dsm-body-cell-cycle');
+ casper.waitForSelector('.spinner', function () {
+ casper.waitWhileSelector('.spinner');
+ })
+ })
+
+ .then(function () {
+ test.assertElementCount('.dsm-info tr', 7);
+ test.assertSelectorContains('.dsm-info', 'src/main/java/com/maif/sonar/cobol/api/MaifCobolMeasureProvider.java');
+ test.assertSelectorContains('.dsm-info', 'src/main/java/com/maif/sonar/cobol/metrics/BusinessRuleCounter.java ');
+ test.assertSelectorContains('.dsm-info', 'src/main/java/com/maif/sonar/cobol/metrics/TableMetricsVisitor.java ');
+ })
+
+ .then(function () {
+ lib.sendCoverage();
+ })
+
+ .run(function () {
+ test.done();
+ });
+});
--- /dev/null
+/*
+ * SonarQube, open source software quality management tool.
+ * Copyright (C) 2008-2014 SonarSource
+ * mailto:contact AT sonarsource DOT com
+ *
+ * SonarQube 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.
+ *
+ * SonarQube 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.
+ */
+/* globals casper: false */
+
+var lib = require('../lib');
+
+
+lib.initMessages();
+lib.changeWorkingDirectory('issues-page-should-open-issue-permalink');
+lib.configureCasper();
+
+
+var issueKey = 'some-issue-key';
+
+
+casper.test.begin('issues-page-should-open-issue-permalink', 3, function (test) {
+ casper
+ .start(lib.buildUrl('issues#issues=' + encodeURI(issueKey)), function () {
+ lib.setDefaultViewport();
+
+ lib.mockRequest('/api/l10n/index', '{}');
+ lib.mockRequestFromFile('/api/issue_filters/app', 'app.json');
+ lib.mockRequest('/api/issues/search', '{}', { data: { issues: issueKey, p: 2 } });
+ lib.mockRequestFromFile('/api/issues/search', 'search.json', { data: { issues: issueKey } });
+ lib.mockRequestFromFile('/api/components/app', 'components-app.json');
+ lib.mockRequestFromFile('/api/sources/lines', 'lines.json');
+ })
+
+ .then(function () {
+ casper.waitForSelector('.source-line', function () {
+ test.assertSelectorContains('.source-viewer', 'public void executeOn(Project project, SensorContext context');
+ test.assertElementCount('.issue', 1);
+ test.assertExist('.issue[data-key="' + issueKey + '"]');
+ });
+ })
+
+ .then(function () {
+ lib.sendCoverage();
+ })
+
+ .run(function () {
+ test.done();
+ });
+});
--- /dev/null
+/*
+ * SonarQube, open source software quality management tool.
+ * Copyright (C) 2008-2014 SonarSource
+ * mailto:contact AT sonarsource DOT com
+ *
+ * SonarQube 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.
+ *
+ * SonarQube 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.
+ */
+/* globals casper: false */
+
+var lib = require('../lib'),
+ testName = lib.testName('Issues');
+
+
+lib.initMessages();
+lib.changeWorkingDirectory('issues-spec');
+lib.configureCasper();
+
+
+casper.test.begin(testName('Base'), function (test) {
+ casper
+ .start(lib.buildUrl('issues'), function () {
+ lib.setDefaultViewport();
+
+ lib.mockRequest('/api/l10n/index', '{}');
+ lib.mockRequestFromFile('/api/issue_filters/app', 'app.json');
+ lib.mockRequestFromFile('/api/issues/search', 'search.json');
+ })
+
+ .then(function () {
+ casper.waitForSelector('.facet[data-value=BLOCKER]', function () {
+ // Facets
+ test.assertExists('.facet[data-value=BLOCKER]');
+ test.assertExists('.facet[data-value=CRITICAL]');
+ test.assertExists('.facet[data-value=MAJOR]');
+ test.assertExists('.facet[data-value=MINOR]');
+ test.assertExists('.facet[data-value=INFO]');
+
+ test.assertExists('.facet[data-value=OPEN]');
+ test.assertExists('.facet[data-value=REOPENED]');
+ test.assertExists('.facet[data-value=CONFIRMED]');
+ test.assertExists('.facet[data-value=RESOLVED]');
+ test.assertExists('.facet[data-value=CLOSED]');
+
+ test.assertExists('.facet[data-unresolved]');
+ test.assertExists('.facet[data-value=REMOVED]');
+ test.assertExists('.facet[data-value=FIXED]');
+ test.assertExists('.facet[data-value=FALSE-POSITIVE]');
+
+ // Issues
+ test.assertElementCount('.issue', 50);
+ test.assertElementCount('.issue.selected', 1);
+ test.assertSelectorContains('.issue', '1 more branches need to be covered by unit tests to reach');
+
+ // Filters
+ test.assertExists('.js-toggle-filters');
+ test.assertExists('.js-new-search');
+ test.assertExists('.js-filter-save-as');
+
+ // Workspace header
+ test.assertSelectorContains('#issues-total', '4623');
+ test.assertExists('.js-prev');
+ test.assertExists('.js-next');
+ test.assertExists('.js-reload');
+ test.assertExists('.js-bulk-change');
+ });
+ })
+
+ .then(function () {
+ lib.sendCoverage();
+ })
+
+ .run(function () {
+ test.done();
+ });
+});
+
+
+casper.test.begin(testName('Issue Box', 'Check Elements'), function (test) {
+ casper
+ .start(lib.buildUrl('issues'), function () {
+ lib.setDefaultViewport();
+
+ lib.mockRequest('/api/l10n/index', '{}');
+ lib.mockRequestFromFile('/api/issue_filters/app', 'app.json');
+ lib.mockRequestFromFile('/api/issues/search', 'search.json');
+ })
+
+ .then(function () {
+ casper.waitForSelector('.issue.selected');
+ })
+
+ .then(function () {
+ test.assertSelectorContains('.issue.selected', "Add a 'package-info.java' file to document the");
+ test.assertExists('.issue.selected .js-issue-tags');
+ test.assertSelectorContains('.issue.selected .js-issue-tags', 'issue.no_tag');
+ test.assertExists('.issue.selected .js-issue-set-severity');
+ test.assertSelectorContains('.issue.selected .js-issue-set-severity', 'MAJOR');
+ test.assertSelectorContains('.issue.selected', 'CONFIRMED');
+ test.assertElementCount('.issue.selected .js-issue-transition', 1);
+ test.assertExists('.issue.selected .js-issue-transition');
+ test.assertExists('.issue.selected .js-issue-assign');
+ test.assertSelectorContains('.issue.selected .js-issue-assign', 'unassigned');
+ test.assertExists('.issue.selected .js-issue-plan');
+ test.assertSelectorContains('.issue.selected .js-issue-plan', 'unplanned');
+ test.assertSelectorContains('.issue.selected', '20min');
+ test.assertExists('.issue.selected .js-issue-comment');
+ test.assertExists('.issue.selected .js-issue-show-changelog');
+ })
+
+ .then(function () {
+ lib.sendCoverage();
+ })
+
+ .run(function () {
+ test.done();
+ });
+});
+
+
+casper.test.begin(testName('Issue Box', 'Tags'), function (test) {
+ casper
+ .start(lib.buildUrl('issues'), function () {
+ lib.setDefaultViewport();
+
+ lib.mockRequest('/api/l10n/index', '{}');
+ lib.mockRequestFromFile('/api/issue_filters/app', 'app.json');
+ lib.mockRequestFromFile('/api/issues/search', 'search-with-tags.json');
+ lib.mockRequestFromFile('/api/issues/tags', 'tags.json');
+ lib.mockRequestFromFile('/api/issues/set_tags', 'tags-modified.json');
+ })
+
+ .then(function () {
+ casper.waitForSelector('.issue.selected .js-issue-tags');
+ })
+
+ .then(function () {
+ test.assertSelectorContains('.issue.selected .js-issue-tags', 'security, cwe');
+ casper.click('.issue.selected .js-issue-edit-tags');
+ })
+
+ .then(function () {
+ casper.waitForSelector('.issue-action-option[data-value=design]');
+ })
+
+ .then(function () {
+ casper.click('.issue-action-option[data-value=design]');
+ test.assertSelectorContains('.issue.selected .js-issue-tags', 'security, cwe, design');
+ })
+
+ .then(function () {
+ casper.click('.issue-action-option[data-value=cwe]');
+ test.assertSelectorContains('.issue.selected .js-issue-tags', 'security, design');
+ })
+
+ .then(function () {
+ lib.sendCoverage();
+ })
+
+ .run(function () {
+ test.done();
+ });
+});
+
+
+casper.test.begin(testName('Issue Box', 'Transitions'), function (test) {
+ casper
+ .start(lib.buildUrl('issues'), function () {
+ lib.setDefaultViewport();
+
+ lib.mockRequest('/api/l10n/index', '{}');
+ lib.mockRequestFromFile('/api/issue_filters/app', 'app.json');
+ lib.mockRequestFromFile('/api/issues/search', 'search.json');
+ lib.mockRequestFromFile('/api/issues/show*', 'show.json');
+ lib.mockRequest('/api/issues/do_transition', '{}');
+ })
+
+ .then(function () {
+ casper.waitForSelector('.issue.selected .js-issue-transition');
+ })
+
+ .then(function () {
+ casper.click('.issue.selected .js-issue-transition');
+ casper.waitForSelector('.issue-action-option');
+ })
+
+ .then(function () {
+ test.assertExists('.issue-action-option[data-value=unconfirm]');
+ test.assertExists('.issue-action-option[data-value=resolve]');
+ test.assertExists('.issue-action-option[data-value=falsepositive]');
+ })
+
+ .then(function () {
+ lib.sendCoverage();
+ })
+
+ .run(function () {
+ test.done();
+ });
+});
+
+
+casper.test.begin(testName('File-Level Issues'), function (test) {
+ var issueKey = '200d4a8b-9666-4e70-9953-7bab57933f97',
+ issueSelector = '.issue[data-key="' + issueKey + '"]';
+
+ casper
+ .start(lib.buildUrl('issues'), function () {
+ lib.setDefaultViewport();
+
+ lib.mockRequest('/api/l10n/index', '{}');
+ lib.mockRequestFromFile('/api/issue_filters/app', 'app.json');
+ lib.mockRequestFromFile('/api/issues/search', 'file-level/search.json');
+ lib.mockRequestFromFile('/api/components/app', 'file-level/components-app.json');
+ lib.mockRequestFromFile('/api/sources/lines', 'file-level/lines.json');
+ })
+
+ .then(function () {
+ casper.waitForSelector(issueSelector, function () {
+ casper.click(issueSelector + ' .js-issue-navigate');
+ });
+ })
+
+ .then(function () {
+ casper.waitForSelector('.source-viewer ' + issueSelector, function () {
+ test.assertSelectorContains('.source-viewer ' + issueSelector, '1 duplicated blocks of code');
+ });
+ })
+
+ .then(function () {
+ lib.sendCoverage();
+ })
+
+ .run(function () {
+ test.done();
+ });
+});
+
+
+casper.test.begin(testName('Severity Facet'), function (test) {
+ casper
+ .start(lib.buildUrl('issues'), function () {
+ lib.setDefaultViewport();
+
+ lib.mockRequest('/api/l10n/index', '{}');
+ lib.mockRequestFromFile('/api/issue_filters/app', 'app.json');
+ lib.mockRequestFromFile('/api/issues/search', 'search-reopened.json', { data: { severities: 'BLOCKER' } });
+ lib.mockRequestFromFile('/api/issues/search', 'search.json');
+ })
+
+ .then(function () {
+ casper.waitForSelector('.facet[data-value=BLOCKER]', function () {
+ casper.click('.facet[data-value=BLOCKER]');
+ });
+ })
+
+ .then(function () {
+ casper.waitForSelectorTextChange('#issues-total', function () {
+ test.assertElementCount('.issue', 4);
+ });
+ })
+
+ .then(function () {
+ lib.sendCoverage();
+ })
+
+ .run(function () {
+ test.done();
+ });
+});
+
+
+casper.test.begin(testName('Bulk Change'), function (test) {
+ casper
+ .start(lib.buildUrl('issues'), function () {
+ lib.setDefaultViewport();
+
+ lib.mockRequest('/api/l10n/index', '{}');
+ lib.mockRequestFromFile('/api/issue_filters/app', 'app.json');
+ lib.mockRequestFromFile('/api/issues/search', 'search.json');
+ lib.mockRequest('/issues/bulk_change_form?resolved=false',
+ '<div id="bulk-change-form">bulk change form</div>', { contentType: 'text/plain' });
+ })
+
+ .then(function () {
+ casper.waitForSelector('.issue', function () {
+ casper.waitForSelector('#issues-bulk-change');
+ });
+ })
+
+ .then(function () {
+ casper.click('#issues-bulk-change');
+ casper.waitForSelector('#bulk-change-form', function () {
+ test.assertSelectorContains('#bulk-change-form', 'bulk change form');
+ });
+ })
+
+ .then(function () {
+ lib.sendCoverage();
+ })
+
+ .run(function () {
+ test.done();
+ });
+});
--- /dev/null
+/*
+ * SonarQube, open source software quality management tool.
+ * Copyright (C) 2008-2014 SonarSource
+ * mailto:contact AT sonarsource DOT com
+ *
+ * SonarQube 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.
+ *
+ * SonarQube 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.
+ */
+/* global casper:false */
+
+var lib = require('../lib');
+
+lib.initMessages();
+lib.changeWorkingDirectory('quality-gates-spec');
+lib.configureCasper();
+
+
+casper.test.begin('Quality Gates', function suite (test) {
+ casper
+ .start(lib.buildUrl('quality-gates'), function () {
+ lib.setDefaultViewport();
+
+ lib.mockRequest('/api/l10n/index', '{}');
+ lib.mockRequestFromFile('/api/qualitygates/app', 'app.json');
+ lib.mockRequestFromFile('/api/qualitygates/list', 'list.json');
+ lib.mockRequestFromFile('/api/qualitygates/show?id=1', 'show.json');
+ })
+
+ .then(function () {
+ casper.waitForSelector('.active', function () {
+ test.assertElementCount('.active', 1);
+ test.assertSelectorHasText('.search-navigator-side .active', 'Default Gate');
+ });
+ })
+
+ .then(function () {
+ casper.waitForSelector('.search-navigator-workspace-header', function () {
+ test.assertSelectorHasText('.search-navigator-workspace-header', 'Default Gate');
+ });
+ })
+
+ .then(function () {
+ casper.waitForSelector('table.quality-gate-conditions tbody tr:nth-child(9)', function () {
+ test.assertElementCount('table.quality-gate-conditions tbody tr', 9);
+ });
+ })
+
+ .then(function () {
+ lib.sendCoverage();
+ })
+
+ .run(function () {
+ test.done();
+ });
+});
--- /dev/null
+/*
+ * SonarQube, open source software quality management tool.
+ * Copyright (C) 2008-2014 SonarSource
+ * mailto:contact AT sonarsource DOT com
+ *
+ * SonarQube 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.
+ *
+ * SonarQube 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.
+ */
+/* global casper:false */
+
+var lib = require('../lib'),
+ testName = lib.testName('Source Viewer');
+
+lib.initMessages();
+lib.changeWorkingDirectory('source-viewer-create-manual-issue');
+lib.configureCasper();
+
+
+casper.test.begin(testName('source-viewer-create-manual-issue'), function (test) {
+ casper
+ .start(lib.buildUrl('source-viewer'), function () {
+ lib.setDefaultViewport();
+
+ lib.mockRequest('/api/l10n/index', '{}');
+ lib.mockRequestFromFile('/api/components/app', 'app.json');
+ lib.mockRequestFromFile('/api/sources/lines', 'lines.json');
+ lib.mockRequestFromFile('/api/issues/search', 'issues.json');
+ lib.mockRequestFromFile('/api/issues/create', 'create-issue.json');
+ lib.mockRequestFromFile('/api/issues/show', 'create-issue.json');
+ lib.mockRequestFromFile('/api/rules/search*', 'api-rules-search.json');
+ })
+
+ .then(function () {
+ casper.waitForSelector('.source-line-number[data-line-number="3"]');
+ })
+
+ .then(function () {
+ casper.click('.source-line-number[data-line-number="3"]');
+ casper.waitForSelector('.js-add-manual-issue');
+ })
+
+ .then(function () {
+ casper.click('.js-add-manual-issue');
+ casper.waitForSelector('.js-manual-issue-form');
+ })
+
+ .then(function () {
+ casper.fill('.js-manual-issue-form', {
+ rule: 'manual:api',
+ message: 'An issue message'
+ }, true);
+ })
+
+ .then(function () {
+ casper.waitForSelector('.source-line-code.has-issues[data-line-number="3"]', function () {
+ test.assertExists('.source-line-code.has-issues[data-line-number="3"]');
+ });
+ })
+
+ .then(function () {
+ lib.sendCoverage();
+ })
+
+ .run(function () {
+ test.done();
+ });
+});
--- /dev/null
+/*
+ * SonarQube, open source software quality management tool.
+ * Copyright (C) 2008-2014 SonarSource
+ * mailto:contact AT sonarsource DOT com
+ *
+ * SonarQube 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.
+ *
+ * SonarQube 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.
+ */
+/* global casper:false */
+
+var lib = require('../lib'),
+ testName = lib.testName('Source Viewer');
+
+lib.initMessages();
+lib.changeWorkingDirectory('source-viewer-spec');
+lib.configureCasper();
+
+
+casper.test.begin(testName('Mark as Favorite'), function (test) {
+ casper
+ .start(lib.buildUrl('source-viewer'), function () {
+ lib.setDefaultViewport();
+ lib.mockRequest('/api/l10n/index', '{}');
+ lib.mockRequest('/api/favourites', '{}', { type: 'POST' });
+ lib.mockRequest('/api/favourites/*', '{}', { type: 'DELETE' });
+ lib.mockRequestFromFile('/api/components/app', 'app.json');
+ lib.mockRequestFromFile('/api/sources/lines', 'lines.json');
+ lib.mockRequestFromFile('/api/issues/search', 'issues.json');
+ })
+
+ .then(function () {
+ casper.waitForSelector('.source-line');
+ })
+
+ .then(function () {
+ test.assertExists('.js-favorite');
+ test.assertExists('.icon-not-favorite');
+ casper.click('.js-favorite');
+ casper.waitForSelector('.icon-favorite', function () {
+ test.assertExists('.icon-favorite');
+ casper.click('.js-favorite');
+ casper.waitForSelector('.icon-not-favorite', function () {
+ test.assertExists('.icon-not-favorite');
+ });
+ });
+ })
+
+ .then(function () {
+ lib.sendCoverage();
+ })
+
+ .run(function () {
+ test.done();
+ });
+});
+
+
+casper.test.begin(testName('Don\'t Show Favorite If Not Logged In'), function (test) {
+ casper
+ .start(lib.buildUrl('source-viewer'), function () {
+ lib.setDefaultViewport();
+ lib.mockRequest('/api/l10n/index', '{}');
+ lib.mockRequestFromFile('/api/components/app', 'app-not-logged-in.json');
+ lib.mockRequestFromFile('/api/sources/lines', 'lines.json');
+ lib.mockRequestFromFile('/api/issues/search', 'issues.json');
+ })
+
+ .then(function () {
+ casper.waitForSelector('.source-line');
+ })
+
+ .then(function () {
+ test.assertDoesntExist('.js-favorite');
+ test.assertDoesntExist('.icon-favorite');
+ test.assertDoesntExist('.icon-not-favorite');
+ })
+
+ .then(function () {
+ lib.sendCoverage();
+ })
+
+ .run(function () {
+ test.done();
+ });
+});
--- /dev/null
+/*
+ * SonarQube, open source software quality management tool.
+ * Copyright (C) 2008-2014 SonarSource
+ * mailto:contact AT sonarsource DOT com
+ *
+ * SonarQube 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.
+ *
+ * SonarQube 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.
+ */
+/* global casper:false */
+
+var lib = require('../lib'),
+ testName = lib.testName('Source Viewer');
+
+lib.initMessages();
+lib.changeWorkingDirectory('source-viewer-spec');
+lib.configureCasper();
+
+
+casper.test.begin(testName('Link to Raw'), function (test) {
+ casper
+ .start(lib.buildUrl('source-viewer'), function () {
+ lib.setDefaultViewport();
+ lib.mockRequest('/api/l10n/index', '{}');
+ lib.mockRequestFromFile('/api/components/app', 'app.json');
+ lib.mockRequestFromFile('/api/sources/lines', 'lines.json');
+ lib.mockRequestFromFile('/api/issues/search', 'issues.json');
+ })
+
+ .then(function () {
+ casper.waitForSelector('.source-line');
+ })
+
+ .then(function () {
+ casper.click('.js-actions');
+ casper.waitForSelector('.js-raw-source', function () {
+ casper.click('.js-raw-source');
+ });
+ })
+
+ .then(function () {
+ casper.withPopup(/Cache\.java/, function () {
+ this.test.assertUrlMatch('org.codehaus.sonar:sonar-batch:src/main/java/org/sonar/batch/index/Cache.java');
+ });
+ })
+
+ .then(function () {
+ lib.sendCoverage();
+ })
+
+ .run(function () {
+ test.done();
+ });
+});
--- /dev/null
+/*
+ * SonarQube, open source software quality management tool.
+ * Copyright (C) 2008-2014 SonarSource
+ * mailto:contact AT sonarsource DOT com
+ *
+ * SonarQube 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.
+ *
+ * SonarQube 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.
+ */
+/* global casper:false */
+
+var lib = require('../lib'),
+ testName = lib.testName('Source Viewer');
+
+lib.initMessages();
+lib.changeWorkingDirectory('source-viewer-should-not-show-source-if-no-permission');
+lib.configureCasper();
+
+
+casper.test.begin(testName('source-viewer-should-not-show-source-if-no-permission'), function (test) {
+ casper
+ .start(lib.buildUrl('source-viewer'), function () {
+ lib.setDefaultViewport();
+
+ lib.mockRequest('/api/l10n/index', '{}');
+ lib.mockRequestFromFile('/api/components/app', 'api-components-app.json');
+ lib.mockRequest('/api/sources/lines', '{}', { status: 403 });
+ lib.mockRequestFromFile('/api/issues/search', 'api-issues-search.json');
+ })
+
+ .then(function () {
+ casper.waitForSelector('.message-error', function () {
+ test.assertDoesntExist('.source-line');
+ });
+ })
+
+ .then(function () {
+ lib.sendCoverage();
+ })
+
+ .run(function () {
+ test.done();
+ });
+});
--- /dev/null
+/*
+ * SonarQube, open source software quality management tool.
+ * Copyright (C) 2008-2014 SonarSource
+ * mailto:contact AT sonarsource DOT com
+ *
+ * SonarQube 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.
+ *
+ * SonarQube 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.
+ */
+/* global casper:false */
+
+var lib = require('../lib'),
+ testName = lib.testName('Source Viewer');
+
+lib.initMessages();
+lib.changeWorkingDirectory('source-viewer-should-open-in-new-window');
+lib.configureCasper();
+
+
+casper.test.begin(testName('source-viewer-should-open-in-new-window-with-line'), function (test) {
+ casper
+ .start(lib.buildUrl('source-viewer'), function () {
+ lib.setDefaultViewport();
+
+ lib.mockRequest('/api/l10n/index', '{}');
+ lib.mockRequestFromFile('/api/components/app', 'api-components-app.json');
+ lib.mockRequestFromFile('/api/sources/lines', 'api-sources-lines.json');
+ lib.mockRequestFromFile('/api/issues/search', 'api-issues-search.json');
+ })
+
+ .then(function () {
+ casper.waitForSelector('.source-line');
+ })
+
+ .then(function () {
+ casper.click('.source-line-number[data-line-number="6"]');
+ casper.waitForSelector('.bubble-popup');
+ })
+
+ .then(function () {
+ casper.click('.js-actions');
+ casper.waitForSelector('.js-new-window', function () {
+ casper.click('.js-new-window');
+ });
+ })
+
+ .then(function () {
+ casper.withPopup(/Simplest\.java/, function () {
+ this.test.assertUrlMatch('test:fake-project-for-tests:src/main/java/foo/Simplest.java');
+ this.test.assertUrlMatch('line=6');
+ });
+ })
+
+ .then(function () {
+ lib.sendCoverage();
+ })
+
+ .run(function () {
+ test.done();
+ });
+});
--- /dev/null
+/*
+ * SonarQube, open source software quality management tool.
+ * Copyright (C) 2008-2014 SonarSource
+ * mailto:contact AT sonarsource DOT com
+ *
+ * SonarQube 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.
+ *
+ * SonarQube 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.
+ */
+/* global casper:false */
+
+var lib = require('../lib'),
+ testName = lib.testName('Source Viewer');
+
+lib.initMessages();
+lib.changeWorkingDirectory('source-viewer-should-open-in-new-window');
+lib.configureCasper();
+
+
+casper.test.begin(testName('source-viewer-should-open-in-new-window'), function (test) {
+ casper
+ .start(lib.buildUrl('source-viewer'), function () {
+ lib.setDefaultViewport();
+
+ lib.mockRequest('/api/l10n/index', '{}');
+ lib.mockRequestFromFile('/api/components/app', 'api-components-app.json');
+ lib.mockRequestFromFile('/api/sources/lines', 'api-sources-lines.json');
+ lib.mockRequestFromFile('/api/issues/search', 'api-issues-search.json');
+ })
+
+ .then(function () {
+ casper.waitForSelector('.source-line');
+ })
+
+ .then(function () {
+ casper.click('.js-actions');
+ casper.waitForSelector('.js-new-window', function () {
+ casper.click('.js-new-window');
+ });
+ })
+
+ .then(function () {
+ casper.withPopup(/Simplest\.java/, function () {
+ this.test.assertUrlMatch('test:fake-project-for-tests:src/main/java/foo/Simplest.java');
+ });
+ })
+
+ .then(function () {
+ lib.sendCoverage();
+ })
+
+ .run(function () {
+ test.done();
+ });
+});
--- /dev/null
+/*
+ * SonarQube, open source software quality management tool.
+ * Copyright (C) 2008-2014 SonarSource
+ * mailto:contact AT sonarsource DOT com
+ *
+ * SonarQube 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.
+ *
+ * SonarQube 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.
+ */
+/* global casper:false */
+
+
+var lib = require('../lib'),
+ testName = lib.testName('Source Viewer');
+
+lib.initMessages();
+lib.changeWorkingDirectory('source-viewer-spec');
+lib.configureCasper();
+
+
+casper.test.begin(testName('Base'), function (test) {
+ casper
+ .start(lib.buildUrl('source-viewer'), function () {
+ lib.setDefaultViewport();
+
+ lib.mockRequest('/api/l10n/index', '{}');
+ lib.mockRequestFromFile('/api/components/app', 'app.json');
+ lib.mockRequestFromFile('/api/sources/lines', 'lines.json');
+ lib.mockRequestFromFile('/api/issues/search', 'issues.json');
+ })
+
+ .then(function () {
+ casper.waitForSelector('.source-line', function () {
+ // Check header elements
+ test.assertExists('.source-viewer-header');
+ test.assertSelectorContains('.source-viewer-header', 'SonarQube');
+ test.assertSelectorContains('.source-viewer-header', 'SonarQube :: Batch');
+ test.assertSelectorContains('.source-viewer-header', 'src/main/java/org/sonar/batch/index/Cache.java');
+ test.assertExists('.source-viewer-header .js-favorite');
+ test.assertExists('.source-viewer-header-actions');
+
+ // Check main measures
+ // FIXME enable lines check
+ //test.assertSelectorContains('.source-viewer-header-measure', '379');
+ test.assertSelectorContains('.source-viewer-header-measure', 'A');
+ test.assertSelectorContains('.source-viewer-header-measure', '2h 10min');
+ test.assertSelectorContains('.source-viewer-header-measure', '6');
+ test.assertSelectorContains('.source-viewer-header-measure', '74.3%');
+ test.assertSelectorContains('.source-viewer-header-measure', '5.8%');
+
+ // Check source
+ // FIXME enable source lines count check
+ //test.assertElementCount('.source-line', 518);
+ test.assertSelectorContains('.source-viewer', 'public class Cache');
+ });
+ })
+
+ .then(function () {
+ lib.sendCoverage();
+ })
+
+ .run(function () {
+ test.done();
+ });
+});
+
+
+casper.test.begin(testName('Decoration'), function (test) {
+ casper
+ .start(lib.buildUrl('source-viewer'), function () {
+ lib.setDefaultViewport();
+
+ lib.mockRequest('/api/l10n/index', '{}');
+ lib.mockRequestFromFile('/api/components/app', 'app.json');
+ lib.mockRequestFromFile('/api/sources/lines', 'lines.json');
+ lib.mockRequestFromFile('/api/issues/search', 'issues.json');
+ })
+
+ .then(function () {
+ casper.waitForSelector('.source-line');
+ })
+
+ .then(function () {
+ // Check issues decoration
+ test.assertElementCount('.has-issues', 6);
+ })
+
+ .then(function () {
+ // Check coverage decoration
+ test.assertElementCount('.source-line-covered', 142);
+ test.assertElementCount('.source-line-uncovered', 50);
+ test.assertElementCount('.source-line-partially-covered', 2);
+ })
+
+ .then(function () {
+ // Check duplications decoration
+ test.assertElementCount('.source-line-duplicated', 30);
+ })
+
+ .then(function () {
+ // Check scm decoration
+ test.assertElementCount('.source-line-scm-inner', 186);
+ test.assertExists('.source-line-scm-inner[data-author="simon.brandhof@gmail.com"]');
+ test.assertExists('.source-line-scm-inner[data-author="julien.henry@sonarsource.com"]');
+ })
+
+ .then(function () {
+ lib.sendCoverage();
+ })
+
+ .run(function () {
+ test.done();
+ });
+});
+
+
+casper.test.begin(testName('Test File'), function (test) {
+ casper
+ .start(lib.buildUrl('source-viewer'), function () {
+ lib.setDefaultViewport();
+
+ lib.mockRequest('/api/l10n/index', '{}');
+ lib.mockRequestFromFile('/api/components/app', 'tests/app.json');
+ lib.mockRequestFromFile('/api/sources/lines', 'tests/lines.json');
+ lib.mockRequestFromFile('/api/issues/search', 'issues.json');
+ })
+
+ .then(function () {
+ casper.waitForSelector('.source-line');
+ })
+
+ .then(function () {
+ test.assertSelectorContains('.source-viewer-header-measure', '6');
+ })
+
+ .then(function () {
+ lib.sendCoverage();
+ })
+
+ .run(function () {
+ test.done();
+ });
+});
--- /dev/null
+/*
+ * SonarQube, open source software quality management tool.
+ * Copyright (C) 2008-2014 SonarSource
+ * mailto:contact AT sonarsource DOT com
+ *
+ * SonarQube 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.
+ *
+ * SonarQube 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.
+ */
+var lib = require('../lib');
+
+lib.initMessages();
+lib.changeWorkingDirectory('treemap-spec');
+lib.configureCasper();
+
+
+casper.test.begin('Treemap', function (test) {
+ var treemapData = JSON.parse(fs.read('treemap.json'));
+
+ casper.start(lib.buildUrl('treemap'), function () {
+ lib.mockRequestFromFile('/api/resources/index', 'treemap-resources.json');
+
+ casper.evaluate(function (treemapData) {
+ var widget = new SonarWidgets.Treemap();
+ widget
+ .metrics(treemapData.metrics)
+ .metricsPriority(['coverage', 'ncloc'])
+ .components(treemapData.components)
+ .options({
+ heightInPercents: 55,
+ maxItems: 30,
+ maxItemsReachedMessage: '',
+ baseUrl: '/dashboard/index/',
+ noData: '',
+ resource: ''
+ })
+ .render('#container');
+ }, treemapData)
+ });
+
+ casper
+ .then(function () {
+ casper.waitWhileSelector('.spinner', function() {
+ test.assertElementCount('.treemap-cell', 30);
+ test.assertSelectorHasText('.treemap-cell', 'SonarQube');
+ test.assertMatch(casper.getElementAttribute('.treemap-link', 'href'), /dashboard\/index/,
+ 'Treemap cells have links to dashboards');
+ });
+ })
+ .then(function () {
+ casper.evaluate(function () {
+ var evt = document.createEvent('MouseEvents');
+ evt.initMouseEvent('click', true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
+ d3.select('.treemap-cell').node().dispatchEvent(evt);
+ });
+ })
+ .then(function () {
+ casper.wait(500, function () {
+ test.assertSelectorHasText('.treemap-cell', 'Server');
+ test.assertElementCount('.treemap-cell', 25);
+ });
+ })
+ .then(function () {
+ lib.sendCoverage();
+ });
+
+ casper.run(function() {
+ test.done();
+ });
+});
--- /dev/null
+{
+ "canWrite": false,
+ "qualityprofiles": [
+ {
+ "key": "java-default-with-mojo-conventions-49307",
+ "name": "Default - Maven Conventions",
+ "lang": "java",
+ "parentKey": "java-top-profile-without-formatting-conventions-50037"
+ },
+ {
+ "key": "java-default-with-sonarsource-conventions-27339",
+ "name": "Default - SonarSource conventions",
+ "lang": "java",
+ "parentKey": "java-top-profile-without-formatting-conventions-50037"
+ },
+ {
+ "key": "java-top-profile-without-formatting-conventions-50037",
+ "name": "Default - Top",
+ "lang": "java"
+ },
+ {
+ "key": "java-findbugs-14954",
+ "name": "FindBugs",
+ "lang": "java"
+ },
+ {
+ "key": "java-for-sq-java-plugin-only-92289",
+ "name": "For SQ Java Plugin Only",
+ "lang": "java",
+ "parentKey": "java-default-with-sonarsource-conventions-27339"
+ },
+ {
+ "key": "java-for-sq-only-95381",
+ "name": "For SQ Only",
+ "lang": "java",
+ "parentKey": "java-default-with-sonarsource-conventions-27339"
+ },
+ {
+ "key": "php-psr-2-06315",
+ "name": "PSR-2",
+ "lang": "php"
+ },
+ {
+ "key": "java-sonar-way-80423",
+ "name": "Sonar way",
+ "lang": "java"
+ },
+ {
+ "key": "js-sonar-way",
+ "name": "Sonar way",
+ "lang": "js"
+ },
+ {
+ "key": "php-sonar-way-05548",
+ "name": "Sonar way",
+ "lang": "php"
+ },
+ {
+ "key": "py-sonar-way-80265",
+ "name": "Sonar way",
+ "lang": "py"
+ },
+ {
+ "key": "java-without-findbugs",
+ "name": "Without Findbugs",
+ "lang": "java"
+ }
+ ],
+ "languages": {
+ "py": "Python",
+ "js": "JavaScript",
+ "php": "PHP",
+ "java": "Java"
+ },
+ "repositories": [
+ {
+ "key": "common-java",
+ "name": "Common SonarQube",
+ "language": "java"
+ },
+ {
+ "key": "common-js",
+ "name": "Common SonarQube",
+ "language": "js"
+ },
+ {
+ "key": "common-php",
+ "name": "Common SonarQube",
+ "language": "php"
+ },
+ {
+ "key": "common-py",
+ "name": "Common SonarQube",
+ "language": "py"
+ },
+ {
+ "key": "Pylint",
+ "name": "Pylint",
+ "language": "py"
+ },
+ {
+ "key": "javascript",
+ "name": "SonarQube",
+ "language": "js"
+ },
+ {
+ "key": "php",
+ "name": "SonarQube",
+ "language": "php"
+ },
+ {
+ "key": "python",
+ "name": "SonarQube",
+ "language": "py"
+ },
+ {
+ "key": "squid",
+ "name": "SonarQube",
+ "language": "java"
+ }
+ ],
+ "statuses": {
+ "BETA": "Beta",
+ "DEPRECATED": "Deprecated",
+ "READY": "Ready"
+ },
+ "characteristics": [
+ {
+ "key": "UNDERSTANDABILITY",
+ "name": "Understandability",
+ "parent": "MAINTAINABILITY"
+ },
+ {
+ "key": "MAINTAINABILITY",
+ "name": "Maintainability"
+ },
+ {
+ "key": "TIME_ZONE_RELATED_PORTABILITY",
+ "name": "Time zone related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "READABILITY",
+ "name": "Readability",
+ "parent": "MAINTAINABILITY"
+ },
+ {
+ "key": "SECURITY_FEATURES",
+ "name": "Security features",
+ "parent": "SECURITY"
+ },
+ {
+ "key": "ARCHITECTURE_RELIABILITY",
+ "name": "Architecture related reliability",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "OS_RELATED_PORTABILITY",
+ "name": "OS related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "EXCEPTION_HANDLING",
+ "name": "Exception handling",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "LOGIC_CHANGEABILITY",
+ "name": "Logic related changeability",
+ "parent": "CHANGEABILITY"
+ },
+ {
+ "key": "SOFTWARE_RELATED_PORTABILITY",
+ "name": "Software related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "INPUT_VALIDATION_AND_REPRESENTATION",
+ "name": "Input validation and representation",
+ "parent": "SECURITY"
+ },
+ {
+ "key": "LANGUAGE_RELATED_PORTABILITY",
+ "name": "Language related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "ERRORS",
+ "name": "Errors",
+ "parent": "SECURITY"
+ },
+ {
+ "key": "SECURITY",
+ "name": "Security"
+ },
+ {
+ "key": "RELIABILITY",
+ "name": "Reliability"
+ },
+ {
+ "key": "PORTABILITY",
+ "name": "Portability"
+ },
+ {
+ "key": "HARDWARE_RELATED_PORTABILITY",
+ "name": "Hardware related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "SYNCHRONIZATION_RELIABILITY",
+ "name": "Synchronization related reliability",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "TRANSPORTABILITY",
+ "name": "Transportability",
+ "parent": "REUSABILITY"
+ },
+ {
+ "key": "COMPILER_RELATED_PORTABILITY",
+ "name": "Compiler related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "RESOURCE_RELIABILITY",
+ "name": "Resource",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "CPU_EFFICIENCY",
+ "name": "Processor use",
+ "parent": "EFFICIENCY"
+ },
+ {
+ "key": "EFFICIENCY",
+ "name": "Efficiency"
+ },
+ {
+ "key": "CHANGEABILITY",
+ "name": "Changeability"
+ },
+ {
+ "key": "DATA_CHANGEABILITY",
+ "name": "Data related changeability",
+ "parent": "CHANGEABILITY"
+ },
+ {
+ "key": "API_ABUSE",
+ "name": "API abuse",
+ "parent": "SECURITY"
+ },
+ {
+ "key": "ARCHITECTURE_CHANGEABILITY",
+ "name": "Architecture related changeability",
+ "parent": "CHANGEABILITY"
+ },
+ {
+ "key": "UNIT_TESTS",
+ "name": "Unit tests",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "INSTRUCTION_RELIABILITY",
+ "name": "Instruction related reliability",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "REUSABILITY",
+ "name": "Reusability"
+ },
+ {
+ "key": "MODULARITY",
+ "name": "Modularity",
+ "parent": "REUSABILITY"
+ },
+ {
+ "key": "UNIT_TESTABILITY",
+ "name": "Unit level testability",
+ "parent": "TESTABILITY"
+ },
+ {
+ "key": "TESTABILITY",
+ "name": "Testability"
+ },
+ {
+ "key": "INTEGRATION_TESTABILITY",
+ "name": "Integration level testability",
+ "parent": "TESTABILITY"
+ },
+ {
+ "key": "NETWORK_USE",
+ "name": "Network use",
+ "parent": "EFFICIENCY"
+ },
+ {
+ "key": "MEMORY_EFFICIENCY",
+ "name": "Memory use",
+ "parent": "EFFICIENCY"
+ },
+ {
+ "key": "DATA_RELIABILITY",
+ "name": "Data related reliability",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "FAULT_TOLERANCE",
+ "name": "Fault tolerance",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "LOGIC_RELIABILITY",
+ "name": "Logic related reliability",
+ "parent": "RELIABILITY"
+ }
+ ]
+}
--- /dev/null
+{
+ "total": 4,
+ "p": 1,
+ "ps": 25,
+ "rules": [
+ {
+ "key": "squid:S2077",
+ "name": "Values passed to SQL commands should be sanitized",
+ "lang": "java",
+ "langName": "Java",
+ "sysTags": [
+ "cwe",
+ "owasp-top10",
+ "security",
+ "sql"
+ ],
+ "tags": [
+ "custom-tag"
+ ]
+ },
+ {
+ "key": "php:S107",
+ "name": "Functions should not have too many parameters",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1192",
+ "name": "String literals should not be duplicated",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [],
+ "tags": []
+ },
+ {
+ "key": "php:S1145",
+ "name": "\"if\" statement conditions should not always evaluate to \"true\" or to \"false\"",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "bug",
+ "cwe",
+ "security"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S108",
+ "name": "Nested blocks of code should not be left empty",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [],
+ "tags": []
+ },
+ {
+ "key": "php:S1301",
+ "name": "\"switch\" statements should have at least 3 \"case\" clauses",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [],
+ "tags": []
+ },
+ {
+ "key": "php:S103",
+ "name": "Lines should not be too long",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1144",
+ "name": "Unused private method should be removed",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "unused"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S105",
+ "name": "Tabulation characters should not be used",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention",
+ "psr2"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1481",
+ "name": "Unused local variables should be removed",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "unused"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1142",
+ "name": "Functions should not contain too many return statements",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S104",
+ "name": "Files should not have too many lines",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1605",
+ "name": "PHP 4 style calls to parent constructors should not be used in PHP5 \"__construct\" functions",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1448",
+ "name": "Classes should not have too many methods",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1603",
+ "name": "PHP 4 constructor declarations should not be used",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "pitfail"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1779",
+ "name": "Only LF character (Unix-like) should be used to end lines",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention",
+ "psr2"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1185",
+ "name": "Overriding methods should do more than simply call the same method in the super class",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [],
+ "tags": []
+ },
+ {
+ "key": "php:S1600",
+ "name": "Deprecated predefined variables should not be used",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "pitfail"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1109",
+ "name": "A close curly brace should be located at the beginning of a line",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S2001",
+ "name": "Functions deprecated in PHP 5 should not be used",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "obsolete"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S2002",
+ "name": "Errors should not be silenced",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "pitfail"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S2000",
+ "name": "Files should not contain characters before \"<?php\"",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "user-experience"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1105",
+ "name": "An open curly brace should be located at the end of a line",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1200",
+ "name": "Classes should not be coupled to too many other classes (Single Responsibility Principle)",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1106",
+ "name": "An open curly brace should be located at the beginning of a line",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ }
+ ],
+ "facets": [
+ {
+ "property": "tags",
+ "values": [
+ {
+ "val": "convention",
+ "count": 67
+ },
+ {
+ "val": "brain-overload",
+ "count": 36
+ },
+ {
+ "val": "bug",
+ "count": 36
+ },
+ {
+ "val": "cwe",
+ "count": 17
+ },
+ {
+ "val": "unused",
+ "count": 16
+ },
+ {
+ "val": "security",
+ "count": 14
+ },
+ {
+ "val": "pitfall",
+ "count": 12
+ },
+ {
+ "val": "psr2",
+ "count": 12
+ },
+ {
+ "val": "error-handling",
+ "count": 11
+ },
+ {
+ "val": "pitfail",
+ "count": 10
+ }
+ ]
+ },
+ {
+ "property": "languages",
+ "values": [
+ {
+ "val": "java",
+ "count": 212
+ },
+ {
+ "val": "py",
+ "count": 212
+ },
+ {
+ "val": "php",
+ "count": 103
+ },
+ {
+ "val": "js",
+ "count": 77
+ }
+ ]
+ },
+ {
+ "property": "repositories",
+ "values": [
+ {
+ "val": "squid",
+ "count": 206
+ },
+ {
+ "val": "Pylint",
+ "count": 180
+ },
+ {
+ "val": "php",
+ "count": 97
+ },
+ {
+ "val": "javascript",
+ "count": 73
+ },
+ {
+ "val": "python",
+ "count": 28
+ },
+ {
+ "val": "common-java",
+ "count": 6
+ },
+ {
+ "val": "common-php",
+ "count": 6
+ },
+ {
+ "val": "manual",
+ "count": 5
+ },
+ {
+ "val": "common-js",
+ "count": 4
+ },
+ {
+ "val": "common-py",
+ "count": 4
+ }
+ ]
+ }
+ ]
+}
--- /dev/null
+{
+ "total": 407,
+ "p": 1,
+ "ps": 25,
+ "rules": [
+ {
+ "key": "squid:S2077",
+ "name": "Values passed to SQL commands should be sanitized",
+ "lang": "java",
+ "langName": "Java",
+ "sysTags": [
+ "cwe",
+ "owasp-top10",
+ "security",
+ "sql"
+ ],
+ "tags": [
+ "custom-tag"
+ ]
+ },
+ {
+ "key": "php:S107",
+ "name": "Functions should not have too many parameters",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1192",
+ "name": "String literals should not be duplicated",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [],
+ "tags": []
+ },
+ {
+ "key": "php:S1145",
+ "name": "\"if\" statement conditions should not always evaluate to \"true\" or to \"false\"",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "bug",
+ "cwe",
+ "security"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S108",
+ "name": "Nested blocks of code should not be left empty",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [],
+ "tags": []
+ },
+ {
+ "key": "php:S1301",
+ "name": "\"switch\" statements should have at least 3 \"case\" clauses",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [],
+ "tags": []
+ },
+ {
+ "key": "php:S103",
+ "name": "Lines should not be too long",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1144",
+ "name": "Unused private method should be removed",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "unused"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S105",
+ "name": "Tabulation characters should not be used",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention",
+ "psr2"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1481",
+ "name": "Unused local variables should be removed",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "unused"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1142",
+ "name": "Functions should not contain too many return statements",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S104",
+ "name": "Files should not have too many lines",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1605",
+ "name": "PHP 4 style calls to parent constructors should not be used in PHP5 \"__construct\" functions",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1448",
+ "name": "Classes should not have too many methods",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1603",
+ "name": "PHP 4 constructor declarations should not be used",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "pitfail"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1779",
+ "name": "Only LF character (Unix-like) should be used to end lines",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention",
+ "psr2"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1185",
+ "name": "Overriding methods should do more than simply call the same method in the super class",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [],
+ "tags": []
+ },
+ {
+ "key": "php:S1600",
+ "name": "Deprecated predefined variables should not be used",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "pitfail"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1109",
+ "name": "A close curly brace should be located at the beginning of a line",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S2001",
+ "name": "Functions deprecated in PHP 5 should not be used",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "obsolete"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S2002",
+ "name": "Errors should not be silenced",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "pitfail"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S2000",
+ "name": "Files should not contain characters before \"<?php\"",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "user-experience"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1105",
+ "name": "An open curly brace should be located at the end of a line",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1200",
+ "name": "Classes should not be coupled to too many other classes (Single Responsibility Principle)",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1106",
+ "name": "An open curly brace should be located at the beginning of a line",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ }
+ ],
+ "facets": [
+ {
+ "property": "tags",
+ "values": [
+ {
+ "val": "convention",
+ "count": 67
+ },
+ {
+ "val": "brain-overload",
+ "count": 36
+ },
+ {
+ "val": "bug",
+ "count": 36
+ },
+ {
+ "val": "cwe",
+ "count": 17
+ },
+ {
+ "val": "unused",
+ "count": 16
+ },
+ {
+ "val": "security",
+ "count": 14
+ },
+ {
+ "val": "pitfall",
+ "count": 12
+ },
+ {
+ "val": "psr2",
+ "count": 12
+ },
+ {
+ "val": "error-handling",
+ "count": 11
+ },
+ {
+ "val": "pitfail",
+ "count": 10
+ }
+ ]
+ },
+ {
+ "property": "languages",
+ "values": [
+ {
+ "val": "java",
+ "count": 212
+ },
+ {
+ "val": "py",
+ "count": 212
+ },
+ {
+ "val": "php",
+ "count": 103
+ },
+ {
+ "val": "js",
+ "count": 77
+ }
+ ]
+ },
+ {
+ "property": "repositories",
+ "values": [
+ {
+ "val": "squid",
+ "count": 206
+ },
+ {
+ "val": "Pylint",
+ "count": 180
+ },
+ {
+ "val": "php",
+ "count": 97
+ },
+ {
+ "val": "javascript",
+ "count": 73
+ },
+ {
+ "val": "python",
+ "count": 28
+ },
+ {
+ "val": "common-java",
+ "count": 6
+ },
+ {
+ "val": "common-php",
+ "count": 6
+ },
+ {
+ "val": "manual",
+ "count": 5
+ },
+ {
+ "val": "common-js",
+ "count": 4
+ },
+ {
+ "val": "common-py",
+ "count": 4
+ }
+ ]
+ }
+ ]
+}
--- /dev/null
+{
+ "total": 609,
+ "p": 1,
+ "ps": 25,
+ "rules": [
+ {
+ "key": "squid:S2077",
+ "name": "Values passed to SQL commands should be sanitized",
+ "lang": "java",
+ "langName": "Java",
+ "sysTags": [
+ "cwe",
+ "owasp-top10",
+ "security",
+ "sql"
+ ],
+ "tags": [
+ "custom-tag"
+ ]
+ },
+ {
+ "key": "php:S107",
+ "name": "Functions should not have too many parameters",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1192",
+ "name": "String literals should not be duplicated",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [],
+ "tags": []
+ },
+ {
+ "key": "php:S1145",
+ "name": "\"if\" statement conditions should not always evaluate to \"true\" or to \"false\"",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "bug",
+ "cwe",
+ "security"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S108",
+ "name": "Nested blocks of code should not be left empty",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [],
+ "tags": []
+ },
+ {
+ "key": "php:S1301",
+ "name": "\"switch\" statements should have at least 3 \"case\" clauses",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [],
+ "tags": []
+ },
+ {
+ "key": "php:S103",
+ "name": "Lines should not be too long",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1144",
+ "name": "Unused private method should be removed",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "unused"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S105",
+ "name": "Tabulation characters should not be used",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention",
+ "psr2"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1481",
+ "name": "Unused local variables should be removed",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "unused"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1142",
+ "name": "Functions should not contain too many return statements",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S104",
+ "name": "Files should not have too many lines",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1605",
+ "name": "PHP 4 style calls to parent constructors should not be used in PHP5 \"__construct\" functions",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1448",
+ "name": "Classes should not have too many methods",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1603",
+ "name": "PHP 4 constructor declarations should not be used",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "pitfail"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1779",
+ "name": "Only LF character (Unix-like) should be used to end lines",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention",
+ "psr2"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1185",
+ "name": "Overriding methods should do more than simply call the same method in the super class",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [],
+ "tags": []
+ },
+ {
+ "key": "php:S1600",
+ "name": "Deprecated predefined variables should not be used",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "pitfail"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1109",
+ "name": "A close curly brace should be located at the beginning of a line",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S2001",
+ "name": "Functions deprecated in PHP 5 should not be used",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "obsolete"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S2002",
+ "name": "Errors should not be silenced",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "pitfail"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S2000",
+ "name": "Files should not contain characters before \"<?php\"",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "user-experience"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1105",
+ "name": "An open curly brace should be located at the end of a line",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1200",
+ "name": "Classes should not be coupled to too many other classes (Single Responsibility Principle)",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1106",
+ "name": "An open curly brace should be located at the beginning of a line",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ }
+ ],
+ "facets": [
+ {
+ "property": "tags",
+ "values": [
+ {
+ "val": "convention",
+ "count": 67
+ },
+ {
+ "val": "brain-overload",
+ "count": 36
+ },
+ {
+ "val": "bug",
+ "count": 36
+ },
+ {
+ "val": "cwe",
+ "count": 17
+ },
+ {
+ "val": "unused",
+ "count": 16
+ },
+ {
+ "val": "security",
+ "count": 14
+ },
+ {
+ "val": "pitfall",
+ "count": 12
+ },
+ {
+ "val": "psr2",
+ "count": 12
+ },
+ {
+ "val": "error-handling",
+ "count": 11
+ },
+ {
+ "val": "pitfail",
+ "count": 10
+ }
+ ]
+ },
+ {
+ "property": "languages",
+ "values": [
+ {
+ "val": "java",
+ "count": 212
+ },
+ {
+ "val": "py",
+ "count": 212
+ },
+ {
+ "val": "php",
+ "count": 103
+ },
+ {
+ "val": "js",
+ "count": 77
+ }
+ ]
+ },
+ {
+ "property": "repositories",
+ "values": [
+ {
+ "val": "squid",
+ "count": 206
+ },
+ {
+ "val": "Pylint",
+ "count": 180
+ },
+ {
+ "val": "php",
+ "count": 97
+ },
+ {
+ "val": "javascript",
+ "count": 73
+ },
+ {
+ "val": "python",
+ "count": 28
+ },
+ {
+ "val": "common-java",
+ "count": 6
+ },
+ {
+ "val": "common-php",
+ "count": 6
+ },
+ {
+ "val": "manual",
+ "count": 5
+ },
+ {
+ "val": "common-js",
+ "count": 4
+ },
+ {
+ "val": "common-py",
+ "count": 4
+ }
+ ]
+ }
+ ]
+}
--- /dev/null
+{
+ "canWrite": false,
+ "qualityprofiles": [
+ {
+ "key": "java-default-with-mojo-conventions-49307",
+ "name": "Default - Maven Conventions",
+ "lang": "java",
+ "parentKey": "java-top-profile-without-formatting-conventions-50037"
+ },
+ {
+ "key": "java-default-with-sonarsource-conventions-27339",
+ "name": "Default - SonarSource conventions",
+ "lang": "java",
+ "parentKey": "java-top-profile-without-formatting-conventions-50037"
+ },
+ {
+ "key": "java-top-profile-without-formatting-conventions-50037",
+ "name": "Default - Top",
+ "lang": "java"
+ },
+ {
+ "key": "java-findbugs-14954",
+ "name": "FindBugs",
+ "lang": "java"
+ },
+ {
+ "key": "java-for-sq-java-plugin-only-92289",
+ "name": "For SQ Java Plugin Only",
+ "lang": "java",
+ "parentKey": "java-default-with-sonarsource-conventions-27339"
+ },
+ {
+ "key": "java-for-sq-only-95381",
+ "name": "For SQ Only",
+ "lang": "java",
+ "parentKey": "java-default-with-sonarsource-conventions-27339"
+ },
+ {
+ "key": "php-psr-2-06315",
+ "name": "PSR-2",
+ "lang": "php"
+ },
+ {
+ "key": "java-sonar-way-80423",
+ "name": "Sonar way",
+ "lang": "java"
+ },
+ {
+ "key": "js-sonar-way",
+ "name": "Sonar way",
+ "lang": "js"
+ },
+ {
+ "key": "php-sonar-way-05548",
+ "name": "Sonar way",
+ "lang": "php"
+ },
+ {
+ "key": "py-sonar-way-80265",
+ "name": "Sonar way",
+ "lang": "py"
+ },
+ {
+ "key": "java-without-findbugs",
+ "name": "Without Findbugs",
+ "lang": "java"
+ }
+ ],
+ "languages": {
+ "py": "Python",
+ "js": "JavaScript",
+ "php": "PHP",
+ "java": "Java"
+ },
+ "repositories": [
+ {
+ "key": "common-java",
+ "name": "Common SonarQube",
+ "language": "java"
+ },
+ {
+ "key": "common-js",
+ "name": "Common SonarQube",
+ "language": "js"
+ },
+ {
+ "key": "common-php",
+ "name": "Common SonarQube",
+ "language": "php"
+ },
+ {
+ "key": "common-py",
+ "name": "Common SonarQube",
+ "language": "py"
+ },
+ {
+ "key": "Pylint",
+ "name": "Pylint",
+ "language": "py"
+ },
+ {
+ "key": "javascript",
+ "name": "SonarQube",
+ "language": "js"
+ },
+ {
+ "key": "php",
+ "name": "SonarQube",
+ "language": "php"
+ },
+ {
+ "key": "python",
+ "name": "SonarQube",
+ "language": "py"
+ },
+ {
+ "key": "squid",
+ "name": "SonarQube",
+ "language": "java"
+ }
+ ],
+ "statuses": {
+ "BETA": "Beta",
+ "DEPRECATED": "Deprecated",
+ "READY": "Ready"
+ },
+ "characteristics": [
+ {
+ "key": "UNDERSTANDABILITY",
+ "name": "Understandability",
+ "parent": "MAINTAINABILITY"
+ },
+ {
+ "key": "MAINTAINABILITY",
+ "name": "Maintainability"
+ },
+ {
+ "key": "TIME_ZONE_RELATED_PORTABILITY",
+ "name": "Time zone related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "READABILITY",
+ "name": "Readability",
+ "parent": "MAINTAINABILITY"
+ },
+ {
+ "key": "SECURITY_FEATURES",
+ "name": "Security features",
+ "parent": "SECURITY"
+ },
+ {
+ "key": "ARCHITECTURE_RELIABILITY",
+ "name": "Architecture related reliability",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "OS_RELATED_PORTABILITY",
+ "name": "OS related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "EXCEPTION_HANDLING",
+ "name": "Exception handling",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "LOGIC_CHANGEABILITY",
+ "name": "Logic related changeability",
+ "parent": "CHANGEABILITY"
+ },
+ {
+ "key": "SOFTWARE_RELATED_PORTABILITY",
+ "name": "Software related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "INPUT_VALIDATION_AND_REPRESENTATION",
+ "name": "Input validation and representation",
+ "parent": "SECURITY"
+ },
+ {
+ "key": "LANGUAGE_RELATED_PORTABILITY",
+ "name": "Language related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "ERRORS",
+ "name": "Errors",
+ "parent": "SECURITY"
+ },
+ {
+ "key": "SECURITY",
+ "name": "Security"
+ },
+ {
+ "key": "RELIABILITY",
+ "name": "Reliability"
+ },
+ {
+ "key": "PORTABILITY",
+ "name": "Portability"
+ },
+ {
+ "key": "HARDWARE_RELATED_PORTABILITY",
+ "name": "Hardware related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "SYNCHRONIZATION_RELIABILITY",
+ "name": "Synchronization related reliability",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "TRANSPORTABILITY",
+ "name": "Transportability",
+ "parent": "REUSABILITY"
+ },
+ {
+ "key": "COMPILER_RELATED_PORTABILITY",
+ "name": "Compiler related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "RESOURCE_RELIABILITY",
+ "name": "Resource",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "CPU_EFFICIENCY",
+ "name": "Processor use",
+ "parent": "EFFICIENCY"
+ },
+ {
+ "key": "EFFICIENCY",
+ "name": "Efficiency"
+ },
+ {
+ "key": "CHANGEABILITY",
+ "name": "Changeability"
+ },
+ {
+ "key": "DATA_CHANGEABILITY",
+ "name": "Data related changeability",
+ "parent": "CHANGEABILITY"
+ },
+ {
+ "key": "API_ABUSE",
+ "name": "API abuse",
+ "parent": "SECURITY"
+ },
+ {
+ "key": "ARCHITECTURE_CHANGEABILITY",
+ "name": "Architecture related changeability",
+ "parent": "CHANGEABILITY"
+ },
+ {
+ "key": "UNIT_TESTS",
+ "name": "Unit tests",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "INSTRUCTION_RELIABILITY",
+ "name": "Instruction related reliability",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "REUSABILITY",
+ "name": "Reusability"
+ },
+ {
+ "key": "MODULARITY",
+ "name": "Modularity",
+ "parent": "REUSABILITY"
+ },
+ {
+ "key": "UNIT_TESTABILITY",
+ "name": "Unit level testability",
+ "parent": "TESTABILITY"
+ },
+ {
+ "key": "TESTABILITY",
+ "name": "Testability"
+ },
+ {
+ "key": "INTEGRATION_TESTABILITY",
+ "name": "Integration level testability",
+ "parent": "TESTABILITY"
+ },
+ {
+ "key": "NETWORK_USE",
+ "name": "Network use",
+ "parent": "EFFICIENCY"
+ },
+ {
+ "key": "MEMORY_EFFICIENCY",
+ "name": "Memory use",
+ "parent": "EFFICIENCY"
+ },
+ {
+ "key": "DATA_RELIABILITY",
+ "name": "Data related reliability",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "FAULT_TOLERANCE",
+ "name": "Fault tolerance",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "LOGIC_RELIABILITY",
+ "name": "Logic related reliability",
+ "parent": "RELIABILITY"
+ }
+ ]
+}
--- /dev/null
+{
+ "total": 101,
+ "p": 1,
+ "ps": 25,
+ "rules": [
+ {
+ "key": "squid:S2077",
+ "name": "Values passed to SQL commands should be sanitized",
+ "lang": "java",
+ "langName": "Java",
+ "sysTags": [
+ "cwe",
+ "owasp-top10",
+ "security",
+ "sql"
+ ],
+ "tags": [
+ "custom-tag"
+ ]
+ },
+ {
+ "key": "php:S107",
+ "name": "Functions should not have too many parameters",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1192",
+ "name": "String literals should not be duplicated",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [],
+ "tags": []
+ },
+ {
+ "key": "php:S1145",
+ "name": "\"if\" statement conditions should not always evaluate to \"true\" or to \"false\"",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "bug",
+ "cwe",
+ "security"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S108",
+ "name": "Nested blocks of code should not be left empty",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [],
+ "tags": []
+ },
+ {
+ "key": "php:S1301",
+ "name": "\"switch\" statements should have at least 3 \"case\" clauses",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [],
+ "tags": []
+ },
+ {
+ "key": "php:S103",
+ "name": "Lines should not be too long",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1144",
+ "name": "Unused private method should be removed",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "unused"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S105",
+ "name": "Tabulation characters should not be used",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention",
+ "psr2"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1481",
+ "name": "Unused local variables should be removed",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "unused"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1142",
+ "name": "Functions should not contain too many return statements",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S104",
+ "name": "Files should not have too many lines",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1605",
+ "name": "PHP 4 style calls to parent constructors should not be used in PHP5 \"__construct\" functions",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1448",
+ "name": "Classes should not have too many methods",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1603",
+ "name": "PHP 4 constructor declarations should not be used",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "pitfail"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1779",
+ "name": "Only LF character (Unix-like) should be used to end lines",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention",
+ "psr2"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1185",
+ "name": "Overriding methods should do more than simply call the same method in the super class",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [],
+ "tags": []
+ },
+ {
+ "key": "php:S1600",
+ "name": "Deprecated predefined variables should not be used",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "pitfail"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1109",
+ "name": "A close curly brace should be located at the beginning of a line",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S2001",
+ "name": "Functions deprecated in PHP 5 should not be used",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "obsolete"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S2002",
+ "name": "Errors should not be silenced",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "pitfail"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S2000",
+ "name": "Files should not contain characters before \"<?php\"",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "user-experience"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1105",
+ "name": "An open curly brace should be located at the end of a line",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1200",
+ "name": "Classes should not be coupled to too many other classes (Single Responsibility Principle)",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1106",
+ "name": "An open curly brace should be located at the beginning of a line",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ }
+ ],
+ "facets": [
+ {
+ "property": "tags",
+ "values": [
+ {
+ "val": "convention",
+ "count": 67
+ },
+ {
+ "val": "brain-overload",
+ "count": 36
+ },
+ {
+ "val": "bug",
+ "count": 36
+ },
+ {
+ "val": "cwe",
+ "count": 17
+ },
+ {
+ "val": "unused",
+ "count": 16
+ },
+ {
+ "val": "security",
+ "count": 14
+ },
+ {
+ "val": "pitfall",
+ "count": 12
+ },
+ {
+ "val": "psr2",
+ "count": 12
+ },
+ {
+ "val": "error-handling",
+ "count": 11
+ },
+ {
+ "val": "pitfail",
+ "count": 10
+ }
+ ]
+ },
+ {
+ "property": "languages",
+ "values": [
+ {
+ "val": "java",
+ "count": 212
+ },
+ {
+ "val": "py",
+ "count": 212
+ },
+ {
+ "val": "php",
+ "count": 103
+ },
+ {
+ "val": "js",
+ "count": 77
+ }
+ ]
+ },
+ {
+ "property": "repositories",
+ "values": [
+ {
+ "val": "squid",
+ "count": 206
+ },
+ {
+ "val": "Pylint",
+ "count": 180
+ },
+ {
+ "val": "php",
+ "count": 97
+ },
+ {
+ "val": "javascript",
+ "count": 73
+ },
+ {
+ "val": "python",
+ "count": 28
+ },
+ {
+ "val": "common-java",
+ "count": 6
+ },
+ {
+ "val": "common-php",
+ "count": 6
+ },
+ {
+ "val": "manual",
+ "count": 5
+ },
+ {
+ "val": "common-js",
+ "count": 4
+ },
+ {
+ "val": "common-py",
+ "count": 4
+ }
+ ]
+ }
+ ]
+}
--- /dev/null
+{
+ "total": 609,
+ "p": 1,
+ "ps": 25,
+ "rules": [
+ {
+ "key": "squid:S2077",
+ "name": "Values passed to SQL commands should be sanitized",
+ "lang": "java",
+ "langName": "Java",
+ "sysTags": [
+ "cwe",
+ "owasp-top10",
+ "security",
+ "sql"
+ ],
+ "tags": [
+ "custom-tag"
+ ]
+ },
+ {
+ "key": "php:S107",
+ "name": "Functions should not have too many parameters",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1192",
+ "name": "String literals should not be duplicated",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [],
+ "tags": []
+ },
+ {
+ "key": "php:S1145",
+ "name": "\"if\" statement conditions should not always evaluate to \"true\" or to \"false\"",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "bug",
+ "cwe",
+ "security"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S108",
+ "name": "Nested blocks of code should not be left empty",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [],
+ "tags": []
+ },
+ {
+ "key": "php:S1301",
+ "name": "\"switch\" statements should have at least 3 \"case\" clauses",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [],
+ "tags": []
+ },
+ {
+ "key": "php:S103",
+ "name": "Lines should not be too long",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1144",
+ "name": "Unused private method should be removed",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "unused"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S105",
+ "name": "Tabulation characters should not be used",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention",
+ "psr2"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1481",
+ "name": "Unused local variables should be removed",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "unused"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1142",
+ "name": "Functions should not contain too many return statements",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S104",
+ "name": "Files should not have too many lines",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1605",
+ "name": "PHP 4 style calls to parent constructors should not be used in PHP5 \"__construct\" functions",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1448",
+ "name": "Classes should not have too many methods",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1603",
+ "name": "PHP 4 constructor declarations should not be used",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "pitfail"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1779",
+ "name": "Only LF character (Unix-like) should be used to end lines",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention",
+ "psr2"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1185",
+ "name": "Overriding methods should do more than simply call the same method in the super class",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [],
+ "tags": []
+ },
+ {
+ "key": "php:S1600",
+ "name": "Deprecated predefined variables should not be used",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "pitfail"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1109",
+ "name": "A close curly brace should be located at the beginning of a line",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S2001",
+ "name": "Functions deprecated in PHP 5 should not be used",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "obsolete"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S2002",
+ "name": "Errors should not be silenced",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "pitfail"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S2000",
+ "name": "Files should not contain characters before \"<?php\"",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "user-experience"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1105",
+ "name": "An open curly brace should be located at the end of a line",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1200",
+ "name": "Classes should not be coupled to too many other classes (Single Responsibility Principle)",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1106",
+ "name": "An open curly brace should be located at the beginning of a line",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ }
+ ],
+ "facets": [
+ {
+ "property": "tags",
+ "values": [
+ {
+ "val": "convention",
+ "count": 67
+ },
+ {
+ "val": "brain-overload",
+ "count": 36
+ },
+ {
+ "val": "bug",
+ "count": 36
+ },
+ {
+ "val": "cwe",
+ "count": 17
+ },
+ {
+ "val": "unused",
+ "count": 16
+ },
+ {
+ "val": "security",
+ "count": 14
+ },
+ {
+ "val": "pitfall",
+ "count": 12
+ },
+ {
+ "val": "psr2",
+ "count": 12
+ },
+ {
+ "val": "error-handling",
+ "count": 11
+ },
+ {
+ "val": "pitfail",
+ "count": 10
+ }
+ ]
+ },
+ {
+ "property": "languages",
+ "values": [
+ {
+ "val": "java",
+ "count": 212
+ },
+ {
+ "val": "py",
+ "count": 212
+ },
+ {
+ "val": "php",
+ "count": 103
+ },
+ {
+ "val": "js",
+ "count": 77
+ }
+ ]
+ },
+ {
+ "property": "repositories",
+ "values": [
+ {
+ "val": "squid",
+ "count": 206
+ },
+ {
+ "val": "Pylint",
+ "count": 180
+ },
+ {
+ "val": "php",
+ "count": 97
+ },
+ {
+ "val": "javascript",
+ "count": 73
+ },
+ {
+ "val": "python",
+ "count": 28
+ },
+ {
+ "val": "common-java",
+ "count": 6
+ },
+ {
+ "val": "common-php",
+ "count": 6
+ },
+ {
+ "val": "manual",
+ "count": 5
+ },
+ {
+ "val": "common-js",
+ "count": 4
+ },
+ {
+ "val": "common-py",
+ "count": 4
+ }
+ ]
+ }
+ ]
+}
--- /dev/null
+{
+ "canWrite": false,
+ "qualityprofiles": [
+ {
+ "key": "java-default-with-mojo-conventions-49307",
+ "name": "Default - Maven Conventions",
+ "lang": "java",
+ "parentKey": "java-top-profile-without-formatting-conventions-50037"
+ },
+ {
+ "key": "java-default-with-sonarsource-conventions-27339",
+ "name": "Default - SonarSource conventions",
+ "lang": "java",
+ "parentKey": "java-top-profile-without-formatting-conventions-50037"
+ },
+ {
+ "key": "java-top-profile-without-formatting-conventions-50037",
+ "name": "Default - Top",
+ "lang": "java"
+ },
+ {
+ "key": "java-findbugs-14954",
+ "name": "FindBugs",
+ "lang": "java"
+ },
+ {
+ "key": "java-for-sq-java-plugin-only-92289",
+ "name": "For SQ Java Plugin Only",
+ "lang": "java",
+ "parentKey": "java-default-with-sonarsource-conventions-27339"
+ },
+ {
+ "key": "java-for-sq-only-95381",
+ "name": "For SQ Only",
+ "lang": "java",
+ "parentKey": "java-default-with-sonarsource-conventions-27339"
+ },
+ {
+ "key": "php-psr-2-06315",
+ "name": "PSR-2",
+ "lang": "php"
+ },
+ {
+ "key": "java-sonar-way-80423",
+ "name": "Sonar way",
+ "lang": "java"
+ },
+ {
+ "key": "js-sonar-way",
+ "name": "Sonar way",
+ "lang": "js"
+ },
+ {
+ "key": "php-sonar-way-05548",
+ "name": "Sonar way",
+ "lang": "php"
+ },
+ {
+ "key": "py-sonar-way-80265",
+ "name": "Sonar way",
+ "lang": "py"
+ },
+ {
+ "key": "java-without-findbugs",
+ "name": "Without Findbugs",
+ "lang": "java"
+ }
+ ],
+ "languages": {
+ "py": "Python",
+ "js": "JavaScript",
+ "php": "PHP",
+ "java": "Java"
+ },
+ "repositories": [
+ {
+ "key": "common-java",
+ "name": "Common SonarQube",
+ "language": "java"
+ },
+ {
+ "key": "common-js",
+ "name": "Common SonarQube",
+ "language": "js"
+ },
+ {
+ "key": "common-php",
+ "name": "Common SonarQube",
+ "language": "php"
+ },
+ {
+ "key": "common-py",
+ "name": "Common SonarQube",
+ "language": "py"
+ },
+ {
+ "key": "Pylint",
+ "name": "Pylint",
+ "language": "py"
+ },
+ {
+ "key": "javascript",
+ "name": "SonarQube",
+ "language": "js"
+ },
+ {
+ "key": "php",
+ "name": "SonarQube",
+ "language": "php"
+ },
+ {
+ "key": "python",
+ "name": "SonarQube",
+ "language": "py"
+ },
+ {
+ "key": "squid",
+ "name": "SonarQube",
+ "language": "java"
+ }
+ ],
+ "statuses": {
+ "BETA": "Beta",
+ "DEPRECATED": "Deprecated",
+ "READY": "Ready"
+ },
+ "characteristics": [
+ {
+ "key": "UNDERSTANDABILITY",
+ "name": "Understandability",
+ "parent": "MAINTAINABILITY"
+ },
+ {
+ "key": "MAINTAINABILITY",
+ "name": "Maintainability"
+ },
+ {
+ "key": "TIME_ZONE_RELATED_PORTABILITY",
+ "name": "Time zone related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "READABILITY",
+ "name": "Readability",
+ "parent": "MAINTAINABILITY"
+ },
+ {
+ "key": "SECURITY_FEATURES",
+ "name": "Security features",
+ "parent": "SECURITY"
+ },
+ {
+ "key": "ARCHITECTURE_RELIABILITY",
+ "name": "Architecture related reliability",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "OS_RELATED_PORTABILITY",
+ "name": "OS related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "EXCEPTION_HANDLING",
+ "name": "Exception handling",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "LOGIC_CHANGEABILITY",
+ "name": "Logic related changeability",
+ "parent": "CHANGEABILITY"
+ },
+ {
+ "key": "SOFTWARE_RELATED_PORTABILITY",
+ "name": "Software related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "INPUT_VALIDATION_AND_REPRESENTATION",
+ "name": "Input validation and representation",
+ "parent": "SECURITY"
+ },
+ {
+ "key": "LANGUAGE_RELATED_PORTABILITY",
+ "name": "Language related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "ERRORS",
+ "name": "Errors",
+ "parent": "SECURITY"
+ },
+ {
+ "key": "SECURITY",
+ "name": "Security"
+ },
+ {
+ "key": "RELIABILITY",
+ "name": "Reliability"
+ },
+ {
+ "key": "PORTABILITY",
+ "name": "Portability"
+ },
+ {
+ "key": "HARDWARE_RELATED_PORTABILITY",
+ "name": "Hardware related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "SYNCHRONIZATION_RELIABILITY",
+ "name": "Synchronization related reliability",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "TRANSPORTABILITY",
+ "name": "Transportability",
+ "parent": "REUSABILITY"
+ },
+ {
+ "key": "COMPILER_RELATED_PORTABILITY",
+ "name": "Compiler related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "RESOURCE_RELIABILITY",
+ "name": "Resource",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "CPU_EFFICIENCY",
+ "name": "Processor use",
+ "parent": "EFFICIENCY"
+ },
+ {
+ "key": "EFFICIENCY",
+ "name": "Efficiency"
+ },
+ {
+ "key": "CHANGEABILITY",
+ "name": "Changeability"
+ },
+ {
+ "key": "DATA_CHANGEABILITY",
+ "name": "Data related changeability",
+ "parent": "CHANGEABILITY"
+ },
+ {
+ "key": "API_ABUSE",
+ "name": "API abuse",
+ "parent": "SECURITY"
+ },
+ {
+ "key": "ARCHITECTURE_CHANGEABILITY",
+ "name": "Architecture related changeability",
+ "parent": "CHANGEABILITY"
+ },
+ {
+ "key": "UNIT_TESTS",
+ "name": "Unit tests",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "INSTRUCTION_RELIABILITY",
+ "name": "Instruction related reliability",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "REUSABILITY",
+ "name": "Reusability"
+ },
+ {
+ "key": "MODULARITY",
+ "name": "Modularity",
+ "parent": "REUSABILITY"
+ },
+ {
+ "key": "UNIT_TESTABILITY",
+ "name": "Unit level testability",
+ "parent": "TESTABILITY"
+ },
+ {
+ "key": "TESTABILITY",
+ "name": "Testability"
+ },
+ {
+ "key": "INTEGRATION_TESTABILITY",
+ "name": "Integration level testability",
+ "parent": "TESTABILITY"
+ },
+ {
+ "key": "NETWORK_USE",
+ "name": "Network use",
+ "parent": "EFFICIENCY"
+ },
+ {
+ "key": "MEMORY_EFFICIENCY",
+ "name": "Memory use",
+ "parent": "EFFICIENCY"
+ },
+ {
+ "key": "DATA_RELIABILITY",
+ "name": "Data related reliability",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "FAULT_TOLERANCE",
+ "name": "Fault tolerance",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "LOGIC_RELIABILITY",
+ "name": "Logic related reliability",
+ "parent": "RELIABILITY"
+ }
+ ]
+}
--- /dev/null
+{
+ "total": 101,
+ "p": 1,
+ "ps": 25,
+ "rules": [
+ {
+ "key": "squid:S2077",
+ "name": "Values passed to SQL commands should be sanitized",
+ "lang": "java",
+ "langName": "Java",
+ "sysTags": [
+ "cwe",
+ "owasp-top10",
+ "security",
+ "sql"
+ ],
+ "tags": [
+ "custom-tag"
+ ]
+ },
+ {
+ "key": "php:S107",
+ "name": "Functions should not have too many parameters",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1192",
+ "name": "String literals should not be duplicated",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [],
+ "tags": []
+ },
+ {
+ "key": "php:S1145",
+ "name": "\"if\" statement conditions should not always evaluate to \"true\" or to \"false\"",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "bug",
+ "cwe",
+ "security"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S108",
+ "name": "Nested blocks of code should not be left empty",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [],
+ "tags": []
+ },
+ {
+ "key": "php:S1301",
+ "name": "\"switch\" statements should have at least 3 \"case\" clauses",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [],
+ "tags": []
+ },
+ {
+ "key": "php:S103",
+ "name": "Lines should not be too long",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1144",
+ "name": "Unused private method should be removed",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "unused"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S105",
+ "name": "Tabulation characters should not be used",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention",
+ "psr2"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1481",
+ "name": "Unused local variables should be removed",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "unused"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1142",
+ "name": "Functions should not contain too many return statements",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S104",
+ "name": "Files should not have too many lines",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1605",
+ "name": "PHP 4 style calls to parent constructors should not be used in PHP5 \"__construct\" functions",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1448",
+ "name": "Classes should not have too many methods",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1603",
+ "name": "PHP 4 constructor declarations should not be used",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "pitfail"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1779",
+ "name": "Only LF character (Unix-like) should be used to end lines",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention",
+ "psr2"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1185",
+ "name": "Overriding methods should do more than simply call the same method in the super class",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [],
+ "tags": []
+ },
+ {
+ "key": "php:S1600",
+ "name": "Deprecated predefined variables should not be used",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "pitfail"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1109",
+ "name": "A close curly brace should be located at the beginning of a line",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S2001",
+ "name": "Functions deprecated in PHP 5 should not be used",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "obsolete"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S2002",
+ "name": "Errors should not be silenced",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "pitfail"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S2000",
+ "name": "Files should not contain characters before \"<?php\"",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "user-experience"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1105",
+ "name": "An open curly brace should be located at the end of a line",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1200",
+ "name": "Classes should not be coupled to too many other classes (Single Responsibility Principle)",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1106",
+ "name": "An open curly brace should be located at the beginning of a line",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ }
+ ],
+ "facets": [
+ {
+ "property": "tags",
+ "values": [
+ {
+ "val": "convention",
+ "count": 67
+ },
+ {
+ "val": "brain-overload",
+ "count": 36
+ },
+ {
+ "val": "bug",
+ "count": 36
+ },
+ {
+ "val": "cwe",
+ "count": 17
+ },
+ {
+ "val": "unused",
+ "count": 16
+ },
+ {
+ "val": "security",
+ "count": 14
+ },
+ {
+ "val": "pitfall",
+ "count": 12
+ },
+ {
+ "val": "psr2",
+ "count": 12
+ },
+ {
+ "val": "error-handling",
+ "count": 11
+ },
+ {
+ "val": "pitfail",
+ "count": 10
+ }
+ ]
+ },
+ {
+ "property": "languages",
+ "values": [
+ {
+ "val": "java",
+ "count": 212
+ },
+ {
+ "val": "py",
+ "count": 212
+ },
+ {
+ "val": "php",
+ "count": 103
+ },
+ {
+ "val": "js",
+ "count": 77
+ }
+ ]
+ },
+ {
+ "property": "repositories",
+ "values": [
+ {
+ "val": "squid",
+ "count": 206
+ },
+ {
+ "val": "Pylint",
+ "count": 180
+ },
+ {
+ "val": "php",
+ "count": 97
+ },
+ {
+ "val": "javascript",
+ "count": 73
+ },
+ {
+ "val": "python",
+ "count": 28
+ },
+ {
+ "val": "common-java",
+ "count": 6
+ },
+ {
+ "val": "common-php",
+ "count": 6
+ },
+ {
+ "val": "manual",
+ "count": 5
+ },
+ {
+ "val": "common-js",
+ "count": 4
+ },
+ {
+ "val": "common-py",
+ "count": 4
+ }
+ ]
+ }
+ ]
+}
--- /dev/null
+{
+ "total": 103,
+ "p": 1,
+ "ps": 25,
+ "rules": [
+ {
+ "key": "squid:S2077",
+ "name": "Values passed to SQL commands should be sanitized",
+ "lang": "java",
+ "langName": "Java",
+ "sysTags": [
+ "cwe",
+ "owasp-top10",
+ "security",
+ "sql"
+ ],
+ "tags": [
+ "custom-tag"
+ ]
+ },
+ {
+ "key": "php:S107",
+ "name": "Functions should not have too many parameters",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1192",
+ "name": "String literals should not be duplicated",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [],
+ "tags": []
+ },
+ {
+ "key": "php:S1145",
+ "name": "\"if\" statement conditions should not always evaluate to \"true\" or to \"false\"",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "bug",
+ "cwe",
+ "security"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S108",
+ "name": "Nested blocks of code should not be left empty",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [],
+ "tags": []
+ },
+ {
+ "key": "php:S1301",
+ "name": "\"switch\" statements should have at least 3 \"case\" clauses",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [],
+ "tags": []
+ },
+ {
+ "key": "php:S103",
+ "name": "Lines should not be too long",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1144",
+ "name": "Unused private method should be removed",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "unused"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S105",
+ "name": "Tabulation characters should not be used",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention",
+ "psr2"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1481",
+ "name": "Unused local variables should be removed",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "unused"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1142",
+ "name": "Functions should not contain too many return statements",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S104",
+ "name": "Files should not have too many lines",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1605",
+ "name": "PHP 4 style calls to parent constructors should not be used in PHP5 \"__construct\" functions",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1448",
+ "name": "Classes should not have too many methods",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1603",
+ "name": "PHP 4 constructor declarations should not be used",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "pitfail"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1779",
+ "name": "Only LF character (Unix-like) should be used to end lines",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention",
+ "psr2"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1185",
+ "name": "Overriding methods should do more than simply call the same method in the super class",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [],
+ "tags": []
+ },
+ {
+ "key": "php:S1600",
+ "name": "Deprecated predefined variables should not be used",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "pitfail"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1109",
+ "name": "A close curly brace should be located at the beginning of a line",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S2001",
+ "name": "Functions deprecated in PHP 5 should not be used",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "obsolete"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S2002",
+ "name": "Errors should not be silenced",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "pitfail"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S2000",
+ "name": "Files should not contain characters before \"<?php\"",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "user-experience"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1105",
+ "name": "An open curly brace should be located at the end of a line",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1200",
+ "name": "Classes should not be coupled to too many other classes (Single Responsibility Principle)",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1106",
+ "name": "An open curly brace should be located at the beginning of a line",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ }
+ ],
+ "facets": [
+ {
+ "property": "tags",
+ "values": [
+ {
+ "val": "convention",
+ "count": 67
+ },
+ {
+ "val": "brain-overload",
+ "count": 36
+ },
+ {
+ "val": "bug",
+ "count": 36
+ },
+ {
+ "val": "cwe",
+ "count": 17
+ },
+ {
+ "val": "unused",
+ "count": 16
+ },
+ {
+ "val": "security",
+ "count": 14
+ },
+ {
+ "val": "pitfall",
+ "count": 12
+ },
+ {
+ "val": "psr2",
+ "count": 12
+ },
+ {
+ "val": "error-handling",
+ "count": 11
+ },
+ {
+ "val": "pitfail",
+ "count": 10
+ }
+ ]
+ },
+ {
+ "property": "languages",
+ "values": [
+ {
+ "val": "java",
+ "count": 212
+ },
+ {
+ "val": "py",
+ "count": 212
+ },
+ {
+ "val": "php",
+ "count": 103
+ },
+ {
+ "val": "js",
+ "count": 77
+ }
+ ]
+ },
+ {
+ "property": "repositories",
+ "values": [
+ {
+ "val": "squid",
+ "count": 206
+ },
+ {
+ "val": "Pylint",
+ "count": 180
+ },
+ {
+ "val": "php",
+ "count": 97
+ },
+ {
+ "val": "javascript",
+ "count": 73
+ },
+ {
+ "val": "python",
+ "count": 28
+ },
+ {
+ "val": "common-java",
+ "count": 6
+ },
+ {
+ "val": "common-php",
+ "count": 6
+ },
+ {
+ "val": "manual",
+ "count": 5
+ },
+ {
+ "val": "common-js",
+ "count": 4
+ },
+ {
+ "val": "common-py",
+ "count": 4
+ }
+ ]
+ }
+ ]
+}
--- /dev/null
+{
+ "total": 102,
+ "p": 1,
+ "ps": 25,
+ "rules": [
+ {
+ "key": "squid:S2077",
+ "name": "Values passed to SQL commands should be sanitized",
+ "lang": "java",
+ "langName": "Java",
+ "sysTags": [
+ "cwe",
+ "owasp-top10",
+ "security",
+ "sql"
+ ],
+ "tags": [
+ "custom-tag"
+ ]
+ },
+ {
+ "key": "php:S107",
+ "name": "Functions should not have too many parameters",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1192",
+ "name": "String literals should not be duplicated",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [],
+ "tags": []
+ },
+ {
+ "key": "php:S1145",
+ "name": "\"if\" statement conditions should not always evaluate to \"true\" or to \"false\"",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "bug",
+ "cwe",
+ "security"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S108",
+ "name": "Nested blocks of code should not be left empty",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [],
+ "tags": []
+ },
+ {
+ "key": "php:S1301",
+ "name": "\"switch\" statements should have at least 3 \"case\" clauses",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [],
+ "tags": []
+ },
+ {
+ "key": "php:S103",
+ "name": "Lines should not be too long",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1144",
+ "name": "Unused private method should be removed",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "unused"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S105",
+ "name": "Tabulation characters should not be used",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention",
+ "psr2"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1481",
+ "name": "Unused local variables should be removed",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "unused"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1142",
+ "name": "Functions should not contain too many return statements",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S104",
+ "name": "Files should not have too many lines",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1605",
+ "name": "PHP 4 style calls to parent constructors should not be used in PHP5 \"__construct\" functions",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1448",
+ "name": "Classes should not have too many methods",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1603",
+ "name": "PHP 4 constructor declarations should not be used",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "pitfail"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1779",
+ "name": "Only LF character (Unix-like) should be used to end lines",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention",
+ "psr2"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1185",
+ "name": "Overriding methods should do more than simply call the same method in the super class",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [],
+ "tags": []
+ },
+ {
+ "key": "php:S1600",
+ "name": "Deprecated predefined variables should not be used",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "pitfail"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1109",
+ "name": "A close curly brace should be located at the beginning of a line",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S2001",
+ "name": "Functions deprecated in PHP 5 should not be used",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "obsolete"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S2002",
+ "name": "Errors should not be silenced",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "pitfail"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S2000",
+ "name": "Files should not contain characters before \"<?php\"",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "user-experience"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1105",
+ "name": "An open curly brace should be located at the end of a line",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1200",
+ "name": "Classes should not be coupled to too many other classes (Single Responsibility Principle)",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1106",
+ "name": "An open curly brace should be located at the beginning of a line",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ }
+ ],
+ "facets": [
+ {
+ "property": "tags",
+ "values": [
+ {
+ "val": "convention",
+ "count": 67
+ },
+ {
+ "val": "brain-overload",
+ "count": 36
+ },
+ {
+ "val": "bug",
+ "count": 36
+ },
+ {
+ "val": "cwe",
+ "count": 17
+ },
+ {
+ "val": "unused",
+ "count": 16
+ },
+ {
+ "val": "security",
+ "count": 14
+ },
+ {
+ "val": "pitfall",
+ "count": 12
+ },
+ {
+ "val": "psr2",
+ "count": 12
+ },
+ {
+ "val": "error-handling",
+ "count": 11
+ },
+ {
+ "val": "pitfail",
+ "count": 10
+ }
+ ]
+ },
+ {
+ "property": "languages",
+ "values": [
+ {
+ "val": "java",
+ "count": 212
+ },
+ {
+ "val": "py",
+ "count": 212
+ },
+ {
+ "val": "php",
+ "count": 103
+ },
+ {
+ "val": "js",
+ "count": 77
+ }
+ ]
+ },
+ {
+ "property": "repositories",
+ "values": [
+ {
+ "val": "squid",
+ "count": 206
+ },
+ {
+ "val": "Pylint",
+ "count": 180
+ },
+ {
+ "val": "php",
+ "count": 97
+ },
+ {
+ "val": "javascript",
+ "count": 73
+ },
+ {
+ "val": "python",
+ "count": 28
+ },
+ {
+ "val": "common-java",
+ "count": 6
+ },
+ {
+ "val": "common-php",
+ "count": 6
+ },
+ {
+ "val": "manual",
+ "count": 5
+ },
+ {
+ "val": "common-js",
+ "count": 4
+ },
+ {
+ "val": "common-py",
+ "count": 4
+ }
+ ]
+ }
+ ]
+}
--- /dev/null
+{
+ "total": 407,
+ "p": 1,
+ "ps": 25,
+ "rules": [
+ {
+ "key": "squid:S2077",
+ "name": "Values passed to SQL commands should be sanitized",
+ "lang": "java",
+ "langName": "Java",
+ "sysTags": [
+ "cwe",
+ "owasp-top10",
+ "security",
+ "sql"
+ ],
+ "tags": [
+ "custom-tag"
+ ]
+ },
+ {
+ "key": "php:S107",
+ "name": "Functions should not have too many parameters",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1192",
+ "name": "String literals should not be duplicated",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [],
+ "tags": []
+ },
+ {
+ "key": "php:S1145",
+ "name": "\"if\" statement conditions should not always evaluate to \"true\" or to \"false\"",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "bug",
+ "cwe",
+ "security"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S108",
+ "name": "Nested blocks of code should not be left empty",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [],
+ "tags": []
+ },
+ {
+ "key": "php:S1301",
+ "name": "\"switch\" statements should have at least 3 \"case\" clauses",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [],
+ "tags": []
+ },
+ {
+ "key": "php:S103",
+ "name": "Lines should not be too long",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1144",
+ "name": "Unused private method should be removed",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "unused"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S105",
+ "name": "Tabulation characters should not be used",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention",
+ "psr2"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1481",
+ "name": "Unused local variables should be removed",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "unused"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1142",
+ "name": "Functions should not contain too many return statements",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S104",
+ "name": "Files should not have too many lines",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1605",
+ "name": "PHP 4 style calls to parent constructors should not be used in PHP5 \"__construct\" functions",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1448",
+ "name": "Classes should not have too many methods",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1603",
+ "name": "PHP 4 constructor declarations should not be used",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "pitfail"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1779",
+ "name": "Only LF character (Unix-like) should be used to end lines",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention",
+ "psr2"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1185",
+ "name": "Overriding methods should do more than simply call the same method in the super class",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [],
+ "tags": []
+ },
+ {
+ "key": "php:S1600",
+ "name": "Deprecated predefined variables should not be used",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "pitfail"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1109",
+ "name": "A close curly brace should be located at the beginning of a line",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S2001",
+ "name": "Functions deprecated in PHP 5 should not be used",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "obsolete"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S2002",
+ "name": "Errors should not be silenced",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "pitfail"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S2000",
+ "name": "Files should not contain characters before \"<?php\"",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "user-experience"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1105",
+ "name": "An open curly brace should be located at the end of a line",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1200",
+ "name": "Classes should not be coupled to too many other classes (Single Responsibility Principle)",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1106",
+ "name": "An open curly brace should be located at the beginning of a line",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ }
+ ],
+ "facets": [
+ {
+ "property": "tags",
+ "values": [
+ {
+ "val": "convention",
+ "count": 67
+ },
+ {
+ "val": "brain-overload",
+ "count": 36
+ },
+ {
+ "val": "bug",
+ "count": 36
+ },
+ {
+ "val": "cwe",
+ "count": 17
+ },
+ {
+ "val": "unused",
+ "count": 16
+ },
+ {
+ "val": "security",
+ "count": 14
+ },
+ {
+ "val": "pitfall",
+ "count": 12
+ },
+ {
+ "val": "psr2",
+ "count": 12
+ },
+ {
+ "val": "error-handling",
+ "count": 11
+ },
+ {
+ "val": "pitfail",
+ "count": 10
+ }
+ ]
+ },
+ {
+ "property": "languages",
+ "values": [
+ {
+ "val": "java",
+ "count": 212
+ },
+ {
+ "val": "py",
+ "count": 212
+ },
+ {
+ "val": "php",
+ "count": 103
+ },
+ {
+ "val": "js",
+ "count": 77
+ }
+ ]
+ },
+ {
+ "property": "repositories",
+ "values": [
+ {
+ "val": "squid",
+ "count": 206
+ },
+ {
+ "val": "Pylint",
+ "count": 180
+ },
+ {
+ "val": "php",
+ "count": 97
+ },
+ {
+ "val": "javascript",
+ "count": 73
+ },
+ {
+ "val": "python",
+ "count": 28
+ },
+ {
+ "val": "common-java",
+ "count": 6
+ },
+ {
+ "val": "common-php",
+ "count": 6
+ },
+ {
+ "val": "manual",
+ "count": 5
+ },
+ {
+ "val": "common-js",
+ "count": 4
+ },
+ {
+ "val": "common-py",
+ "count": 4
+ }
+ ]
+ }
+ ]
+}
--- /dev/null
+{
+ "total": 408,
+ "p": 1,
+ "ps": 25,
+ "rules": [
+ {
+ "key": "squid:S2077",
+ "name": "Values passed to SQL commands should be sanitized",
+ "lang": "java",
+ "langName": "Java",
+ "sysTags": [
+ "cwe",
+ "owasp-top10",
+ "security",
+ "sql"
+ ],
+ "tags": [
+ "custom-tag"
+ ]
+ },
+ {
+ "key": "php:S107",
+ "name": "Functions should not have too many parameters",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1192",
+ "name": "String literals should not be duplicated",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [],
+ "tags": []
+ },
+ {
+ "key": "php:S1145",
+ "name": "\"if\" statement conditions should not always evaluate to \"true\" or to \"false\"",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "bug",
+ "cwe",
+ "security"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S108",
+ "name": "Nested blocks of code should not be left empty",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [],
+ "tags": []
+ },
+ {
+ "key": "php:S1301",
+ "name": "\"switch\" statements should have at least 3 \"case\" clauses",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [],
+ "tags": []
+ },
+ {
+ "key": "php:S103",
+ "name": "Lines should not be too long",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1144",
+ "name": "Unused private method should be removed",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "unused"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S105",
+ "name": "Tabulation characters should not be used",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention",
+ "psr2"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1481",
+ "name": "Unused local variables should be removed",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "unused"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1142",
+ "name": "Functions should not contain too many return statements",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S104",
+ "name": "Files should not have too many lines",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1605",
+ "name": "PHP 4 style calls to parent constructors should not be used in PHP5 \"__construct\" functions",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1448",
+ "name": "Classes should not have too many methods",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1603",
+ "name": "PHP 4 constructor declarations should not be used",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "pitfail"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1779",
+ "name": "Only LF character (Unix-like) should be used to end lines",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention",
+ "psr2"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1185",
+ "name": "Overriding methods should do more than simply call the same method in the super class",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [],
+ "tags": []
+ },
+ {
+ "key": "php:S1600",
+ "name": "Deprecated predefined variables should not be used",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "pitfail"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1109",
+ "name": "A close curly brace should be located at the beginning of a line",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S2001",
+ "name": "Functions deprecated in PHP 5 should not be used",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "obsolete"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S2002",
+ "name": "Errors should not be silenced",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "pitfail"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S2000",
+ "name": "Files should not contain characters before \"<?php\"",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "user-experience"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1105",
+ "name": "An open curly brace should be located at the end of a line",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1200",
+ "name": "Classes should not be coupled to too many other classes (Single Responsibility Principle)",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1106",
+ "name": "An open curly brace should be located at the beginning of a line",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ }
+ ],
+ "facets": [
+ {
+ "property": "tags",
+ "values": [
+ {
+ "val": "convention",
+ "count": 67
+ },
+ {
+ "val": "brain-overload",
+ "count": 36
+ },
+ {
+ "val": "bug",
+ "count": 36
+ },
+ {
+ "val": "cwe",
+ "count": 17
+ },
+ {
+ "val": "unused",
+ "count": 16
+ },
+ {
+ "val": "security",
+ "count": 14
+ },
+ {
+ "val": "pitfall",
+ "count": 12
+ },
+ {
+ "val": "psr2",
+ "count": 12
+ },
+ {
+ "val": "error-handling",
+ "count": 11
+ },
+ {
+ "val": "pitfail",
+ "count": 10
+ }
+ ]
+ },
+ {
+ "property": "languages",
+ "values": [
+ {
+ "val": "java",
+ "count": 212
+ },
+ {
+ "val": "py",
+ "count": 212
+ },
+ {
+ "val": "php",
+ "count": 103
+ },
+ {
+ "val": "js",
+ "count": 77
+ }
+ ]
+ },
+ {
+ "property": "repositories",
+ "values": [
+ {
+ "val": "squid",
+ "count": 206
+ },
+ {
+ "val": "Pylint",
+ "count": 180
+ },
+ {
+ "val": "php",
+ "count": 97
+ },
+ {
+ "val": "javascript",
+ "count": 73
+ },
+ {
+ "val": "python",
+ "count": 28
+ },
+ {
+ "val": "common-java",
+ "count": 6
+ },
+ {
+ "val": "common-php",
+ "count": 6
+ },
+ {
+ "val": "manual",
+ "count": 5
+ },
+ {
+ "val": "common-js",
+ "count": 4
+ },
+ {
+ "val": "common-py",
+ "count": 4
+ }
+ ]
+ }
+ ]
+}
--- /dev/null
+{
+ "total": 609,
+ "p": 1,
+ "ps": 25,
+ "rules": [
+ {
+ "key": "squid:S2077",
+ "name": "Values passed to SQL commands should be sanitized",
+ "lang": "java",
+ "langName": "Java",
+ "sysTags": [
+ "cwe",
+ "owasp-top10",
+ "security",
+ "sql"
+ ],
+ "tags": [
+ "custom-tag"
+ ]
+ },
+ {
+ "key": "php:S107",
+ "name": "Functions should not have too many parameters",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1192",
+ "name": "String literals should not be duplicated",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [],
+ "tags": []
+ },
+ {
+ "key": "php:S1145",
+ "name": "\"if\" statement conditions should not always evaluate to \"true\" or to \"false\"",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "bug",
+ "cwe",
+ "security"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S108",
+ "name": "Nested blocks of code should not be left empty",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [],
+ "tags": []
+ },
+ {
+ "key": "php:S1301",
+ "name": "\"switch\" statements should have at least 3 \"case\" clauses",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [],
+ "tags": []
+ },
+ {
+ "key": "php:S103",
+ "name": "Lines should not be too long",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1144",
+ "name": "Unused private method should be removed",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "unused"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S105",
+ "name": "Tabulation characters should not be used",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention",
+ "psr2"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1481",
+ "name": "Unused local variables should be removed",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "unused"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1142",
+ "name": "Functions should not contain too many return statements",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S104",
+ "name": "Files should not have too many lines",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1605",
+ "name": "PHP 4 style calls to parent constructors should not be used in PHP5 \"__construct\" functions",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1448",
+ "name": "Classes should not have too many methods",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1603",
+ "name": "PHP 4 constructor declarations should not be used",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "pitfail"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1779",
+ "name": "Only LF character (Unix-like) should be used to end lines",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention",
+ "psr2"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1185",
+ "name": "Overriding methods should do more than simply call the same method in the super class",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [],
+ "tags": []
+ },
+ {
+ "key": "php:S1600",
+ "name": "Deprecated predefined variables should not be used",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "pitfail"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1109",
+ "name": "A close curly brace should be located at the beginning of a line",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S2001",
+ "name": "Functions deprecated in PHP 5 should not be used",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "obsolete"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S2002",
+ "name": "Errors should not be silenced",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "pitfail"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S2000",
+ "name": "Files should not contain characters before \"<?php\"",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "user-experience"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1105",
+ "name": "An open curly brace should be located at the end of a line",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1200",
+ "name": "Classes should not be coupled to too many other classes (Single Responsibility Principle)",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1106",
+ "name": "An open curly brace should be located at the beginning of a line",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ }
+ ],
+ "facets": [
+ {
+ "property": "tags",
+ "values": [
+ {
+ "val": "convention",
+ "count": 67
+ },
+ {
+ "val": "brain-overload",
+ "count": 36
+ },
+ {
+ "val": "bug",
+ "count": 36
+ },
+ {
+ "val": "cwe",
+ "count": 17
+ },
+ {
+ "val": "unused",
+ "count": 16
+ },
+ {
+ "val": "security",
+ "count": 14
+ },
+ {
+ "val": "pitfall",
+ "count": 12
+ },
+ {
+ "val": "psr2",
+ "count": 12
+ },
+ {
+ "val": "error-handling",
+ "count": 11
+ },
+ {
+ "val": "pitfail",
+ "count": 10
+ }
+ ]
+ },
+ {
+ "property": "languages",
+ "values": [
+ {
+ "val": "java",
+ "count": 212
+ },
+ {
+ "val": "py",
+ "count": 212
+ },
+ {
+ "val": "php",
+ "count": 103
+ },
+ {
+ "val": "js",
+ "count": 77
+ }
+ ]
+ },
+ {
+ "property": "repositories",
+ "values": [
+ {
+ "val": "squid",
+ "count": 206
+ },
+ {
+ "val": "Pylint",
+ "count": 180
+ },
+ {
+ "val": "php",
+ "count": 97
+ },
+ {
+ "val": "javascript",
+ "count": 73
+ },
+ {
+ "val": "python",
+ "count": 28
+ },
+ {
+ "val": "common-java",
+ "count": 6
+ },
+ {
+ "val": "common-php",
+ "count": 6
+ },
+ {
+ "val": "manual",
+ "count": 5
+ },
+ {
+ "val": "common-js",
+ "count": 4
+ },
+ {
+ "val": "common-py",
+ "count": 4
+ }
+ ]
+ }
+ ]
+}
--- /dev/null
+{
+ "canWrite": true,
+ "qualityprofiles": [
+ {
+ "key": "java-default-with-mojo-conventions-49307",
+ "name": "Default - Maven Conventions",
+ "lang": "java",
+ "parentKey": "java-top-profile-without-formatting-conventions-50037"
+ }
+ ],
+ "languages": {
+ "py": "Python",
+ "js": "JavaScript",
+ "php": "PHP",
+ "java": "Java"
+ },
+ "repositories": [
+ {
+ "key": "common-java",
+ "name": "Common SonarQube",
+ "language": "java"
+ },
+ {
+ "key": "common-js",
+ "name": "Common SonarQube",
+ "language": "js"
+ },
+ {
+ "key": "common-php",
+ "name": "Common SonarQube",
+ "language": "php"
+ },
+ {
+ "key": "common-py",
+ "name": "Common SonarQube",
+ "language": "py"
+ },
+ {
+ "key": "Pylint",
+ "name": "Pylint",
+ "language": "py"
+ },
+ {
+ "key": "javascript",
+ "name": "SonarQube",
+ "language": "js"
+ },
+ {
+ "key": "php",
+ "name": "SonarQube",
+ "language": "php"
+ },
+ {
+ "key": "python",
+ "name": "SonarQube",
+ "language": "py"
+ },
+ {
+ "key": "squid",
+ "name": "SonarQube",
+ "language": "java"
+ }
+ ],
+ "statuses": {
+ "BETA": "Beta",
+ "DEPRECATED": "Deprecated",
+ "READY": "Ready"
+ },
+ "characteristics": [
+ {
+ "key": "UNDERSTANDABILITY",
+ "name": "Understandability",
+ "parent": "MAINTAINABILITY"
+ },
+ {
+ "key": "MAINTAINABILITY",
+ "name": "Maintainability"
+ },
+ {
+ "key": "TIME_ZONE_RELATED_PORTABILITY",
+ "name": "Time zone related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "READABILITY",
+ "name": "Readability",
+ "parent": "MAINTAINABILITY"
+ },
+ {
+ "key": "SECURITY_FEATURES",
+ "name": "Security features",
+ "parent": "SECURITY"
+ },
+ {
+ "key": "ARCHITECTURE_RELIABILITY",
+ "name": "Architecture related reliability",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "OS_RELATED_PORTABILITY",
+ "name": "OS related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "EXCEPTION_HANDLING",
+ "name": "Exception handling",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "LOGIC_CHANGEABILITY",
+ "name": "Logic related changeability",
+ "parent": "CHANGEABILITY"
+ },
+ {
+ "key": "SOFTWARE_RELATED_PORTABILITY",
+ "name": "Software related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "INPUT_VALIDATION_AND_REPRESENTATION",
+ "name": "Input validation and representation",
+ "parent": "SECURITY"
+ },
+ {
+ "key": "LANGUAGE_RELATED_PORTABILITY",
+ "name": "Language related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "ERRORS",
+ "name": "Errors",
+ "parent": "SECURITY"
+ },
+ {
+ "key": "SECURITY",
+ "name": "Security"
+ },
+ {
+ "key": "RELIABILITY",
+ "name": "Reliability"
+ },
+ {
+ "key": "PORTABILITY",
+ "name": "Portability"
+ },
+ {
+ "key": "HARDWARE_RELATED_PORTABILITY",
+ "name": "Hardware related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "SYNCHRONIZATION_RELIABILITY",
+ "name": "Synchronization related reliability",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "TRANSPORTABILITY",
+ "name": "Transportability",
+ "parent": "REUSABILITY"
+ },
+ {
+ "key": "COMPILER_RELATED_PORTABILITY",
+ "name": "Compiler related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "RESOURCE_RELIABILITY",
+ "name": "Resource",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "CPU_EFFICIENCY",
+ "name": "Processor use",
+ "parent": "EFFICIENCY"
+ },
+ {
+ "key": "EFFICIENCY",
+ "name": "Efficiency"
+ },
+ {
+ "key": "CHANGEABILITY",
+ "name": "Changeability"
+ },
+ {
+ "key": "DATA_CHANGEABILITY",
+ "name": "Data related changeability",
+ "parent": "CHANGEABILITY"
+ },
+ {
+ "key": "API_ABUSE",
+ "name": "API abuse",
+ "parent": "SECURITY"
+ },
+ {
+ "key": "ARCHITECTURE_CHANGEABILITY",
+ "name": "Architecture related changeability",
+ "parent": "CHANGEABILITY"
+ },
+ {
+ "key": "UNIT_TESTS",
+ "name": "Unit tests",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "INSTRUCTION_RELIABILITY",
+ "name": "Instruction related reliability",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "REUSABILITY",
+ "name": "Reusability"
+ },
+ {
+ "key": "MODULARITY",
+ "name": "Modularity",
+ "parent": "REUSABILITY"
+ },
+ {
+ "key": "UNIT_TESTABILITY",
+ "name": "Unit level testability",
+ "parent": "TESTABILITY"
+ },
+ {
+ "key": "TESTABILITY",
+ "name": "Testability"
+ },
+ {
+ "key": "INTEGRATION_TESTABILITY",
+ "name": "Integration level testability",
+ "parent": "TESTABILITY"
+ },
+ {
+ "key": "NETWORK_USE",
+ "name": "Network use",
+ "parent": "EFFICIENCY"
+ },
+ {
+ "key": "MEMORY_EFFICIENCY",
+ "name": "Memory use",
+ "parent": "EFFICIENCY"
+ },
+ {
+ "key": "DATA_RELIABILITY",
+ "name": "Data related reliability",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "FAULT_TOLERANCE",
+ "name": "Fault tolerance",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "LOGIC_RELIABILITY",
+ "name": "Logic related reliability",
+ "parent": "RELIABILITY"
+ }
+ ]
+}
--- /dev/null
+{
+ "total": 10,
+ "p": 1,
+ "ps": 200,
+ "rules": [
+ {
+ "key": "squid:S1181",
+ "name": "Throwable and Error classes should not be caught",
+ "lang": "java",
+ "langName": "Java",
+ "sysTags": [
+ "error-handling"
+ ],
+ "tags": []
+ },
+ {
+ "key": "squid:S1849",
+ "name": "\"Iterator.hasNext()\" should not call \"Iterator.next()\"",
+ "lang": "java",
+ "langName": "Java",
+ "sysTags": [
+ "bug"
+ ],
+ "tags": []
+ },
+ {
+ "key": "squid:S1844",
+ "name": "\"Object.wait(...)\" should never be called on objects that implement \"java.util.concurrent.locks.Condition\"",
+ "lang": "java",
+ "langName": "Java",
+ "sysTags": [
+ "bug",
+ "pitfall"
+ ],
+ "tags": []
+ },
+ {
+ "key": "squid:S2258",
+ "name": "\"javax.crypto.NullCipher\" should not be used for anything other than testing",
+ "lang": "java",
+ "langName": "Java",
+ "sysTags": [
+ "cwe",
+ "owasp-top10",
+ "security"
+ ],
+ "tags": []
+ },
+ {
+ "key": "squid:S2251",
+ "name": "A \"for\" loop update clause should move the counter in the right direction",
+ "lang": "java",
+ "langName": "Java",
+ "sysTags": [
+ "bug"
+ ],
+ "tags": []
+ },
+ {
+ "key": "squid:ObjectFinalizeOverridenCallsSuperFinalizeCheck",
+ "name": "super.finalize() should be called at the end of Object.finalize() implementations",
+ "lang": "java",
+ "langName": "Java",
+ "sysTags": [
+ "bug"
+ ],
+ "tags": []
+ },
+ {
+ "key": "squid:S1143",
+ "name": "Return statements should not occur in finally blocks",
+ "lang": "java",
+ "langName": "Java",
+ "sysTags": [
+ "bug"
+ ],
+ "tags": []
+ },
+ {
+ "key": "squid:S1206",
+ "name": "\"equals(Object obj)\" and \"hashCode()\" should be overridden in pairs",
+ "lang": "java",
+ "langName": "Java",
+ "sysTags": [
+ "bug"
+ ],
+ "tags": []
+ },
+ {
+ "key": "squid:S1451",
+ "name": "Copyright and license headers should be defined in all source files",
+ "lang": "java",
+ "langName": "Java",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "squid:S1697",
+ "name": "Short-circuit logic should be used to prevent null pointer dereferences in conditionals",
+ "lang": "java",
+ "langName": "Java",
+ "sysTags": [
+ "bug"
+ ],
+ "tags": []
+ }
+ ],
+ "facets": [
+ {
+ "property": "tags",
+ "values": [
+ {
+ "val": "bug",
+ "count": 7
+ },
+ {
+ "val": "convention",
+ "count": 1
+ },
+ {
+ "val": "cwe",
+ "count": 1
+ },
+ {
+ "val": "error-handling",
+ "count": 1
+ },
+ {
+ "val": "owasp-top10",
+ "count": 1
+ },
+ {
+ "val": "pitfall",
+ "count": 1
+ },
+ {
+ "val": "security",
+ "count": 1
+ }
+ ]
+ },
+ {
+ "property": "languages",
+ "values": [
+ {
+ "val": "java",
+ "count": 10
+ },
+ {
+ "val": "js",
+ "count": 6
+ },
+ {
+ "val": "php",
+ "count": 2
+ }
+ ]
+ },
+ {
+ "property": "repositories",
+ "values": [
+ {
+ "val": "squid",
+ "count": 10
+ }
+ ]
+ }
+ ]
+}
--- /dev/null
+{
+ "rule": {
+ "key": "squid:S1181",
+ "repo": "squid",
+ "name": "Throwable and Error classes should not be caught",
+ "createdAt": "2013-08-09T14:40:54+0200",
+ "severity": "BLOCKER",
+ "status": "READY",
+ "internalKey": "S1181",
+ "isTemplate": false,
+ "tags": [],
+ "sysTags": [
+ "error-handling"
+ ],
+ "lang": "java",
+ "langName": "Java",
+ "htmlDesc": "<p>\n<code>Throwable</code> is the superclass of all errors and exceptions in Java.\n<code>Error</code> is the superclass of all errors which are not meant to be caught by applications.\n</p>\n\n<p>\nCatching either <code>Throwable</code> or <code>Error</code> will also catch <code>OutOfMemoryError</code> or <code>InternalError</code> from which an application should not attempt to recover.\n</p>\n\n<p>Only <code>Exception</code> and its subclasses should be caught.</p>\n\n<h2>Noncompliant Code Example</h2>\n\n<pre>\ntry { /* ... */ } catch (Throwable t) { /* ... */ }\ntry { /* ... */ } catch (Error e) { /* ... */ } \n</pre>\n\n<h2>Compliant Solution</h2>\n\n<pre>\ntry { /* ... */ } catch (Exception e) { /* ... */ } \ntry { /* ... */ } catch (RuntimeException e) { /* ... */ } \ntry { /* ... */ } catch (MyException e) { /* ... */ } \n</pre>",
+ "defaultDebtChar": "RELIABILITY",
+ "defaultDebtSubChar": "EXCEPTION_HANDLING",
+ "debtChar": "RELIABILITY",
+ "debtSubChar": "EXCEPTION_HANDLING",
+ "debtCharName": "Reliability",
+ "debtSubCharName": "Exception handling",
+ "defaultDebtRemFnType": "CONSTANT_ISSUE",
+ "defaultDebtRemFnOffset": "20min",
+ "debtOverloaded": true,
+ "debtRemFnType": "LINEAR",
+ "debtRemFnCoeff": "20min",
+ "params": []
+ },
+ "actives": [
+ {
+ "qProfile": "java-default-with-mojo-conventions-49307",
+ "inherit": "NONE",
+ "severity": "BLOCKER",
+ "params": []
+ }
+ ]
+}
--- /dev/null
+{
+ "canWrite": false,
+ "qualityprofiles": [
+ {
+ "key": "java-default-with-mojo-conventions-49307",
+ "name": "Default - Maven Conventions",
+ "lang": "java",
+ "parentKey": "java-top-profile-without-formatting-conventions-50037"
+ },
+ {
+ "key": "java-default-with-sonarsource-conventions-27339",
+ "name": "Default - SonarSource conventions",
+ "lang": "java",
+ "parentKey": "java-top-profile-without-formatting-conventions-50037"
+ },
+ {
+ "key": "java-top-profile-without-formatting-conventions-50037",
+ "name": "Default - Top",
+ "lang": "java"
+ },
+ {
+ "key": "java-findbugs-14954",
+ "name": "FindBugs",
+ "lang": "java"
+ },
+ {
+ "key": "java-for-sq-java-plugin-only-92289",
+ "name": "For SQ Java Plugin Only",
+ "lang": "java",
+ "parentKey": "java-default-with-sonarsource-conventions-27339"
+ },
+ {
+ "key": "java-for-sq-only-95381",
+ "name": "For SQ Only",
+ "lang": "java",
+ "parentKey": "java-default-with-sonarsource-conventions-27339"
+ },
+ {
+ "key": "php-psr-2-06315",
+ "name": "PSR-2",
+ "lang": "php"
+ },
+ {
+ "key": "java-sonar-way-80423",
+ "name": "Sonar way",
+ "lang": "java"
+ },
+ {
+ "key": "js-sonar-way",
+ "name": "Sonar way",
+ "lang": "js"
+ },
+ {
+ "key": "php-sonar-way-05548",
+ "name": "Sonar way",
+ "lang": "php"
+ },
+ {
+ "key": "py-sonar-way-80265",
+ "name": "Sonar way",
+ "lang": "py"
+ },
+ {
+ "key": "java-without-findbugs",
+ "name": "Without Findbugs",
+ "lang": "java"
+ }
+ ],
+ "languages": {
+ "py": "Python",
+ "js": "JavaScript",
+ "php": "PHP",
+ "java": "Java"
+ },
+ "repositories": [
+ {
+ "key": "common-java",
+ "name": "Common SonarQube",
+ "language": "java"
+ },
+ {
+ "key": "common-js",
+ "name": "Common SonarQube",
+ "language": "js"
+ },
+ {
+ "key": "common-php",
+ "name": "Common SonarQube",
+ "language": "php"
+ },
+ {
+ "key": "common-py",
+ "name": "Common SonarQube",
+ "language": "py"
+ },
+ {
+ "key": "Pylint",
+ "name": "Pylint",
+ "language": "py"
+ },
+ {
+ "key": "javascript",
+ "name": "SonarQube",
+ "language": "js"
+ },
+ {
+ "key": "php",
+ "name": "SonarQube",
+ "language": "php"
+ },
+ {
+ "key": "python",
+ "name": "SonarQube",
+ "language": "py"
+ },
+ {
+ "key": "squid",
+ "name": "SonarQube",
+ "language": "java"
+ }
+ ],
+ "statuses": {
+ "BETA": "Beta",
+ "DEPRECATED": "Deprecated",
+ "READY": "Ready"
+ },
+ "characteristics": [
+ {
+ "key": "UNDERSTANDABILITY",
+ "name": "Understandability",
+ "parent": "MAINTAINABILITY"
+ },
+ {
+ "key": "MAINTAINABILITY",
+ "name": "Maintainability"
+ },
+ {
+ "key": "TIME_ZONE_RELATED_PORTABILITY",
+ "name": "Time zone related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "READABILITY",
+ "name": "Readability",
+ "parent": "MAINTAINABILITY"
+ },
+ {
+ "key": "SECURITY_FEATURES",
+ "name": "Security features",
+ "parent": "SECURITY"
+ },
+ {
+ "key": "ARCHITECTURE_RELIABILITY",
+ "name": "Architecture related reliability",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "OS_RELATED_PORTABILITY",
+ "name": "OS related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "EXCEPTION_HANDLING",
+ "name": "Exception handling",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "LOGIC_CHANGEABILITY",
+ "name": "Logic related changeability",
+ "parent": "CHANGEABILITY"
+ },
+ {
+ "key": "SOFTWARE_RELATED_PORTABILITY",
+ "name": "Software related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "INPUT_VALIDATION_AND_REPRESENTATION",
+ "name": "Input validation and representation",
+ "parent": "SECURITY"
+ },
+ {
+ "key": "LANGUAGE_RELATED_PORTABILITY",
+ "name": "Language related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "ERRORS",
+ "name": "Errors",
+ "parent": "SECURITY"
+ },
+ {
+ "key": "SECURITY",
+ "name": "Security"
+ },
+ {
+ "key": "RELIABILITY",
+ "name": "Reliability"
+ },
+ {
+ "key": "PORTABILITY",
+ "name": "Portability"
+ },
+ {
+ "key": "HARDWARE_RELATED_PORTABILITY",
+ "name": "Hardware related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "SYNCHRONIZATION_RELIABILITY",
+ "name": "Synchronization related reliability",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "TRANSPORTABILITY",
+ "name": "Transportability",
+ "parent": "REUSABILITY"
+ },
+ {
+ "key": "COMPILER_RELATED_PORTABILITY",
+ "name": "Compiler related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "RESOURCE_RELIABILITY",
+ "name": "Resource",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "CPU_EFFICIENCY",
+ "name": "Processor use",
+ "parent": "EFFICIENCY"
+ },
+ {
+ "key": "EFFICIENCY",
+ "name": "Efficiency"
+ },
+ {
+ "key": "CHANGEABILITY",
+ "name": "Changeability"
+ },
+ {
+ "key": "DATA_CHANGEABILITY",
+ "name": "Data related changeability",
+ "parent": "CHANGEABILITY"
+ },
+ {
+ "key": "API_ABUSE",
+ "name": "API abuse",
+ "parent": "SECURITY"
+ },
+ {
+ "key": "ARCHITECTURE_CHANGEABILITY",
+ "name": "Architecture related changeability",
+ "parent": "CHANGEABILITY"
+ },
+ {
+ "key": "UNIT_TESTS",
+ "name": "Unit tests",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "INSTRUCTION_RELIABILITY",
+ "name": "Instruction related reliability",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "REUSABILITY",
+ "name": "Reusability"
+ },
+ {
+ "key": "MODULARITY",
+ "name": "Modularity",
+ "parent": "REUSABILITY"
+ },
+ {
+ "key": "UNIT_TESTABILITY",
+ "name": "Unit level testability",
+ "parent": "TESTABILITY"
+ },
+ {
+ "key": "TESTABILITY",
+ "name": "Testability"
+ },
+ {
+ "key": "INTEGRATION_TESTABILITY",
+ "name": "Integration level testability",
+ "parent": "TESTABILITY"
+ },
+ {
+ "key": "NETWORK_USE",
+ "name": "Network use",
+ "parent": "EFFICIENCY"
+ },
+ {
+ "key": "MEMORY_EFFICIENCY",
+ "name": "Memory use",
+ "parent": "EFFICIENCY"
+ },
+ {
+ "key": "DATA_RELIABILITY",
+ "name": "Data related reliability",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "FAULT_TOLERANCE",
+ "name": "Fault tolerance",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "LOGIC_RELIABILITY",
+ "name": "Logic related reliability",
+ "parent": "RELIABILITY"
+ }
+ ]
+}
--- /dev/null
+{
+ "total": 407,
+ "p": 1,
+ "ps": 25,
+ "rules": [
+ {
+ "key": "squid:S2077",
+ "name": "Values passed to SQL commands should be sanitized",
+ "lang": "java",
+ "langName": "Java",
+ "sysTags": [
+ "cwe",
+ "owasp-top10",
+ "security",
+ "sql"
+ ],
+ "tags": [
+ "custom-tag"
+ ]
+ },
+ {
+ "key": "php:S107",
+ "name": "Functions should not have too many parameters",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1192",
+ "name": "String literals should not be duplicated",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [],
+ "tags": []
+ },
+ {
+ "key": "php:S1145",
+ "name": "\"if\" statement conditions should not always evaluate to \"true\" or to \"false\"",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "bug",
+ "cwe",
+ "security"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S108",
+ "name": "Nested blocks of code should not be left empty",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [],
+ "tags": []
+ },
+ {
+ "key": "php:S1301",
+ "name": "\"switch\" statements should have at least 3 \"case\" clauses",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [],
+ "tags": []
+ },
+ {
+ "key": "php:S103",
+ "name": "Lines should not be too long",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1144",
+ "name": "Unused private method should be removed",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "unused"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S105",
+ "name": "Tabulation characters should not be used",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention",
+ "psr2"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1481",
+ "name": "Unused local variables should be removed",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "unused"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1142",
+ "name": "Functions should not contain too many return statements",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S104",
+ "name": "Files should not have too many lines",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1605",
+ "name": "PHP 4 style calls to parent constructors should not be used in PHP5 \"__construct\" functions",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1448",
+ "name": "Classes should not have too many methods",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1603",
+ "name": "PHP 4 constructor declarations should not be used",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "pitfail"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1779",
+ "name": "Only LF character (Unix-like) should be used to end lines",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention",
+ "psr2"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1185",
+ "name": "Overriding methods should do more than simply call the same method in the super class",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [],
+ "tags": []
+ },
+ {
+ "key": "php:S1600",
+ "name": "Deprecated predefined variables should not be used",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "pitfail"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1109",
+ "name": "A close curly brace should be located at the beginning of a line",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S2001",
+ "name": "Functions deprecated in PHP 5 should not be used",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "obsolete"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S2002",
+ "name": "Errors should not be silenced",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "pitfail"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S2000",
+ "name": "Files should not contain characters before \"<?php\"",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "user-experience"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1105",
+ "name": "An open curly brace should be located at the end of a line",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1200",
+ "name": "Classes should not be coupled to too many other classes (Single Responsibility Principle)",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1106",
+ "name": "An open curly brace should be located at the beginning of a line",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ }
+ ],
+ "facets": [
+ {
+ "property": "tags",
+ "values": [
+ {
+ "val": "convention",
+ "count": 67
+ },
+ {
+ "val": "brain-overload",
+ "count": 36
+ },
+ {
+ "val": "bug",
+ "count": 36
+ },
+ {
+ "val": "cwe",
+ "count": 17
+ },
+ {
+ "val": "unused",
+ "count": 16
+ },
+ {
+ "val": "security",
+ "count": 14
+ },
+ {
+ "val": "pitfall",
+ "count": 12
+ },
+ {
+ "val": "psr2",
+ "count": 12
+ },
+ {
+ "val": "error-handling",
+ "count": 11
+ },
+ {
+ "val": "pitfail",
+ "count": 10
+ }
+ ]
+ },
+ {
+ "property": "languages",
+ "values": [
+ {
+ "val": "java",
+ "count": 212
+ },
+ {
+ "val": "py",
+ "count": 212
+ },
+ {
+ "val": "php",
+ "count": 103
+ },
+ {
+ "val": "js",
+ "count": 77
+ }
+ ]
+ },
+ {
+ "property": "repositories",
+ "values": [
+ {
+ "val": "squid",
+ "count": 206
+ },
+ {
+ "val": "Pylint",
+ "count": 180
+ },
+ {
+ "val": "php",
+ "count": 97
+ },
+ {
+ "val": "javascript",
+ "count": 73
+ },
+ {
+ "val": "python",
+ "count": 28
+ },
+ {
+ "val": "common-java",
+ "count": 6
+ },
+ {
+ "val": "common-php",
+ "count": 6
+ },
+ {
+ "val": "manual",
+ "count": 5
+ },
+ {
+ "val": "common-js",
+ "count": 4
+ },
+ {
+ "val": "common-py",
+ "count": 4
+ }
+ ]
+ }
+ ]
+}
--- /dev/null
+{
+ "total": 408,
+ "p": 1,
+ "ps": 25,
+ "rules": [
+ {
+ "key": "squid:S2077",
+ "name": "Values passed to SQL commands should be sanitized",
+ "lang": "java",
+ "langName": "Java",
+ "sysTags": [
+ "cwe",
+ "owasp-top10",
+ "security",
+ "sql"
+ ],
+ "tags": [
+ "custom-tag"
+ ]
+ },
+ {
+ "key": "php:S107",
+ "name": "Functions should not have too many parameters",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1192",
+ "name": "String literals should not be duplicated",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [],
+ "tags": []
+ },
+ {
+ "key": "php:S1145",
+ "name": "\"if\" statement conditions should not always evaluate to \"true\" or to \"false\"",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "bug",
+ "cwe",
+ "security"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S108",
+ "name": "Nested blocks of code should not be left empty",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [],
+ "tags": []
+ },
+ {
+ "key": "php:S1301",
+ "name": "\"switch\" statements should have at least 3 \"case\" clauses",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [],
+ "tags": []
+ },
+ {
+ "key": "php:S103",
+ "name": "Lines should not be too long",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1144",
+ "name": "Unused private method should be removed",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "unused"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S105",
+ "name": "Tabulation characters should not be used",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention",
+ "psr2"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1481",
+ "name": "Unused local variables should be removed",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "unused"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1142",
+ "name": "Functions should not contain too many return statements",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S104",
+ "name": "Files should not have too many lines",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1605",
+ "name": "PHP 4 style calls to parent constructors should not be used in PHP5 \"__construct\" functions",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1448",
+ "name": "Classes should not have too many methods",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1603",
+ "name": "PHP 4 constructor declarations should not be used",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "pitfail"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1779",
+ "name": "Only LF character (Unix-like) should be used to end lines",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention",
+ "psr2"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1185",
+ "name": "Overriding methods should do more than simply call the same method in the super class",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [],
+ "tags": []
+ },
+ {
+ "key": "php:S1600",
+ "name": "Deprecated predefined variables should not be used",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "pitfail"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1109",
+ "name": "A close curly brace should be located at the beginning of a line",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S2001",
+ "name": "Functions deprecated in PHP 5 should not be used",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "obsolete"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S2002",
+ "name": "Errors should not be silenced",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "pitfail"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S2000",
+ "name": "Files should not contain characters before \"<?php\"",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "user-experience"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1105",
+ "name": "An open curly brace should be located at the end of a line",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1200",
+ "name": "Classes should not be coupled to too many other classes (Single Responsibility Principle)",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1106",
+ "name": "An open curly brace should be located at the beginning of a line",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ }
+ ],
+ "facets": [
+ {
+ "property": "tags",
+ "values": [
+ {
+ "val": "convention",
+ "count": 67
+ },
+ {
+ "val": "brain-overload",
+ "count": 36
+ },
+ {
+ "val": "bug",
+ "count": 36
+ },
+ {
+ "val": "cwe",
+ "count": 17
+ },
+ {
+ "val": "unused",
+ "count": 16
+ },
+ {
+ "val": "security",
+ "count": 14
+ },
+ {
+ "val": "pitfall",
+ "count": 12
+ },
+ {
+ "val": "psr2",
+ "count": 12
+ },
+ {
+ "val": "error-handling",
+ "count": 11
+ },
+ {
+ "val": "pitfail",
+ "count": 10
+ }
+ ]
+ },
+ {
+ "property": "languages",
+ "values": [
+ {
+ "val": "java",
+ "count": 212
+ },
+ {
+ "val": "py",
+ "count": 212
+ },
+ {
+ "val": "php",
+ "count": 103
+ },
+ {
+ "val": "js",
+ "count": 77
+ }
+ ]
+ },
+ {
+ "property": "repositories",
+ "values": [
+ {
+ "val": "squid",
+ "count": 206
+ },
+ {
+ "val": "Pylint",
+ "count": 180
+ },
+ {
+ "val": "php",
+ "count": 97
+ },
+ {
+ "val": "javascript",
+ "count": 73
+ },
+ {
+ "val": "python",
+ "count": 28
+ },
+ {
+ "val": "common-java",
+ "count": 6
+ },
+ {
+ "val": "common-php",
+ "count": 6
+ },
+ {
+ "val": "manual",
+ "count": 5
+ },
+ {
+ "val": "common-js",
+ "count": 4
+ },
+ {
+ "val": "common-py",
+ "count": 4
+ }
+ ]
+ }
+ ]
+}
--- /dev/null
+{
+ "total": 609,
+ "p": 1,
+ "ps": 25,
+ "rules": [
+ {
+ "key": "squid:S2077",
+ "name": "Values passed to SQL commands should be sanitized",
+ "lang": "java",
+ "langName": "Java",
+ "sysTags": [
+ "cwe",
+ "owasp-top10",
+ "security",
+ "sql"
+ ],
+ "tags": [
+ "custom-tag"
+ ]
+ },
+ {
+ "key": "php:S107",
+ "name": "Functions should not have too many parameters",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1192",
+ "name": "String literals should not be duplicated",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [],
+ "tags": []
+ },
+ {
+ "key": "php:S1145",
+ "name": "\"if\" statement conditions should not always evaluate to \"true\" or to \"false\"",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "bug",
+ "cwe",
+ "security"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S108",
+ "name": "Nested blocks of code should not be left empty",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [],
+ "tags": []
+ },
+ {
+ "key": "php:S1301",
+ "name": "\"switch\" statements should have at least 3 \"case\" clauses",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [],
+ "tags": []
+ },
+ {
+ "key": "php:S103",
+ "name": "Lines should not be too long",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1144",
+ "name": "Unused private method should be removed",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "unused"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S105",
+ "name": "Tabulation characters should not be used",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention",
+ "psr2"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1481",
+ "name": "Unused local variables should be removed",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "unused"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1142",
+ "name": "Functions should not contain too many return statements",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S104",
+ "name": "Files should not have too many lines",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1605",
+ "name": "PHP 4 style calls to parent constructors should not be used in PHP5 \"__construct\" functions",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1448",
+ "name": "Classes should not have too many methods",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1603",
+ "name": "PHP 4 constructor declarations should not be used",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "pitfail"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1779",
+ "name": "Only LF character (Unix-like) should be used to end lines",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention",
+ "psr2"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1185",
+ "name": "Overriding methods should do more than simply call the same method in the super class",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [],
+ "tags": []
+ },
+ {
+ "key": "php:S1600",
+ "name": "Deprecated predefined variables should not be used",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "pitfail"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1109",
+ "name": "A close curly brace should be located at the beginning of a line",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S2001",
+ "name": "Functions deprecated in PHP 5 should not be used",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "obsolete"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S2002",
+ "name": "Errors should not be silenced",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "pitfail"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S2000",
+ "name": "Files should not contain characters before \"<?php\"",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "user-experience"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1105",
+ "name": "An open curly brace should be located at the end of a line",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1200",
+ "name": "Classes should not be coupled to too many other classes (Single Responsibility Principle)",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1106",
+ "name": "An open curly brace should be located at the beginning of a line",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ }
+ ],
+ "facets": [
+ {
+ "property": "tags",
+ "values": [
+ {
+ "val": "convention",
+ "count": 67
+ },
+ {
+ "val": "brain-overload",
+ "count": 36
+ },
+ {
+ "val": "bug",
+ "count": 36
+ },
+ {
+ "val": "cwe",
+ "count": 17
+ },
+ {
+ "val": "unused",
+ "count": 16
+ },
+ {
+ "val": "security",
+ "count": 14
+ },
+ {
+ "val": "pitfall",
+ "count": 12
+ },
+ {
+ "val": "psr2",
+ "count": 12
+ },
+ {
+ "val": "error-handling",
+ "count": 11
+ },
+ {
+ "val": "pitfail",
+ "count": 10
+ }
+ ]
+ },
+ {
+ "property": "languages",
+ "values": [
+ {
+ "val": "java",
+ "count": 212
+ },
+ {
+ "val": "py",
+ "count": 212
+ },
+ {
+ "val": "php",
+ "count": 103
+ },
+ {
+ "val": "js",
+ "count": 77
+ }
+ ]
+ },
+ {
+ "property": "repositories",
+ "values": [
+ {
+ "val": "squid",
+ "count": 206
+ },
+ {
+ "val": "Pylint",
+ "count": 180
+ },
+ {
+ "val": "php",
+ "count": 97
+ },
+ {
+ "val": "javascript",
+ "count": 73
+ },
+ {
+ "val": "python",
+ "count": 28
+ },
+ {
+ "val": "common-java",
+ "count": 6
+ },
+ {
+ "val": "common-php",
+ "count": 6
+ },
+ {
+ "val": "manual",
+ "count": 5
+ },
+ {
+ "val": "common-js",
+ "count": 4
+ },
+ {
+ "val": "common-py",
+ "count": 4
+ }
+ ]
+ }
+ ]
+}
--- /dev/null
+{
+ "canWrite": false,
+ "qualityprofiles": [
+ {
+ "key": "java-default-with-mojo-conventions-49307",
+ "name": "Default - Maven Conventions",
+ "lang": "java",
+ "parentKey": "java-top-profile-without-formatting-conventions-50037"
+ },
+ {
+ "key": "java-default-with-sonarsource-conventions-27339",
+ "name": "Default - SonarSource conventions",
+ "lang": "java",
+ "parentKey": "java-top-profile-without-formatting-conventions-50037"
+ },
+ {
+ "key": "java-top-profile-without-formatting-conventions-50037",
+ "name": "Default - Top",
+ "lang": "java"
+ },
+ {
+ "key": "java-findbugs-14954",
+ "name": "FindBugs",
+ "lang": "java"
+ },
+ {
+ "key": "java-for-sq-java-plugin-only-92289",
+ "name": "For SQ Java Plugin Only",
+ "lang": "java",
+ "parentKey": "java-default-with-sonarsource-conventions-27339"
+ },
+ {
+ "key": "java-for-sq-only-95381",
+ "name": "For SQ Only",
+ "lang": "java",
+ "parentKey": "java-default-with-sonarsource-conventions-27339"
+ },
+ {
+ "key": "php-psr-2-06315",
+ "name": "PSR-2",
+ "lang": "php"
+ },
+ {
+ "key": "java-sonar-way-80423",
+ "name": "Sonar way",
+ "lang": "java"
+ },
+ {
+ "key": "js-sonar-way",
+ "name": "Sonar way",
+ "lang": "js"
+ },
+ {
+ "key": "php-sonar-way-05548",
+ "name": "Sonar way",
+ "lang": "php"
+ },
+ {
+ "key": "py-sonar-way-80265",
+ "name": "Sonar way",
+ "lang": "py"
+ },
+ {
+ "key": "java-without-findbugs",
+ "name": "Without Findbugs",
+ "lang": "java"
+ }
+ ],
+ "languages": {
+ "py": "Python",
+ "js": "JavaScript",
+ "php": "PHP",
+ "java": "Java"
+ },
+ "repositories": [
+ {
+ "key": "common-java",
+ "name": "Common SonarQube",
+ "language": "java"
+ },
+ {
+ "key": "common-js",
+ "name": "Common SonarQube",
+ "language": "js"
+ },
+ {
+ "key": "common-php",
+ "name": "Common SonarQube",
+ "language": "php"
+ },
+ {
+ "key": "common-py",
+ "name": "Common SonarQube",
+ "language": "py"
+ },
+ {
+ "key": "Pylint",
+ "name": "Pylint",
+ "language": "py"
+ },
+ {
+ "key": "javascript",
+ "name": "SonarQube",
+ "language": "js"
+ },
+ {
+ "key": "php",
+ "name": "SonarQube",
+ "language": "php"
+ },
+ {
+ "key": "python",
+ "name": "SonarQube",
+ "language": "py"
+ },
+ {
+ "key": "squid",
+ "name": "SonarQube",
+ "language": "java"
+ }
+ ],
+ "statuses": {
+ "BETA": "Beta",
+ "DEPRECATED": "Deprecated",
+ "READY": "Ready"
+ },
+ "characteristics": [
+ {
+ "key": "UNDERSTANDABILITY",
+ "name": "Understandability",
+ "parent": "MAINTAINABILITY"
+ },
+ {
+ "key": "MAINTAINABILITY",
+ "name": "Maintainability"
+ },
+ {
+ "key": "TIME_ZONE_RELATED_PORTABILITY",
+ "name": "Time zone related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "READABILITY",
+ "name": "Readability",
+ "parent": "MAINTAINABILITY"
+ },
+ {
+ "key": "SECURITY_FEATURES",
+ "name": "Security features",
+ "parent": "SECURITY"
+ },
+ {
+ "key": "ARCHITECTURE_RELIABILITY",
+ "name": "Architecture related reliability",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "OS_RELATED_PORTABILITY",
+ "name": "OS related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "EXCEPTION_HANDLING",
+ "name": "Exception handling",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "LOGIC_CHANGEABILITY",
+ "name": "Logic related changeability",
+ "parent": "CHANGEABILITY"
+ },
+ {
+ "key": "SOFTWARE_RELATED_PORTABILITY",
+ "name": "Software related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "INPUT_VALIDATION_AND_REPRESENTATION",
+ "name": "Input validation and representation",
+ "parent": "SECURITY"
+ },
+ {
+ "key": "LANGUAGE_RELATED_PORTABILITY",
+ "name": "Language related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "ERRORS",
+ "name": "Errors",
+ "parent": "SECURITY"
+ },
+ {
+ "key": "SECURITY",
+ "name": "Security"
+ },
+ {
+ "key": "RELIABILITY",
+ "name": "Reliability"
+ },
+ {
+ "key": "PORTABILITY",
+ "name": "Portability"
+ },
+ {
+ "key": "HARDWARE_RELATED_PORTABILITY",
+ "name": "Hardware related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "SYNCHRONIZATION_RELIABILITY",
+ "name": "Synchronization related reliability",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "TRANSPORTABILITY",
+ "name": "Transportability",
+ "parent": "REUSABILITY"
+ },
+ {
+ "key": "COMPILER_RELATED_PORTABILITY",
+ "name": "Compiler related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "RESOURCE_RELIABILITY",
+ "name": "Resource",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "CPU_EFFICIENCY",
+ "name": "Processor use",
+ "parent": "EFFICIENCY"
+ },
+ {
+ "key": "EFFICIENCY",
+ "name": "Efficiency"
+ },
+ {
+ "key": "CHANGEABILITY",
+ "name": "Changeability"
+ },
+ {
+ "key": "DATA_CHANGEABILITY",
+ "name": "Data related changeability",
+ "parent": "CHANGEABILITY"
+ },
+ {
+ "key": "API_ABUSE",
+ "name": "API abuse",
+ "parent": "SECURITY"
+ },
+ {
+ "key": "ARCHITECTURE_CHANGEABILITY",
+ "name": "Architecture related changeability",
+ "parent": "CHANGEABILITY"
+ },
+ {
+ "key": "UNIT_TESTS",
+ "name": "Unit tests",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "INSTRUCTION_RELIABILITY",
+ "name": "Instruction related reliability",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "REUSABILITY",
+ "name": "Reusability"
+ },
+ {
+ "key": "MODULARITY",
+ "name": "Modularity",
+ "parent": "REUSABILITY"
+ },
+ {
+ "key": "UNIT_TESTABILITY",
+ "name": "Unit level testability",
+ "parent": "TESTABILITY"
+ },
+ {
+ "key": "TESTABILITY",
+ "name": "Testability"
+ },
+ {
+ "key": "INTEGRATION_TESTABILITY",
+ "name": "Integration level testability",
+ "parent": "TESTABILITY"
+ },
+ {
+ "key": "NETWORK_USE",
+ "name": "Network use",
+ "parent": "EFFICIENCY"
+ },
+ {
+ "key": "MEMORY_EFFICIENCY",
+ "name": "Memory use",
+ "parent": "EFFICIENCY"
+ },
+ {
+ "key": "DATA_RELIABILITY",
+ "name": "Data related reliability",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "FAULT_TOLERANCE",
+ "name": "Fault tolerance",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "LOGIC_RELIABILITY",
+ "name": "Logic related reliability",
+ "parent": "RELIABILITY"
+ }
+ ]
+}
--- /dev/null
+{
+ "total": 4,
+ "p": 1,
+ "ps": 25,
+ "rules": [
+ {
+ "key": "squid:S2077",
+ "name": "Values passed to SQL commands should be sanitized",
+ "lang": "java",
+ "langName": "Java",
+ "sysTags": [
+ "cwe",
+ "owasp-top10",
+ "security",
+ "sql"
+ ],
+ "tags": [
+ "custom-tag"
+ ]
+ },
+ {
+ "key": "php:S107",
+ "name": "Functions should not have too many parameters",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1192",
+ "name": "String literals should not be duplicated",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [],
+ "tags": []
+ },
+ {
+ "key": "php:S1145",
+ "name": "\"if\" statement conditions should not always evaluate to \"true\" or to \"false\"",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "bug",
+ "cwe",
+ "security"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S108",
+ "name": "Nested blocks of code should not be left empty",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [],
+ "tags": []
+ },
+ {
+ "key": "php:S1301",
+ "name": "\"switch\" statements should have at least 3 \"case\" clauses",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [],
+ "tags": []
+ },
+ {
+ "key": "php:S103",
+ "name": "Lines should not be too long",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1144",
+ "name": "Unused private method should be removed",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "unused"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S105",
+ "name": "Tabulation characters should not be used",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention",
+ "psr2"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1481",
+ "name": "Unused local variables should be removed",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "unused"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1142",
+ "name": "Functions should not contain too many return statements",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S104",
+ "name": "Files should not have too many lines",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1605",
+ "name": "PHP 4 style calls to parent constructors should not be used in PHP5 \"__construct\" functions",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1448",
+ "name": "Classes should not have too many methods",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1603",
+ "name": "PHP 4 constructor declarations should not be used",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "pitfail"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1779",
+ "name": "Only LF character (Unix-like) should be used to end lines",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention",
+ "psr2"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1185",
+ "name": "Overriding methods should do more than simply call the same method in the super class",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [],
+ "tags": []
+ },
+ {
+ "key": "php:S1600",
+ "name": "Deprecated predefined variables should not be used",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "pitfail"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1109",
+ "name": "A close curly brace should be located at the beginning of a line",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S2001",
+ "name": "Functions deprecated in PHP 5 should not be used",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "obsolete"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S2002",
+ "name": "Errors should not be silenced",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "pitfail"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S2000",
+ "name": "Files should not contain characters before \"<?php\"",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "user-experience"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1105",
+ "name": "An open curly brace should be located at the end of a line",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1200",
+ "name": "Classes should not be coupled to too many other classes (Single Responsibility Principle)",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1106",
+ "name": "An open curly brace should be located at the beginning of a line",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ }
+ ],
+ "facets": [
+ {
+ "property": "tags",
+ "values": [
+ {
+ "val": "convention",
+ "count": 67
+ },
+ {
+ "val": "brain-overload",
+ "count": 36
+ },
+ {
+ "val": "bug",
+ "count": 36
+ },
+ {
+ "val": "cwe",
+ "count": 17
+ },
+ {
+ "val": "unused",
+ "count": 16
+ },
+ {
+ "val": "security",
+ "count": 14
+ },
+ {
+ "val": "pitfall",
+ "count": 12
+ },
+ {
+ "val": "psr2",
+ "count": 12
+ },
+ {
+ "val": "error-handling",
+ "count": 11
+ },
+ {
+ "val": "pitfail",
+ "count": 10
+ }
+ ]
+ },
+ {
+ "property": "languages",
+ "values": [
+ {
+ "val": "java",
+ "count": 212
+ },
+ {
+ "val": "py",
+ "count": 212
+ },
+ {
+ "val": "php",
+ "count": 103
+ },
+ {
+ "val": "js",
+ "count": 77
+ }
+ ]
+ },
+ {
+ "property": "repositories",
+ "values": [
+ {
+ "val": "squid",
+ "count": 206
+ },
+ {
+ "val": "Pylint",
+ "count": 180
+ },
+ {
+ "val": "php",
+ "count": 97
+ },
+ {
+ "val": "javascript",
+ "count": 73
+ },
+ {
+ "val": "python",
+ "count": 28
+ },
+ {
+ "val": "common-java",
+ "count": 6
+ },
+ {
+ "val": "common-php",
+ "count": 6
+ },
+ {
+ "val": "manual",
+ "count": 5
+ },
+ {
+ "val": "common-js",
+ "count": 4
+ },
+ {
+ "val": "common-py",
+ "count": 4
+ }
+ ]
+ }
+ ]
+}
--- /dev/null
+{
+ "total": 609,
+ "p": 1,
+ "ps": 25,
+ "rules": [
+ {
+ "key": "squid:S2077",
+ "name": "Values passed to SQL commands should be sanitized",
+ "lang": "java",
+ "langName": "Java",
+ "sysTags": [
+ "cwe",
+ "owasp-top10",
+ "security",
+ "sql"
+ ],
+ "tags": [
+ "custom-tag"
+ ]
+ },
+ {
+ "key": "php:S107",
+ "name": "Functions should not have too many parameters",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1192",
+ "name": "String literals should not be duplicated",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [],
+ "tags": []
+ },
+ {
+ "key": "php:S1145",
+ "name": "\"if\" statement conditions should not always evaluate to \"true\" or to \"false\"",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "bug",
+ "cwe",
+ "security"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S108",
+ "name": "Nested blocks of code should not be left empty",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [],
+ "tags": []
+ },
+ {
+ "key": "php:S1301",
+ "name": "\"switch\" statements should have at least 3 \"case\" clauses",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [],
+ "tags": []
+ },
+ {
+ "key": "php:S103",
+ "name": "Lines should not be too long",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1144",
+ "name": "Unused private method should be removed",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "unused"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S105",
+ "name": "Tabulation characters should not be used",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention",
+ "psr2"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1481",
+ "name": "Unused local variables should be removed",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "unused"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1142",
+ "name": "Functions should not contain too many return statements",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S104",
+ "name": "Files should not have too many lines",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1605",
+ "name": "PHP 4 style calls to parent constructors should not be used in PHP5 \"__construct\" functions",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1448",
+ "name": "Classes should not have too many methods",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1603",
+ "name": "PHP 4 constructor declarations should not be used",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "pitfail"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1779",
+ "name": "Only LF character (Unix-like) should be used to end lines",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention",
+ "psr2"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1185",
+ "name": "Overriding methods should do more than simply call the same method in the super class",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [],
+ "tags": []
+ },
+ {
+ "key": "php:S1600",
+ "name": "Deprecated predefined variables should not be used",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "pitfail"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1109",
+ "name": "A close curly brace should be located at the beginning of a line",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S2001",
+ "name": "Functions deprecated in PHP 5 should not be used",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "obsolete"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S2002",
+ "name": "Errors should not be silenced",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "pitfail"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S2000",
+ "name": "Files should not contain characters before \"<?php\"",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "user-experience"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1105",
+ "name": "An open curly brace should be located at the end of a line",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1200",
+ "name": "Classes should not be coupled to too many other classes (Single Responsibility Principle)",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1106",
+ "name": "An open curly brace should be located at the beginning of a line",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ }
+ ],
+ "facets": [
+ {
+ "property": "tags",
+ "values": [
+ {
+ "val": "convention",
+ "count": 67
+ },
+ {
+ "val": "brain-overload",
+ "count": 36
+ },
+ {
+ "val": "bug",
+ "count": 36
+ },
+ {
+ "val": "cwe",
+ "count": 17
+ },
+ {
+ "val": "unused",
+ "count": 16
+ },
+ {
+ "val": "security",
+ "count": 14
+ },
+ {
+ "val": "pitfall",
+ "count": 12
+ },
+ {
+ "val": "psr2",
+ "count": 12
+ },
+ {
+ "val": "error-handling",
+ "count": 11
+ },
+ {
+ "val": "pitfail",
+ "count": 10
+ }
+ ]
+ },
+ {
+ "property": "languages",
+ "values": [
+ {
+ "val": "java",
+ "count": 212
+ },
+ {
+ "val": "py",
+ "count": 212
+ },
+ {
+ "val": "php",
+ "count": 103
+ },
+ {
+ "val": "js",
+ "count": 77
+ }
+ ]
+ },
+ {
+ "property": "repositories",
+ "values": [
+ {
+ "val": "squid",
+ "count": 206
+ },
+ {
+ "val": "Pylint",
+ "count": 180
+ },
+ {
+ "val": "php",
+ "count": 97
+ },
+ {
+ "val": "javascript",
+ "count": 73
+ },
+ {
+ "val": "python",
+ "count": 28
+ },
+ {
+ "val": "common-java",
+ "count": 6
+ },
+ {
+ "val": "common-php",
+ "count": 6
+ },
+ {
+ "val": "manual",
+ "count": 5
+ },
+ {
+ "val": "common-js",
+ "count": 4
+ },
+ {
+ "val": "common-py",
+ "count": 4
+ }
+ ]
+ }
+ ]
+}
--- /dev/null
+{
+ "canWrite": false,
+ "qualityprofiles": [
+ {
+ "key": "java-default-with-mojo-conventions-49307",
+ "name": "Default - Maven Conventions",
+ "lang": "java",
+ "parentKey": "java-top-profile-without-formatting-conventions-50037"
+ },
+ {
+ "key": "java-default-with-sonarsource-conventions-27339",
+ "name": "Default - SonarSource conventions",
+ "lang": "java",
+ "parentKey": "java-top-profile-without-formatting-conventions-50037"
+ },
+ {
+ "key": "java-top-profile-without-formatting-conventions-50037",
+ "name": "Default - Top",
+ "lang": "java"
+ },
+ {
+ "key": "java-findbugs-14954",
+ "name": "FindBugs",
+ "lang": "java"
+ },
+ {
+ "key": "java-for-sq-java-plugin-only-92289",
+ "name": "For SQ Java Plugin Only",
+ "lang": "java",
+ "parentKey": "java-default-with-sonarsource-conventions-27339"
+ },
+ {
+ "key": "java-for-sq-only-95381",
+ "name": "For SQ Only",
+ "lang": "java",
+ "parentKey": "java-default-with-sonarsource-conventions-27339"
+ },
+ {
+ "key": "php-psr-2-06315",
+ "name": "PSR-2",
+ "lang": "php"
+ },
+ {
+ "key": "java-sonar-way-80423",
+ "name": "Sonar way",
+ "lang": "java"
+ },
+ {
+ "key": "js-sonar-way",
+ "name": "Sonar way",
+ "lang": "js"
+ },
+ {
+ "key": "php-sonar-way-05548",
+ "name": "Sonar way",
+ "lang": "php"
+ },
+ {
+ "key": "py-sonar-way-80265",
+ "name": "Sonar way",
+ "lang": "py"
+ },
+ {
+ "key": "java-without-findbugs",
+ "name": "Without Findbugs",
+ "lang": "java"
+ }
+ ],
+ "languages": {
+ "py": "Python",
+ "js": "JavaScript",
+ "php": "PHP",
+ "java": "Java"
+ },
+ "repositories": [
+ {
+ "key": "common-java",
+ "name": "Common SonarQube",
+ "language": "java"
+ },
+ {
+ "key": "common-js",
+ "name": "Common SonarQube",
+ "language": "js"
+ },
+ {
+ "key": "common-php",
+ "name": "Common SonarQube",
+ "language": "php"
+ },
+ {
+ "key": "common-py",
+ "name": "Common SonarQube",
+ "language": "py"
+ },
+ {
+ "key": "Pylint",
+ "name": "Pylint",
+ "language": "py"
+ },
+ {
+ "key": "javascript",
+ "name": "SonarQube",
+ "language": "js"
+ },
+ {
+ "key": "php",
+ "name": "SonarQube",
+ "language": "php"
+ },
+ {
+ "key": "python",
+ "name": "SonarQube",
+ "language": "py"
+ },
+ {
+ "key": "squid",
+ "name": "SonarQube",
+ "language": "java"
+ }
+ ],
+ "statuses": {
+ "BETA": "Beta",
+ "DEPRECATED": "Deprecated",
+ "READY": "Ready"
+ },
+ "characteristics": [
+ {
+ "key": "UNDERSTANDABILITY",
+ "name": "Understandability",
+ "parent": "MAINTAINABILITY"
+ },
+ {
+ "key": "MAINTAINABILITY",
+ "name": "Maintainability"
+ },
+ {
+ "key": "TIME_ZONE_RELATED_PORTABILITY",
+ "name": "Time zone related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "READABILITY",
+ "name": "Readability",
+ "parent": "MAINTAINABILITY"
+ },
+ {
+ "key": "SECURITY_FEATURES",
+ "name": "Security features",
+ "parent": "SECURITY"
+ },
+ {
+ "key": "ARCHITECTURE_RELIABILITY",
+ "name": "Architecture related reliability",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "OS_RELATED_PORTABILITY",
+ "name": "OS related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "EXCEPTION_HANDLING",
+ "name": "Exception handling",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "LOGIC_CHANGEABILITY",
+ "name": "Logic related changeability",
+ "parent": "CHANGEABILITY"
+ },
+ {
+ "key": "SOFTWARE_RELATED_PORTABILITY",
+ "name": "Software related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "INPUT_VALIDATION_AND_REPRESENTATION",
+ "name": "Input validation and representation",
+ "parent": "SECURITY"
+ },
+ {
+ "key": "LANGUAGE_RELATED_PORTABILITY",
+ "name": "Language related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "ERRORS",
+ "name": "Errors",
+ "parent": "SECURITY"
+ },
+ {
+ "key": "SECURITY",
+ "name": "Security"
+ },
+ {
+ "key": "RELIABILITY",
+ "name": "Reliability"
+ },
+ {
+ "key": "PORTABILITY",
+ "name": "Portability"
+ },
+ {
+ "key": "HARDWARE_RELATED_PORTABILITY",
+ "name": "Hardware related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "SYNCHRONIZATION_RELIABILITY",
+ "name": "Synchronization related reliability",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "TRANSPORTABILITY",
+ "name": "Transportability",
+ "parent": "REUSABILITY"
+ },
+ {
+ "key": "COMPILER_RELATED_PORTABILITY",
+ "name": "Compiler related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "RESOURCE_RELIABILITY",
+ "name": "Resource",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "CPU_EFFICIENCY",
+ "name": "Processor use",
+ "parent": "EFFICIENCY"
+ },
+ {
+ "key": "EFFICIENCY",
+ "name": "Efficiency"
+ },
+ {
+ "key": "CHANGEABILITY",
+ "name": "Changeability"
+ },
+ {
+ "key": "DATA_CHANGEABILITY",
+ "name": "Data related changeability",
+ "parent": "CHANGEABILITY"
+ },
+ {
+ "key": "API_ABUSE",
+ "name": "API abuse",
+ "parent": "SECURITY"
+ },
+ {
+ "key": "ARCHITECTURE_CHANGEABILITY",
+ "name": "Architecture related changeability",
+ "parent": "CHANGEABILITY"
+ },
+ {
+ "key": "UNIT_TESTS",
+ "name": "Unit tests",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "INSTRUCTION_RELIABILITY",
+ "name": "Instruction related reliability",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "REUSABILITY",
+ "name": "Reusability"
+ },
+ {
+ "key": "MODULARITY",
+ "name": "Modularity",
+ "parent": "REUSABILITY"
+ },
+ {
+ "key": "UNIT_TESTABILITY",
+ "name": "Unit level testability",
+ "parent": "TESTABILITY"
+ },
+ {
+ "key": "TESTABILITY",
+ "name": "Testability"
+ },
+ {
+ "key": "INTEGRATION_TESTABILITY",
+ "name": "Integration level testability",
+ "parent": "TESTABILITY"
+ },
+ {
+ "key": "NETWORK_USE",
+ "name": "Network use",
+ "parent": "EFFICIENCY"
+ },
+ {
+ "key": "MEMORY_EFFICIENCY",
+ "name": "Memory use",
+ "parent": "EFFICIENCY"
+ },
+ {
+ "key": "DATA_RELIABILITY",
+ "name": "Data related reliability",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "FAULT_TOLERANCE",
+ "name": "Fault tolerance",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "LOGIC_RELIABILITY",
+ "name": "Logic related reliability",
+ "parent": "RELIABILITY"
+ }
+ ]
+}
--- /dev/null
+{
+ "total": 10,
+ "p": 1,
+ "ps": 200,
+ "rules": [
+ {
+ "key": "squid:S1181",
+ "name": "Throwable and Error classes should not be caught",
+ "lang": "java",
+ "langName": "Java",
+ "sysTags": [
+ "error-handling"
+ ],
+ "tags": []
+ },
+ {
+ "key": "squid:S1849",
+ "name": "\"Iterator.hasNext()\" should not call \"Iterator.next()\"",
+ "lang": "java",
+ "langName": "Java",
+ "sysTags": [
+ "bug"
+ ],
+ "tags": []
+ },
+ {
+ "key": "squid:S1844",
+ "name": "\"Object.wait(...)\" should never be called on objects that implement \"java.util.concurrent.locks.Condition\"",
+ "lang": "java",
+ "langName": "Java",
+ "sysTags": [
+ "bug",
+ "pitfall"
+ ],
+ "tags": []
+ },
+ {
+ "key": "squid:S2258",
+ "name": "\"javax.crypto.NullCipher\" should not be used for anything other than testing",
+ "lang": "java",
+ "langName": "Java",
+ "sysTags": [
+ "cwe",
+ "owasp-top10",
+ "security"
+ ],
+ "tags": []
+ },
+ {
+ "key": "squid:S2251",
+ "name": "A \"for\" loop update clause should move the counter in the right direction",
+ "lang": "java",
+ "langName": "Java",
+ "sysTags": [
+ "bug"
+ ],
+ "tags": []
+ },
+ {
+ "key": "squid:ObjectFinalizeOverridenCallsSuperFinalizeCheck",
+ "name": "super.finalize() should be called at the end of Object.finalize() implementations",
+ "lang": "java",
+ "langName": "Java",
+ "sysTags": [
+ "bug"
+ ],
+ "tags": []
+ },
+ {
+ "key": "squid:S1143",
+ "name": "Return statements should not occur in finally blocks",
+ "lang": "java",
+ "langName": "Java",
+ "sysTags": [
+ "bug"
+ ],
+ "tags": []
+ },
+ {
+ "key": "squid:S1206",
+ "name": "\"equals(Object obj)\" and \"hashCode()\" should be overridden in pairs",
+ "lang": "java",
+ "langName": "Java",
+ "sysTags": [
+ "bug"
+ ],
+ "tags": []
+ },
+ {
+ "key": "squid:S1451",
+ "name": "Copyright and license headers should be defined in all source files",
+ "lang": "java",
+ "langName": "Java",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "squid:S1697",
+ "name": "Short-circuit logic should be used to prevent null pointer dereferences in conditionals",
+ "lang": "java",
+ "langName": "Java",
+ "sysTags": [
+ "bug"
+ ],
+ "tags": []
+ }
+ ],
+ "facets": [
+ {
+ "property": "tags",
+ "values": [
+ {
+ "val": "bug",
+ "count": 7
+ },
+ {
+ "val": "convention",
+ "count": 1
+ },
+ {
+ "val": "cwe",
+ "count": 1
+ },
+ {
+ "val": "error-handling",
+ "count": 1
+ },
+ {
+ "val": "owasp-top10",
+ "count": 1
+ },
+ {
+ "val": "pitfall",
+ "count": 1
+ },
+ {
+ "val": "security",
+ "count": 1
+ }
+ ]
+ },
+ {
+ "property": "languages",
+ "values": [
+ {
+ "val": "java",
+ "count": 10
+ },
+ {
+ "val": "js",
+ "count": 6
+ },
+ {
+ "val": "php",
+ "count": 2
+ }
+ ]
+ },
+ {
+ "property": "repositories",
+ "values": [
+ {
+ "val": "squid",
+ "count": 10
+ }
+ ]
+ }
+ ]
+}
--- /dev/null
+{
+ "rule": {
+ "key": "squid:S1181",
+ "repo": "squid",
+ "name": "Throwable and Error classes should not be caught",
+ "createdAt": "2013-08-09T14:40:54+0200",
+ "severity": "BLOCKER",
+ "status": "READY",
+ "internalKey": "S1181",
+ "isTemplate": false,
+ "tags": [],
+ "sysTags": [
+ "error-handling"
+ ],
+ "lang": "java",
+ "langName": "Java",
+ "htmlDesc": "<p>\n<code>Throwable</code> is the superclass of all errors and exceptions in Java.\n<code>Error</code> is the superclass of all errors which are not meant to be caught by applications.\n</p>\n\n<p>\nCatching either <code>Throwable</code> or <code>Error</code> will also catch <code>OutOfMemoryError</code> or <code>InternalError</code> from which an application should not attempt to recover.\n</p>\n\n<p>Only <code>Exception</code> and its subclasses should be caught.</p>\n\n<h2>Noncompliant Code Example</h2>\n\n<pre>\ntry { /* ... */ } catch (Throwable t) { /* ... */ }\ntry { /* ... */ } catch (Error e) { /* ... */ } \n</pre>\n\n<h2>Compliant Solution</h2>\n\n<pre>\ntry { /* ... */ } catch (Exception e) { /* ... */ } \ntry { /* ... */ } catch (RuntimeException e) { /* ... */ } \ntry { /* ... */ } catch (MyException e) { /* ... */ } \n</pre>",
+ "defaultDebtChar": "RELIABILITY",
+ "defaultDebtSubChar": "EXCEPTION_HANDLING",
+ "debtChar": "RELIABILITY",
+ "debtSubChar": "EXCEPTION_HANDLING",
+ "debtCharName": "Reliability",
+ "debtSubCharName": "Exception handling",
+ "defaultDebtRemFnType": "CONSTANT_ISSUE",
+ "defaultDebtRemFnOffset": "20min",
+ "debtOverloaded": true,
+ "debtRemFnType": "LINEAR",
+ "debtRemFnCoeff": "20min",
+ "params": [
+ {
+ "key": "max",
+ "htmlDesc": "Maximum authorized number of parameters",
+ "type": "INTEGER",
+ "defaultValue": "7"
+ }
+ ]
+ },
+ "actives": [
+ {
+ "qProfile": "java-top-profile-without-formatting-conventions-50037",
+ "inherit": "NONE",
+ "severity": "BLOCKER",
+ "params": []
+ },
+ {
+ "qProfile": "java-default-with-sonarsource-conventions-27339",
+ "inherit": "INHERITED",
+ "severity": "BLOCKER",
+ "params": []
+ },
+ {
+ "qProfile": "java-for-sq-java-plugin-only-92289",
+ "inherit": "INHERITED",
+ "severity": "BLOCKER",
+ "params": []
+ },
+ {
+ "qProfile": "java-for-sq-only-95381",
+ "inherit": "INHERITED",
+ "severity": "BLOCKER",
+ "params": []
+ },
+ {
+ "qProfile": "java-default-with-mojo-conventions-49307",
+ "inherit": "INHERITED",
+ "severity": "BLOCKER",
+ "params": []
+ },
+ {
+ "qProfile": "java-sonar-way-80423",
+ "inherit": "NONE",
+ "severity": "BLOCKER",
+ "params": []
+ }
+ ]
+}
--- /dev/null
+{
+ "canWrite": true,
+ "qualityprofiles": [
+ {
+ "key": "java-default-with-mojo-conventions-49307",
+ "name": "Default - Maven Conventions",
+ "lang": "java",
+ "parentKey": "java-top-profile-without-formatting-conventions-50037"
+ },
+ {
+ "key": "java-default-with-sonarsource-conventions-27339",
+ "name": "Default - SonarSource conventions",
+ "lang": "java",
+ "parentKey": "java-top-profile-without-formatting-conventions-50037"
+ },
+ {
+ "key": "java-top-profile-without-formatting-conventions-50037",
+ "name": "Default - Top",
+ "lang": "java"
+ },
+ {
+ "key": "java-findbugs-14954",
+ "name": "FindBugs",
+ "lang": "java"
+ },
+ {
+ "key": "java-for-sq-java-plugin-only-92289",
+ "name": "For SQ Java Plugin Only",
+ "lang": "java",
+ "parentKey": "java-default-with-sonarsource-conventions-27339"
+ },
+ {
+ "key": "java-for-sq-only-95381",
+ "name": "For SQ Only",
+ "lang": "java",
+ "parentKey": "java-default-with-sonarsource-conventions-27339"
+ },
+ {
+ "key": "php-psr-2-06315",
+ "name": "PSR-2",
+ "lang": "php"
+ },
+ {
+ "key": "java-sonar-way-80423",
+ "name": "Sonar way",
+ "lang": "java"
+ },
+ {
+ "key": "js-sonar-way",
+ "name": "Sonar way",
+ "lang": "js"
+ },
+ {
+ "key": "php-sonar-way-05548",
+ "name": "Sonar way",
+ "lang": "php"
+ },
+ {
+ "key": "py-sonar-way-80265",
+ "name": "Sonar way",
+ "lang": "py"
+ },
+ {
+ "key": "java-without-findbugs",
+ "name": "Without Findbugs",
+ "lang": "java"
+ }
+ ],
+ "languages": {
+ "py": "Python",
+ "js": "JavaScript",
+ "php": "PHP",
+ "java": "Java"
+ },
+ "repositories": [
+ {
+ "key": "common-java",
+ "name": "Common SonarQube",
+ "language": "java"
+ },
+ {
+ "key": "common-js",
+ "name": "Common SonarQube",
+ "language": "js"
+ },
+ {
+ "key": "common-php",
+ "name": "Common SonarQube",
+ "language": "php"
+ },
+ {
+ "key": "common-py",
+ "name": "Common SonarQube",
+ "language": "py"
+ },
+ {
+ "key": "Pylint",
+ "name": "Pylint",
+ "language": "py"
+ },
+ {
+ "key": "javascript",
+ "name": "SonarQube",
+ "language": "js"
+ },
+ {
+ "key": "php",
+ "name": "SonarQube",
+ "language": "php"
+ },
+ {
+ "key": "python",
+ "name": "SonarQube",
+ "language": "py"
+ },
+ {
+ "key": "squid",
+ "name": "SonarQube",
+ "language": "java"
+ }
+ ],
+ "statuses": {
+ "BETA": "Beta",
+ "DEPRECATED": "Deprecated",
+ "READY": "Ready"
+ },
+ "characteristics": [
+ {
+ "key": "UNDERSTANDABILITY",
+ "name": "Understandability",
+ "parent": "MAINTAINABILITY"
+ },
+ {
+ "key": "MAINTAINABILITY",
+ "name": "Maintainability"
+ },
+ {
+ "key": "TIME_ZONE_RELATED_PORTABILITY",
+ "name": "Time zone related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "READABILITY",
+ "name": "Readability",
+ "parent": "MAINTAINABILITY"
+ },
+ {
+ "key": "SECURITY_FEATURES",
+ "name": "Security features",
+ "parent": "SECURITY"
+ },
+ {
+ "key": "ARCHITECTURE_RELIABILITY",
+ "name": "Architecture related reliability",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "OS_RELATED_PORTABILITY",
+ "name": "OS related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "EXCEPTION_HANDLING",
+ "name": "Exception handling",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "LOGIC_CHANGEABILITY",
+ "name": "Logic related changeability",
+ "parent": "CHANGEABILITY"
+ },
+ {
+ "key": "SOFTWARE_RELATED_PORTABILITY",
+ "name": "Software related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "INPUT_VALIDATION_AND_REPRESENTATION",
+ "name": "Input validation and representation",
+ "parent": "SECURITY"
+ },
+ {
+ "key": "LANGUAGE_RELATED_PORTABILITY",
+ "name": "Language related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "ERRORS",
+ "name": "Errors",
+ "parent": "SECURITY"
+ },
+ {
+ "key": "SECURITY",
+ "name": "Security"
+ },
+ {
+ "key": "RELIABILITY",
+ "name": "Reliability"
+ },
+ {
+ "key": "PORTABILITY",
+ "name": "Portability"
+ },
+ {
+ "key": "HARDWARE_RELATED_PORTABILITY",
+ "name": "Hardware related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "SYNCHRONIZATION_RELIABILITY",
+ "name": "Synchronization related reliability",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "TRANSPORTABILITY",
+ "name": "Transportability",
+ "parent": "REUSABILITY"
+ },
+ {
+ "key": "COMPILER_RELATED_PORTABILITY",
+ "name": "Compiler related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "RESOURCE_RELIABILITY",
+ "name": "Resource",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "CPU_EFFICIENCY",
+ "name": "Processor use",
+ "parent": "EFFICIENCY"
+ },
+ {
+ "key": "EFFICIENCY",
+ "name": "Efficiency"
+ },
+ {
+ "key": "CHANGEABILITY",
+ "name": "Changeability"
+ },
+ {
+ "key": "DATA_CHANGEABILITY",
+ "name": "Data related changeability",
+ "parent": "CHANGEABILITY"
+ },
+ {
+ "key": "API_ABUSE",
+ "name": "API abuse",
+ "parent": "SECURITY"
+ },
+ {
+ "key": "ARCHITECTURE_CHANGEABILITY",
+ "name": "Architecture related changeability",
+ "parent": "CHANGEABILITY"
+ },
+ {
+ "key": "UNIT_TESTS",
+ "name": "Unit tests",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "INSTRUCTION_RELIABILITY",
+ "name": "Instruction related reliability",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "REUSABILITY",
+ "name": "Reusability"
+ },
+ {
+ "key": "MODULARITY",
+ "name": "Modularity",
+ "parent": "REUSABILITY"
+ },
+ {
+ "key": "UNIT_TESTABILITY",
+ "name": "Unit level testability",
+ "parent": "TESTABILITY"
+ },
+ {
+ "key": "TESTABILITY",
+ "name": "Testability"
+ },
+ {
+ "key": "INTEGRATION_TESTABILITY",
+ "name": "Integration level testability",
+ "parent": "TESTABILITY"
+ },
+ {
+ "key": "NETWORK_USE",
+ "name": "Network use",
+ "parent": "EFFICIENCY"
+ },
+ {
+ "key": "MEMORY_EFFICIENCY",
+ "name": "Memory use",
+ "parent": "EFFICIENCY"
+ },
+ {
+ "key": "DATA_RELIABILITY",
+ "name": "Data related reliability",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "FAULT_TOLERANCE",
+ "name": "Fault tolerance",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "LOGIC_RELIABILITY",
+ "name": "Logic related reliability",
+ "parent": "RELIABILITY"
+ }
+ ]
+}
--- /dev/null
+{
+ "total": 10,
+ "p": 1,
+ "ps": 200,
+ "rules": [
+ {
+ "key": "squid:S1181",
+ "name": "Throwable and Error classes should not be caught",
+ "lang": "java",
+ "langName": "Java",
+ "sysTags": [
+ "error-handling"
+ ],
+ "tags": []
+ },
+ {
+ "key": "squid:S1849",
+ "name": "\"Iterator.hasNext()\" should not call \"Iterator.next()\"",
+ "lang": "java",
+ "langName": "Java",
+ "sysTags": [
+ "bug"
+ ],
+ "tags": []
+ },
+ {
+ "key": "squid:S1844",
+ "name": "\"Object.wait(...)\" should never be called on objects that implement \"java.util.concurrent.locks.Condition\"",
+ "lang": "java",
+ "langName": "Java",
+ "sysTags": [
+ "bug",
+ "pitfall"
+ ],
+ "tags": []
+ },
+ {
+ "key": "squid:S2258",
+ "name": "\"javax.crypto.NullCipher\" should not be used for anything other than testing",
+ "lang": "java",
+ "langName": "Java",
+ "sysTags": [
+ "cwe",
+ "owasp-top10",
+ "security"
+ ],
+ "tags": []
+ },
+ {
+ "key": "squid:S2251",
+ "name": "A \"for\" loop update clause should move the counter in the right direction",
+ "lang": "java",
+ "langName": "Java",
+ "sysTags": [
+ "bug"
+ ],
+ "tags": []
+ },
+ {
+ "key": "squid:ObjectFinalizeOverridenCallsSuperFinalizeCheck",
+ "name": "super.finalize() should be called at the end of Object.finalize() implementations",
+ "lang": "java",
+ "langName": "Java",
+ "sysTags": [
+ "bug"
+ ],
+ "tags": []
+ },
+ {
+ "key": "squid:S1143",
+ "name": "Return statements should not occur in finally blocks",
+ "lang": "java",
+ "langName": "Java",
+ "sysTags": [
+ "bug"
+ ],
+ "tags": []
+ },
+ {
+ "key": "squid:S1206",
+ "name": "\"equals(Object obj)\" and \"hashCode()\" should be overridden in pairs",
+ "lang": "java",
+ "langName": "Java",
+ "sysTags": [
+ "bug"
+ ],
+ "tags": []
+ },
+ {
+ "key": "squid:S1451",
+ "name": "Copyright and license headers should be defined in all source files",
+ "lang": "java",
+ "langName": "Java",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "squid:S1697",
+ "name": "Short-circuit logic should be used to prevent null pointer dereferences in conditionals",
+ "lang": "java",
+ "langName": "Java",
+ "sysTags": [
+ "bug"
+ ],
+ "tags": []
+ }
+ ],
+ "facets": [
+ {
+ "property": "tags",
+ "values": [
+ {
+ "val": "bug",
+ "count": 7
+ },
+ {
+ "val": "convention",
+ "count": 1
+ },
+ {
+ "val": "cwe",
+ "count": 1
+ },
+ {
+ "val": "error-handling",
+ "count": 1
+ },
+ {
+ "val": "owasp-top10",
+ "count": 1
+ },
+ {
+ "val": "pitfall",
+ "count": 1
+ },
+ {
+ "val": "security",
+ "count": 1
+ }
+ ]
+ },
+ {
+ "property": "languages",
+ "values": [
+ {
+ "val": "java",
+ "count": 10
+ },
+ {
+ "val": "js",
+ "count": 6
+ },
+ {
+ "val": "php",
+ "count": 2
+ }
+ ]
+ },
+ {
+ "property": "repositories",
+ "values": [
+ {
+ "val": "squid",
+ "count": 10
+ }
+ ]
+ }
+ ]
+}
--- /dev/null
+{
+ "rule": {
+ "key": "squid:S1181",
+ "repo": "squid",
+ "name": "Throwable and Error classes should not be caught",
+ "createdAt": "2013-08-09T14:40:54+0200",
+ "severity": "BLOCKER",
+ "status": "READY",
+ "internalKey": "S1181",
+ "isTemplate": false,
+ "tags": [],
+ "sysTags": [
+ "error-handling"
+ ],
+ "lang": "java",
+ "langName": "Java",
+ "htmlDesc": "<p>\n<code>Throwable</code> is the superclass of all errors and exceptions in Java.\n<code>Error</code> is the superclass of all errors which are not meant to be caught by applications.\n</p>\n\n<p>\nCatching either <code>Throwable</code> or <code>Error</code> will also catch <code>OutOfMemoryError</code> or <code>InternalError</code> from which an application should not attempt to recover.\n</p>\n\n<p>Only <code>Exception</code> and its subclasses should be caught.</p>\n\n<h2>Noncompliant Code Example</h2>\n\n<pre>\ntry { /* ... */ } catch (Throwable t) { /* ... */ }\ntry { /* ... */ } catch (Error e) { /* ... */ } \n</pre>\n\n<h2>Compliant Solution</h2>\n\n<pre>\ntry { /* ... */ } catch (Exception e) { /* ... */ } \ntry { /* ... */ } catch (RuntimeException e) { /* ... */ } \ntry { /* ... */ } catch (MyException e) { /* ... */ } \n</pre>",
+ "defaultDebtChar": "RELIABILITY",
+ "defaultDebtSubChar": "EXCEPTION_HANDLING",
+ "debtChar": "RELIABILITY",
+ "debtSubChar": "EXCEPTION_HANDLING",
+ "debtCharName": "Reliability",
+ "debtSubCharName": "Exception handling",
+ "defaultDebtRemFnType": "CONSTANT_ISSUE",
+ "defaultDebtRemFnOffset": "20min",
+ "debtOverloaded": true,
+ "debtRemFnType": "LINEAR",
+ "debtRemFnCoeff": "20min",
+ "params": []
+ },
+ "actives": [
+ {
+ "qProfile": "java-default-with-mojo-conventions-49307",
+ "inherit": "NONE",
+ "severity": "BLOCKER",
+ "params": []
+ }
+ ]
+}
--- /dev/null
+{
+ "rule": {
+ "key": "squid:S1181",
+ "repo": "squid",
+ "name": "Throwable and Error classes should not be caught",
+ "createdAt": "2013-08-09T14:40:54+0200",
+ "severity": "BLOCKER",
+ "status": "READY",
+ "internalKey": "S1181",
+ "isTemplate": false,
+ "tags": [],
+ "sysTags": [
+ "error-handling"
+ ],
+ "lang": "java",
+ "langName": "Java",
+ "htmlDesc": "<p>\n<code>Throwable</code> is the superclass of all errors and exceptions in Java.\n<code>Error</code> is the superclass of all errors which are not meant to be caught by applications.\n</p>\n\n<p>\nCatching either <code>Throwable</code> or <code>Error</code> will also catch <code>OutOfMemoryError</code> or <code>InternalError</code> from which an application should not attempt to recover.\n</p>\n\n<p>Only <code>Exception</code> and its subclasses should be caught.</p>\n\n<h2>Noncompliant Code Example</h2>\n\n<pre>\ntry { /* ... */ } catch (Throwable t) { /* ... */ }\ntry { /* ... */ } catch (Error e) { /* ... */ } \n</pre>\n\n<h2>Compliant Solution</h2>\n\n<pre>\ntry { /* ... */ } catch (Exception e) { /* ... */ } \ntry { /* ... */ } catch (RuntimeException e) { /* ... */ } \ntry { /* ... */ } catch (MyException e) { /* ... */ } \n</pre>",
+ "defaultDebtChar": "RELIABILITY",
+ "defaultDebtSubChar": "EXCEPTION_HANDLING",
+ "debtChar": "RELIABILITY",
+ "debtSubChar": "EXCEPTION_HANDLING",
+ "debtCharName": "Reliability",
+ "debtSubCharName": "Exception handling",
+ "defaultDebtRemFnType": "CONSTANT_ISSUE",
+ "defaultDebtRemFnOffset": "20min",
+ "debtOverloaded": true,
+ "debtRemFnType": "LINEAR",
+ "debtRemFnCoeff": "20min",
+ "params": []
+ },
+ "actives": []
+}
--- /dev/null
+{
+ "canWrite": true,
+ "qualityprofiles": [
+ {
+ "key": "java-default-with-mojo-conventions-49307",
+ "name": "Default - Maven Conventions",
+ "lang": "java",
+ "parentKey": "java-top-profile-without-formatting-conventions-50037"
+ },
+ {
+ "key": "java-default-with-sonarsource-conventions-27339",
+ "name": "Default - SonarSource conventions",
+ "lang": "java",
+ "parentKey": "java-top-profile-without-formatting-conventions-50037"
+ },
+ {
+ "key": "java-top-profile-without-formatting-conventions-50037",
+ "name": "Default - Top",
+ "lang": "java"
+ },
+ {
+ "key": "java-findbugs-14954",
+ "name": "FindBugs",
+ "lang": "java"
+ },
+ {
+ "key": "java-for-sq-java-plugin-only-92289",
+ "name": "For SQ Java Plugin Only",
+ "lang": "java",
+ "parentKey": "java-default-with-sonarsource-conventions-27339"
+ },
+ {
+ "key": "java-for-sq-only-95381",
+ "name": "For SQ Only",
+ "lang": "java",
+ "parentKey": "java-default-with-sonarsource-conventions-27339"
+ },
+ {
+ "key": "php-psr-2-06315",
+ "name": "PSR-2",
+ "lang": "php"
+ },
+ {
+ "key": "java-sonar-way-80423",
+ "name": "Sonar way",
+ "lang": "java"
+ },
+ {
+ "key": "js-sonar-way",
+ "name": "Sonar way",
+ "lang": "js"
+ },
+ {
+ "key": "php-sonar-way-05548",
+ "name": "Sonar way",
+ "lang": "php"
+ },
+ {
+ "key": "py-sonar-way-80265",
+ "name": "Sonar way",
+ "lang": "py"
+ },
+ {
+ "key": "java-without-findbugs",
+ "name": "Without Findbugs",
+ "lang": "java"
+ }
+ ],
+ "languages": {
+ "py": "Python",
+ "js": "JavaScript",
+ "php": "PHP",
+ "java": "Java"
+ },
+ "repositories": [
+ {
+ "key": "common-java",
+ "name": "Common SonarQube",
+ "language": "java"
+ },
+ {
+ "key": "common-js",
+ "name": "Common SonarQube",
+ "language": "js"
+ },
+ {
+ "key": "common-php",
+ "name": "Common SonarQube",
+ "language": "php"
+ },
+ {
+ "key": "common-py",
+ "name": "Common SonarQube",
+ "language": "py"
+ },
+ {
+ "key": "Pylint",
+ "name": "Pylint",
+ "language": "py"
+ },
+ {
+ "key": "javascript",
+ "name": "SonarQube",
+ "language": "js"
+ },
+ {
+ "key": "php",
+ "name": "SonarQube",
+ "language": "php"
+ },
+ {
+ "key": "python",
+ "name": "SonarQube",
+ "language": "py"
+ },
+ {
+ "key": "squid",
+ "name": "SonarQube",
+ "language": "java"
+ }
+ ],
+ "statuses": {
+ "BETA": "Beta",
+ "DEPRECATED": "Deprecated",
+ "READY": "Ready"
+ },
+ "characteristics": [
+ {
+ "key": "UNDERSTANDABILITY",
+ "name": "Understandability",
+ "parent": "MAINTAINABILITY"
+ },
+ {
+ "key": "MAINTAINABILITY",
+ "name": "Maintainability"
+ },
+ {
+ "key": "TIME_ZONE_RELATED_PORTABILITY",
+ "name": "Time zone related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "READABILITY",
+ "name": "Readability",
+ "parent": "MAINTAINABILITY"
+ },
+ {
+ "key": "SECURITY_FEATURES",
+ "name": "Security features",
+ "parent": "SECURITY"
+ },
+ {
+ "key": "ARCHITECTURE_RELIABILITY",
+ "name": "Architecture related reliability",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "OS_RELATED_PORTABILITY",
+ "name": "OS related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "EXCEPTION_HANDLING",
+ "name": "Exception handling",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "LOGIC_CHANGEABILITY",
+ "name": "Logic related changeability",
+ "parent": "CHANGEABILITY"
+ },
+ {
+ "key": "SOFTWARE_RELATED_PORTABILITY",
+ "name": "Software related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "INPUT_VALIDATION_AND_REPRESENTATION",
+ "name": "Input validation and representation",
+ "parent": "SECURITY"
+ },
+ {
+ "key": "LANGUAGE_RELATED_PORTABILITY",
+ "name": "Language related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "ERRORS",
+ "name": "Errors",
+ "parent": "SECURITY"
+ },
+ {
+ "key": "SECURITY",
+ "name": "Security"
+ },
+ {
+ "key": "RELIABILITY",
+ "name": "Reliability"
+ },
+ {
+ "key": "PORTABILITY",
+ "name": "Portability"
+ },
+ {
+ "key": "HARDWARE_RELATED_PORTABILITY",
+ "name": "Hardware related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "SYNCHRONIZATION_RELIABILITY",
+ "name": "Synchronization related reliability",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "TRANSPORTABILITY",
+ "name": "Transportability",
+ "parent": "REUSABILITY"
+ },
+ {
+ "key": "COMPILER_RELATED_PORTABILITY",
+ "name": "Compiler related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "RESOURCE_RELIABILITY",
+ "name": "Resource",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "CPU_EFFICIENCY",
+ "name": "Processor use",
+ "parent": "EFFICIENCY"
+ },
+ {
+ "key": "EFFICIENCY",
+ "name": "Efficiency"
+ },
+ {
+ "key": "CHANGEABILITY",
+ "name": "Changeability"
+ },
+ {
+ "key": "DATA_CHANGEABILITY",
+ "name": "Data related changeability",
+ "parent": "CHANGEABILITY"
+ },
+ {
+ "key": "API_ABUSE",
+ "name": "API abuse",
+ "parent": "SECURITY"
+ },
+ {
+ "key": "ARCHITECTURE_CHANGEABILITY",
+ "name": "Architecture related changeability",
+ "parent": "CHANGEABILITY"
+ },
+ {
+ "key": "UNIT_TESTS",
+ "name": "Unit tests",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "INSTRUCTION_RELIABILITY",
+ "name": "Instruction related reliability",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "REUSABILITY",
+ "name": "Reusability"
+ },
+ {
+ "key": "MODULARITY",
+ "name": "Modularity",
+ "parent": "REUSABILITY"
+ },
+ {
+ "key": "UNIT_TESTABILITY",
+ "name": "Unit level testability",
+ "parent": "TESTABILITY"
+ },
+ {
+ "key": "TESTABILITY",
+ "name": "Testability"
+ },
+ {
+ "key": "INTEGRATION_TESTABILITY",
+ "name": "Integration level testability",
+ "parent": "TESTABILITY"
+ },
+ {
+ "key": "NETWORK_USE",
+ "name": "Network use",
+ "parent": "EFFICIENCY"
+ },
+ {
+ "key": "MEMORY_EFFICIENCY",
+ "name": "Memory use",
+ "parent": "EFFICIENCY"
+ },
+ {
+ "key": "DATA_RELIABILITY",
+ "name": "Data related reliability",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "FAULT_TOLERANCE",
+ "name": "Fault tolerance",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "LOGIC_RELIABILITY",
+ "name": "Logic related reliability",
+ "parent": "RELIABILITY"
+ }
+ ]
+}
--- /dev/null
+{
+ "total": 1,
+ "p": 1,
+ "ps": 10,
+ "rules": [
+ {
+ "key": "squid:Do_not_use_org_h2_util_StringUtils",
+ "name": "Do not use org.h2.util.StringUtils",
+ "severity": "MAJOR",
+ "params": [
+ {
+ "key": "fromClasses",
+ "htmlDesc": "Optional. If this property is not defined, all classes should adhere to this constraint. Ex : *<em>.web.</em>*",
+ "type": "STRING",
+ "defaultValue": ""
+ },
+ {
+ "key": "toClasses",
+ "htmlDesc": "Mandatory. Ex : java.util.Vector, java.util.Hashtable, java.util.Enumeration",
+ "type": "STRING",
+ "defaultValue": "org.h2.util.StringUtils"
+ }
+ ]
+ }
+ ]
+}
--- /dev/null
+{
+ "total": 2,
+ "p": 1,
+ "ps": 10,
+ "rules": [
+ {
+ "key": "squid:Do_not_use_org_h2_util_StringUtils",
+ "name": "Do not use org.h2.util.StringUtils",
+ "severity": "MAJOR",
+ "params": [
+ {
+ "key": "fromClasses",
+ "htmlDesc": "Optional. If this property is not defined, all classes should adhere to this constraint. Ex : *<em>.web.</em>*",
+ "type": "STRING",
+ "defaultValue": ""
+ },
+ {
+ "key": "toClasses",
+ "htmlDesc": "Mandatory. Ex : java.util.Vector, java.util.Hashtable, java.util.Enumeration",
+ "type": "STRING",
+ "defaultValue": "org.h2.util.StringUtils"
+ }
+ ]
+ },
+ {
+ "key": "squid:Do_not_use_edu_emory_mathcs_backport_java_util_Collections",
+ "name": "Do not use edu.emory.mathcs.backport.java.util.Collections",
+ "severity": "MAJOR",
+ "params": [
+ {
+ "key": "fromClasses",
+ "htmlDesc": "Optional. If this property is not defined, all classes should adhere to this constraint. Ex : *<em>.web.</em>*",
+ "type": "STRING",
+ "defaultValue": ""
+ },
+ {
+ "key": "toClasses",
+ "htmlDesc": "Mandatory. Ex : java.util.Vector, java.util.Hashtable, java.util.Enumeration",
+ "type": "STRING",
+ "defaultValue": "edu.emory.mathcs.backport.java.util.Collections"
+ }
+ ]
+ }
+ ]
+}
--- /dev/null
+{
+ "total": 1,
+ "p": 1,
+ "ps": 200,
+ "rules": [
+ {
+ "key": "squid:ArchitecturalConstraint",
+ "name": "Architectural constraint",
+ "lang": "java",
+ "langName": "Java",
+ "sysTags": [],
+ "tags": [],
+ "status": "READY"
+ }
+ ],
+ "facets": [
+ {
+ "property": "languages",
+ "values": [
+ {
+ "val": "java",
+ "count": 1
+ }
+ ]
+ },
+ {
+ "property": "repositories",
+ "values": [
+ {
+ "val": "squid",
+ "count": 1
+ }
+ ]
+ }
+ ]
+}
--- /dev/null
+{
+ "rule": {
+ "key": "squid:ArchitecturalConstraint",
+ "repo": "squid",
+ "name": "Architectural constraint",
+ "createdAt": "2013-03-27T09:52:40+0100",
+ "severity": "MAJOR",
+ "status": "READY",
+ "internalKey": "ArchitecturalConstraint",
+ "isTemplate": true,
+ "tags": [],
+ "sysTags": [],
+ "lang": "java",
+ "langName": "Java",
+ "htmlDesc": "<p>A source code comply to an architectural model when it fully\n\tadheres to a set of architectural constraints. A constraint allows to\n\tdeny references between classes by pattern.</p>\n<p>You can for instance use this rule to :</p>\n<ul>\n\t<li>forbid access to **.web.** from **.dao.** classes</li>\n\t<li>forbid access to java.util.Vector, java.util.Hashtable and\n\t\tjava.util.Enumeration from any classes</li>\n\t<li>forbid access to java.sql.** from **.ui.** and **.web.**\n\t\tclasses</li>\n</ul>",
+ "debtChar": "CHANGEABILITY",
+ "debtSubChar": "ARCHITECTURE_CHANGEABILITY",
+ "debtCharName": "Changeability",
+ "debtSubCharName": "Architecture related changeability",
+ "debtOverloaded": true,
+ "debtRemFnType": "LINEAR",
+ "debtRemFnCoeff": "3h",
+ "params": [
+ {
+ "key": "fromClasses",
+ "htmlDesc": "Optional. If this property is not defined, all classes should adhere to this constraint. Ex : *<em>.web.</em>*",
+ "type": "STRING"
+ },
+ {
+ "key": "toClasses",
+ "htmlDesc": "Mandatory. Ex : java.util.Vector, java.util.Hashtable, java.util.Enumeration",
+ "type": "STRING"
+ }
+ ]
+ },
+ "actives": []
+}
--- /dev/null
+{
+ "canWrite": true,
+ "qualityprofiles": [
+ {
+ "key": "java-default-with-mojo-conventions-49307",
+ "name": "Default - Maven Conventions",
+ "lang": "java",
+ "parentKey": "java-top-profile-without-formatting-conventions-50037"
+ },
+ {
+ "key": "java-default-with-sonarsource-conventions-27339",
+ "name": "Default - SonarSource conventions",
+ "lang": "java",
+ "parentKey": "java-top-profile-without-formatting-conventions-50037"
+ },
+ {
+ "key": "java-top-profile-without-formatting-conventions-50037",
+ "name": "Default - Top",
+ "lang": "java"
+ },
+ {
+ "key": "java-findbugs-14954",
+ "name": "FindBugs",
+ "lang": "java"
+ },
+ {
+ "key": "java-for-sq-java-plugin-only-92289",
+ "name": "For SQ Java Plugin Only",
+ "lang": "java",
+ "parentKey": "java-default-with-sonarsource-conventions-27339"
+ },
+ {
+ "key": "java-for-sq-only-95381",
+ "name": "For SQ Only",
+ "lang": "java",
+ "parentKey": "java-default-with-sonarsource-conventions-27339"
+ },
+ {
+ "key": "php-psr-2-06315",
+ "name": "PSR-2",
+ "lang": "php"
+ },
+ {
+ "key": "java-sonar-way-80423",
+ "name": "Sonar way",
+ "lang": "java"
+ },
+ {
+ "key": "js-sonar-way",
+ "name": "Sonar way",
+ "lang": "js"
+ },
+ {
+ "key": "php-sonar-way-05548",
+ "name": "Sonar way",
+ "lang": "php"
+ },
+ {
+ "key": "py-sonar-way-80265",
+ "name": "Sonar way",
+ "lang": "py"
+ },
+ {
+ "key": "java-without-findbugs",
+ "name": "Without Findbugs",
+ "lang": "java"
+ }
+ ],
+ "languages": {
+ "py": "Python",
+ "js": "JavaScript",
+ "php": "PHP",
+ "java": "Java"
+ },
+ "repositories": [
+ {
+ "key": "common-java",
+ "name": "Common SonarQube",
+ "language": "java"
+ },
+ {
+ "key": "common-js",
+ "name": "Common SonarQube",
+ "language": "js"
+ },
+ {
+ "key": "common-php",
+ "name": "Common SonarQube",
+ "language": "php"
+ },
+ {
+ "key": "common-py",
+ "name": "Common SonarQube",
+ "language": "py"
+ },
+ {
+ "key": "Pylint",
+ "name": "Pylint",
+ "language": "py"
+ },
+ {
+ "key": "javascript",
+ "name": "SonarQube",
+ "language": "js"
+ },
+ {
+ "key": "php",
+ "name": "SonarQube",
+ "language": "php"
+ },
+ {
+ "key": "python",
+ "name": "SonarQube",
+ "language": "py"
+ },
+ {
+ "key": "squid",
+ "name": "SonarQube",
+ "language": "java"
+ }
+ ],
+ "statuses": {
+ "BETA": "Beta",
+ "DEPRECATED": "Deprecated",
+ "READY": "Ready"
+ },
+ "characteristics": [
+ {
+ "key": "UNDERSTANDABILITY",
+ "name": "Understandability",
+ "parent": "MAINTAINABILITY"
+ },
+ {
+ "key": "MAINTAINABILITY",
+ "name": "Maintainability"
+ },
+ {
+ "key": "TIME_ZONE_RELATED_PORTABILITY",
+ "name": "Time zone related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "READABILITY",
+ "name": "Readability",
+ "parent": "MAINTAINABILITY"
+ },
+ {
+ "key": "SECURITY_FEATURES",
+ "name": "Security features",
+ "parent": "SECURITY"
+ },
+ {
+ "key": "ARCHITECTURE_RELIABILITY",
+ "name": "Architecture related reliability",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "OS_RELATED_PORTABILITY",
+ "name": "OS related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "EXCEPTION_HANDLING",
+ "name": "Exception handling",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "LOGIC_CHANGEABILITY",
+ "name": "Logic related changeability",
+ "parent": "CHANGEABILITY"
+ },
+ {
+ "key": "SOFTWARE_RELATED_PORTABILITY",
+ "name": "Software related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "INPUT_VALIDATION_AND_REPRESENTATION",
+ "name": "Input validation and representation",
+ "parent": "SECURITY"
+ },
+ {
+ "key": "LANGUAGE_RELATED_PORTABILITY",
+ "name": "Language related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "ERRORS",
+ "name": "Errors",
+ "parent": "SECURITY"
+ },
+ {
+ "key": "SECURITY",
+ "name": "Security"
+ },
+ {
+ "key": "RELIABILITY",
+ "name": "Reliability"
+ },
+ {
+ "key": "PORTABILITY",
+ "name": "Portability"
+ },
+ {
+ "key": "HARDWARE_RELATED_PORTABILITY",
+ "name": "Hardware related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "SYNCHRONIZATION_RELIABILITY",
+ "name": "Synchronization related reliability",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "TRANSPORTABILITY",
+ "name": "Transportability",
+ "parent": "REUSABILITY"
+ },
+ {
+ "key": "COMPILER_RELATED_PORTABILITY",
+ "name": "Compiler related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "RESOURCE_RELIABILITY",
+ "name": "Resource",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "CPU_EFFICIENCY",
+ "name": "Processor use",
+ "parent": "EFFICIENCY"
+ },
+ {
+ "key": "EFFICIENCY",
+ "name": "Efficiency"
+ },
+ {
+ "key": "CHANGEABILITY",
+ "name": "Changeability"
+ },
+ {
+ "key": "DATA_CHANGEABILITY",
+ "name": "Data related changeability",
+ "parent": "CHANGEABILITY"
+ },
+ {
+ "key": "API_ABUSE",
+ "name": "API abuse",
+ "parent": "SECURITY"
+ },
+ {
+ "key": "ARCHITECTURE_CHANGEABILITY",
+ "name": "Architecture related changeability",
+ "parent": "CHANGEABILITY"
+ },
+ {
+ "key": "UNIT_TESTS",
+ "name": "Unit tests",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "INSTRUCTION_RELIABILITY",
+ "name": "Instruction related reliability",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "REUSABILITY",
+ "name": "Reusability"
+ },
+ {
+ "key": "MODULARITY",
+ "name": "Modularity",
+ "parent": "REUSABILITY"
+ },
+ {
+ "key": "UNIT_TESTABILITY",
+ "name": "Unit level testability",
+ "parent": "TESTABILITY"
+ },
+ {
+ "key": "TESTABILITY",
+ "name": "Testability"
+ },
+ {
+ "key": "INTEGRATION_TESTABILITY",
+ "name": "Integration level testability",
+ "parent": "TESTABILITY"
+ },
+ {
+ "key": "NETWORK_USE",
+ "name": "Network use",
+ "parent": "EFFICIENCY"
+ },
+ {
+ "key": "MEMORY_EFFICIENCY",
+ "name": "Memory use",
+ "parent": "EFFICIENCY"
+ },
+ {
+ "key": "DATA_RELIABILITY",
+ "name": "Data related reliability",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "FAULT_TOLERANCE",
+ "name": "Fault tolerance",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "LOGIC_RELIABILITY",
+ "name": "Logic related reliability",
+ "parent": "RELIABILITY"
+ }
+ ]
+}
--- /dev/null
+{
+ "total": 0,
+ "p": 1,
+ "ps": 200,
+ "rules": [],
+ "facets": []
+}
--- /dev/null
+{
+ "rule": {
+ "key": "manual:Manual_Rule",
+ "repo": "manual",
+ "name": "Manual Rule",
+ "createdAt": "2015-01-05T10:02:11+0100",
+ "status": "READY",
+ "isTemplate": false,
+ "tags": [],
+ "sysTags": [],
+ "htmlDesc": "Manual Rule Description",
+ "mdDesc": "Manual Rule Description",
+ "debtOverloaded": false,
+ "params": []
+ },
+ "actives": []
+}
--- /dev/null
+{
+ "canWrite": true,
+ "qualityprofiles": [
+ {
+ "key": "java-default-with-mojo-conventions-49307",
+ "name": "Default - Maven Conventions",
+ "lang": "java",
+ "parentKey": "java-top-profile-without-formatting-conventions-50037"
+ },
+ {
+ "key": "java-default-with-sonarsource-conventions-27339",
+ "name": "Default - SonarSource conventions",
+ "lang": "java",
+ "parentKey": "java-top-profile-without-formatting-conventions-50037"
+ },
+ {
+ "key": "java-top-profile-without-formatting-conventions-50037",
+ "name": "Default - Top",
+ "lang": "java"
+ },
+ {
+ "key": "java-findbugs-14954",
+ "name": "FindBugs",
+ "lang": "java"
+ },
+ {
+ "key": "java-for-sq-java-plugin-only-92289",
+ "name": "For SQ Java Plugin Only",
+ "lang": "java",
+ "parentKey": "java-default-with-sonarsource-conventions-27339"
+ },
+ {
+ "key": "java-for-sq-only-95381",
+ "name": "For SQ Only",
+ "lang": "java",
+ "parentKey": "java-default-with-sonarsource-conventions-27339"
+ },
+ {
+ "key": "php-psr-2-06315",
+ "name": "PSR-2",
+ "lang": "php"
+ },
+ {
+ "key": "java-sonar-way-80423",
+ "name": "Sonar way",
+ "lang": "java"
+ },
+ {
+ "key": "js-sonar-way",
+ "name": "Sonar way",
+ "lang": "js"
+ },
+ {
+ "key": "php-sonar-way-05548",
+ "name": "Sonar way",
+ "lang": "php"
+ },
+ {
+ "key": "py-sonar-way-80265",
+ "name": "Sonar way",
+ "lang": "py"
+ },
+ {
+ "key": "java-without-findbugs",
+ "name": "Without Findbugs",
+ "lang": "java"
+ }
+ ],
+ "languages": {
+ "py": "Python",
+ "js": "JavaScript",
+ "php": "PHP",
+ "java": "Java"
+ },
+ "repositories": [
+ {
+ "key": "common-java",
+ "name": "Common SonarQube",
+ "language": "java"
+ },
+ {
+ "key": "common-js",
+ "name": "Common SonarQube",
+ "language": "js"
+ },
+ {
+ "key": "common-php",
+ "name": "Common SonarQube",
+ "language": "php"
+ },
+ {
+ "key": "common-py",
+ "name": "Common SonarQube",
+ "language": "py"
+ },
+ {
+ "key": "Pylint",
+ "name": "Pylint",
+ "language": "py"
+ },
+ {
+ "key": "javascript",
+ "name": "SonarQube",
+ "language": "js"
+ },
+ {
+ "key": "php",
+ "name": "SonarQube",
+ "language": "php"
+ },
+ {
+ "key": "python",
+ "name": "SonarQube",
+ "language": "py"
+ },
+ {
+ "key": "squid",
+ "name": "SonarQube",
+ "language": "java"
+ }
+ ],
+ "statuses": {
+ "BETA": "Beta",
+ "DEPRECATED": "Deprecated",
+ "READY": "Ready"
+ },
+ "characteristics": [
+ {
+ "key": "UNDERSTANDABILITY",
+ "name": "Understandability",
+ "parent": "MAINTAINABILITY"
+ },
+ {
+ "key": "MAINTAINABILITY",
+ "name": "Maintainability"
+ },
+ {
+ "key": "TIME_ZONE_RELATED_PORTABILITY",
+ "name": "Time zone related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "READABILITY",
+ "name": "Readability",
+ "parent": "MAINTAINABILITY"
+ },
+ {
+ "key": "SECURITY_FEATURES",
+ "name": "Security features",
+ "parent": "SECURITY"
+ },
+ {
+ "key": "ARCHITECTURE_RELIABILITY",
+ "name": "Architecture related reliability",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "OS_RELATED_PORTABILITY",
+ "name": "OS related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "EXCEPTION_HANDLING",
+ "name": "Exception handling",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "LOGIC_CHANGEABILITY",
+ "name": "Logic related changeability",
+ "parent": "CHANGEABILITY"
+ },
+ {
+ "key": "SOFTWARE_RELATED_PORTABILITY",
+ "name": "Software related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "INPUT_VALIDATION_AND_REPRESENTATION",
+ "name": "Input validation and representation",
+ "parent": "SECURITY"
+ },
+ {
+ "key": "LANGUAGE_RELATED_PORTABILITY",
+ "name": "Language related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "ERRORS",
+ "name": "Errors",
+ "parent": "SECURITY"
+ },
+ {
+ "key": "SECURITY",
+ "name": "Security"
+ },
+ {
+ "key": "RELIABILITY",
+ "name": "Reliability"
+ },
+ {
+ "key": "PORTABILITY",
+ "name": "Portability"
+ },
+ {
+ "key": "HARDWARE_RELATED_PORTABILITY",
+ "name": "Hardware related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "SYNCHRONIZATION_RELIABILITY",
+ "name": "Synchronization related reliability",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "TRANSPORTABILITY",
+ "name": "Transportability",
+ "parent": "REUSABILITY"
+ },
+ {
+ "key": "COMPILER_RELATED_PORTABILITY",
+ "name": "Compiler related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "RESOURCE_RELIABILITY",
+ "name": "Resource",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "CPU_EFFICIENCY",
+ "name": "Processor use",
+ "parent": "EFFICIENCY"
+ },
+ {
+ "key": "EFFICIENCY",
+ "name": "Efficiency"
+ },
+ {
+ "key": "CHANGEABILITY",
+ "name": "Changeability"
+ },
+ {
+ "key": "DATA_CHANGEABILITY",
+ "name": "Data related changeability",
+ "parent": "CHANGEABILITY"
+ },
+ {
+ "key": "API_ABUSE",
+ "name": "API abuse",
+ "parent": "SECURITY"
+ },
+ {
+ "key": "ARCHITECTURE_CHANGEABILITY",
+ "name": "Architecture related changeability",
+ "parent": "CHANGEABILITY"
+ },
+ {
+ "key": "UNIT_TESTS",
+ "name": "Unit tests",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "INSTRUCTION_RELIABILITY",
+ "name": "Instruction related reliability",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "REUSABILITY",
+ "name": "Reusability"
+ },
+ {
+ "key": "MODULARITY",
+ "name": "Modularity",
+ "parent": "REUSABILITY"
+ },
+ {
+ "key": "UNIT_TESTABILITY",
+ "name": "Unit level testability",
+ "parent": "TESTABILITY"
+ },
+ {
+ "key": "TESTABILITY",
+ "name": "Testability"
+ },
+ {
+ "key": "INTEGRATION_TESTABILITY",
+ "name": "Integration level testability",
+ "parent": "TESTABILITY"
+ },
+ {
+ "key": "NETWORK_USE",
+ "name": "Network use",
+ "parent": "EFFICIENCY"
+ },
+ {
+ "key": "MEMORY_EFFICIENCY",
+ "name": "Memory use",
+ "parent": "EFFICIENCY"
+ },
+ {
+ "key": "DATA_RELIABILITY",
+ "name": "Data related reliability",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "FAULT_TOLERANCE",
+ "name": "Fault tolerance",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "LOGIC_RELIABILITY",
+ "name": "Logic related reliability",
+ "parent": "RELIABILITY"
+ }
+ ]
+}
--- /dev/null
+{
+ "total": 2,
+ "p": 1,
+ "ps": 10,
+ "rules": [
+ {
+ "key": "squid:Do_not_use_org_h2_util_StringUtils",
+ "name": "Do not use org.h2.util.StringUtils",
+ "severity": "MAJOR",
+ "params": [
+ {
+ "key": "fromClasses",
+ "htmlDesc": "Optional. If this property is not defined, all classes should adhere to this constraint. Ex : *<em>.web.</em>*",
+ "type": "STRING",
+ "defaultValue": ""
+ },
+ {
+ "key": "toClasses",
+ "htmlDesc": "Mandatory. Ex : java.util.Vector, java.util.Hashtable, java.util.Enumeration",
+ "type": "STRING",
+ "defaultValue": "org.h2.util.StringUtils"
+ }
+ ]
+ },
+ {
+ "key": "squid:Do_not_use_edu_emory_mathcs_backport_java_util_Collections",
+ "name": "Do not use edu.emory.mathcs.backport.java.util.Collections",
+ "severity": "MAJOR",
+ "params": [
+ {
+ "key": "fromClasses",
+ "htmlDesc": "Optional. If this property is not defined, all classes should adhere to this constraint. Ex : *<em>.web.</em>*",
+ "type": "STRING",
+ "defaultValue": ""
+ },
+ {
+ "key": "toClasses",
+ "htmlDesc": "Mandatory. Ex : java.util.Vector, java.util.Hashtable, java.util.Enumeration",
+ "type": "STRING",
+ "defaultValue": "edu.emory.mathcs.backport.java.util.Collections"
+ }
+ ]
+ }
+ ]
+}
--- /dev/null
+{
+ "total": 1,
+ "p": 1,
+ "ps": 200,
+ "rules": [
+ {
+ "key": "squid:ArchitecturalConstraint",
+ "name": "Architectural constraint",
+ "lang": "java",
+ "langName": "Java",
+ "sysTags": [],
+ "tags": [],
+ "status": "READY"
+ }
+ ],
+ "facets": [
+ {
+ "property": "languages",
+ "values": [
+ {
+ "val": "java",
+ "count": 1
+ }
+ ]
+ },
+ {
+ "property": "repositories",
+ "values": [
+ {
+ "val": "squid",
+ "count": 1
+ }
+ ]
+ }
+ ]
+}
--- /dev/null
+{
+ "rule": {
+ "key": "squid:ArchitecturalConstraint",
+ "repo": "squid",
+ "name": "Architectural constraint",
+ "createdAt": "2013-03-27T09:52:40+0100",
+ "severity": "MAJOR",
+ "status": "READY",
+ "internalKey": "ArchitecturalConstraint",
+ "isTemplate": true,
+ "tags": [],
+ "sysTags": [],
+ "lang": "java",
+ "langName": "Java",
+ "htmlDesc": "<p>A source code comply to an architectural model when it fully\n\tadheres to a set of architectural constraints. A constraint allows to\n\tdeny references between classes by pattern.</p>\n<p>You can for instance use this rule to :</p>\n<ul>\n\t<li>forbid access to **.web.** from **.dao.** classes</li>\n\t<li>forbid access to java.util.Vector, java.util.Hashtable and\n\t\tjava.util.Enumeration from any classes</li>\n\t<li>forbid access to java.sql.** from **.ui.** and **.web.**\n\t\tclasses</li>\n</ul>",
+ "debtChar": "CHANGEABILITY",
+ "debtSubChar": "ARCHITECTURE_CHANGEABILITY",
+ "debtCharName": "Changeability",
+ "debtSubCharName": "Architecture related changeability",
+ "debtOverloaded": true,
+ "debtRemFnType": "LINEAR",
+ "debtRemFnCoeff": "3h",
+ "params": [
+ {
+ "key": "fromClasses",
+ "htmlDesc": "Optional. If this property is not defined, all classes should adhere to this constraint. Ex : *<em>.web.</em>*",
+ "type": "STRING"
+ },
+ {
+ "key": "toClasses",
+ "htmlDesc": "Mandatory. Ex : java.util.Vector, java.util.Hashtable, java.util.Enumeration",
+ "type": "STRING"
+ }
+ ]
+ },
+ "actives": []
+}
--- /dev/null
+{
+ "canWrite": true,
+ "qualityprofiles": [
+ {
+ "key": "java-default-with-mojo-conventions-49307",
+ "name": "Default - Maven Conventions",
+ "lang": "java",
+ "parentKey": "java-top-profile-without-formatting-conventions-50037"
+ },
+ {
+ "key": "java-default-with-sonarsource-conventions-27339",
+ "name": "Default - SonarSource conventions",
+ "lang": "java",
+ "parentKey": "java-top-profile-without-formatting-conventions-50037"
+ },
+ {
+ "key": "java-top-profile-without-formatting-conventions-50037",
+ "name": "Default - Top",
+ "lang": "java"
+ },
+ {
+ "key": "java-findbugs-14954",
+ "name": "FindBugs",
+ "lang": "java"
+ },
+ {
+ "key": "java-for-sq-java-plugin-only-92289",
+ "name": "For SQ Java Plugin Only",
+ "lang": "java",
+ "parentKey": "java-default-with-sonarsource-conventions-27339"
+ },
+ {
+ "key": "java-for-sq-only-95381",
+ "name": "For SQ Only",
+ "lang": "java",
+ "parentKey": "java-default-with-sonarsource-conventions-27339"
+ },
+ {
+ "key": "php-psr-2-06315",
+ "name": "PSR-2",
+ "lang": "php"
+ },
+ {
+ "key": "java-sonar-way-80423",
+ "name": "Sonar way",
+ "lang": "java"
+ },
+ {
+ "key": "js-sonar-way",
+ "name": "Sonar way",
+ "lang": "js"
+ },
+ {
+ "key": "php-sonar-way-05548",
+ "name": "Sonar way",
+ "lang": "php"
+ },
+ {
+ "key": "py-sonar-way-80265",
+ "name": "Sonar way",
+ "lang": "py"
+ },
+ {
+ "key": "java-without-findbugs",
+ "name": "Without Findbugs",
+ "lang": "java"
+ }
+ ],
+ "languages": {
+ "py": "Python",
+ "js": "JavaScript",
+ "php": "PHP",
+ "java": "Java"
+ },
+ "repositories": [
+ {
+ "key": "common-java",
+ "name": "Common SonarQube",
+ "language": "java"
+ },
+ {
+ "key": "common-js",
+ "name": "Common SonarQube",
+ "language": "js"
+ },
+ {
+ "key": "common-php",
+ "name": "Common SonarQube",
+ "language": "php"
+ },
+ {
+ "key": "common-py",
+ "name": "Common SonarQube",
+ "language": "py"
+ },
+ {
+ "key": "Pylint",
+ "name": "Pylint",
+ "language": "py"
+ },
+ {
+ "key": "javascript",
+ "name": "SonarQube",
+ "language": "js"
+ },
+ {
+ "key": "php",
+ "name": "SonarQube",
+ "language": "php"
+ },
+ {
+ "key": "python",
+ "name": "SonarQube",
+ "language": "py"
+ },
+ {
+ "key": "squid",
+ "name": "SonarQube",
+ "language": "java"
+ }
+ ],
+ "statuses": {
+ "BETA": "Beta",
+ "DEPRECATED": "Deprecated",
+ "READY": "Ready"
+ },
+ "characteristics": [
+ {
+ "key": "UNDERSTANDABILITY",
+ "name": "Understandability",
+ "parent": "MAINTAINABILITY"
+ },
+ {
+ "key": "MAINTAINABILITY",
+ "name": "Maintainability"
+ },
+ {
+ "key": "TIME_ZONE_RELATED_PORTABILITY",
+ "name": "Time zone related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "READABILITY",
+ "name": "Readability",
+ "parent": "MAINTAINABILITY"
+ },
+ {
+ "key": "SECURITY_FEATURES",
+ "name": "Security features",
+ "parent": "SECURITY"
+ },
+ {
+ "key": "ARCHITECTURE_RELIABILITY",
+ "name": "Architecture related reliability",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "OS_RELATED_PORTABILITY",
+ "name": "OS related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "EXCEPTION_HANDLING",
+ "name": "Exception handling",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "LOGIC_CHANGEABILITY",
+ "name": "Logic related changeability",
+ "parent": "CHANGEABILITY"
+ },
+ {
+ "key": "SOFTWARE_RELATED_PORTABILITY",
+ "name": "Software related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "INPUT_VALIDATION_AND_REPRESENTATION",
+ "name": "Input validation and representation",
+ "parent": "SECURITY"
+ },
+ {
+ "key": "LANGUAGE_RELATED_PORTABILITY",
+ "name": "Language related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "ERRORS",
+ "name": "Errors",
+ "parent": "SECURITY"
+ },
+ {
+ "key": "SECURITY",
+ "name": "Security"
+ },
+ {
+ "key": "RELIABILITY",
+ "name": "Reliability"
+ },
+ {
+ "key": "PORTABILITY",
+ "name": "Portability"
+ },
+ {
+ "key": "HARDWARE_RELATED_PORTABILITY",
+ "name": "Hardware related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "SYNCHRONIZATION_RELIABILITY",
+ "name": "Synchronization related reliability",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "TRANSPORTABILITY",
+ "name": "Transportability",
+ "parent": "REUSABILITY"
+ },
+ {
+ "key": "COMPILER_RELATED_PORTABILITY",
+ "name": "Compiler related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "RESOURCE_RELIABILITY",
+ "name": "Resource",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "CPU_EFFICIENCY",
+ "name": "Processor use",
+ "parent": "EFFICIENCY"
+ },
+ {
+ "key": "EFFICIENCY",
+ "name": "Efficiency"
+ },
+ {
+ "key": "CHANGEABILITY",
+ "name": "Changeability"
+ },
+ {
+ "key": "DATA_CHANGEABILITY",
+ "name": "Data related changeability",
+ "parent": "CHANGEABILITY"
+ },
+ {
+ "key": "API_ABUSE",
+ "name": "API abuse",
+ "parent": "SECURITY"
+ },
+ {
+ "key": "ARCHITECTURE_CHANGEABILITY",
+ "name": "Architecture related changeability",
+ "parent": "CHANGEABILITY"
+ },
+ {
+ "key": "UNIT_TESTS",
+ "name": "Unit tests",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "INSTRUCTION_RELIABILITY",
+ "name": "Instruction related reliability",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "REUSABILITY",
+ "name": "Reusability"
+ },
+ {
+ "key": "MODULARITY",
+ "name": "Modularity",
+ "parent": "REUSABILITY"
+ },
+ {
+ "key": "UNIT_TESTABILITY",
+ "name": "Unit level testability",
+ "parent": "TESTABILITY"
+ },
+ {
+ "key": "TESTABILITY",
+ "name": "Testability"
+ },
+ {
+ "key": "INTEGRATION_TESTABILITY",
+ "name": "Integration level testability",
+ "parent": "TESTABILITY"
+ },
+ {
+ "key": "NETWORK_USE",
+ "name": "Network use",
+ "parent": "EFFICIENCY"
+ },
+ {
+ "key": "MEMORY_EFFICIENCY",
+ "name": "Memory use",
+ "parent": "EFFICIENCY"
+ },
+ {
+ "key": "DATA_RELIABILITY",
+ "name": "Data related reliability",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "FAULT_TOLERANCE",
+ "name": "Fault tolerance",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "LOGIC_RELIABILITY",
+ "name": "Logic related reliability",
+ "parent": "RELIABILITY"
+ }
+ ]
+}
--- /dev/null
+{
+ "total": 0,
+ "p": 1,
+ "ps": 200,
+ "rules": [],
+ "facets": []
+}
--- /dev/null
+{
+ "total": 1,
+ "p": 1,
+ "ps": 200,
+ "rules": [
+ {
+ "key": "manual:Manual_Rule",
+ "name": "Manual Rule",
+ "sysTags": [],
+ "tags": [],
+ "status": "READY"
+ }
+ ],
+ "facets": [
+ {
+ "property": "repositories",
+ "values": [
+ {
+ "val": "manual",
+ "count": 1
+ }
+ ]
+ }
+ ]
+}
--- /dev/null
+{
+ "rule": {
+ "key": "manual:Manual_Rule",
+ "repo": "manual",
+ "name": "Manual Rule",
+ "createdAt": "2015-01-05T10:02:11+0100",
+ "status": "READY",
+ "isTemplate": false,
+ "tags": [],
+ "sysTags": [],
+ "htmlDesc": "Manual Rule Description",
+ "mdDesc": "Manual Rule Description",
+ "debtOverloaded": false,
+ "params": []
+ },
+ "actives": []
+}
--- /dev/null
+{
+ "canWrite": false,
+ "qualityprofiles": [
+ {
+ "key": "java-default-with-mojo-conventions-49307",
+ "name": "Default - Maven Conventions",
+ "lang": "java",
+ "parentKey": "java-top-profile-without-formatting-conventions-50037"
+ },
+ {
+ "key": "java-default-with-sonarsource-conventions-27339",
+ "name": "Default - SonarSource conventions",
+ "lang": "java",
+ "parentKey": "java-top-profile-without-formatting-conventions-50037"
+ },
+ {
+ "key": "java-top-profile-without-formatting-conventions-50037",
+ "name": "Default - Top",
+ "lang": "java"
+ },
+ {
+ "key": "java-findbugs-14954",
+ "name": "FindBugs",
+ "lang": "java"
+ },
+ {
+ "key": "java-for-sq-java-plugin-only-92289",
+ "name": "For SQ Java Plugin Only",
+ "lang": "java",
+ "parentKey": "java-default-with-sonarsource-conventions-27339"
+ },
+ {
+ "key": "java-for-sq-only-95381",
+ "name": "For SQ Only",
+ "lang": "java",
+ "parentKey": "java-default-with-sonarsource-conventions-27339"
+ },
+ {
+ "key": "php-psr-2-06315",
+ "name": "PSR-2",
+ "lang": "php"
+ },
+ {
+ "key": "java-sonar-way-80423",
+ "name": "Sonar way",
+ "lang": "java"
+ },
+ {
+ "key": "js-sonar-way",
+ "name": "Sonar way",
+ "lang": "js"
+ },
+ {
+ "key": "php-sonar-way-05548",
+ "name": "Sonar way",
+ "lang": "php"
+ },
+ {
+ "key": "py-sonar-way-80265",
+ "name": "Sonar way",
+ "lang": "py"
+ },
+ {
+ "key": "java-without-findbugs",
+ "name": "Without Findbugs",
+ "lang": "java"
+ }
+ ],
+ "languages": {
+ "py": "Python",
+ "js": "JavaScript",
+ "php": "PHP",
+ "java": "Java"
+ },
+ "repositories": [
+ {
+ "key": "common-java",
+ "name": "Common SonarQube",
+ "language": "java"
+ },
+ {
+ "key": "common-js",
+ "name": "Common SonarQube",
+ "language": "js"
+ },
+ {
+ "key": "common-php",
+ "name": "Common SonarQube",
+ "language": "php"
+ },
+ {
+ "key": "common-py",
+ "name": "Common SonarQube",
+ "language": "py"
+ },
+ {
+ "key": "Pylint",
+ "name": "Pylint",
+ "language": "py"
+ },
+ {
+ "key": "javascript",
+ "name": "SonarQube",
+ "language": "js"
+ },
+ {
+ "key": "php",
+ "name": "SonarQube",
+ "language": "php"
+ },
+ {
+ "key": "python",
+ "name": "SonarQube",
+ "language": "py"
+ },
+ {
+ "key": "squid",
+ "name": "SonarQube",
+ "language": "java"
+ }
+ ],
+ "statuses": {
+ "BETA": "Beta",
+ "DEPRECATED": "Deprecated",
+ "READY": "Ready"
+ },
+ "characteristics": [
+ {
+ "key": "UNDERSTANDABILITY",
+ "name": "Understandability",
+ "parent": "MAINTAINABILITY"
+ },
+ {
+ "key": "MAINTAINABILITY",
+ "name": "Maintainability"
+ },
+ {
+ "key": "TIME_ZONE_RELATED_PORTABILITY",
+ "name": "Time zone related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "READABILITY",
+ "name": "Readability",
+ "parent": "MAINTAINABILITY"
+ },
+ {
+ "key": "SECURITY_FEATURES",
+ "name": "Security features",
+ "parent": "SECURITY"
+ },
+ {
+ "key": "ARCHITECTURE_RELIABILITY",
+ "name": "Architecture related reliability",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "OS_RELATED_PORTABILITY",
+ "name": "OS related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "EXCEPTION_HANDLING",
+ "name": "Exception handling",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "LOGIC_CHANGEABILITY",
+ "name": "Logic related changeability",
+ "parent": "CHANGEABILITY"
+ },
+ {
+ "key": "SOFTWARE_RELATED_PORTABILITY",
+ "name": "Software related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "INPUT_VALIDATION_AND_REPRESENTATION",
+ "name": "Input validation and representation",
+ "parent": "SECURITY"
+ },
+ {
+ "key": "LANGUAGE_RELATED_PORTABILITY",
+ "name": "Language related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "ERRORS",
+ "name": "Errors",
+ "parent": "SECURITY"
+ },
+ {
+ "key": "SECURITY",
+ "name": "Security"
+ },
+ {
+ "key": "RELIABILITY",
+ "name": "Reliability"
+ },
+ {
+ "key": "PORTABILITY",
+ "name": "Portability"
+ },
+ {
+ "key": "HARDWARE_RELATED_PORTABILITY",
+ "name": "Hardware related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "SYNCHRONIZATION_RELIABILITY",
+ "name": "Synchronization related reliability",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "TRANSPORTABILITY",
+ "name": "Transportability",
+ "parent": "REUSABILITY"
+ },
+ {
+ "key": "COMPILER_RELATED_PORTABILITY",
+ "name": "Compiler related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "RESOURCE_RELIABILITY",
+ "name": "Resource",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "CPU_EFFICIENCY",
+ "name": "Processor use",
+ "parent": "EFFICIENCY"
+ },
+ {
+ "key": "EFFICIENCY",
+ "name": "Efficiency"
+ },
+ {
+ "key": "CHANGEABILITY",
+ "name": "Changeability"
+ },
+ {
+ "key": "DATA_CHANGEABILITY",
+ "name": "Data related changeability",
+ "parent": "CHANGEABILITY"
+ },
+ {
+ "key": "API_ABUSE",
+ "name": "API abuse",
+ "parent": "SECURITY"
+ },
+ {
+ "key": "ARCHITECTURE_CHANGEABILITY",
+ "name": "Architecture related changeability",
+ "parent": "CHANGEABILITY"
+ },
+ {
+ "key": "UNIT_TESTS",
+ "name": "Unit tests",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "INSTRUCTION_RELIABILITY",
+ "name": "Instruction related reliability",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "REUSABILITY",
+ "name": "Reusability"
+ },
+ {
+ "key": "MODULARITY",
+ "name": "Modularity",
+ "parent": "REUSABILITY"
+ },
+ {
+ "key": "UNIT_TESTABILITY",
+ "name": "Unit level testability",
+ "parent": "TESTABILITY"
+ },
+ {
+ "key": "TESTABILITY",
+ "name": "Testability"
+ },
+ {
+ "key": "INTEGRATION_TESTABILITY",
+ "name": "Integration level testability",
+ "parent": "TESTABILITY"
+ },
+ {
+ "key": "NETWORK_USE",
+ "name": "Network use",
+ "parent": "EFFICIENCY"
+ },
+ {
+ "key": "MEMORY_EFFICIENCY",
+ "name": "Memory use",
+ "parent": "EFFICIENCY"
+ },
+ {
+ "key": "DATA_RELIABILITY",
+ "name": "Data related reliability",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "FAULT_TOLERANCE",
+ "name": "Fault tolerance",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "LOGIC_RELIABILITY",
+ "name": "Logic related reliability",
+ "parent": "RELIABILITY"
+ }
+ ]
+}
--- /dev/null
+{
+ "total": 2,
+ "p": 1,
+ "ps": 10,
+ "rules": [
+ {
+ "key": "squid:Do_not_use_org_h2_util_StringUtils",
+ "name": "Do not use org.h2.util.StringUtils",
+ "severity": "MAJOR",
+ "params": [
+ {
+ "key": "fromClasses",
+ "htmlDesc": "Optional. If this property is not defined, all classes should adhere to this constraint. Ex : *<em>.web.</em>*",
+ "type": "STRING",
+ "defaultValue": ""
+ },
+ {
+ "key": "toClasses",
+ "htmlDesc": "Mandatory. Ex : java.util.Vector, java.util.Hashtable, java.util.Enumeration",
+ "type": "STRING",
+ "defaultValue": "org.h2.util.StringUtils"
+ }
+ ]
+ },
+ {
+ "key": "squid:Do_not_use_edu_emory_mathcs_backport_java_util_Collections",
+ "name": "Do not use edu.emory.mathcs.backport.java.util.Collections",
+ "severity": "MAJOR",
+ "params": [
+ {
+ "key": "fromClasses",
+ "htmlDesc": "Optional. If this property is not defined, all classes should adhere to this constraint. Ex : *<em>.web.</em>*",
+ "type": "STRING",
+ "defaultValue": ""
+ },
+ {
+ "key": "toClasses",
+ "htmlDesc": "Mandatory. Ex : java.util.Vector, java.util.Hashtable, java.util.Enumeration",
+ "type": "STRING",
+ "defaultValue": "edu.emory.mathcs.backport.java.util.Collections"
+ }
+ ]
+ }
+ ]
+}
--- /dev/null
+{
+ "total": 1,
+ "p": 1,
+ "ps": 200,
+ "rules": [
+ {
+ "key": "squid:ArchitecturalConstraint",
+ "name": "Architectural constraint",
+ "lang": "java",
+ "langName": "Java",
+ "sysTags": [],
+ "tags": [],
+ "status": "READY"
+ }
+ ],
+ "facets": [
+ {
+ "property": "languages",
+ "values": [
+ {
+ "val": "java",
+ "count": 1
+ }
+ ]
+ },
+ {
+ "property": "repositories",
+ "values": [
+ {
+ "val": "squid",
+ "count": 1
+ }
+ ]
+ }
+ ]
+}
--- /dev/null
+{
+ "rule": {
+ "key": "squid:ArchitecturalConstraint",
+ "repo": "squid",
+ "name": "Architectural constraint",
+ "createdAt": "2013-03-27T09:52:40+0100",
+ "severity": "MAJOR",
+ "status": "READY",
+ "internalKey": "ArchitecturalConstraint",
+ "isTemplate": true,
+ "tags": [],
+ "sysTags": [],
+ "lang": "java",
+ "langName": "Java",
+ "htmlDesc": "<p>A source code comply to an architectural model when it fully\n\tadheres to a set of architectural constraints. A constraint allows to\n\tdeny references between classes by pattern.</p>\n<p>You can for instance use this rule to :</p>\n<ul>\n\t<li>forbid access to **.web.** from **.dao.** classes</li>\n\t<li>forbid access to java.util.Vector, java.util.Hashtable and\n\t\tjava.util.Enumeration from any classes</li>\n\t<li>forbid access to java.sql.** from **.ui.** and **.web.**\n\t\tclasses</li>\n</ul>",
+ "debtChar": "CHANGEABILITY",
+ "debtSubChar": "ARCHITECTURE_CHANGEABILITY",
+ "debtCharName": "Changeability",
+ "debtSubCharName": "Architecture related changeability",
+ "debtOverloaded": true,
+ "debtRemFnType": "LINEAR",
+ "debtRemFnCoeff": "3h",
+ "params": [
+ {
+ "key": "fromClasses",
+ "htmlDesc": "Optional. If this property is not defined, all classes should adhere to this constraint. Ex : *<em>.web.</em>*",
+ "type": "STRING"
+ },
+ {
+ "key": "toClasses",
+ "htmlDesc": "Mandatory. Ex : java.util.Vector, java.util.Hashtable, java.util.Enumeration",
+ "type": "STRING"
+ }
+ ]
+ },
+ "actives": []
+}
--- /dev/null
+{
+ "canWrite": false,
+ "qualityprofiles": [
+ {
+ "key": "java-default-with-mojo-conventions-49307",
+ "name": "Default - Maven Conventions",
+ "lang": "java",
+ "parentKey": "java-top-profile-without-formatting-conventions-50037"
+ },
+ {
+ "key": "java-default-with-sonarsource-conventions-27339",
+ "name": "Default - SonarSource conventions",
+ "lang": "java",
+ "parentKey": "java-top-profile-without-formatting-conventions-50037"
+ },
+ {
+ "key": "java-top-profile-without-formatting-conventions-50037",
+ "name": "Default - Top",
+ "lang": "java"
+ },
+ {
+ "key": "java-findbugs-14954",
+ "name": "FindBugs",
+ "lang": "java"
+ },
+ {
+ "key": "java-for-sq-java-plugin-only-92289",
+ "name": "For SQ Java Plugin Only",
+ "lang": "java",
+ "parentKey": "java-default-with-sonarsource-conventions-27339"
+ },
+ {
+ "key": "java-for-sq-only-95381",
+ "name": "For SQ Only",
+ "lang": "java",
+ "parentKey": "java-default-with-sonarsource-conventions-27339"
+ },
+ {
+ "key": "php-psr-2-06315",
+ "name": "PSR-2",
+ "lang": "php"
+ },
+ {
+ "key": "java-sonar-way-80423",
+ "name": "Sonar way",
+ "lang": "java"
+ },
+ {
+ "key": "js-sonar-way",
+ "name": "Sonar way",
+ "lang": "js"
+ },
+ {
+ "key": "php-sonar-way-05548",
+ "name": "Sonar way",
+ "lang": "php"
+ },
+ {
+ "key": "py-sonar-way-80265",
+ "name": "Sonar way",
+ "lang": "py"
+ },
+ {
+ "key": "java-without-findbugs",
+ "name": "Without Findbugs",
+ "lang": "java"
+ }
+ ],
+ "languages": {
+ "py": "Python",
+ "js": "JavaScript",
+ "php": "PHP",
+ "java": "Java"
+ },
+ "repositories": [
+ {
+ "key": "common-java",
+ "name": "Common SonarQube",
+ "language": "java"
+ },
+ {
+ "key": "common-js",
+ "name": "Common SonarQube",
+ "language": "js"
+ },
+ {
+ "key": "common-php",
+ "name": "Common SonarQube",
+ "language": "php"
+ },
+ {
+ "key": "common-py",
+ "name": "Common SonarQube",
+ "language": "py"
+ },
+ {
+ "key": "Pylint",
+ "name": "Pylint",
+ "language": "py"
+ },
+ {
+ "key": "javascript",
+ "name": "SonarQube",
+ "language": "js"
+ },
+ {
+ "key": "php",
+ "name": "SonarQube",
+ "language": "php"
+ },
+ {
+ "key": "python",
+ "name": "SonarQube",
+ "language": "py"
+ },
+ {
+ "key": "squid",
+ "name": "SonarQube",
+ "language": "java"
+ }
+ ],
+ "statuses": {
+ "BETA": "Beta",
+ "DEPRECATED": "Deprecated",
+ "READY": "Ready"
+ },
+ "characteristics": [
+ {
+ "key": "UNDERSTANDABILITY",
+ "name": "Understandability",
+ "parent": "MAINTAINABILITY"
+ },
+ {
+ "key": "MAINTAINABILITY",
+ "name": "Maintainability"
+ },
+ {
+ "key": "TIME_ZONE_RELATED_PORTABILITY",
+ "name": "Time zone related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "READABILITY",
+ "name": "Readability",
+ "parent": "MAINTAINABILITY"
+ },
+ {
+ "key": "SECURITY_FEATURES",
+ "name": "Security features",
+ "parent": "SECURITY"
+ },
+ {
+ "key": "ARCHITECTURE_RELIABILITY",
+ "name": "Architecture related reliability",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "OS_RELATED_PORTABILITY",
+ "name": "OS related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "EXCEPTION_HANDLING",
+ "name": "Exception handling",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "LOGIC_CHANGEABILITY",
+ "name": "Logic related changeability",
+ "parent": "CHANGEABILITY"
+ },
+ {
+ "key": "SOFTWARE_RELATED_PORTABILITY",
+ "name": "Software related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "INPUT_VALIDATION_AND_REPRESENTATION",
+ "name": "Input validation and representation",
+ "parent": "SECURITY"
+ },
+ {
+ "key": "LANGUAGE_RELATED_PORTABILITY",
+ "name": "Language related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "ERRORS",
+ "name": "Errors",
+ "parent": "SECURITY"
+ },
+ {
+ "key": "SECURITY",
+ "name": "Security"
+ },
+ {
+ "key": "RELIABILITY",
+ "name": "Reliability"
+ },
+ {
+ "key": "PORTABILITY",
+ "name": "Portability"
+ },
+ {
+ "key": "HARDWARE_RELATED_PORTABILITY",
+ "name": "Hardware related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "SYNCHRONIZATION_RELIABILITY",
+ "name": "Synchronization related reliability",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "TRANSPORTABILITY",
+ "name": "Transportability",
+ "parent": "REUSABILITY"
+ },
+ {
+ "key": "COMPILER_RELATED_PORTABILITY",
+ "name": "Compiler related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "RESOURCE_RELIABILITY",
+ "name": "Resource",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "CPU_EFFICIENCY",
+ "name": "Processor use",
+ "parent": "EFFICIENCY"
+ },
+ {
+ "key": "EFFICIENCY",
+ "name": "Efficiency"
+ },
+ {
+ "key": "CHANGEABILITY",
+ "name": "Changeability"
+ },
+ {
+ "key": "DATA_CHANGEABILITY",
+ "name": "Data related changeability",
+ "parent": "CHANGEABILITY"
+ },
+ {
+ "key": "API_ABUSE",
+ "name": "API abuse",
+ "parent": "SECURITY"
+ },
+ {
+ "key": "ARCHITECTURE_CHANGEABILITY",
+ "name": "Architecture related changeability",
+ "parent": "CHANGEABILITY"
+ },
+ {
+ "key": "UNIT_TESTS",
+ "name": "Unit tests",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "INSTRUCTION_RELIABILITY",
+ "name": "Instruction related reliability",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "REUSABILITY",
+ "name": "Reusability"
+ },
+ {
+ "key": "MODULARITY",
+ "name": "Modularity",
+ "parent": "REUSABILITY"
+ },
+ {
+ "key": "UNIT_TESTABILITY",
+ "name": "Unit level testability",
+ "parent": "TESTABILITY"
+ },
+ {
+ "key": "TESTABILITY",
+ "name": "Testability"
+ },
+ {
+ "key": "INTEGRATION_TESTABILITY",
+ "name": "Integration level testability",
+ "parent": "TESTABILITY"
+ },
+ {
+ "key": "NETWORK_USE",
+ "name": "Network use",
+ "parent": "EFFICIENCY"
+ },
+ {
+ "key": "MEMORY_EFFICIENCY",
+ "name": "Memory use",
+ "parent": "EFFICIENCY"
+ },
+ {
+ "key": "DATA_RELIABILITY",
+ "name": "Data related reliability",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "FAULT_TOLERANCE",
+ "name": "Fault tolerance",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "LOGIC_RELIABILITY",
+ "name": "Logic related reliability",
+ "parent": "RELIABILITY"
+ }
+ ]
+}
--- /dev/null
+{
+ "total": 609,
+ "p": 1,
+ "ps": 25,
+ "rules": [
+ {
+ "key": "squid:S2077",
+ "status": "DEPRECATED",
+ "name": "Values passed to SQL commands should be sanitized",
+ "lang": "java",
+ "langName": "Java",
+ "sysTags": [
+ "cwe",
+ "owasp-top10",
+ "security",
+ "sql"
+ ],
+ "tags": [
+ "custom-tag"
+ ]
+ },
+ {
+ "key": "php:S107",
+ "status": "READY",
+ "name": "Functions should not have too many parameters",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1192",
+ "status": "READY",
+ "name": "String literals should not be duplicated",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [],
+ "tags": []
+ },
+ {
+ "key": "php:S1145",
+ "status": "READY",
+ "name": "\"if\" statement conditions should not always evaluate to \"true\" or to \"false\"",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "bug",
+ "cwe",
+ "security"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S108",
+ "status": "READY",
+ "name": "Nested blocks of code should not be left empty",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [],
+ "tags": []
+ },
+ {
+ "key": "php:S1301",
+ "status": "READY",
+ "name": "\"switch\" statements should have at least 3 \"case\" clauses",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [],
+ "tags": []
+ },
+ {
+ "key": "php:S103",
+ "status": "READY",
+ "name": "Lines should not be too long",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1144",
+ "status": "READY",
+ "name": "Unused private method should be removed",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "unused"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S105",
+ "status": "READY",
+ "name": "Tabulation characters should not be used",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention",
+ "psr2"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1481",
+ "status": "READY",
+ "name": "Unused local variables should be removed",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "unused"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1142",
+ "status": "READY",
+ "name": "Functions should not contain too many return statements",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S104",
+ "status": "READY",
+ "name": "Files should not have too many lines",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1605",
+ "status": "READY",
+ "name": "PHP 4 style calls to parent constructors should not be used in PHP5 \"__construct\" functions",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1448",
+ "status": "READY",
+ "name": "Classes should not have too many methods",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1603",
+ "status": "READY",
+ "name": "PHP 4 constructor declarations should not be used",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "pitfail"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1779",
+ "status": "READY",
+ "name": "Only LF character (Unix-like) should be used to end lines",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention",
+ "psr2"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1185",
+ "status": "READY",
+ "name": "Overriding methods should do more than simply call the same method in the super class",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [],
+ "tags": []
+ },
+ {
+ "key": "php:S1600",
+ "status": "READY",
+ "name": "Deprecated predefined variables should not be used",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "pitfail"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1109",
+ "status": "READY",
+ "name": "A close curly brace should be located at the beginning of a line",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S2001",
+ "status": "READY",
+ "name": "Functions deprecated in PHP 5 should not be used",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "obsolete"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S2002",
+ "status": "READY",
+ "name": "Errors should not be silenced",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "pitfail"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S2000",
+ "status": "READY",
+ "name": "Files should not contain characters before \"<?php\"",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "user-experience"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1105",
+ "status": "READY",
+ "name": "An open curly brace should be located at the end of a line",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1200",
+ "status": "READY",
+ "name": "Classes should not be coupled to too many other classes (Single Responsibility Principle)",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1106",
+ "status": "READY",
+ "name": "An open curly brace should be located at the beginning of a line",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ }
+ ],
+ "facets": [
+ {
+ "property": "tags",
+ "values": [
+ {
+ "val": "convention",
+ "count": 67
+ },
+ {
+ "val": "brain-overload",
+ "count": 36
+ },
+ {
+ "val": "bug",
+ "count": 36
+ },
+ {
+ "val": "cwe",
+ "count": 17
+ },
+ {
+ "val": "unused",
+ "count": 16
+ },
+ {
+ "val": "security",
+ "count": 14
+ },
+ {
+ "val": "pitfall",
+ "count": 12
+ },
+ {
+ "val": "psr2",
+ "count": 12
+ },
+ {
+ "val": "error-handling",
+ "count": 11
+ },
+ {
+ "val": "pitfail",
+ "count": 10
+ }
+ ]
+ },
+ {
+ "property": "languages",
+ "values": [
+ {
+ "val": "java",
+ "count": 212
+ },
+ {
+ "val": "py",
+ "count": 212
+ },
+ {
+ "val": "php",
+ "count": 103
+ },
+ {
+ "val": "js",
+ "count": 77
+ }
+ ]
+ },
+ {
+ "property": "repositories",
+ "values": [
+ {
+ "val": "squid",
+ "count": 206
+ },
+ {
+ "val": "Pylint",
+ "count": 180
+ },
+ {
+ "val": "php",
+ "count": 97
+ },
+ {
+ "val": "javascript",
+ "count": 73
+ },
+ {
+ "val": "python",
+ "count": 28
+ },
+ {
+ "val": "common-java",
+ "count": 6
+ },
+ {
+ "val": "common-php",
+ "count": 6
+ },
+ {
+ "val": "manual",
+ "count": 5
+ },
+ {
+ "val": "common-js",
+ "count": 4
+ },
+ {
+ "val": "common-py",
+ "count": 4
+ }
+ ]
+ }
+ ]
+}
--- /dev/null
+{
+ "canWrite": false,
+ "qualityprofiles": [
+ {
+ "key": "java-default-with-mojo-conventions-49307",
+ "name": "Default - Maven Conventions",
+ "lang": "java",
+ "parentKey": "java-top-profile-without-formatting-conventions-50037"
+ },
+ {
+ "key": "java-default-with-sonarsource-conventions-27339",
+ "name": "Default - SonarSource conventions",
+ "lang": "java",
+ "parentKey": "java-top-profile-without-formatting-conventions-50037"
+ },
+ {
+ "key": "java-top-profile-without-formatting-conventions-50037",
+ "name": "Default - Top",
+ "lang": "java"
+ },
+ {
+ "key": "java-findbugs-14954",
+ "name": "FindBugs",
+ "lang": "java"
+ },
+ {
+ "key": "java-for-sq-java-plugin-only-92289",
+ "name": "For SQ Java Plugin Only",
+ "lang": "java",
+ "parentKey": "java-default-with-sonarsource-conventions-27339"
+ },
+ {
+ "key": "java-for-sq-only-95381",
+ "name": "For SQ Only",
+ "lang": "java",
+ "parentKey": "java-default-with-sonarsource-conventions-27339"
+ },
+ {
+ "key": "php-psr-2-06315",
+ "name": "PSR-2",
+ "lang": "php"
+ },
+ {
+ "key": "java-sonar-way-80423",
+ "name": "Sonar way",
+ "lang": "java"
+ },
+ {
+ "key": "js-sonar-way",
+ "name": "Sonar way",
+ "lang": "js"
+ },
+ {
+ "key": "php-sonar-way-05548",
+ "name": "Sonar way",
+ "lang": "php"
+ },
+ {
+ "key": "py-sonar-way-80265",
+ "name": "Sonar way",
+ "lang": "py"
+ },
+ {
+ "key": "java-without-findbugs",
+ "name": "Without Findbugs",
+ "lang": "java"
+ }
+ ],
+ "languages": {
+ "py": "Python",
+ "js": "JavaScript",
+ "php": "PHP",
+ "java": "Java"
+ },
+ "repositories": [
+ {
+ "key": "common-java",
+ "name": "Common SonarQube",
+ "language": "java"
+ },
+ {
+ "key": "common-js",
+ "name": "Common SonarQube",
+ "language": "js"
+ },
+ {
+ "key": "common-php",
+ "name": "Common SonarQube",
+ "language": "php"
+ },
+ {
+ "key": "common-py",
+ "name": "Common SonarQube",
+ "language": "py"
+ },
+ {
+ "key": "Pylint",
+ "name": "Pylint",
+ "language": "py"
+ },
+ {
+ "key": "javascript",
+ "name": "SonarQube",
+ "language": "js"
+ },
+ {
+ "key": "php",
+ "name": "SonarQube",
+ "language": "php"
+ },
+ {
+ "key": "python",
+ "name": "SonarQube",
+ "language": "py"
+ },
+ {
+ "key": "squid",
+ "name": "SonarQube",
+ "language": "java"
+ }
+ ],
+ "statuses": {
+ "BETA": "Beta",
+ "DEPRECATED": "Deprecated",
+ "READY": "Ready"
+ },
+ "characteristics": [
+ {
+ "key": "UNDERSTANDABILITY",
+ "name": "Understandability",
+ "parent": "MAINTAINABILITY"
+ },
+ {
+ "key": "MAINTAINABILITY",
+ "name": "Maintainability"
+ },
+ {
+ "key": "TIME_ZONE_RELATED_PORTABILITY",
+ "name": "Time zone related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "READABILITY",
+ "name": "Readability",
+ "parent": "MAINTAINABILITY"
+ },
+ {
+ "key": "SECURITY_FEATURES",
+ "name": "Security features",
+ "parent": "SECURITY"
+ },
+ {
+ "key": "ARCHITECTURE_RELIABILITY",
+ "name": "Architecture related reliability",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "OS_RELATED_PORTABILITY",
+ "name": "OS related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "EXCEPTION_HANDLING",
+ "name": "Exception handling",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "LOGIC_CHANGEABILITY",
+ "name": "Logic related changeability",
+ "parent": "CHANGEABILITY"
+ },
+ {
+ "key": "SOFTWARE_RELATED_PORTABILITY",
+ "name": "Software related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "INPUT_VALIDATION_AND_REPRESENTATION",
+ "name": "Input validation and representation",
+ "parent": "SECURITY"
+ },
+ {
+ "key": "LANGUAGE_RELATED_PORTABILITY",
+ "name": "Language related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "ERRORS",
+ "name": "Errors",
+ "parent": "SECURITY"
+ },
+ {
+ "key": "SECURITY",
+ "name": "Security"
+ },
+ {
+ "key": "RELIABILITY",
+ "name": "Reliability"
+ },
+ {
+ "key": "PORTABILITY",
+ "name": "Portability"
+ },
+ {
+ "key": "HARDWARE_RELATED_PORTABILITY",
+ "name": "Hardware related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "SYNCHRONIZATION_RELIABILITY",
+ "name": "Synchronization related reliability",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "TRANSPORTABILITY",
+ "name": "Transportability",
+ "parent": "REUSABILITY"
+ },
+ {
+ "key": "COMPILER_RELATED_PORTABILITY",
+ "name": "Compiler related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "RESOURCE_RELIABILITY",
+ "name": "Resource",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "CPU_EFFICIENCY",
+ "name": "Processor use",
+ "parent": "EFFICIENCY"
+ },
+ {
+ "key": "EFFICIENCY",
+ "name": "Efficiency"
+ },
+ {
+ "key": "CHANGEABILITY",
+ "name": "Changeability"
+ },
+ {
+ "key": "DATA_CHANGEABILITY",
+ "name": "Data related changeability",
+ "parent": "CHANGEABILITY"
+ },
+ {
+ "key": "API_ABUSE",
+ "name": "API abuse",
+ "parent": "SECURITY"
+ },
+ {
+ "key": "ARCHITECTURE_CHANGEABILITY",
+ "name": "Architecture related changeability",
+ "parent": "CHANGEABILITY"
+ },
+ {
+ "key": "UNIT_TESTS",
+ "name": "Unit tests",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "INSTRUCTION_RELIABILITY",
+ "name": "Instruction related reliability",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "REUSABILITY",
+ "name": "Reusability"
+ },
+ {
+ "key": "MODULARITY",
+ "name": "Modularity",
+ "parent": "REUSABILITY"
+ },
+ {
+ "key": "UNIT_TESTABILITY",
+ "name": "Unit level testability",
+ "parent": "TESTABILITY"
+ },
+ {
+ "key": "TESTABILITY",
+ "name": "Testability"
+ },
+ {
+ "key": "INTEGRATION_TESTABILITY",
+ "name": "Integration level testability",
+ "parent": "TESTABILITY"
+ },
+ {
+ "key": "NETWORK_USE",
+ "name": "Network use",
+ "parent": "EFFICIENCY"
+ },
+ {
+ "key": "MEMORY_EFFICIENCY",
+ "name": "Memory use",
+ "parent": "EFFICIENCY"
+ },
+ {
+ "key": "DATA_RELIABILITY",
+ "name": "Data related reliability",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "FAULT_TOLERANCE",
+ "name": "Fault tolerance",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "LOGIC_RELIABILITY",
+ "name": "Logic related reliability",
+ "parent": "RELIABILITY"
+ }
+ ]
+}
--- /dev/null
+{
+ "total": 10,
+ "p": 1,
+ "ps": 200,
+ "rules": [
+ {
+ "key": "squid:S1181",
+ "name": "Throwable and Error classes should not be caught",
+ "lang": "java",
+ "langName": "Java",
+ "sysTags": [
+ "error-handling"
+ ],
+ "tags": []
+ },
+ {
+ "key": "squid:S1849",
+ "name": "\"Iterator.hasNext()\" should not call \"Iterator.next()\"",
+ "lang": "java",
+ "langName": "Java",
+ "sysTags": [
+ "bug"
+ ],
+ "tags": []
+ },
+ {
+ "key": "squid:S1844",
+ "name": "\"Object.wait(...)\" should never be called on objects that implement \"java.util.concurrent.locks.Condition\"",
+ "lang": "java",
+ "langName": "Java",
+ "sysTags": [
+ "bug",
+ "pitfall"
+ ],
+ "tags": []
+ },
+ {
+ "key": "squid:S2258",
+ "name": "\"javax.crypto.NullCipher\" should not be used for anything other than testing",
+ "lang": "java",
+ "langName": "Java",
+ "sysTags": [
+ "cwe",
+ "owasp-top10",
+ "security"
+ ],
+ "tags": []
+ },
+ {
+ "key": "squid:S2251",
+ "name": "A \"for\" loop update clause should move the counter in the right direction",
+ "lang": "java",
+ "langName": "Java",
+ "sysTags": [
+ "bug"
+ ],
+ "tags": []
+ },
+ {
+ "key": "squid:ObjectFinalizeOverridenCallsSuperFinalizeCheck",
+ "name": "super.finalize() should be called at the end of Object.finalize() implementations",
+ "lang": "java",
+ "langName": "Java",
+ "sysTags": [
+ "bug"
+ ],
+ "tags": []
+ },
+ {
+ "key": "squid:S1143",
+ "name": "Return statements should not occur in finally blocks",
+ "lang": "java",
+ "langName": "Java",
+ "sysTags": [
+ "bug"
+ ],
+ "tags": []
+ },
+ {
+ "key": "squid:S1206",
+ "name": "\"equals(Object obj)\" and \"hashCode()\" should be overridden in pairs",
+ "lang": "java",
+ "langName": "Java",
+ "sysTags": [
+ "bug"
+ ],
+ "tags": []
+ },
+ {
+ "key": "squid:S1451",
+ "name": "Copyright and license headers should be defined in all source files",
+ "lang": "java",
+ "langName": "Java",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "squid:S1697",
+ "name": "Short-circuit logic should be used to prevent null pointer dereferences in conditionals",
+ "lang": "java",
+ "langName": "Java",
+ "sysTags": [
+ "bug"
+ ],
+ "tags": []
+ }
+ ],
+ "facets": [
+ {
+ "property": "tags",
+ "values": [
+ {
+ "val": "bug",
+ "count": 7
+ },
+ {
+ "val": "convention",
+ "count": 1
+ },
+ {
+ "val": "cwe",
+ "count": 1
+ },
+ {
+ "val": "error-handling",
+ "count": 1
+ },
+ {
+ "val": "owasp-top10",
+ "count": 1
+ },
+ {
+ "val": "pitfall",
+ "count": 1
+ },
+ {
+ "val": "security",
+ "count": 1
+ }
+ ]
+ },
+ {
+ "property": "languages",
+ "values": [
+ {
+ "val": "java",
+ "count": 10
+ },
+ {
+ "val": "js",
+ "count": 6
+ },
+ {
+ "val": "php",
+ "count": 2
+ }
+ ]
+ },
+ {
+ "property": "repositories",
+ "values": [
+ {
+ "val": "squid",
+ "count": 10
+ }
+ ]
+ }
+ ]
+}
--- /dev/null
+{
+ "rule": {
+ "key": "squid:S1181",
+ "repo": "squid",
+ "name": "Throwable and Error classes should not be caught",
+ "createdAt": "2013-08-09T14:40:54+0200",
+ "severity": "BLOCKER",
+ "status": "READY",
+ "internalKey": "S1181",
+ "isTemplate": false,
+ "tags": [],
+ "sysTags": [
+ "error-handling"
+ ],
+ "lang": "java",
+ "langName": "Java",
+ "htmlDesc": "<p>\n<code>Throwable</code> is the superclass of all errors and exceptions in Java.\n<code>Error</code> is the superclass of all errors which are not meant to be caught by applications.\n</p>\n\n<p>\nCatching either <code>Throwable</code> or <code>Error</code> will also catch <code>OutOfMemoryError</code> or <code>InternalError</code> from which an application should not attempt to recover.\n</p>\n\n<p>Only <code>Exception</code> and its subclasses should be caught.</p>\n\n<h2>Noncompliant Code Example</h2>\n\n<pre>\ntry { /* ... */ } catch (Throwable t) { /* ... */ }\ntry { /* ... */ } catch (Error e) { /* ... */ } \n</pre>\n\n<h2>Compliant Solution</h2>\n\n<pre>\ntry { /* ... */ } catch (Exception e) { /* ... */ } \ntry { /* ... */ } catch (RuntimeException e) { /* ... */ } \ntry { /* ... */ } catch (MyException e) { /* ... */ } \n</pre>",
+ "defaultDebtChar": "RELIABILITY",
+ "defaultDebtSubChar": "EXCEPTION_HANDLING",
+ "debtChar": "RELIABILITY",
+ "debtSubChar": "EXCEPTION_HANDLING",
+ "debtCharName": "Reliability",
+ "debtSubCharName": "Exception handling",
+ "defaultDebtRemFnType": "CONSTANT_ISSUE",
+ "defaultDebtRemFnOffset": "20min",
+ "debtOverloaded": true,
+ "debtRemFnType": "LINEAR",
+ "debtRemFnCoeff": "20min",
+ "params": [
+ {
+ "key": "max",
+ "htmlDesc": "Maximum authorized number of parameters",
+ "type": "INTEGER",
+ "defaultValue": "7"
+ }
+ ]
+ },
+ "actives": [
+ {
+ "qProfile": "java-top-profile-without-formatting-conventions-50037",
+ "inherit": "NONE",
+ "severity": "BLOCKER",
+ "params": []
+ },
+ {
+ "qProfile": "java-default-with-sonarsource-conventions-27339",
+ "inherit": "INHERITED",
+ "severity": "BLOCKER",
+ "params": []
+ },
+ {
+ "qProfile": "java-for-sq-java-plugin-only-92289",
+ "inherit": "INHERITED",
+ "severity": "BLOCKER",
+ "params": []
+ },
+ {
+ "qProfile": "java-for-sq-only-95381",
+ "inherit": "INHERITED",
+ "severity": "BLOCKER",
+ "params": []
+ },
+ {
+ "qProfile": "java-default-with-mojo-conventions-49307",
+ "inherit": "INHERITED",
+ "severity": "BLOCKER",
+ "params": []
+ },
+ {
+ "qProfile": "java-sonar-way-80423",
+ "inherit": "NONE",
+ "severity": "BLOCKER",
+ "params": []
+ }
+ ]
+}
--- /dev/null
+{
+ "canWrite": false,
+ "qualityprofiles": [
+ {
+ "key": "java-default-with-mojo-conventions-49307",
+ "name": "Default - Maven Conventions",
+ "lang": "java",
+ "parentKey": "java-top-profile-without-formatting-conventions-50037"
+ },
+ {
+ "key": "java-default-with-sonarsource-conventions-27339",
+ "name": "Default - SonarSource conventions",
+ "lang": "java",
+ "parentKey": "java-top-profile-without-formatting-conventions-50037"
+ },
+ {
+ "key": "java-top-profile-without-formatting-conventions-50037",
+ "name": "Default - Top",
+ "lang": "java"
+ },
+ {
+ "key": "java-findbugs-14954",
+ "name": "FindBugs",
+ "lang": "java"
+ },
+ {
+ "key": "java-for-sq-java-plugin-only-92289",
+ "name": "For SQ Java Plugin Only",
+ "lang": "java",
+ "parentKey": "java-default-with-sonarsource-conventions-27339"
+ },
+ {
+ "key": "java-for-sq-only-95381",
+ "name": "For SQ Only",
+ "lang": "java",
+ "parentKey": "java-default-with-sonarsource-conventions-27339"
+ },
+ {
+ "key": "php-psr-2-06315",
+ "name": "PSR-2",
+ "lang": "php"
+ },
+ {
+ "key": "java-sonar-way-80423",
+ "name": "Sonar way",
+ "lang": "java"
+ },
+ {
+ "key": "js-sonar-way",
+ "name": "Sonar way",
+ "lang": "js"
+ },
+ {
+ "key": "php-sonar-way-05548",
+ "name": "Sonar way",
+ "lang": "php"
+ },
+ {
+ "key": "py-sonar-way-80265",
+ "name": "Sonar way",
+ "lang": "py"
+ },
+ {
+ "key": "java-without-findbugs",
+ "name": "Without Findbugs",
+ "lang": "java"
+ }
+ ],
+ "languages": {
+ "py": "Python",
+ "js": "JavaScript",
+ "php": "PHP",
+ "java": "Java"
+ },
+ "repositories": [
+ {
+ "key": "common-java",
+ "name": "Common SonarQube",
+ "language": "java"
+ },
+ {
+ "key": "common-js",
+ "name": "Common SonarQube",
+ "language": "js"
+ },
+ {
+ "key": "common-php",
+ "name": "Common SonarQube",
+ "language": "php"
+ },
+ {
+ "key": "common-py",
+ "name": "Common SonarQube",
+ "language": "py"
+ },
+ {
+ "key": "Pylint",
+ "name": "Pylint",
+ "language": "py"
+ },
+ {
+ "key": "javascript",
+ "name": "SonarQube",
+ "language": "js"
+ },
+ {
+ "key": "php",
+ "name": "SonarQube",
+ "language": "php"
+ },
+ {
+ "key": "python",
+ "name": "SonarQube",
+ "language": "py"
+ },
+ {
+ "key": "squid",
+ "name": "SonarQube",
+ "language": "java"
+ }
+ ],
+ "statuses": {
+ "BETA": "Beta",
+ "DEPRECATED": "Deprecated",
+ "READY": "Ready"
+ },
+ "characteristics": [
+ {
+ "key": "UNDERSTANDABILITY",
+ "name": "Understandability",
+ "parent": "MAINTAINABILITY"
+ },
+ {
+ "key": "MAINTAINABILITY",
+ "name": "Maintainability"
+ },
+ {
+ "key": "TIME_ZONE_RELATED_PORTABILITY",
+ "name": "Time zone related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "READABILITY",
+ "name": "Readability",
+ "parent": "MAINTAINABILITY"
+ },
+ {
+ "key": "SECURITY_FEATURES",
+ "name": "Security features",
+ "parent": "SECURITY"
+ },
+ {
+ "key": "ARCHITECTURE_RELIABILITY",
+ "name": "Architecture related reliability",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "OS_RELATED_PORTABILITY",
+ "name": "OS related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "EXCEPTION_HANDLING",
+ "name": "Exception handling",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "LOGIC_CHANGEABILITY",
+ "name": "Logic related changeability",
+ "parent": "CHANGEABILITY"
+ },
+ {
+ "key": "SOFTWARE_RELATED_PORTABILITY",
+ "name": "Software related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "INPUT_VALIDATION_AND_REPRESENTATION",
+ "name": "Input validation and representation",
+ "parent": "SECURITY"
+ },
+ {
+ "key": "LANGUAGE_RELATED_PORTABILITY",
+ "name": "Language related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "ERRORS",
+ "name": "Errors",
+ "parent": "SECURITY"
+ },
+ {
+ "key": "SECURITY",
+ "name": "Security"
+ },
+ {
+ "key": "RELIABILITY",
+ "name": "Reliability"
+ },
+ {
+ "key": "PORTABILITY",
+ "name": "Portability"
+ },
+ {
+ "key": "HARDWARE_RELATED_PORTABILITY",
+ "name": "Hardware related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "SYNCHRONIZATION_RELIABILITY",
+ "name": "Synchronization related reliability",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "TRANSPORTABILITY",
+ "name": "Transportability",
+ "parent": "REUSABILITY"
+ },
+ {
+ "key": "COMPILER_RELATED_PORTABILITY",
+ "name": "Compiler related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "RESOURCE_RELIABILITY",
+ "name": "Resource",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "CPU_EFFICIENCY",
+ "name": "Processor use",
+ "parent": "EFFICIENCY"
+ },
+ {
+ "key": "EFFICIENCY",
+ "name": "Efficiency"
+ },
+ {
+ "key": "CHANGEABILITY",
+ "name": "Changeability"
+ },
+ {
+ "key": "DATA_CHANGEABILITY",
+ "name": "Data related changeability",
+ "parent": "CHANGEABILITY"
+ },
+ {
+ "key": "API_ABUSE",
+ "name": "API abuse",
+ "parent": "SECURITY"
+ },
+ {
+ "key": "ARCHITECTURE_CHANGEABILITY",
+ "name": "Architecture related changeability",
+ "parent": "CHANGEABILITY"
+ },
+ {
+ "key": "UNIT_TESTS",
+ "name": "Unit tests",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "INSTRUCTION_RELIABILITY",
+ "name": "Instruction related reliability",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "REUSABILITY",
+ "name": "Reusability"
+ },
+ {
+ "key": "MODULARITY",
+ "name": "Modularity",
+ "parent": "REUSABILITY"
+ },
+ {
+ "key": "UNIT_TESTABILITY",
+ "name": "Unit level testability",
+ "parent": "TESTABILITY"
+ },
+ {
+ "key": "TESTABILITY",
+ "name": "Testability"
+ },
+ {
+ "key": "INTEGRATION_TESTABILITY",
+ "name": "Integration level testability",
+ "parent": "TESTABILITY"
+ },
+ {
+ "key": "NETWORK_USE",
+ "name": "Network use",
+ "parent": "EFFICIENCY"
+ },
+ {
+ "key": "MEMORY_EFFICIENCY",
+ "name": "Memory use",
+ "parent": "EFFICIENCY"
+ },
+ {
+ "key": "DATA_RELIABILITY",
+ "name": "Data related reliability",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "FAULT_TOLERANCE",
+ "name": "Fault tolerance",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "LOGIC_RELIABILITY",
+ "name": "Logic related reliability",
+ "parent": "RELIABILITY"
+ }
+ ]
+}
--- /dev/null
+{
+ "total": 0,
+ "p": 1,
+ "ps": 200,
+ "rules": [],
+ "facets": []
+}
--- /dev/null
+{
+ "canWrite": false,
+ "qualityprofiles": [
+ {
+ "key": "java-default-with-mojo-conventions-49307",
+ "name": "Default - Maven Conventions",
+ "lang": "java",
+ "parentKey": "java-top-profile-without-formatting-conventions-50037"
+ },
+ {
+ "key": "java-default-with-sonarsource-conventions-27339",
+ "name": "Default - SonarSource conventions",
+ "lang": "java",
+ "parentKey": "java-top-profile-without-formatting-conventions-50037"
+ },
+ {
+ "key": "java-top-profile-without-formatting-conventions-50037",
+ "name": "Default - Top",
+ "lang": "java"
+ },
+ {
+ "key": "java-findbugs-14954",
+ "name": "FindBugs",
+ "lang": "java"
+ },
+ {
+ "key": "java-for-sq-java-plugin-only-92289",
+ "name": "For SQ Java Plugin Only",
+ "lang": "java",
+ "parentKey": "java-default-with-sonarsource-conventions-27339"
+ },
+ {
+ "key": "java-for-sq-only-95381",
+ "name": "For SQ Only",
+ "lang": "java",
+ "parentKey": "java-default-with-sonarsource-conventions-27339"
+ },
+ {
+ "key": "php-psr-2-06315",
+ "name": "PSR-2",
+ "lang": "php"
+ },
+ {
+ "key": "java-sonar-way-80423",
+ "name": "Sonar way",
+ "lang": "java"
+ },
+ {
+ "key": "js-sonar-way",
+ "name": "Sonar way",
+ "lang": "js"
+ },
+ {
+ "key": "php-sonar-way-05548",
+ "name": "Sonar way",
+ "lang": "php"
+ },
+ {
+ "key": "py-sonar-way-80265",
+ "name": "Sonar way",
+ "lang": "py"
+ },
+ {
+ "key": "java-without-findbugs",
+ "name": "Without Findbugs",
+ "lang": "java"
+ }
+ ],
+ "languages": {
+ "py": "Python",
+ "js": "JavaScript",
+ "php": "PHP",
+ "java": "Java"
+ },
+ "repositories": [
+ {
+ "key": "common-java",
+ "name": "Common SonarQube",
+ "language": "java"
+ },
+ {
+ "key": "common-js",
+ "name": "Common SonarQube",
+ "language": "js"
+ },
+ {
+ "key": "common-php",
+ "name": "Common SonarQube",
+ "language": "php"
+ },
+ {
+ "key": "common-py",
+ "name": "Common SonarQube",
+ "language": "py"
+ },
+ {
+ "key": "Pylint",
+ "name": "Pylint",
+ "language": "py"
+ },
+ {
+ "key": "javascript",
+ "name": "SonarQube",
+ "language": "js"
+ },
+ {
+ "key": "php",
+ "name": "SonarQube",
+ "language": "php"
+ },
+ {
+ "key": "python",
+ "name": "SonarQube",
+ "language": "py"
+ },
+ {
+ "key": "squid",
+ "name": "SonarQube",
+ "language": "java"
+ }
+ ],
+ "statuses": {
+ "BETA": "Beta",
+ "DEPRECATED": "Deprecated",
+ "READY": "Ready"
+ },
+ "characteristics": [
+ {
+ "key": "UNDERSTANDABILITY",
+ "name": "Understandability",
+ "parent": "MAINTAINABILITY"
+ },
+ {
+ "key": "MAINTAINABILITY",
+ "name": "Maintainability"
+ },
+ {
+ "key": "TIME_ZONE_RELATED_PORTABILITY",
+ "name": "Time zone related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "READABILITY",
+ "name": "Readability",
+ "parent": "MAINTAINABILITY"
+ },
+ {
+ "key": "SECURITY_FEATURES",
+ "name": "Security features",
+ "parent": "SECURITY"
+ },
+ {
+ "key": "ARCHITECTURE_RELIABILITY",
+ "name": "Architecture related reliability",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "OS_RELATED_PORTABILITY",
+ "name": "OS related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "EXCEPTION_HANDLING",
+ "name": "Exception handling",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "LOGIC_CHANGEABILITY",
+ "name": "Logic related changeability",
+ "parent": "CHANGEABILITY"
+ },
+ {
+ "key": "SOFTWARE_RELATED_PORTABILITY",
+ "name": "Software related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "INPUT_VALIDATION_AND_REPRESENTATION",
+ "name": "Input validation and representation",
+ "parent": "SECURITY"
+ },
+ {
+ "key": "LANGUAGE_RELATED_PORTABILITY",
+ "name": "Language related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "ERRORS",
+ "name": "Errors",
+ "parent": "SECURITY"
+ },
+ {
+ "key": "SECURITY",
+ "name": "Security"
+ },
+ {
+ "key": "RELIABILITY",
+ "name": "Reliability"
+ },
+ {
+ "key": "PORTABILITY",
+ "name": "Portability"
+ },
+ {
+ "key": "HARDWARE_RELATED_PORTABILITY",
+ "name": "Hardware related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "SYNCHRONIZATION_RELIABILITY",
+ "name": "Synchronization related reliability",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "TRANSPORTABILITY",
+ "name": "Transportability",
+ "parent": "REUSABILITY"
+ },
+ {
+ "key": "COMPILER_RELATED_PORTABILITY",
+ "name": "Compiler related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "RESOURCE_RELIABILITY",
+ "name": "Resource",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "CPU_EFFICIENCY",
+ "name": "Processor use",
+ "parent": "EFFICIENCY"
+ },
+ {
+ "key": "EFFICIENCY",
+ "name": "Efficiency"
+ },
+ {
+ "key": "CHANGEABILITY",
+ "name": "Changeability"
+ },
+ {
+ "key": "DATA_CHANGEABILITY",
+ "name": "Data related changeability",
+ "parent": "CHANGEABILITY"
+ },
+ {
+ "key": "API_ABUSE",
+ "name": "API abuse",
+ "parent": "SECURITY"
+ },
+ {
+ "key": "ARCHITECTURE_CHANGEABILITY",
+ "name": "Architecture related changeability",
+ "parent": "CHANGEABILITY"
+ },
+ {
+ "key": "UNIT_TESTS",
+ "name": "Unit tests",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "INSTRUCTION_RELIABILITY",
+ "name": "Instruction related reliability",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "REUSABILITY",
+ "name": "Reusability"
+ },
+ {
+ "key": "MODULARITY",
+ "name": "Modularity",
+ "parent": "REUSABILITY"
+ },
+ {
+ "key": "UNIT_TESTABILITY",
+ "name": "Unit level testability",
+ "parent": "TESTABILITY"
+ },
+ {
+ "key": "TESTABILITY",
+ "name": "Testability"
+ },
+ {
+ "key": "INTEGRATION_TESTABILITY",
+ "name": "Integration level testability",
+ "parent": "TESTABILITY"
+ },
+ {
+ "key": "NETWORK_USE",
+ "name": "Network use",
+ "parent": "EFFICIENCY"
+ },
+ {
+ "key": "MEMORY_EFFICIENCY",
+ "name": "Memory use",
+ "parent": "EFFICIENCY"
+ },
+ {
+ "key": "DATA_RELIABILITY",
+ "name": "Data related reliability",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "FAULT_TOLERANCE",
+ "name": "Fault tolerance",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "LOGIC_RELIABILITY",
+ "name": "Logic related reliability",
+ "parent": "RELIABILITY"
+ }
+ ]
+}
--- /dev/null
+{
+ "total": 7,
+ "p": 1,
+ "ps": 1,
+ "projects": [
+ {
+ "uuid": "3b22f38e-ad68-4792-9791-1435584a686c",
+ "key": "org.codehaus.sonar.runner:sonar-runner",
+ "id": 17226,
+ "qualifier": "TRK",
+ "name": "SonarQube Runner",
+ "longName": "SonarQube Runner"
+ },
+ {
+ "uuid": "69e57151-be0d-4157-adff-c06741d88879",
+ "key": "org.codehaus.sonar:sonar",
+ "id": 2865,
+ "qualifier": "TRK",
+ "name": "SonarQube",
+ "longName": "SonarQube"
+ }
+ ],
+ "components": [],
+ "issues": [],
+ "rules": [],
+ "users": [],
+ "languages": [],
+ "maxResultsReached": false,
+ "paging": {
+ "pageIndex": 1,
+ "pageSize": 1,
+ "total": 7,
+ "fTotal": "7",
+ "pages": 7
+ },
+ "facets": [
+ {
+ "property": "projectUuids",
+ "values": [
+ {
+ "val": "69e57151-be0d-4157-adff-c06741d88879",
+ "count": 2
+ },
+ {
+ "val": "3b22f38e-ad68-4792-9791-1435584a686c",
+ "count": 1
+ }
+ ]
+ }
+ ]
+}
--- /dev/null
+{
+ "total": 1,
+ "p": 1,
+ "ps": 200,
+ "rules": [
+ {
+ "key": "squid:S2096",
+ "name": "\"main\" should not \"throw\" anything",
+ "lang": "java",
+ "langName": "Java",
+ "sysTags": [
+ "bug"
+ ],
+ "tags": [],
+ "status": "READY"
+ }
+ ],
+ "facets": [
+ {
+ "property": "tags",
+ "values": [
+ {
+ "val": "bug",
+ "count": 1
+ }
+ ]
+ },
+ {
+ "property": "languages",
+ "values": [
+ {
+ "val": "java",
+ "count": 1
+ }
+ ]
+ },
+ {
+ "property": "repositories",
+ "values": [
+ {
+ "val": "squid",
+ "count": 1
+ }
+ ]
+ }
+ ]
+}
--- /dev/null
+{
+ "rule": {
+ "key": "squid:S1181",
+ "repo": "squid",
+ "name": "Throwable and Error classes should not be caught",
+ "createdAt": "2013-08-09T14:40:54+0200",
+ "severity": "BLOCKER",
+ "status": "READY",
+ "internalKey": "S1181",
+ "isTemplate": false,
+ "tags": [],
+ "sysTags": [
+ "error-handling"
+ ],
+ "lang": "java",
+ "langName": "Java",
+ "htmlDesc": "<p>\n<code>Throwable</code> is the superclass of all errors and exceptions in Java.\n<code>Error</code> is the superclass of all errors which are not meant to be caught by applications.\n</p>\n\n<p>\nCatching either <code>Throwable</code> or <code>Error</code> will also catch <code>OutOfMemoryError</code> or <code>InternalError</code> from which an application should not attempt to recover.\n</p>\n\n<p>Only <code>Exception</code> and its subclasses should be caught.</p>\n\n<h2>Noncompliant Code Example</h2>\n\n<pre>\ntry { /* ... */ } catch (Throwable t) { /* ... */ }\ntry { /* ... */ } catch (Error e) { /* ... */ } \n</pre>\n\n<h2>Compliant Solution</h2>\n\n<pre>\ntry { /* ... */ } catch (Exception e) { /* ... */ } \ntry { /* ... */ } catch (RuntimeException e) { /* ... */ } \ntry { /* ... */ } catch (MyException e) { /* ... */ } \n</pre>",
+ "defaultDebtChar": "RELIABILITY",
+ "defaultDebtSubChar": "EXCEPTION_HANDLING",
+ "debtChar": "RELIABILITY",
+ "debtSubChar": "EXCEPTION_HANDLING",
+ "debtCharName": "Reliability",
+ "debtSubCharName": "Exception handling",
+ "defaultDebtRemFnType": "CONSTANT_ISSUE",
+ "defaultDebtRemFnOffset": "20min",
+ "debtOverloaded": true,
+ "debtRemFnType": "LINEAR",
+ "debtRemFnCoeff": "20min",
+ "params": [
+ {
+ "key": "max",
+ "htmlDesc": "Maximum authorized number of parameters",
+ "type": "INTEGER",
+ "defaultValue": "7"
+ }
+ ]
+ },
+ "actives": [
+ {
+ "qProfile": "java-top-profile-without-formatting-conventions-50037",
+ "inherit": "NONE",
+ "severity": "BLOCKER",
+ "params": []
+ },
+ {
+ "qProfile": "java-default-with-sonarsource-conventions-27339",
+ "inherit": "INHERITED",
+ "severity": "BLOCKER",
+ "params": []
+ },
+ {
+ "qProfile": "java-for-sq-java-plugin-only-92289",
+ "inherit": "INHERITED",
+ "severity": "BLOCKER",
+ "params": []
+ },
+ {
+ "qProfile": "java-for-sq-only-95381",
+ "inherit": "INHERITED",
+ "severity": "BLOCKER",
+ "params": []
+ },
+ {
+ "qProfile": "java-default-with-mojo-conventions-49307",
+ "inherit": "INHERITED",
+ "severity": "BLOCKER",
+ "params": []
+ },
+ {
+ "qProfile": "java-sonar-way-80423",
+ "inherit": "NONE",
+ "severity": "BLOCKER",
+ "params": []
+ }
+ ]
+}
--- /dev/null
+{
+ "canWrite": false,
+ "qualityprofiles": [
+ {
+ "key": "java-default-with-mojo-conventions-49307",
+ "name": "Default - Maven Conventions",
+ "lang": "java",
+ "parentKey": "java-top-profile-without-formatting-conventions-50037"
+ },
+ {
+ "key": "java-default-with-sonarsource-conventions-27339",
+ "name": "Default - SonarSource conventions",
+ "lang": "java",
+ "parentKey": "java-top-profile-without-formatting-conventions-50037"
+ },
+ {
+ "key": "java-top-profile-without-formatting-conventions-50037",
+ "name": "Default - Top",
+ "lang": "java"
+ },
+ {
+ "key": "java-findbugs-14954",
+ "name": "FindBugs",
+ "lang": "java"
+ },
+ {
+ "key": "java-for-sq-java-plugin-only-92289",
+ "name": "For SQ Java Plugin Only",
+ "lang": "java",
+ "parentKey": "java-default-with-sonarsource-conventions-27339"
+ },
+ {
+ "key": "java-for-sq-only-95381",
+ "name": "For SQ Only",
+ "lang": "java",
+ "parentKey": "java-default-with-sonarsource-conventions-27339"
+ },
+ {
+ "key": "php-psr-2-06315",
+ "name": "PSR-2",
+ "lang": "php"
+ },
+ {
+ "key": "java-sonar-way-80423",
+ "name": "Sonar way",
+ "lang": "java"
+ },
+ {
+ "key": "js-sonar-way",
+ "name": "Sonar way",
+ "lang": "js"
+ },
+ {
+ "key": "php-sonar-way-05548",
+ "name": "Sonar way",
+ "lang": "php"
+ },
+ {
+ "key": "py-sonar-way-80265",
+ "name": "Sonar way",
+ "lang": "py"
+ },
+ {
+ "key": "java-without-findbugs",
+ "name": "Without Findbugs",
+ "lang": "java"
+ }
+ ],
+ "languages": {
+ "py": "Python",
+ "js": "JavaScript",
+ "php": "PHP",
+ "java": "Java"
+ },
+ "repositories": [
+ {
+ "key": "common-java",
+ "name": "Common SonarQube",
+ "language": "java"
+ },
+ {
+ "key": "common-js",
+ "name": "Common SonarQube",
+ "language": "js"
+ },
+ {
+ "key": "common-php",
+ "name": "Common SonarQube",
+ "language": "php"
+ },
+ {
+ "key": "common-py",
+ "name": "Common SonarQube",
+ "language": "py"
+ },
+ {
+ "key": "Pylint",
+ "name": "Pylint",
+ "language": "py"
+ },
+ {
+ "key": "javascript",
+ "name": "SonarQube",
+ "language": "js"
+ },
+ {
+ "key": "php",
+ "name": "SonarQube",
+ "language": "php"
+ },
+ {
+ "key": "python",
+ "name": "SonarQube",
+ "language": "py"
+ },
+ {
+ "key": "squid",
+ "name": "SonarQube",
+ "language": "java"
+ }
+ ],
+ "statuses": {
+ "BETA": "Beta",
+ "DEPRECATED": "Deprecated",
+ "READY": "Ready"
+ },
+ "characteristics": [
+ {
+ "key": "UNDERSTANDABILITY",
+ "name": "Understandability",
+ "parent": "MAINTAINABILITY"
+ },
+ {
+ "key": "MAINTAINABILITY",
+ "name": "Maintainability"
+ },
+ {
+ "key": "TIME_ZONE_RELATED_PORTABILITY",
+ "name": "Time zone related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "READABILITY",
+ "name": "Readability",
+ "parent": "MAINTAINABILITY"
+ },
+ {
+ "key": "SECURITY_FEATURES",
+ "name": "Security features",
+ "parent": "SECURITY"
+ },
+ {
+ "key": "ARCHITECTURE_RELIABILITY",
+ "name": "Architecture related reliability",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "OS_RELATED_PORTABILITY",
+ "name": "OS related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "EXCEPTION_HANDLING",
+ "name": "Exception handling",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "LOGIC_CHANGEABILITY",
+ "name": "Logic related changeability",
+ "parent": "CHANGEABILITY"
+ },
+ {
+ "key": "SOFTWARE_RELATED_PORTABILITY",
+ "name": "Software related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "INPUT_VALIDATION_AND_REPRESENTATION",
+ "name": "Input validation and representation",
+ "parent": "SECURITY"
+ },
+ {
+ "key": "LANGUAGE_RELATED_PORTABILITY",
+ "name": "Language related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "ERRORS",
+ "name": "Errors",
+ "parent": "SECURITY"
+ },
+ {
+ "key": "SECURITY",
+ "name": "Security"
+ },
+ {
+ "key": "RELIABILITY",
+ "name": "Reliability"
+ },
+ {
+ "key": "PORTABILITY",
+ "name": "Portability"
+ },
+ {
+ "key": "HARDWARE_RELATED_PORTABILITY",
+ "name": "Hardware related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "SYNCHRONIZATION_RELIABILITY",
+ "name": "Synchronization related reliability",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "TRANSPORTABILITY",
+ "name": "Transportability",
+ "parent": "REUSABILITY"
+ },
+ {
+ "key": "COMPILER_RELATED_PORTABILITY",
+ "name": "Compiler related portability",
+ "parent": "PORTABILITY"
+ },
+ {
+ "key": "RESOURCE_RELIABILITY",
+ "name": "Resource",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "CPU_EFFICIENCY",
+ "name": "Processor use",
+ "parent": "EFFICIENCY"
+ },
+ {
+ "key": "EFFICIENCY",
+ "name": "Efficiency"
+ },
+ {
+ "key": "CHANGEABILITY",
+ "name": "Changeability"
+ },
+ {
+ "key": "DATA_CHANGEABILITY",
+ "name": "Data related changeability",
+ "parent": "CHANGEABILITY"
+ },
+ {
+ "key": "API_ABUSE",
+ "name": "API abuse",
+ "parent": "SECURITY"
+ },
+ {
+ "key": "ARCHITECTURE_CHANGEABILITY",
+ "name": "Architecture related changeability",
+ "parent": "CHANGEABILITY"
+ },
+ {
+ "key": "UNIT_TESTS",
+ "name": "Unit tests",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "INSTRUCTION_RELIABILITY",
+ "name": "Instruction related reliability",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "REUSABILITY",
+ "name": "Reusability"
+ },
+ {
+ "key": "MODULARITY",
+ "name": "Modularity",
+ "parent": "REUSABILITY"
+ },
+ {
+ "key": "UNIT_TESTABILITY",
+ "name": "Unit level testability",
+ "parent": "TESTABILITY"
+ },
+ {
+ "key": "TESTABILITY",
+ "name": "Testability"
+ },
+ {
+ "key": "INTEGRATION_TESTABILITY",
+ "name": "Integration level testability",
+ "parent": "TESTABILITY"
+ },
+ {
+ "key": "NETWORK_USE",
+ "name": "Network use",
+ "parent": "EFFICIENCY"
+ },
+ {
+ "key": "MEMORY_EFFICIENCY",
+ "name": "Memory use",
+ "parent": "EFFICIENCY"
+ },
+ {
+ "key": "DATA_RELIABILITY",
+ "name": "Data related reliability",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "FAULT_TOLERANCE",
+ "name": "Fault tolerance",
+ "parent": "RELIABILITY"
+ },
+ {
+ "key": "LOGIC_RELIABILITY",
+ "name": "Logic related reliability",
+ "parent": "RELIABILITY"
+ }
+ ]
+}
--- /dev/null
+{
+ "total": 609,
+ "p": 1,
+ "ps": 25,
+ "rules": [
+ {
+ "key": "squid:S2077",
+ "name": "Values passed to SQL commands should be sanitized",
+ "lang": "java",
+ "langName": "Java",
+ "sysTags": [
+ "cwe",
+ "owasp-top10",
+ "security",
+ "sql"
+ ],
+ "tags": [
+ "custom-tag"
+ ]
+ },
+ {
+ "key": "php:S107",
+ "name": "Functions should not have too many parameters",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1192",
+ "name": "String literals should not be duplicated",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [],
+ "tags": []
+ },
+ {
+ "key": "php:S1145",
+ "name": "\"if\" statement conditions should not always evaluate to \"true\" or to \"false\"",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "bug",
+ "cwe",
+ "security"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S108",
+ "name": "Nested blocks of code should not be left empty",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [],
+ "tags": []
+ },
+ {
+ "key": "php:S1301",
+ "name": "\"switch\" statements should have at least 3 \"case\" clauses",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [],
+ "tags": []
+ },
+ {
+ "key": "php:S103",
+ "name": "Lines should not be too long",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1144",
+ "name": "Unused private method should be removed",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "unused"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S105",
+ "name": "Tabulation characters should not be used",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention",
+ "psr2"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1481",
+ "name": "Unused local variables should be removed",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "unused"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1142",
+ "name": "Functions should not contain too many return statements",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S104",
+ "name": "Files should not have too many lines",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1605",
+ "name": "PHP 4 style calls to parent constructors should not be used in PHP5 \"__construct\" functions",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1448",
+ "name": "Classes should not have too many methods",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1603",
+ "name": "PHP 4 constructor declarations should not be used",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "pitfail"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1779",
+ "name": "Only LF character (Unix-like) should be used to end lines",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention",
+ "psr2"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1185",
+ "name": "Overriding methods should do more than simply call the same method in the super class",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [],
+ "tags": []
+ },
+ {
+ "key": "php:S1600",
+ "name": "Deprecated predefined variables should not be used",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "pitfail"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1109",
+ "name": "A close curly brace should be located at the beginning of a line",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S2001",
+ "name": "Functions deprecated in PHP 5 should not be used",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "obsolete"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S2002",
+ "name": "Errors should not be silenced",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "pitfail"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S2000",
+ "name": "Files should not contain characters before \"<?php\"",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "user-experience"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1105",
+ "name": "An open curly brace should be located at the end of a line",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1200",
+ "name": "Classes should not be coupled to too many other classes (Single Responsibility Principle)",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "brain-overload"
+ ],
+ "tags": []
+ },
+ {
+ "key": "php:S1106",
+ "name": "An open curly brace should be located at the beginning of a line",
+ "lang": "php",
+ "langName": "PHP",
+ "sysTags": [
+ "convention"
+ ],
+ "tags": []
+ }
+ ],
+ "facets": [
+ {
+ "property": "tags",
+ "values": [
+ {
+ "val": "convention",
+ "count": 67
+ },
+ {
+ "val": "brain-overload",
+ "count": 36
+ },
+ {
+ "val": "bug",
+ "count": 36
+ },
+ {
+ "val": "cwe",
+ "count": 17
+ },
+ {
+ "val": "unused",
+ "count": 16
+ },
+ {
+ "val": "security",
+ "count": 14
+ },
+ {
+ "val": "pitfall",
+ "count": 12
+ },
+ {
+ "val": "psr2",
+ "count": 12
+ },
+ {
+ "val": "error-handling",
+ "count": 11
+ },
+ {
+ "val": "pitfail",
+ "count": 10
+ }
+ ]
+ },
+ {
+ "property": "languages",
+ "values": [
+ {
+ "val": "java",
+ "count": 212
+ },
+ {
+ "val": "py",
+ "count": 212
+ },
+ {
+ "val": "php",
+ "count": 103
+ },
+ {
+ "val": "js",
+ "count": 77
+ }
+ ]
+ },
+ {
+ "property": "repositories",
+ "values": [
+ {
+ "val": "squid",
+ "count": 206
+ },
+ {
+ "val": "Pylint",
+ "count": 180
+ },
+ {
+ "val": "php",
+ "count": 97
+ },
+ {
+ "val": "javascript",
+ "count": 73
+ },
+ {
+ "val": "python",
+ "count": 28
+ },
+ {
+ "val": "common-java",
+ "count": 6
+ },
+ {
+ "val": "common-php",
+ "count": 6
+ },
+ {
+ "val": "manual",
+ "count": 5
+ },
+ {
+ "val": "common-js",
+ "count": 4
+ },
+ {
+ "val": "common-py",
+ "count": 4
+ }
+ ]
+ }
+ ]
+}
--- /dev/null
+[
+ {
+ "id": 14879226,
+ "fi": 8354,
+ "ti": 6955,
+ "u": "USES",
+ "w": 1,
+ "fk": "com.maif.sonar:maif-cobol-plugin:src/main/java/com/maif/sonar/cobol/api/MaifCobolMeasureProvider.java",
+ "fn": "src/main/java/com/maif/sonar/cobol/api/MaifCobolMeasureProvider.java",
+ "fq": "FIL",
+ "tk": "com.maif.sonar:maif-cobol-plugin:src/main/java/com/maif/sonar/cobol/metrics/BusinessRuleCounter.java",
+ "tn": "src/main/java/com/maif/sonar/cobol/metrics/BusinessRuleCounter.java",
+ "tq": "FIL"
+ },
+ {
+ "id": 14879225,
+ "fi": 8354,
+ "ti": 6956,
+ "u": "USES",
+ "w": 1,
+ "fk": "com.maif.sonar:maif-cobol-plugin:src/main/java/com/maif/sonar/cobol/api/MaifCobolMeasureProvider.java",
+ "fn": "src/main/java/com/maif/sonar/cobol/api/MaifCobolMeasureProvider.java",
+ "fq": "FIL",
+ "tk": "com.maif.sonar:maif-cobol-plugin:src/main/java/com/maif/sonar/cobol/metrics/ExternalizedRuleCallCounter.java",
+ "tn": "src/main/java/com/maif/sonar/cobol/metrics/ExternalizedRuleCallCounter.java",
+ "tq": "FIL"
+ },
+ {
+ "id": 14879228,
+ "fi": 8354,
+ "ti": 6957,
+ "u": "USES",
+ "w": 1,
+ "fk": "com.maif.sonar:maif-cobol-plugin:src/main/java/com/maif/sonar/cobol/api/MaifCobolMeasureProvider.java",
+ "fn": "src/main/java/com/maif/sonar/cobol/api/MaifCobolMeasureProvider.java",
+ "fq": "FIL",
+ "tk": "com.maif.sonar:maif-cobol-plugin:src/main/java/com/maif/sonar/cobol/metrics/IadUseDetector.java",
+ "tn": "src/main/java/com/maif/sonar/cobol/metrics/IadUseDetector.java",
+ "tq": "FIL"
+ },
+ {
+ "id": 14879229,
+ "fi": 8354,
+ "ti": 8356,
+ "u": "USES",
+ "w": 1,
+ "fk": "com.maif.sonar:maif-cobol-plugin:src/main/java/com/maif/sonar/cobol/api/MaifCobolMeasureProvider.java",
+ "fn": "src/main/java/com/maif/sonar/cobol/api/MaifCobolMeasureProvider.java",
+ "fq": "FIL",
+ "tk": "com.maif.sonar:maif-cobol-plugin:src/main/java/com/maif/sonar/cobol/metrics/Ids2AndIadMatrixDetector.java",
+ "tn": "src/main/java/com/maif/sonar/cobol/metrics/Ids2AndIadMatrixDetector.java",
+ "tq": "FIL"
+ },
+ {
+ "id": 14879227,
+ "fi": 8354,
+ "ti": 6958,
+ "u": "USES",
+ "w": 1,
+ "fk": "com.maif.sonar:maif-cobol-plugin:src/main/java/com/maif/sonar/cobol/api/MaifCobolMeasureProvider.java",
+ "fn": "src/main/java/com/maif/sonar/cobol/api/MaifCobolMeasureProvider.java",
+ "fq": "FIL",
+ "tk": "com.maif.sonar:maif-cobol-plugin:src/main/java/com/maif/sonar/cobol/metrics/Ids2UseDetector.java",
+ "tn": "src/main/java/com/maif/sonar/cobol/metrics/Ids2UseDetector.java",
+ "tq": "FIL"
+ },
+ {
+ "id": 14879224,
+ "fi": 8354,
+ "ti": 12194,
+ "u": "USES",
+ "w": 1,
+ "fk": "com.maif.sonar:maif-cobol-plugin:src/main/java/com/maif/sonar/cobol/api/MaifCobolMeasureProvider.java",
+ "fn": "src/main/java/com/maif/sonar/cobol/api/MaifCobolMeasureProvider.java",
+ "fq": "FIL",
+ "tk": "com.maif.sonar:maif-cobol-plugin:src/main/java/com/maif/sonar/cobol/metrics/TableMetricsVisitor.java",
+ "tn": "src/main/java/com/maif/sonar/cobol/metrics/TableMetricsVisitor.java",
+ "tq": "FIL"
+ }
+]
--- /dev/null
+[
+ {
+ "id": 6924,
+ "key": "com.maif.sonar:maif-cobol-plugin",
+ "name": "MAIF :: Cobol plugin",
+ "scope": "PRJ",
+ "qualifier": "TRK",
+ "date": "2014-07-21T23:04:05+0600",
+ "creationDate": null,
+ "lname": "MAIF :: Cobol plugin",
+ "version": "2.7-SNAPSHOT",
+ "description": "",
+ "msr": [
+ {
+ "key": "dsm",
+ "data": "[{\"i\":24815,\"n\":\"src/test/java/com/maif/sonar/cobol/metrics\",\"q\":\"DIR\",\"v\":[{},{},{},{\"i\":14879223,\"w\":6},{},{}]},{\"i\":26762,\"n\":\"src/main/java/com/maif/sonar/cobol/plugin\",\"q\":\"DIR\",\"v\":[{},{},{},{},{},{}]},{\"i\":26758,\"n\":\"src/main/java/com/maif/sonar/cobol\",\"q\":\"DIR\",\"v\":[{\"i\":14879242,\"w\":1},{\"i\":14879258,\"w\":114},{},{},{},{}]},{\"i\":33690,\"n\":\"src/test/java/com/maif/sonar/cobol/api\",\"q\":\"DIR\",\"v\":[{\"i\":14879244,\"w\":6},{\"i\":14879373,\"w\":2},{\"i\":14879221,\"w\":1},{},{},{}]},{\"i\":24814,\"n\":\"src/test/java/com/maif/sonar/cobol/ids2\",\"q\":\"DIR\",\"v\":[{\"i\":14879237,\"w\":2},{},{\"i\":14879139,\"w\":24},{},{},{}]},{\"i\":24816,\"n\":\"src/test/java/com/maif/sonar/cobol/repository\",\"q\":\"DIR\",\"v\":[{\"i\":14879240,\"w\":1},{\"i\":14879251,\"w\":6},{\"i\":14879164,\"w\":56},{\"i\":14879230,\"w\":1},{\"i\":14879232,\"w\":4},{}]}]"
+ }
+ ]
+ }
+]
--- /dev/null
+{
+ "canManageFilters": false,
+ "canBulkChange": false,
+ "favorites": []
+}
--- /dev/null
+{
+ "key": "org.codehaus.sonar-plugins:sonar-issues-report-plugin:src/main/java/org/sonar/issuesreport/ReportJob.java",
+ "uuid": "98662175-0f52-4f83-b0e9-1e9444320b5b",
+ "path": "src/main/java/org/sonar/issuesreport/ReportJob.java",
+ "name": "ReportJob.java",
+ "longName": "src/main/java/org/sonar/issuesreport/ReportJob.java",
+ "q": "FIL",
+ "project": "org.codehaus.sonar-plugins:sonar-issues-report-plugin",
+ "projectName": "Sonar :: Issues Report :: Plugin",
+ "fav": false,
+ "canMarkAsFavourite": true,
+ "canCreateManualIssue": true,
+ "measures": {
+ "lines": "53",
+ "coverage": "100.0%",
+ "issues": "1",
+ "debt": "5min",
+ "sqaleRating": "A",
+ "debtRatio": "0.6%"
+ }
+}
--- /dev/null
+{
+ "sources": [
+ {
+ "line": 1,
+ "code": "<span class=\"cppd\">/*</span>",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "a0c83c815b2deeec585de6894a0b882db635410f",
+ "scmDate": "2013-02-19T18:45:35+0100"
+ },
+ {
+ "line": 2,
+ "code": "<span class=\"cppd\"> * Sonar :: Issues Report :: Plugin</span>",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "a0c83c815b2deeec585de6894a0b882db635410f",
+ "scmDate": "2013-02-19T18:45:35+0100"
+ },
+ {
+ "line": 3,
+ "code": "<span class=\"cppd\"> * Copyright (C) 2013 SonarSource</span>",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "a0c83c815b2deeec585de6894a0b882db635410f",
+ "scmDate": "2013-02-19T18:45:35+0100"
+ },
+ {
+ "line": 4,
+ "code": "<span class=\"cppd\"> * dev@sonar.codehaus.org</span>",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "a0c83c815b2deeec585de6894a0b882db635410f",
+ "scmDate": "2013-02-19T18:45:35+0100"
+ },
+ {
+ "line": 5,
+ "code": "<span class=\"cppd\"> *</span>",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "a0c83c815b2deeec585de6894a0b882db635410f",
+ "scmDate": "2013-02-19T18:45:35+0100"
+ },
+ {
+ "line": 6,
+ "code": "<span class=\"cppd\"> * This program is free software; you can redistribute it and/or</span>",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "a0c83c815b2deeec585de6894a0b882db635410f",
+ "scmDate": "2013-02-19T18:45:35+0100"
+ },
+ {
+ "line": 7,
+ "code": "<span class=\"cppd\"> * modify it under the terms of the GNU Lesser General Public</span>",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "a0c83c815b2deeec585de6894a0b882db635410f",
+ "scmDate": "2013-02-19T18:45:35+0100"
+ },
+ {
+ "line": 8,
+ "code": "<span class=\"cppd\"> * License as published by the Free Software Foundation; either</span>",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "a0c83c815b2deeec585de6894a0b882db635410f",
+ "scmDate": "2013-02-19T18:45:35+0100"
+ },
+ {
+ "line": 9,
+ "code": "<span class=\"cppd\"> * version 3 of the License, or (at your option) any later version.</span>",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "a0c83c815b2deeec585de6894a0b882db635410f",
+ "scmDate": "2013-02-19T18:45:35+0100"
+ },
+ {
+ "line": 10,
+ "code": "<span class=\"cppd\"> *</span>",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "a0c83c815b2deeec585de6894a0b882db635410f",
+ "scmDate": "2013-02-19T18:45:35+0100"
+ },
+ {
+ "line": 11,
+ "code": "<span class=\"cppd\"> * This program is distributed in the hope that it will be useful,</span>",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "a0c83c815b2deeec585de6894a0b882db635410f",
+ "scmDate": "2013-02-19T18:45:35+0100"
+ },
+ {
+ "line": 12,
+ "code": "<span class=\"cppd\"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "a0c83c815b2deeec585de6894a0b882db635410f",
+ "scmDate": "2013-02-19T18:45:35+0100"
+ },
+ {
+ "line": 13,
+ "code": "<span class=\"cppd\"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "a0c83c815b2deeec585de6894a0b882db635410f",
+ "scmDate": "2013-02-19T18:45:35+0100"
+ },
+ {
+ "line": 14,
+ "code": "<span class=\"cppd\"> * Lesser General Public License for more details.</span>",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "a0c83c815b2deeec585de6894a0b882db635410f",
+ "scmDate": "2013-02-19T18:45:35+0100"
+ },
+ {
+ "line": 15,
+ "code": "<span class=\"cppd\"> *</span>",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "a0c83c815b2deeec585de6894a0b882db635410f",
+ "scmDate": "2013-02-19T18:45:35+0100"
+ },
+ {
+ "line": 16,
+ "code": "<span class=\"cppd\"> * You should have received a copy of the GNU Lesser General Public</span>",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "a0c83c815b2deeec585de6894a0b882db635410f",
+ "scmDate": "2013-02-19T18:45:35+0100"
+ },
+ {
+ "line": 17,
+ "code": "<span class=\"cppd\"> * License along with this program; if not, write to the Free Software</span>",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "a0c83c815b2deeec585de6894a0b882db635410f",
+ "scmDate": "2013-02-19T18:45:35+0100"
+ },
+ {
+ "line": 18,
+ "code": "<span class=\"cppd\"> * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02</span>",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "a0c83c815b2deeec585de6894a0b882db635410f",
+ "scmDate": "2013-02-19T18:45:35+0100"
+ },
+ {
+ "line": 19,
+ "code": "<span class=\"cppd\"> */</span>",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "a0c83c815b2deeec585de6894a0b882db635410f",
+ "scmDate": "2013-02-19T18:45:35+0100"
+ },
+ {
+ "line": 20,
+ "code": "<span class=\"k\">package</span> org.sonar.issuesreport;",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "a0c83c815b2deeec585de6894a0b882db635410f",
+ "scmDate": "2013-02-19T18:45:35+0100"
+ },
+ {
+ "line": 21,
+ "code": "",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "a0c83c815b2deeec585de6894a0b882db635410f",
+ "scmDate": "2013-02-19T18:45:35+0100"
+ },
+ {
+ "line": 22,
+ "code": "<span class=\"k\">import </span>org.sonar.api.batch.<span class=\"sym-1 sym\">PostJob</span>;",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "a0c83c815b2deeec585de6894a0b882db635410f",
+ "scmDate": "2013-02-19T18:45:35+0100"
+ },
+ {
+ "line": 23,
+ "code": "<span class=\"k\">import </span>org.sonar.api.batch.<span class=\"sym-2 sym\">SensorContext</span>;",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "a0c83c815b2deeec585de6894a0b882db635410f",
+ "scmDate": "2013-02-19T18:45:35+0100"
+ },
+ {
+ "line": 24,
+ "code": "<span class=\"k\">import </span>org.sonar.api.resources.<span class=\"sym-3 sym\">Project</span>;",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "a0c83c815b2deeec585de6894a0b882db635410f",
+ "scmDate": "2013-02-19T18:45:35+0100"
+ },
+ {
+ "line": 25,
+ "code": "<span class=\"k\">import </span>org.sonar.issuesreport.printer.<span class=\"sym-4 sym\">ReportPrinter</span>;",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "bbbf5a70655725bd960e41626bcda3b0f85c82d9",
+ "scmDate": "2013-09-19T19:06:45+0200"
+ },
+ {
+ "line": 26,
+ "code": "<span class=\"k\">import </span>org.sonar.issuesreport.report.<span class=\"sym-5 sym\">IssuesReport</span>;",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "ed1e45b9f01b4d6bc704595ff42e6ecd6fb80dbe",
+ "scmDate": "2013-02-20T17:18:48+0100"
+ },
+ {
+ "line": 27,
+ "code": "<span class=\"k\">import </span>org.sonar.issuesreport.report.<span class=\"sym-6 sym\">IssuesReportBuilder</span>;",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "bbbf5a70655725bd960e41626bcda3b0f85c82d9",
+ "scmDate": "2013-09-19T19:06:45+0200"
+ },
+ {
+ "line": 28,
+ "code": "",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "a0c83c815b2deeec585de6894a0b882db635410f",
+ "scmDate": "2013-02-19T18:45:35+0100"
+ },
+ {
+ "line": 29,
+ "code": "<span class=\"k\">public </span><span class=\"k\">class</span> <span class=\"sym-7 sym\">ReportJob</span> <span class=\"k\">implements</span> <span class=\"sym-1 sym\">PostJob</span> {",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "a0c83c815b2deeec585de6894a0b882db635410f",
+ "scmDate": "2013-02-19T18:45:35+0100"
+ },
+ {
+ "line": 30,
+ "code": "",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "a0c83c815b2deeec585de6894a0b882db635410f",
+ "scmDate": "2013-02-19T18:45:35+0100"
+ },
+ {
+ "line": 31,
+ "code": " <span class=\"k\">private </span><span class=\"sym-6 sym\">IssuesReportBuilder</span> <span class=\"sym-8 sym\">builder</span>;",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "bbbf5a70655725bd960e41626bcda3b0f85c82d9",
+ "scmDate": "2013-09-19T19:06:45+0200"
+ },
+ {
+ "line": 32,
+ "code": " <span class=\"k\">private </span><span class=\"sym-4 sym\">ReportPrinter</span>[] <span class=\"sym-9 sym\">printers</span>;",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "bbbf5a70655725bd960e41626bcda3b0f85c82d9",
+ "scmDate": "2013-09-19T19:06:45+0200"
+ },
+ {
+ "line": 33,
+ "code": "",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "a0c83c815b2deeec585de6894a0b882db635410f",
+ "scmDate": "2013-02-19T18:45:35+0100"
+ },
+ {
+ "line": 34,
+ "code": " <span class=\"k\">public </span><span class=\"sym-10 sym\">ReportJob</span>(<span class=\"sym-6 sym\">IssuesReportBuilder</span> <span class=\"sym-11 sym\">builder</span>, <span class=\"sym-4 sym\">ReportPrinter</span>[] <span class=\"sym-12 sym\">printers</span>) {",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "bbbf5a70655725bd960e41626bcda3b0f85c82d9",
+ "scmDate": "2013-09-19T19:06:45+0200",
+ "lineHits": 1
+ },
+ {
+ "line": 35,
+ "code": " <span class=\"k\">this</span>.<span class=\"sym-8 sym\">builder</span> = <span class=\"sym-11 sym\">builder</span>;",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "bbbf5a70655725bd960e41626bcda3b0f85c82d9",
+ "scmDate": "2013-09-19T19:06:45+0200",
+ "lineHits": 1
+ },
+ {
+ "line": 36,
+ "code": " <span class=\"k\">this</span>.<span class=\"sym-9 sym\">printers</span> = <span class=\"sym-12 sym\">printers</span>;",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "bbbf5a70655725bd960e41626bcda3b0f85c82d9",
+ "scmDate": "2013-09-19T19:06:45+0200",
+ "lineHits": 1
+ },
+ {
+ "line": 37,
+ "code": " }",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "a0c83c815b2deeec585de6894a0b882db635410f",
+ "scmDate": "2013-02-19T18:45:35+0100",
+ "lineHits": 1
+ },
+ {
+ "line": 38,
+ "code": "",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "a0c83c815b2deeec585de6894a0b882db635410f",
+ "scmDate": "2013-02-19T18:45:35+0100"
+ },
+ {
+ "line": 39,
+ "code": " <span class=\"k\">public </span><span class=\"k\">void </span><span class=\"sym-13 sym\">executeOn</span>(<span class=\"sym-3 sym\">Project</span> <span class=\"sym-14 sym\">project</span>, <span class=\"sym-2 sym\">SensorContext</span> <span class=\"sym-15 sym\">context</span>) {",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "a0c83c815b2deeec585de6894a0b882db635410f",
+ "scmDate": "2013-02-19T18:45:35+0100"
+ },
+ {
+ "line": 40,
+ "code": " <span class=\"cppd\">// For performance only initialize IssuesReport if there is on Printer enabled</span>",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "bbbf5a70655725bd960e41626bcda3b0f85c82d9",
+ "scmDate": "2013-09-19T19:06:45+0200"
+ },
+ {
+ "line": 41,
+ "code": " <span class=\"sym-5 sym\">IssuesReport</span> <span class=\"sym-16 sym\">report</span> = <span class=\"k\">null</span>;",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "bbbf5a70655725bd960e41626bcda3b0f85c82d9",
+ "scmDate": "2013-09-19T19:06:45+0200",
+ "lineHits": 1
+ },
+ {
+ "line": 42,
+ "code": " <span class=\"k\">for</span> (<span class=\"sym-4 sym\">ReportPrinter</span> <span class=\"sym-17 sym\">printer</span> : <span class=\"sym-9 sym\">printers</span>) {",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "bbbf5a70655725bd960e41626bcda3b0f85c82d9",
+ "scmDate": "2013-09-19T19:06:45+0200",
+ "lineHits": 1,
+ "conditions": 2,
+ "coveredConditions": 2
+ },
+ {
+ "line": 43,
+ "code": " <span class=\"k\">if </span>(<span class=\"sym-17 sym\">printer</span>.isEnabled()) {",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "bbbf5a70655725bd960e41626bcda3b0f85c82d9",
+ "scmDate": "2013-09-19T19:06:45+0200",
+ "lineHits": 1,
+ "conditions": 2,
+ "coveredConditions": 2
+ },
+ {
+ "line": 44,
+ "code": " <span class=\"k\">if </span>(<span class=\"sym-16 sym\">report</span> == <span class=\"k\">null</span>) {",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "ed1e45b9f01b4d6bc704595ff42e6ecd6fb80dbe",
+ "scmDate": "2013-02-20T17:18:48+0100",
+ "lineHits": 1,
+ "conditions": 2,
+ "coveredConditions": 2
+ },
+ {
+ "line": 45,
+ "code": " <span class=\"sym-16 sym\">report</span> = <span class=\"sym-8 sym\">builder</span>.buildReport(<span class=\"sym-14 sym\">project</span>);",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "bbbf5a70655725bd960e41626bcda3b0f85c82d9",
+ "scmDate": "2013-09-19T19:06:45+0200",
+ "lineHits": 1
+ },
+ {
+ "line": 46,
+ "code": " }",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "ed1e45b9f01b4d6bc704595ff42e6ecd6fb80dbe",
+ "scmDate": "2013-02-20T17:18:48+0100"
+ },
+ {
+ "line": 47,
+ "code": " <span class=\"sym-17 sym\">printer</span>.print(<span class=\"sym-16 sym\">report</span>);",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "bbbf5a70655725bd960e41626bcda3b0f85c82d9",
+ "scmDate": "2013-09-19T19:06:45+0200",
+ "lineHits": 1
+ },
+ {
+ "line": 48,
+ "code": " }",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "bbbf5a70655725bd960e41626bcda3b0f85c82d9",
+ "scmDate": "2013-09-19T19:06:45+0200"
+ },
+ {
+ "line": 49,
+ "code": " }",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "bbbf5a70655725bd960e41626bcda3b0f85c82d9",
+ "scmDate": "2013-09-19T19:06:45+0200"
+ },
+ {
+ "line": 50,
+ "code": " }",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "ed1e45b9f01b4d6bc704595ff42e6ecd6fb80dbe",
+ "scmDate": "2013-02-20T17:18:48+0100",
+ "lineHits": 1
+ },
+ {
+ "line": 51,
+ "code": "",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "ed1e45b9f01b4d6bc704595ff42e6ecd6fb80dbe",
+ "scmDate": "2013-02-20T17:18:48+0100"
+ },
+ {
+ "line": 52,
+ "code": "}",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "a0c83c815b2deeec585de6894a0b882db635410f",
+ "scmDate": "2013-02-19T18:45:35+0100"
+ },
+ {
+ "line": 53,
+ "code": "",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "a0c83c815b2deeec585de6894a0b882db635410f",
+ "scmDate": "2013-02-19T18:45:35+0100"
+ }
+ ]
+}
--- /dev/null
+{
+ "total": 1,
+ "p": 1,
+ "ps": 1,
+ "projects": [
+ {
+ "uuid": "06a742ea-5c55-4c7e-a2b4-8747c163cb40",
+ "key": "org.codehaus.sonar-plugins:sonar-issues-report-plugin",
+ "id": 17637,
+ "qualifier": "TRK",
+ "name": "Sonar :: Issues Report :: Plugin",
+ "longName": "Sonar :: Issues Report :: Plugin"
+ }
+ ],
+ "components": [
+ {
+ "uuid": "0160edec-b7ca-49a1-93ca-a6ea2c38ed21",
+ "key": "org.codehaus.sonar-plugins:sonar-issues-report-plugin:src/main/java/org/sonar/issuesreport/IssuesReportPlugin.java",
+ "id": 17639,
+ "enabled": true,
+ "qualifier": "FIL",
+ "name": "IssuesReportPlugin.java",
+ "longName": "src/main/java/org/sonar/issuesreport/IssuesReportPlugin.java",
+ "path": "src/main/java/org/sonar/issuesreport/IssuesReportPlugin.java",
+ "projectId": 17637,
+ "subProjectId": 17637
+ },
+ {
+ "uuid": "06a742ea-5c55-4c7e-a2b4-8747c163cb40",
+ "key": "org.codehaus.sonar-plugins:sonar-issues-report-plugin",
+ "id": 17637,
+ "enabled": true,
+ "qualifier": "TRK",
+ "name": "Sonar :: Issues Report :: Plugin",
+ "longName": "Sonar :: Issues Report :: Plugin"
+ }
+ ],
+ "issues": [
+ {
+ "key": "some-issue-key",
+ "component": "org.codehaus.sonar-plugins:sonar-issues-report-plugin:src/main/java/org/sonar/issuesreport/IssuesReportPlugin.java",
+ "componentId": 17639,
+ "project": "org.codehaus.sonar-plugins:sonar-issues-report-plugin",
+ "rule": "squid:S1161",
+ "status": "REOPENED",
+ "severity": "MINOR",
+ "message": "Add the \"@Override\" annotation above this method signature",
+ "line": 61,
+ "debt": "5min",
+ "author": "julien.henry@sonarsource.com",
+ "creationDate": "2014-10-09T23:03:12+0200",
+ "updateDate": "2014-12-15T17:40:45+0100",
+ "fUpdateAge": "a day"
+ }
+ ],
+ "rules": [
+ {
+ "key": "squid:S1161",
+ "name": "",
+ "lang": "java",
+ "desc": "",
+ "status": "READY",
+ "langName": "Java"
+ }
+ ],
+ "users": [
+ {
+ "login": "admin",
+ "name": "Admin Admin",
+ "active": true,
+ "email": "admin@sonarsource.com"
+ }
+ ],
+ "languages": [
+ {
+ "key": "js",
+ "name": "JavaScript"
+ },
+ {
+ "key": "java",
+ "name": "Java"
+ }
+ ],
+ "maxResultsReached": false,
+ "paging": {
+ "pageIndex": 1,
+ "pageSize": 1,
+ "total": 1,
+ "fTotal": "1",
+ "pages": 1
+ },
+ "facets": [
+ {
+ "property": "tags",
+ "values": []
+ }
+ ]
+}
--- /dev/null
+{
+ "canManageFilters": true,
+ "canBulkChange": true,
+ "favorites": [
+ {
+ "id": 31,
+ "name": "Critical and Blocker Issues"
+ },
+ {
+ "id": 32,
+ "name": "Foo"
+ }
+ ]
+}
--- /dev/null
+{
+ "key": "org.codehaus.sonar:sonar-plugin-api:src/main/java/org/sonar/api/measures/Measure.java",
+ "path": "src/main/java/org/sonar/api/measures/Measure.java",
+ "name": "Measure.java",
+ "longName": "src/main/java/org/sonar/api/measures/Measure.java",
+ "q": "FIL",
+ "subProject": "org.codehaus.sonar:sonar-plugin-api",
+ "subProjectName": "SonarQube :: Plugin API",
+ "project": "org.codehaus.sonar:sonar",
+ "projectName": "SonarQube",
+ "fav": false,
+ "canMarkAsFavourite": false,
+ "canBulkChange": false,
+ "canCreateManualIssue": false,
+ "periods": [
+ [
+ 1,
+ "since previous analysis (2014 Dec 01)",
+ "2014-12-01T18:51:13+0100"
+ ],
+ [
+ 2,
+ "over 365 days (2013 Dec 01)",
+ "2013-12-01T00:40:31+0100"
+ ],
+ [
+ 3,
+ "since previous version (4.5 - 2014 Sep 03)",
+ "2014-09-03T23:16:52+0200"
+ ]
+ ],
+ "severities": [
+ [
+ "MAJOR",
+ "Major",
+ 10
+ ],
+ [
+ "INFO",
+ "Info",
+ 3
+ ]
+ ],
+ "rules": [
+ [
+ "common-java:DuplicatedBlocks",
+ "Duplicated blocks",
+ 1
+ ],
+ [
+ "squid:S1698",
+ "Objects should be compared with \"equals()\"",
+ 1
+ ],
+ [
+ "squid:MethodCyclomaticComplexity",
+ "Methods should not be too complex",
+ 3
+ ],
+ [
+ "squid:S1142",
+ "Methods should not contain too many return statements",
+ 2
+ ],
+ [
+ "squid:S1067",
+ "Expressions should not be too complex",
+ 1
+ ],
+ [
+ "squid:S1151",
+ "Switch cases should not have too many lines",
+ 1
+ ],
+ [
+ "common-java:InsufficientBranchCoverage",
+ "Insufficient branch coverage by unit tests",
+ 1
+ ],
+ [
+ "squid:S1133",
+ "Deprecated code should be removed eventually",
+ 3
+ ]
+ ],
+ "measures": {
+ "fNcloc": "396",
+ "fCoverage": "65.0%",
+ "fDuplicationDensity": "2.6%",
+ "fDebt": "5h 42min",
+ "fSqaleRating": "A",
+ "fSqaleDebtRatio": "2.9%",
+ "fIssues": "13",
+ "fMajorIssues": "10",
+ "fInfoIssues": "3"
+ },
+ "tabs": [
+ "scm",
+ "coverage",
+ "duplications"
+ ],
+ "manual_rules": [
+ {
+ "key": "manual:api",
+ "name": "API"
+ },
+ {
+ "key": "manual:design",
+ "name": "Design"
+ },
+ {
+ "key": "manual:error_handling",
+ "name": "Error handling"
+ },
+ {
+ "key": "manual:performance",
+ "name": "Performance"
+ },
+ {
+ "key": "manual:sql_pitfalls",
+ "name": "SQL Pitfall"
+ }
+ ]
+}
--- /dev/null
+{
+ "sources": [
+ {
+ "line": 1,
+ "code": "<span class=\"cppd\">/*</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "aeadc1f9129274949daaa57738c7c4550bdfbc7b",
+ "scmDate": "2010-09-06T16:08:06+0200"
+ }
+ ]
+}
--- /dev/null
+{
+ "total": 10,
+ "p": 1,
+ "ps": 50,
+ "projects": [
+ {
+ "uuid": "69e57151-be0d-4157-adff-c06741d88879",
+ "key": "org.codehaus.sonar:sonar",
+ "id": 2865,
+ "qualifier": "TRK",
+ "name": "SonarQube",
+ "longName": "SonarQube"
+ }
+ ],
+ "components": [
+ {
+ "uuid": "7feef7c3-11b9-4175-b5a7-527ca3c75cb7",
+ "key": "org.codehaus.sonar:sonar-plugin-api",
+ "id": 16,
+ "enabled": true,
+ "qualifier": "BRC",
+ "name": "SonarQube :: Plugin API",
+ "longName": "SonarQube :: Plugin API",
+ "path": "sonar-plugin-api",
+ "projectId": 2865,
+ "subProjectId": 2865
+ },
+ {
+ "uuid": "e1b3c47e-e9a2-42ea-9cac-439ce2345d7e",
+ "key": "org.codehaus.sonar:sonar-plugin-api:src/main/java/org/sonar/api/measures/Metric.java",
+ "id": 3543,
+ "enabled": true,
+ "qualifier": "FIL",
+ "name": "Metric.java",
+ "longName": "src/main/java/org/sonar/api/measures/Metric.java",
+ "path": "src/main/java/org/sonar/api/measures/Metric.java",
+ "projectId": 2865,
+ "subProjectId": 16
+ },
+ {
+ "uuid": "69e57151-be0d-4157-adff-c06741d88879",
+ "key": "org.codehaus.sonar:sonar",
+ "id": 2865,
+ "enabled": true,
+ "qualifier": "TRK",
+ "name": "SonarQube",
+ "longName": "SonarQube"
+ },
+ {
+ "uuid": "e2550527-3f86-4082-a9ae-e345f5a735aa",
+ "key": "org.codehaus.sonar:sonar-plugin-api:src/main/java/org/sonar/api/measures/Measure.java",
+ "id": 3538,
+ "enabled": true,
+ "qualifier": "FIL",
+ "name": "Measure.java",
+ "longName": "src/main/java/org/sonar/api/measures/Measure.java",
+ "path": "src/main/java/org/sonar/api/measures/Measure.java",
+ "projectId": 2865,
+ "subProjectId": 16
+ },
+ {
+ "uuid": "97606f40-f3ef-4922-aa37-f67485917e67",
+ "key": "org.codehaus.sonar:sonar-plugin-api:src/main/java/org/sonar/api/resources/File.java",
+ "id": 3592,
+ "enabled": true,
+ "qualifier": "FIL",
+ "name": "File.java",
+ "longName": "src/main/java/org/sonar/api/resources/File.java",
+ "path": "src/main/java/org/sonar/api/resources/File.java",
+ "projectId": 2865,
+ "subProjectId": 16
+ },
+ {
+ "uuid": "69949290-cfe6-45b6-9dd0-53f1e467b810",
+ "key": "org.codehaus.sonar:sonar-duplications",
+ "id": 20,
+ "enabled": true,
+ "qualifier": "BRC",
+ "name": "SonarQube :: Duplications",
+ "longName": "SonarQube :: Duplications",
+ "path": "sonar-duplications",
+ "projectId": 2865,
+ "subProjectId": 2865
+ },
+ {
+ "uuid": "90dd5fda-5fce-4d76-bebf-132922abad95",
+ "key": "org.codehaus.sonar:sonar-duplications:src/main/java/org/sonar/duplications/index/PackedMemoryCloneIndex.java",
+ "id": 3308,
+ "enabled": true,
+ "qualifier": "FIL",
+ "name": "PackedMemoryCloneIndex.java",
+ "longName": "src/main/java/org/sonar/duplications/index/PackedMemoryCloneIndex.java",
+ "path": "src/main/java/org/sonar/duplications/index/PackedMemoryCloneIndex.java",
+ "projectId": 2865,
+ "subProjectId": 20
+ },
+ {
+ "uuid": "1b915447-5aa8-4f59-9134-346a4e88c7b7",
+ "key": "org.codehaus.sonar.plugins:sonar-core-plugin",
+ "id": 2873,
+ "enabled": true,
+ "qualifier": "BRC",
+ "name": "SonarQube :: Plugins :: Core",
+ "longName": "SonarQube :: Plugins :: Core",
+ "path": "plugins/sonar-core-plugin",
+ "projectId": 2865,
+ "subProjectId": 2865
+ },
+ {
+ "uuid": "6c9c1986-59b3-4839-8dec-9499488f64d1",
+ "key": "org.codehaus.sonar.plugins:sonar-core-plugin:src/main/java/org/sonar/plugins/core/issue/tracking/StringTextComparator.java",
+ "id": 20777,
+ "enabled": true,
+ "qualifier": "FIL",
+ "name": "StringTextComparator.java",
+ "longName": "src/main/java/org/sonar/plugins/core/issue/tracking/StringTextComparator.java",
+ "path": "src/main/java/org/sonar/plugins/core/issue/tracking/StringTextComparator.java",
+ "projectId": 2865,
+ "subProjectId": 2873
+ }
+ ],
+ "issues": [
+ {
+ "key": "200d4a8b-9666-4e70-9953-7bab57933f97",
+ "component": "org.codehaus.sonar:sonar-plugin-api:src/main/java/org/sonar/api/measures/Measure.java",
+ "componentId": 3538,
+ "project": "org.codehaus.sonar:sonar",
+ "subProject": "org.codehaus.sonar:sonar-plugin-api",
+ "rule": "common-java:DuplicatedBlocks",
+ "status": "CONFIRMED",
+ "severity": "MAJOR",
+ "message": "1 duplicated blocks of code.",
+ "debt": "1h",
+ "creationDate": "2014-06-06T23:38:06+0200",
+ "updateDate": "2014-07-01T17:51:37+0200",
+ "fUpdateAge": "5 months",
+ "actions": [],
+ "transitions": []
+ },
+ {
+ "key": "23c5a022-ab5b-4892-b676-a7fd58540f79",
+ "component": "org.codehaus.sonar:sonar-plugin-api:src/main/java/org/sonar/api/measures/Measure.java",
+ "componentId": 3538,
+ "project": "org.codehaus.sonar:sonar",
+ "subProject": "org.codehaus.sonar:sonar-plugin-api",
+ "rule": "common-java:InsufficientBranchCoverage",
+ "status": "CONFIRMED",
+ "severity": "MAJOR",
+ "message": "1 more branches need to be covered by unit tests to reach the minimum threshold of 65.0% branch coverage.",
+ "debt": "10min",
+ "creationDate": "2014-09-02T09:25:36+0200",
+ "updateDate": "2014-10-09T16:21:48+0200",
+ "fUpdateAge": "about a month",
+ "actions": [],
+ "transitions": []
+ },
+ {
+ "key": "23d6cd5e-83ba-4e65-abef-ff8592195638",
+ "component": "org.codehaus.sonar:sonar-plugin-api:src/main/java/org/sonar/api/measures/Measure.java",
+ "componentId": 3538,
+ "project": "org.codehaus.sonar:sonar",
+ "subProject": "org.codehaus.sonar:sonar-plugin-api",
+ "rule": "squid:S1142",
+ "status": "CONFIRMED",
+ "severity": "MAJOR",
+ "message": "Reduce the number of returns of this method 7, down to the maximum allowed 5.",
+ "line": 248,
+ "debt": "20min",
+ "author": "julien.henry@sonarsource.com",
+ "creationDate": "2014-06-16T23:38:20+0200",
+ "updateDate": "2014-07-01T18:26:25+0200",
+ "fUpdateAge": "5 months",
+ "actions": [],
+ "transitions": []
+ },
+ {
+ "key": "8c5a4fca-57c9-44ad-89c0-6673c483e357",
+ "component": "org.codehaus.sonar:sonar-plugin-api:src/main/java/org/sonar/api/measures/Measure.java",
+ "componentId": 3538,
+ "project": "org.codehaus.sonar:sonar",
+ "subProject": "org.codehaus.sonar:sonar-plugin-api",
+ "rule": "squid:MethodCyclomaticComplexity",
+ "status": "CONFIRMED",
+ "severity": "MAJOR",
+ "message": "The Cyclomatic Complexity of this method \"value\" is 22 which is greater than 10 authorized.",
+ "line": 248,
+ "debt": "10min",
+ "author": "julien.henry@sonarsource.com",
+ "creationDate": "2014-06-16T23:38:20+0200",
+ "updateDate": "2014-07-01T16:20:08+0200",
+ "fUpdateAge": "5 months",
+ "actions": [],
+ "transitions": []
+ },
+ {
+ "key": "57303136-93b5-4d96-b1ca-654160aa5bdb",
+ "component": "org.codehaus.sonar:sonar-plugin-api:src/main/java/org/sonar/api/measures/Measure.java",
+ "componentId": 3538,
+ "project": "org.codehaus.sonar:sonar",
+ "subProject": "org.codehaus.sonar:sonar-plugin-api",
+ "rule": "squid:S1151",
+ "status": "CONFIRMED",
+ "severity": "MAJOR",
+ "message": "Reduce this switch case number of lines from 8 to at most 5, for example by extracting code into methods.",
+ "line": 266,
+ "debt": "10min",
+ "author": "julien.henry@sonarsource.com",
+ "creationDate": "2014-06-16T23:38:20+0200",
+ "updateDate": "2014-06-30T16:41:24+0200",
+ "fUpdateAge": "5 months",
+ "actions": [],
+ "transitions": []
+ },
+ {
+ "key": "dbf052eb-f991-44db-a829-029d47b7fe2d",
+ "component": "org.codehaus.sonar:sonar-plugin-api:src/main/java/org/sonar/api/measures/Measure.java",
+ "componentId": 3538,
+ "project": "org.codehaus.sonar:sonar",
+ "subProject": "org.codehaus.sonar:sonar-plugin-api",
+ "rule": "squid:MethodCyclomaticComplexity",
+ "status": "CONFIRMED",
+ "severity": "MAJOR",
+ "message": "The Cyclomatic Complexity of this method \"getVariation\" is 12 which is greater than 10 authorized.",
+ "line": 562,
+ "debt": "10min",
+ "author": "Simon Brandhof",
+ "creationDate": "2011-10-25T12:27:40+0200",
+ "updateDate": "2013-12-18T23:54:49+0100",
+ "fUpdateAge": "11 months",
+ "actions": [],
+ "transitions": []
+ },
+ {
+ "key": "50db1415-bd3c-4c24-ab0a-763177059770",
+ "component": "org.codehaus.sonar:sonar-plugin-api:src/main/java/org/sonar/api/measures/Measure.java",
+ "componentId": 3538,
+ "project": "org.codehaus.sonar:sonar",
+ "subProject": "org.codehaus.sonar:sonar-plugin-api",
+ "rule": "squid:S1698",
+ "status": "CONFIRMED",
+ "severity": "MAJOR",
+ "message": "Change this comparison to use the equals method.",
+ "line": 684,
+ "debt": "2min",
+ "author": "david@gageot.net",
+ "creationDate": "2014-06-26T23:17:10+0200",
+ "updateDate": "2014-07-01T16:13:48+0200",
+ "fUpdateAge": "5 months",
+ "actions": [],
+ "transitions": []
+ },
+ {
+ "key": "5fbdc597-0d83-4ea2-9d9d-ac192ec1eec1",
+ "component": "org.codehaus.sonar:sonar-plugin-api:src/main/java/org/sonar/api/measures/Measure.java",
+ "componentId": 3538,
+ "project": "org.codehaus.sonar:sonar",
+ "subProject": "org.codehaus.sonar:sonar-plugin-api",
+ "rule": "squid:S1067",
+ "status": "CONFIRMED",
+ "severity": "MAJOR",
+ "message": "Reduce the number of conditional operators (5) used in the expression (maximum allowed 3).",
+ "line": 684,
+ "debt": "10min",
+ "author": "david@gageot.net",
+ "creationDate": "2013-08-28T12:19:16+0200",
+ "updateDate": "2013-12-10T14:28:37+0100",
+ "fUpdateAge": "12 months",
+ "actions": [],
+ "transitions": []
+ },
+ {
+ "key": "186d1419-f5e9-412f-8a8e-f8cd81920359",
+ "component": "org.codehaus.sonar:sonar-plugin-api:src/main/java/org/sonar/api/measures/Measure.java",
+ "componentId": 3538,
+ "project": "org.codehaus.sonar:sonar",
+ "subProject": "org.codehaus.sonar:sonar-plugin-api",
+ "rule": "squid:MethodCyclomaticComplexity",
+ "status": "CONFIRMED",
+ "severity": "MAJOR",
+ "message": "The Cyclomatic Complexity of this method \"equals\" is 15 which is greater than 10 authorized.",
+ "line": 724,
+ "debt": "10min",
+ "author": "Simon Brandhof",
+ "creationDate": "2011-10-25T12:27:40+0200",
+ "updateDate": "2014-03-12T10:43:19+0100",
+ "fUpdateAge": "9 months",
+ "actions": [],
+ "transitions": []
+ },
+ {
+ "key": "225d3b74-8b61-46a1-aac2-68221d6cd933",
+ "component": "org.codehaus.sonar:sonar-plugin-api:src/main/java/org/sonar/api/measures/Measure_2.java",
+ "componentId": 3538,
+ "project": "org.codehaus.sonar:sonar",
+ "subProject": "org.codehaus.sonar:sonar-plugin-api",
+ "rule": "squid:S1142",
+ "status": "CONFIRMED",
+ "severity": "MAJOR",
+ "message": "Reduce the number of returns of this method 6, down to the maximum allowed 5.",
+ "line": 724,
+ "debt": "20min",
+ "author": "simon.brandhof@gmail.com",
+ "creationDate": "2013-08-09T16:04:33+0200",
+ "updateDate": "2014-03-12T10:43:19+0100",
+ "fUpdateAge": "9 months",
+ "actions": [],
+ "transitions": []
+ }
+ ],
+ "rules": [
+ {
+ "key": "squid:S1698",
+ "name": "Objects should be compared with \"equals()\"",
+ "lang": "java",
+ "desc": "<p>Using the equality (<code>==</code>) and inequality (<code>!=</code>) operators to compare two objects does not check to see if they have the same values. Rather it checks to see if both object references point to exactly the same object in memory. The vast majority of the time, this is not what you want to do. Use the .equals() method to compare the values of two objects or to compare a string object to a string literal.</p>\n\n<h2>Noncompliant Code Sample</h2>\n<pre>\nString str1 = \"blue\";\nString str2 = \"blue\";\nString str3 = str1;\n\nif (str1 == str2)\n{\n System.out.println(\"they're both 'blue'\"); // this doesn't print because the objects are different\n}\n\nif (str1 == \"blue\")\n{\n System.out.println(\"they're both 'blue'\"); // this doesn't print because the objects are different\n}\n\nif (str1 == str3)\n{\n System.out.println(\"they're the same object\"); // this prints\n}\n</pre>\n\n<h2>Compliant Solution</h2>\n<pre>\nString str1 = \"blue\";\nString str2 = \"blue\";\nString str3 = str1;\n\nif (str1.equals(str2))\n{\n System.out.println(\"they're both 'blue'\"); // this prints\n}\n\nif (str1.equals(\"blue\"))\n{\n System.out.println(\"they're both 'blue'\"); // this prints\n}\n\nif (str1 == str3)\n{\n System.out.println(\"they're the same object\"); // this still prints, but it's probably not what you meant to do\n}\n</pre>",
+ "status": "READY",
+ "langName": "Java"
+ },
+ {
+ "key": "common-java:DuplicatedBlocks",
+ "name": "Duplicated blocks",
+ "lang": "java",
+ "desc": "<p>An issue is created on a file as soon as there is a block of duplicated code on this file. It gives the number of blocks in the file.</p>",
+ "status": "READY",
+ "langName": "Java"
+ },
+ {
+ "key": "squid:MethodCyclomaticComplexity",
+ "name": "Methods should not be too complex",
+ "lang": "java",
+ "desc": "<p>The Cyclomatic Complexity is measured by the number of\n\t(&&, ||) operators and (if, while, do, for, ?:, catch, switch,\n\tcase, return, throw) statements in the body of a class plus one for\n\teach constructor, method (but not getter/setter), static initializer,\n\tor instance initializer in the class. The last return stament in\n\tmethod, if exists, is not taken into account.</p>\n<p>\n\tEven when the Cyclomatic Complexity of a class is very high, this\n\tcomplexity might be well distributed among all methods. Nevertheless,\n\tmost of the time, a very complex class is a class which breaks the <a\n\t\thref=\"http://en.wikipedia.org/wiki/Single_responsibility_principle\">Single\n\t\tResponsibility Principle</a> and which should be re-factored to be split\n\tin several classes.\n</p>",
+ "status": "READY",
+ "langName": "Java"
+ },
+ {
+ "key": "squid:S1142",
+ "name": "Methods should not contain too many return statements",
+ "lang": "java",
+ "desc": "<p>\nHaving too many return statements in a method increases the method's essential complexity because the flow of execution is broken each time a return statement is encountered.\nThis makes it harder to read and understand the logic of the method.\n</p>\n\n<p>\nThe following code snippet illustrates this rule with the default threshold of 3:\n</p>\n\n<pre>\npublic boolean myMethod() { // Non-Compliant as there are 4 return statements\n if (condition1) {\n return true;\n } else {\n if (condition2) {\n return false;\n } else {\n return true;\n }\n }\n return false;\n}\n</pre>",
+ "status": "READY",
+ "langName": "Java"
+ },
+ {
+ "key": "squid:S1067",
+ "name": "Expressions should not be too complex",
+ "lang": "java",
+ "desc": "<p>\nThe complexity of an expression is defined by the number of <code>&&</code>, <code>||</code> and <code>condition ? ifTrue : ifFalse</code> operators it contains.\nA single expression's complexity should not become too high to keep the code readable.\n</p>\n\n<p>The following code, with a maximum complexity of 3:</p>\n\n<pre>\nif (condition1 && condition2 && condition3 && condition4) { /* ... */ } // Non-Compliant\n</pre>\n\n<p>could be refactored into something like:</p>\n\n<pre>\nif (relevantMethodName1() && relevantMethodName2()) { /* ... */ } // Compliant\n\n/* ... */\n\nprivate boolean relevantMethodName1() {\n return condition1 && condition2;\n}\n\nprivate boolean relevantMethodName2() {\n return condition3 && condition4;\n}\n</pre>",
+ "status": "READY",
+ "langName": "Java"
+ },
+ {
+ "key": "squid:S1151",
+ "name": "Switch cases should not have too many lines",
+ "lang": "java",
+ "desc": "<p>Switch cases should remain small to keep the overall switch compact and readable.</p>\n\n<p>The following code snippet illustrates this rule with the default threshold of 5:</p>\n\n<pre>\nswitch (myVariable) {\n case 0: // Compliant - 5 lines till following case\n System.out.println(\"\");\n System.out.println(\"\");\n System.out.println(\"\");\n break;\n default: // Non-Compliant - 6 lines till switch end\n System.out.println(\"\");\n System.out.println(\"\");\n System.out.println(\"\");\n System.out.println(\"\");\n break;\n}\n</pre>",
+ "status": "READY",
+ "langName": "Java"
+ },
+ {
+ "key": "common-java:InsufficientBranchCoverage",
+ "name": "Insufficient branch coverage by unit tests",
+ "lang": "java",
+ "desc": "<p>An issue is created on a file as soon as the branch coverage on this file is less than the required threshold.It gives the number of branches to be covered in order to reach the required threshold.</p>",
+ "status": "READY",
+ "langName": "Java"
+ }
+ ],
+ "users": [],
+ "languages": [
+ {
+ "key": "js",
+ "name": "JavaScript"
+ },
+ {
+ "key": "java",
+ "name": "Java"
+ }
+ ],
+ "maxResultsReached": false,
+ "paging": {
+ "pageIndex": 1,
+ "pageSize": 50,
+ "total": 10,
+ "fTotal": "10",
+ "pages": 1
+ },
+ "facets": [
+ {
+ "property": "severities",
+ "values": [
+ {
+ "val": "MAJOR",
+ "count": 10
+ },
+ {
+ "val": "INFO",
+ "count": 3
+ },
+ {
+ "val": "MINOR",
+ "count": 0
+ },
+ {
+ "val": "CRITICAL",
+ "count": 0
+ },
+ {
+ "val": "BLOCKER",
+ "count": 0
+ }
+ ]
+ },
+ {
+ "property": "statuses",
+ "values": [
+ {
+ "val": "CONFIRMED",
+ "count": 10
+ },
+ {
+ "val": "OPEN",
+ "count": 0
+ },
+ {
+ "val": "REOPENED",
+ "count": 0
+ },
+ {
+ "val": "RESOLVED",
+ "count": 0
+ },
+ {
+ "val": "CLOSED",
+ "count": 0
+ }
+ ]
+ },
+ {
+ "property": "resolutions",
+ "values": [
+ {
+ "val": "REMOVED",
+ "count": 43
+ },
+ {
+ "val": "FIXED",
+ "count": 4
+ },
+ {
+ "val": "",
+ "count": 10
+ },
+ {
+ "val": "FALSE-POSITIVE",
+ "count": 0
+ }
+ ]
+ },
+ {
+ "property": "projectUuids",
+ "values": [
+ {
+ "val": "69e57151-be0d-4157-adff-c06741d88879",
+ "count": 10
+ }
+ ]
+ },
+ {
+ "property": "componentUuids",
+ "values": [
+ {
+ "val": "90dd5fda-5fce-4d76-bebf-132922abad95",
+ "count": 20
+ },
+ {
+ "val": "e2550527-3f86-4082-a9ae-e345f5a735aa",
+ "count": 10
+ },
+ {
+ "val": "97606f40-f3ef-4922-aa37-f67485917e67",
+ "count": 8
+ },
+ {
+ "val": "6c9c1986-59b3-4839-8dec-9499488f64d1",
+ "count": 7
+ },
+ {
+ "val": "e1b3c47e-e9a2-42ea-9cac-439ce2345d7e",
+ "count": 6
+ }
+ ]
+ }
+ ]
+}
--- /dev/null
+{
+ "total": 4,
+ "p": 1,
+ "ps": 50,
+ "projects": [
+ {
+ "uuid": "06a742ea-5c55-4c7e-a2b4-8747c163cb40",
+ "key": "org.codehaus.sonar-plugins:sonar-issues-report-plugin",
+ "id": 17637,
+ "qualifier": "TRK",
+ "name": "Sonar :: Issues Report :: Plugin",
+ "longName": "Sonar :: Issues Report :: Plugin"
+ },
+ {
+ "uuid": "69e57151-be0d-4157-adff-c06741d88879",
+ "key": "org.codehaus.sonar:sonar",
+ "id": 2865,
+ "qualifier": "TRK",
+ "name": "SonarQube",
+ "longName": "SonarQube"
+ },
+ {
+ "uuid": "963cefe8-9128-475f-8d39-636685195e43",
+ "key": "com.sonarsource.rpg:rpg",
+ "id": 27165,
+ "qualifier": "TRK",
+ "name": "SonarSource :: RPG",
+ "longName": "SonarSource :: RPG"
+ }
+ ],
+ "components": [
+ {
+ "uuid": "f62c3080-6e75-4940-ae95-7dae743bcac3",
+ "key": "org.codehaus.sonar:sonar-server:src/main/java/org/sonar/server/search/request/ProxySearchScrollRequestBuilder.java",
+ "id": 35659,
+ "enabled": true,
+ "qualifier": "FIL",
+ "name": "ProxySearchScrollRequestBuilder.java",
+ "longName": "src/main/java/org/sonar/server/search/request/ProxySearchScrollRequestBuilder.java",
+ "path": "src/main/java/org/sonar/server/search/request/ProxySearchScrollRequestBuilder.java",
+ "projectId": 2865,
+ "subProjectId": 2872
+ },
+ {
+ "uuid": "69e57151-be0d-4157-adff-c06741d88879",
+ "key": "org.codehaus.sonar:sonar",
+ "id": 2865,
+ "enabled": true,
+ "qualifier": "TRK",
+ "name": "SonarQube",
+ "longName": "SonarQube"
+ },
+ {
+ "uuid": "0160edec-b7ca-49a1-93ca-a6ea2c38ed21",
+ "key": "org.codehaus.sonar-plugins:sonar-issues-report-plugin:src/main/java/org/sonar/issuesreport/IssuesReportPlugin.java",
+ "id": 17639,
+ "enabled": true,
+ "qualifier": "FIL",
+ "name": "IssuesReportPlugin.java",
+ "longName": "src/main/java/org/sonar/issuesreport/IssuesReportPlugin.java",
+ "path": "src/main/java/org/sonar/issuesreport/IssuesReportPlugin.java",
+ "projectId": 17637,
+ "subProjectId": 17637
+ },
+ {
+ "uuid": "6acccd14-18f8-436e-9a20-1d2d1f91295b",
+ "key": "com.sonarsource.rpg:rpg-analyzer:src/main/java/com/sonar/rpg/parser/Parser.java",
+ "id": 27173,
+ "enabled": true,
+ "qualifier": "FIL",
+ "name": "Parser.java",
+ "longName": "src/main/java/com/sonar/rpg/parser/Parser.java",
+ "path": "src/main/java/com/sonar/rpg/parser/Parser.java",
+ "projectId": 27165,
+ "subProjectId": 27166
+ },
+ {
+ "uuid": "06a742ea-5c55-4c7e-a2b4-8747c163cb40",
+ "key": "org.codehaus.sonar-plugins:sonar-issues-report-plugin",
+ "id": 17637,
+ "enabled": true,
+ "qualifier": "TRK",
+ "name": "Sonar :: Issues Report :: Plugin",
+ "longName": "Sonar :: Issues Report :: Plugin"
+ },
+ {
+ "uuid": "98662175-0f52-4f83-b0e9-1e9444320b5b",
+ "key": "org.codehaus.sonar-plugins:sonar-issues-report-plugin:src/main/java/org/sonar/issuesreport/ReportJob.java",
+ "id": 17640,
+ "enabled": true,
+ "qualifier": "FIL",
+ "name": "ReportJob.java",
+ "longName": "src/main/java/org/sonar/issuesreport/ReportJob.java",
+ "path": "src/main/java/org/sonar/issuesreport/ReportJob.java",
+ "projectId": 17637,
+ "subProjectId": 17637
+ },
+ {
+ "uuid": "a6b74bc6-94b9-431f-b7fd-524553d42405",
+ "key": "com.sonarsource.rpg:rpg-analyzer",
+ "id": 27166,
+ "enabled": true,
+ "qualifier": "BRC",
+ "name": "SonarSource :: RPG :: Analyzer",
+ "longName": "SonarSource :: RPG :: Analyzer",
+ "path": "rpg-analyzer",
+ "projectId": 27165,
+ "subProjectId": 27165
+ },
+ {
+ "uuid": "e1f6f8bd-6b5f-4e2d-b936-4abffc9e4264",
+ "key": "org.codehaus.sonar:sonar-server",
+ "id": 2872,
+ "enabled": true,
+ "qualifier": "BRC",
+ "name": "SonarQube :: Server",
+ "longName": "SonarQube :: Server",
+ "path": "sonar-server",
+ "projectId": 2865,
+ "subProjectId": 2865
+ },
+ {
+ "uuid": "963cefe8-9128-475f-8d39-636685195e43",
+ "key": "com.sonarsource.rpg:rpg",
+ "id": 27165,
+ "enabled": true,
+ "qualifier": "TRK",
+ "name": "SonarSource :: RPG",
+ "longName": "SonarSource :: RPG"
+ }
+ ],
+ "issues": [
+ {
+ "key": "80f1562f-9f64-48a9-a6bb-1dcd2ebf444a",
+ "component": "org.codehaus.sonar-plugins:sonar-issues-report-plugin:src/main/java/org/sonar/issuesreport/IssuesReportPlugin.java",
+ "componentId": 17639,
+ "project": "org.codehaus.sonar-plugins:sonar-issues-report-plugin",
+ "rule": "squid:S1161",
+ "status": "REOPENED",
+ "severity": "MINOR",
+ "message": "Add the \"@Override\" annotation above this method signature",
+ "line": 61,
+ "debt": "5min",
+ "assignee": "julien.henry",
+ "author": "julien.henry@sonarsource.com",
+ "creationDate": "2014-10-09T23:03:12+0200",
+ "updateDate": "2014-11-24T08:11:19+0100",
+ "fUpdateAge": "14 days",
+ "actions": [
+ "comment",
+ "assign",
+ "assign_to_me",
+ "plan",
+ "set_severity"
+ ],
+ "transitions": [
+ "confirm",
+ "resolve",
+ "falsepositive"
+ ],
+ "assigneeName": "Julien Henry"
+ },
+ {
+ "key": "9eae5201-96c7-4e78-a407-8d58479c98a3",
+ "component": "org.codehaus.sonar-plugins:sonar-issues-report-plugin:src/main/java/org/sonar/issuesreport/ReportJob.java",
+ "componentId": 17640,
+ "project": "org.codehaus.sonar-plugins:sonar-issues-report-plugin",
+ "rule": "squid:S1161",
+ "status": "REOPENED",
+ "severity": "MAJOR",
+ "message": "Add the \"@Override\" annotation above this method signature",
+ "line": 39,
+ "debt": "5min",
+ "assignee": "julien.henry",
+ "author": "julien.henry@sonarsource.com",
+ "creationDate": "2014-10-09T23:03:12+0200",
+ "updateDate": "2014-11-18T08:25:31+0100",
+ "fUpdateAge": "20 days",
+ "actions": [
+ "comment",
+ "assign",
+ "assign_to_me",
+ "plan",
+ "set_severity"
+ ],
+ "transitions": [
+ "confirm",
+ "resolve",
+ "falsepositive"
+ ],
+ "assigneeName": "Julien Henry"
+ },
+ {
+ "key": "50bfc04f-6137-457a-a967-f6b1b7345365",
+ "component": "org.codehaus.sonar:sonar-server:src/main/java/org/sonar/server/search/request/ProxySearchScrollRequestBuilder.java",
+ "componentId": 35659,
+ "project": "org.codehaus.sonar:sonar",
+ "subProject": "org.codehaus.sonar:sonar-server",
+ "rule": "common-java:InsufficientBranchCoverage",
+ "status": "REOPENED",
+ "severity": "MAJOR",
+ "message": "1 more branches need to be covered by unit tests to reach the minimum threshold of 65.0% branch coverage.",
+ "debt": "10min",
+ "assignee": "julien.lancelot",
+ "creationDate": "2014-11-04T14:51:27+0100",
+ "updateDate": "2014-11-10T23:29:27+0100",
+ "fUpdateAge": "27 days",
+ "actions": [
+ "comment",
+ "assign",
+ "assign_to_me",
+ "plan",
+ "set_severity"
+ ],
+ "transitions": [
+ "confirm",
+ "resolve",
+ "falsepositive"
+ ],
+ "assigneeName": "Julien Lancelot"
+ },
+ {
+ "key": "7012d6fc-e663-4032-aba6-70c4522453b4",
+ "component": "com.sonarsource.rpg:rpg-analyzer:src/main/java/com/sonar/rpg/parser/Parser.java",
+ "componentId": 27173,
+ "project": "com.sonarsource.rpg:rpg",
+ "subProject": "com.sonarsource.rpg:rpg-analyzer",
+ "rule": "squid:S1994",
+ "status": "REOPENED",
+ "severity": "MAJOR",
+ "message": "This loop's stop condition tests \"isEndOfFile()\" but the incrementer updates \"lineNumber\".",
+ "line": 69,
+ "debt": "20min",
+ "assignee": "pierre-yves.nicolas",
+ "author": "pierre-yves.nicolas@sonarsource.com",
+ "creationDate": "2014-10-09T23:05:10+0200",
+ "updateDate": "2014-10-31T10:33:08+0100",
+ "fUpdateAge": "about a month",
+ "comments": [
+ {
+ "key": "9d2b1d6e-9c9c-4ff2-bc55-af622922c4f0",
+ "login": "evgeny.mandrikov",
+ "userName": "Evgeny Mandrikov",
+ "htmlText": "Severity changed from "critical" to "major", because this is a new Java rule.<br/>Also message looks suspicious. Nico, could you please take a look?",
+ "markdown": "Severity changed from \"critical\" to \"major\", because this is a new Java rule.\nAlso message looks suspicious. Nico, could you please take a look?",
+ "updatable": false,
+ "createdAt": "2014-10-10T15:49:23+0200"
+ },
+ {
+ "key": "583033bd-c0be-4865-ba86-f1773c712bba",
+ "login": "nicolas.peru",
+ "userName": "Nicolas Peru",
+ "htmlText": "message has been improved in <a href=\"https://github.com/SonarSource/sonar-java/commit/d1e4fa74ada69039958dbff8a94c776fd6be6639\" target=\"_blank\">https://github.com/SonarSource/sonar-java/commit/d1e4fa74ada69039958dbff8a94c776fd6be6639</a>",
+ "markdown": "message has been improved in https://github.com/SonarSource/sonar-java/commit/d1e4fa74ada69039958dbff8a94c776fd6be6639",
+ "updatable": false,
+ "createdAt": "2014-10-13T17:38:52+0200"
+ }
+ ],
+ "actions": [
+ "comment",
+ "assign",
+ "assign_to_me",
+ "plan",
+ "set_severity"
+ ],
+ "transitions": [
+ "confirm",
+ "resolve",
+ "falsepositive"
+ ],
+ "assigneeName": "Pierre-Yves Nicolas"
+ }
+ ],
+ "rules": [
+ {
+ "key": "squid:S1994",
+ "name": "\"for\" loop incrementers should modify the variable being tested in the loop's stop condition",
+ "lang": "java",
+ "desc": "<p>It is almost always an error when a <code>for</code> loop's stop condition and incrementer don't act on the same variable. Even when it is not, it could confuse future maintainers of the code, and should be avoided.</p>\n\n<h2>Noncompliant Code Example</h2>\n<pre>\nfor (i = 0; i < 10; j++) { // Noncompliant\n // ...\n}\n</pre>\n\n<h2>Compliant Solution</h2>\n<pre>\nfor (i = 0; i < 10; i++) {\n // ...\n}\n</pre>",
+ "status": "REMOVED",
+ "langName": "Java"
+ },
+ {
+ "key": "common-java:InsufficientBranchCoverage",
+ "name": "Insufficient branch coverage by unit tests",
+ "lang": "java",
+ "desc": "<p>An issue is created on a file as soon as the branch coverage on this file is less than the required threshold.It gives the number of branches to be covered in order to reach the required threshold.</p>",
+ "status": "READY",
+ "langName": "Java"
+ },
+ {
+ "key": "squid:S1161",
+ "name": "\"@Override\" annotation should be used on any method overriding (since Java 5) or implementing (since Java 6) another one",
+ "lang": "java",
+ "desc": "<p>Using the <code>@Override</code> annotation is useful for two reasons :</p>\n<ul>\n <li>It elicits a warning from the compiler if the annotated method doesn't actually override anything, as in the case of a misspelling.</li>\n <li>It improves the readability of the source code by making it obvious that methods are overridden.</li>\n</ul>\n<h2>Noncompliant Code Example</h2>\n<pre>\nclass ParentClass {\n public boolean doSomething(){...}\n}\nclass FirstChildClass extends ParentClass {\n public boolean doSomething(){...} //Non-Compliant\n}\n</pre>\n\n<h2>Compliant Solution</h2>\n<pre>\nclass ParentClass {\n public boolean doSomething(){...}\n}\nclass FirstChildClass extends ParentClass {\n @Override\n public boolean doSomething(){...} //Compliant\n}\n</pre>",
+ "status": "REMOVED",
+ "langName": "Java"
+ }
+ ],
+ "users": [
+ {
+ "login": "julien.lancelot",
+ "name": "Julien Lancelot",
+ "active": true,
+ "email": "julien.lancelot@sonarsource.com"
+ },
+ {
+ "login": "pierre-yves.nicolas",
+ "name": "Pierre-Yves Nicolas",
+ "active": true,
+ "email": "pierre-yves.nicolas@sonarsource.com"
+ },
+ {
+ "login": "admin",
+ "name": "Admin Admin",
+ "active": true,
+ "email": "admin@sonarsource.com"
+ },
+ {
+ "login": "nicolas.peru",
+ "name": "Nicolas Peru",
+ "active": true,
+ "email": "nicolas.peru@sonarsource.com"
+ },
+ {
+ "login": "julien.henry",
+ "name": "Julien Henry",
+ "active": true,
+ "email": "julien.henry@sonarsource.com"
+ },
+ {
+ "login": "evgeny.mandrikov",
+ "name": "Evgeny Mandrikov",
+ "active": true,
+ "email": "evgeny.mandrikov@sonarsource.com"
+ }
+ ],
+ "actionPlans": [
+ {
+ "key": "1b9e7e52-ff58-40c1-80bf-f68429a3275e",
+ "name": "5.0",
+ "status": "OPEN",
+ "project": "org.codehaus.sonar:sonar",
+ "userLogin": "fabrice.bellingard",
+ "createdAt": "2014-09-01T17:14:55+0200",
+ "fCreatedAt": "Sep 1, 2014 5:14 PM",
+ "updatedAt": "2014-09-01T17:14:55+0200",
+ "fUpdatedAt": "Sep 1, 2014 5:14 PM"
+ },
+ {
+ "key": "151b796f-c5e1-40c9-89c0-ca391e8a31c0",
+ "name": "CPP 3.3",
+ "status": "OPEN",
+ "project": "com.sonarsource.cpp:cpp",
+ "userLogin": "eric.hartmann",
+ "createdAt": "2014-10-27T15:15:34+0100",
+ "fCreatedAt": "Oct 27, 2014 3:15 PM",
+ "updatedAt": "2014-10-27T15:15:34+0100",
+ "fUpdatedAt": "Oct 27, 2014 3:15 PM"
+ },
+ {
+ "key": "6f967cd5-687b-49ac-b4e3-b8d392374557",
+ "name": "4.5",
+ "status": "CLOSED",
+ "project": "org.codehaus.sonar:sonar",
+ "userLogin": "freddy.mallet",
+ "createdAt": "2014-07-01T21:22:52+0200",
+ "fCreatedAt": "Jul 1, 2014 9:22 PM",
+ "updatedAt": "2014-09-10T15:44:24+0200",
+ "fUpdatedAt": "Sep 10, 2014 3:44 PM"
+ }
+ ],
+ "languages": [
+ {
+ "key": "js",
+ "name": "JavaScript"
+ },
+ {
+ "key": "java",
+ "name": "Java"
+ }
+ ],
+ "maxResultsReached": false,
+ "paging": {
+ "pageIndex": 1,
+ "pageSize": 50,
+ "total": 4,
+ "fTotal": "4",
+ "pages": 1
+ },
+ "facets": [
+ {
+ "property": "severities",
+ "values": [
+ {
+ "val": "MAJOR",
+ "count": 3
+ },
+ {
+ "val": "MINOR",
+ "count": 1
+ },
+ {
+ "val": "INFO",
+ "count": 0
+ },
+ {
+ "val": "CRITICAL",
+ "count": 0
+ },
+ {
+ "val": "BLOCKER",
+ "count": 0
+ }
+ ]
+ },
+ {
+ "property": "statuses",
+ "values": [
+ {
+ "val": "CONFIRMED",
+ "count": 4583
+ },
+ {
+ "val": "OPEN",
+ "count": 324
+ },
+ {
+ "val": "REOPENED",
+ "count": 4
+ },
+ {
+ "val": "RESOLVED",
+ "count": 0
+ },
+ {
+ "val": "CLOSED",
+ "count": 0
+ }
+ ]
+ },
+ {
+ "property": "resolutions",
+ "values": [
+ {
+ "val": "",
+ "count": 4
+ },
+ {
+ "val": "FALSE-POSITIVE",
+ "count": 0
+ },
+ {
+ "val": "FIXED",
+ "count": 0
+ },
+ {
+ "val": "REMOVED",
+ "count": 0
+ }
+ ]
+ },
+ {
+ "property": "actionPlans",
+ "values": [
+ {
+ "val": "1b9e7e52-ff58-40c1-80bf-f68429a3275e",
+ "count": 4
+ },
+ {
+ "val": "151b796f-c5e1-40c9-89c0-ca391e8a31c0",
+ "count": 2
+ },
+ {
+ "val": "6f967cd5-687b-49ac-b4e3-b8d392374557",
+ "count": 1
+ },
+ {
+ "val": "",
+ "count": 4
+ }
+ ]
+ }
+ ]
+}
--- /dev/null
+{
+ "total": 1,
+ "p": 1,
+ "ps": 50,
+ "projects": [
+ {
+ "uuid": "015c6451-1709-4360-b4fa-e4508e13082d",
+ "key": "org.codehaus.sonar-plugins.xml:xml",
+ "id": 17156,
+ "qualifier": "TRK",
+ "name": "XML",
+ "longName": "XML"
+ }
+ ],
+ "components": [
+ {
+ "uuid": "639e257b-d3fb-4d10-b94a-31079b71532d",
+ "key": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin:src/main/java/org/sonar/plugins/xml",
+ "id": 26177,
+ "enabled": true,
+ "qualifier": "DIR",
+ "name": "src/main/java/org/sonar/plugins/xml",
+ "longName": "src/main/java/org/sonar/plugins/xml",
+ "path": "src/main/java/org/sonar/plugins/xml",
+ "projectId": 17156,
+ "subProjectId": 17158
+ },
+ {
+ "uuid": "015c6451-1709-4360-b4fa-e4508e13082d",
+ "key": "org.codehaus.sonar-plugins.xml:xml",
+ "id": 17156,
+ "enabled": true,
+ "qualifier": "TRK",
+ "name": "XML",
+ "longName": "XML"
+ }
+
+ ],
+ "issues": [
+ {
+ "key": "94357807-fcb4-40cc-9598-9a715f1eee6e",
+ "component": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin:src/main/java/org/sonar/plugins/xml",
+ "componentId": 26177,
+ "project": "org.codehaus.sonar-plugins.xml:xml",
+ "rule": "squid:S1228",
+ "status": "CONFIRMED",
+ "severity": "MAJOR",
+ "message": "Add a 'package-info.java' file to document the 'src/main/java/org/sonar/plugins/xml' package",
+ "debt": "20min",
+ "creationDate": "2014-10-03T23:26:37+0200",
+ "updateDate": "2014-10-09T06:32:55+0200",
+ "fUpdateAge": "26 days",
+ "tags": [
+ "security",
+ "cwe"
+ ],
+ "actions": [
+ "comment",
+ "assign",
+ "assign_to_me",
+ "plan",
+ "set_severity",
+ "set_tags"
+ ],
+ "transitions": [
+ "unconfirm",
+ "resolve",
+ "falsepositive"
+ ]
+ }
+ ],
+ "rules": [
+ {
+ "key": "squid:S1228",
+ "name": "Packages should have a javadoc file 'package-info.java'",
+ "desc": "<p>Each package in a Java project should include a <code>package-info.java</code> file. The purpose of this file is to document the Java package using javadoc and declare package annotations.</p>\n\n<h2>Compliant Solution</h2>\n<pre>\n/**\n* This package has non null parameters and is documented.\n**/\n@ParametersAreNonnullByDefault\npackage org.foo.bar;\n</pre>",
+ "status": "REMOVED"
+ }
+ ],
+ "users": [],
+ "languages": [
+ {
+ "key": "js",
+ "name": "JavaScript"
+ },
+ {
+ "key": "java",
+ "name": "Java"
+ }
+ ],
+ "maxResultsReached": false,
+ "paging": {
+ "pageIndex": 1,
+ "pageSize": 50,
+ "total": 1,
+ "fTotal": "1",
+ "pages": 1
+ },
+ "facets": [
+ {
+ "property": "severities",
+ "values": [
+ {
+ "val": "MAJOR",
+ "count": 1
+ },
+ {
+ "val": "INFO",
+ "count": 0
+ },
+ {
+ "val": "MINOR",
+ "count": 0
+ },
+ {
+ "val": "CRITICAL",
+ "count": 0
+ },
+ {
+ "val": "BLOCKER",
+ "count": 0
+ }
+ ]
+ },
+ {
+ "property": "statuses",
+ "values": [
+ {
+ "val": "CONFIRMED",
+ "count": 1
+ },
+ {
+ "val": "OPEN",
+ "count": 0
+ },
+ {
+ "val": "REOPENED",
+ "count": 0
+ },
+ {
+ "val": "CLOSED",
+ "count": 0
+ },
+ {
+ "val": "RESOLVED",
+ "count": 0
+ }
+ ]
+ },
+ {
+ "property": "resolutions",
+ "values": [
+ {
+ "val": "",
+ "count": 1
+ },
+ {
+ "val": "FIXED",
+ "count": 0
+ },
+ {
+ "val": "REMOVED",
+ "count": 0
+ },
+ {
+ "val": "FALSE-POSITIVE",
+ "count": 0
+ }
+ ]
+ }
+ ]
+}
--- /dev/null
+{
+ "total": 4623,
+ "p": 1,
+ "ps": 50,
+ "projects": [
+ {
+ "uuid": "015c6451-1709-4360-b4fa-e4508e13082d",
+ "key": "org.codehaus.sonar-plugins.xml:xml",
+ "id": 17156,
+ "qualifier": "TRK",
+ "name": "XML",
+ "longName": "XML"
+ },
+ {
+ "uuid": "071bdfec-a244-444d-877e-772a68973e18",
+ "key": "com.sonarsource.plugins.vb:vb",
+ "id": 28554,
+ "qualifier": "TRK",
+ "name": "SonarSource :: Visual Basic",
+ "longName": "SonarSource :: Visual Basic"
+ }
+ ],
+ "components": [
+ {
+ "uuid": "367350ce-00c7-461b-8348-c64138515ef9",
+ "key": "com.sonarsource.plugins.vb:vb-checks:src/main/java/com/sonar/vb/checks/UnusedPrivateVariableCheck.java",
+ "id": 29801,
+ "enabled": true,
+ "qualifier": "FIL",
+ "name": "UnusedPrivateVariableCheck.java",
+ "longName": "src/main/java/com/sonar/vb/checks/UnusedPrivateVariableCheck.java",
+ "path": "src/main/java/com/sonar/vb/checks/UnusedPrivateVariableCheck.java",
+ "projectId": 28554,
+ "subProjectId": 29689
+ },
+ {
+ "uuid": "2c39c99e-6c3e-4635-a673-fbd876eb2107",
+ "key": "org.codehaus.sonar-plugins.xml:xml-squid:src/main/java/org/sonar/xml/CDataDocTokenizer.java",
+ "id": 19130,
+ "enabled": true,
+ "qualifier": "FIL",
+ "name": "CDataDocTokenizer.java",
+ "longName": "src/main/java/org/sonar/xml/CDataDocTokenizer.java",
+ "path": "src/main/java/org/sonar/xml/CDataDocTokenizer.java",
+ "projectId": 17156,
+ "subProjectId": 17157
+ },
+ {
+ "uuid": "729bcb00-97b2-432d-b36e-06174e0bea26",
+ "key": "org.codehaus.sonar-plugins.xml:xml-squid:src/main/java/org/sonar/xml/XmlStartElementTokenizer.java",
+ "id": 19132,
+ "enabled": true,
+ "qualifier": "FIL",
+ "name": "XmlStartElementTokenizer.java",
+ "longName": "src/main/java/org/sonar/xml/XmlStartElementTokenizer.java",
+ "path": "src/main/java/org/sonar/xml/XmlStartElementTokenizer.java",
+ "projectId": 17156,
+ "subProjectId": 17157
+ },
+ {
+ "uuid": "e1cf7541-9f52-4c9c-864e-85257b6126da",
+ "key": "org.codehaus.sonar-plugins.xml:xml-squid:src/main/java/org/sonar/xml/api",
+ "id": 26175,
+ "enabled": true,
+ "qualifier": "DIR",
+ "name": "src/main/java/org/sonar/xml/api",
+ "longName": "src/main/java/org/sonar/xml/api",
+ "path": "src/main/java/org/sonar/xml/api",
+ "projectId": 17156,
+ "subProjectId": 17157
+ },
+ {
+ "uuid": "23eaa59a-36dd-484d-9cb3-af9ddac0943f",
+ "key": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin:src/main/java/org/sonar/plugins/xml/parsers/AbstractParser.java",
+ "id": 17191,
+ "enabled": true,
+ "qualifier": "FIL",
+ "name": "AbstractParser.java",
+ "longName": "src/main/java/org/sonar/plugins/xml/parsers/AbstractParser.java",
+ "path": "src/main/java/org/sonar/plugins/xml/parsers/AbstractParser.java",
+ "projectId": 17156,
+ "subProjectId": 17158
+ },
+ {
+ "uuid": "730a7d9f-f280-48dd-9a09-de210f5db607",
+ "key": "org.codehaus.sonar-plugins.xml:xml-squid:src/main/java/org/sonar/xml",
+ "id": 26174,
+ "enabled": true,
+ "qualifier": "DIR",
+ "name": "src/main/java/org/sonar/xml",
+ "longName": "src/main/java/org/sonar/xml",
+ "path": "src/main/java/org/sonar/xml",
+ "projectId": 17156,
+ "subProjectId": 17157
+ },
+ {
+ "uuid": "45d36e11-d9ed-4157-8a2c-916d2e131af7",
+ "key": "org.codehaus.sonar-plugins.xml:sslr-xml-toolkit",
+ "id": 17257,
+ "enabled": true,
+ "qualifier": "BRC",
+ "name": "XML :: SSLR Toolkit",
+ "longName": "XML :: SSLR Toolkit",
+ "path": "sslr-xml-toolkit",
+ "projectId": 17156,
+ "subProjectId": 17156
+ },
+ {
+ "uuid": "e3ac3a3e-ac1b-4e3a-8e38-039e06a2ca38",
+ "key": "com.sonarsource.plugins.vb:vb-squid:src/main/java/com/sonar/vb/LineContinuationChannel.java",
+ "id": 28613,
+ "enabled": true,
+ "qualifier": "FIL",
+ "name": "LineContinuationChannel.java",
+ "longName": "src/main/java/com/sonar/vb/LineContinuationChannel.java",
+ "path": "src/main/java/com/sonar/vb/LineContinuationChannel.java",
+ "projectId": 28554,
+ "subProjectId": 28555
+ },
+ {
+ "uuid": "7428200d-ce03-464d-a099-593092cd0291",
+ "key": "com.sonarsource.plugins.vb:vb-checks:src/main/java/com/sonar/vb/checks/TrailingCommentCheck.java",
+ "id": 29769,
+ "enabled": true,
+ "qualifier": "FIL",
+ "name": "TrailingCommentCheck.java",
+ "longName": "src/main/java/com/sonar/vb/checks/TrailingCommentCheck.java",
+ "path": "src/main/java/com/sonar/vb/checks/TrailingCommentCheck.java",
+ "projectId": 28554,
+ "subProjectId": 29689
+ },
+ {
+ "uuid": "966aa6fd-9463-422c-b785-208ad519e4ea",
+ "key": "com.sonarsource.plugins.vb:vb-squid:src/main/java/com/sonar/vb/ProgressAstScanner.java",
+ "id": 28614,
+ "enabled": true,
+ "qualifier": "FIL",
+ "name": "ProgressAstScanner.java",
+ "longName": "src/main/java/com/sonar/vb/ProgressAstScanner.java",
+ "path": "src/main/java/com/sonar/vb/ProgressAstScanner.java",
+ "projectId": 28554,
+ "subProjectId": 28555
+ },
+ {
+ "uuid": "c236560b-b257-4f34-bb7b-3977d178e1ff",
+ "key": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin:src/main/java/org/sonar/plugins/xml/checks/AbstractXmlCheck.java",
+ "id": 17168,
+ "enabled": true,
+ "qualifier": "FIL",
+ "name": "AbstractXmlCheck.java",
+ "longName": "src/main/java/org/sonar/plugins/xml/checks/AbstractXmlCheck.java",
+ "path": "src/main/java/org/sonar/plugins/xml/checks/AbstractXmlCheck.java",
+ "projectId": 17156,
+ "subProjectId": 17158
+ },
+ {
+ "uuid": "26f2099c-664b-424a-b815-c017eb2165b1",
+ "key": "com.sonarsource.plugins.vb:vb-checks:src/main/java/com/sonar/vb/checks",
+ "id": 29690,
+ "enabled": true,
+ "qualifier": "DIR",
+ "name": "src/main/java/com/sonar/vb/checks",
+ "longName": "src/main/java/com/sonar/vb/checks",
+ "path": "src/main/java/com/sonar/vb/checks",
+ "projectId": 28554,
+ "subProjectId": 29689
+ },
+ {
+ "uuid": "4adacc63-7447-4bb1-95ae-1cc5102e8335",
+ "key": "com.sonarsource.plugins.vb:vb-checks",
+ "id": 29689,
+ "enabled": true,
+ "qualifier": "BRC",
+ "name": "SonarSource :: Visual Basic :: Checks",
+ "longName": "SonarSource :: Visual Basic :: Checks",
+ "path": "vb-checks",
+ "projectId": 28554,
+ "subProjectId": 28554
+ },
+ {
+ "uuid": "fa92c266-befe-460c-8bad-1ff13b918ec5",
+ "key": "com.sonarsource.plugins.vb:vb-squid:src/main/java/com/sonar/vb",
+ "id": 28611,
+ "enabled": true,
+ "qualifier": "DIR",
+ "name": "src/main/java/com/sonar/vb",
+ "longName": "src/main/java/com/sonar/vb",
+ "path": "src/main/java/com/sonar/vb",
+ "projectId": 28554,
+ "subProjectId": 28555
+ },
+ {
+ "uuid": "e92b1510-91c3-4479-8714-44fa3a139f7c",
+ "key": "com.sonarsource.plugins.vb:sonar-vb-plugin",
+ "id": 28610,
+ "enabled": true,
+ "qualifier": "BRC",
+ "name": "SonarSource :: Visual Basic :: Sonar Plugin",
+ "longName": "SonarSource :: Visual Basic :: Sonar Plugin",
+ "path": "sonar-vb-plugin",
+ "projectId": 28554,
+ "subProjectId": 28554
+ },
+ {
+ "uuid": "1f609143-c6a4-4f76-ac38-370d349feaf7",
+ "key": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin:src/main/java/org/sonar/plugins/xml/schemas",
+ "id": 26182,
+ "enabled": true,
+ "qualifier": "DIR",
+ "name": "src/main/java/org/sonar/plugins/xml/schemas",
+ "longName": "src/main/java/org/sonar/plugins/xml/schemas",
+ "path": "src/main/java/org/sonar/plugins/xml/schemas",
+ "projectId": 17156,
+ "subProjectId": 17158
+ },
+ {
+ "uuid": "7abb4d57-160a-41ba-927f-b53603e843b8",
+ "key": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin:src/main/java/org/sonar/plugins/xml/schemas/SchemaResolver.java",
+ "id": 17178,
+ "enabled": true,
+ "qualifier": "FIL",
+ "name": "SchemaResolver.java",
+ "longName": "src/main/java/org/sonar/plugins/xml/schemas/SchemaResolver.java",
+ "path": "src/main/java/org/sonar/plugins/xml/schemas/SchemaResolver.java",
+ "projectId": 17156,
+ "subProjectId": 17158
+ },
+ {
+ "uuid": "c960a7a1-e078-47de-8a31-167b0f774002",
+ "key": "org.codehaus.sonar-plugins.xml:sslr-xml-toolkit:src/main/java/org/sonar/xml/toolkit",
+ "id": 26183,
+ "enabled": true,
+ "qualifier": "DIR",
+ "name": "src/main/java/org/sonar/xml/toolkit",
+ "longName": "src/main/java/org/sonar/xml/toolkit",
+ "path": "src/main/java/org/sonar/xml/toolkit",
+ "projectId": 17156,
+ "subProjectId": 17257
+ },
+ {
+ "uuid": "7d14bd3e-33b7-4b0f-ade5-cf6cef0085b9",
+ "key": "com.sonarsource.plugins.vb:vb-squid",
+ "id": 28555,
+ "enabled": true,
+ "qualifier": "BRC",
+ "name": "SonarSource :: Visual Basic :: Squid",
+ "longName": "SonarSource :: Visual Basic :: Squid",
+ "path": "vb-squid",
+ "projectId": 28554,
+ "subProjectId": 28554
+ },
+ {
+ "uuid": "d9716626-0952-4ec7-a8fb-2760ba3256a3",
+ "key": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin:src/main/java/org/sonar/plugins/xml/parsers",
+ "id": 26180,
+ "enabled": true,
+ "qualifier": "DIR",
+ "name": "src/main/java/org/sonar/plugins/xml/parsers",
+ "longName": "src/main/java/org/sonar/plugins/xml/parsers",
+ "path": "src/main/java/org/sonar/plugins/xml/parsers",
+ "projectId": 17156,
+ "subProjectId": 17158
+ },
+ {
+ "uuid": "071bdfec-a244-444d-877e-772a68973e18",
+ "key": "com.sonarsource.plugins.vb:vb",
+ "id": 28554,
+ "enabled": true,
+ "qualifier": "TRK",
+ "name": "SonarSource :: Visual Basic",
+ "longName": "SonarSource :: Visual Basic"
+ },
+ {
+ "uuid": "99d31cea-6b8f-4fb6-ba87-c86ce8d339cf",
+ "key": "com.sonarsource.plugins.vb:vb-squid:src/main/java/com/sonar/vb/api",
+ "id": 28622,
+ "enabled": true,
+ "qualifier": "DIR",
+ "name": "src/main/java/com/sonar/vb/api",
+ "longName": "src/main/java/com/sonar/vb/api",
+ "path": "src/main/java/com/sonar/vb/api",
+ "projectId": 28554,
+ "subProjectId": 28555
+ },
+ {
+ "uuid": "26facc1b-fd2b-4fe4-a543-65e9ec692360",
+ "key": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin:src/main/java/org/sonar/plugins/xml/rules",
+ "id": 26181,
+ "enabled": true,
+ "qualifier": "DIR",
+ "name": "src/main/java/org/sonar/plugins/xml/rules",
+ "longName": "src/main/java/org/sonar/plugins/xml/rules",
+ "path": "src/main/java/org/sonar/plugins/xml/rules",
+ "projectId": 17156,
+ "subProjectId": 17158
+ },
+ {
+ "uuid": "d789993b-c5fe-414b-9164-33871fd3c3c2",
+ "key": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin:src/main/java/org/sonar/plugins/xml/checks",
+ "id": 26178,
+ "enabled": true,
+ "qualifier": "DIR",
+ "name": "src/main/java/org/sonar/plugins/xml/checks",
+ "longName": "src/main/java/org/sonar/plugins/xml/checks",
+ "path": "src/main/java/org/sonar/plugins/xml/checks",
+ "projectId": 17156,
+ "subProjectId": 17158
+ },
+ {
+ "uuid": "91715de9-47ed-4837-a51b-4dcead30a71c",
+ "key": "com.sonarsource.plugins.vb:sonar-vb-plugin:src/main/java/com/sonar/vb/plugin",
+ "id": 28952,
+ "enabled": true,
+ "qualifier": "DIR",
+ "name": "src/main/java/com/sonar/vb/plugin",
+ "longName": "src/main/java/com/sonar/vb/plugin",
+ "path": "src/main/java/com/sonar/vb/plugin",
+ "projectId": 28554,
+ "subProjectId": 28610
+ },
+ {
+ "uuid": "3c338bdb-39c9-4cb8-9b13-2e08358047d6",
+ "key": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin:src/main/java/org/sonar/plugins/xml/language",
+ "id": 26179,
+ "enabled": true,
+ "qualifier": "DIR",
+ "name": "src/main/java/org/sonar/plugins/xml/language",
+ "longName": "src/main/java/org/sonar/plugins/xml/language",
+ "path": "src/main/java/org/sonar/plugins/xml/language",
+ "projectId": 17156,
+ "subProjectId": 17158
+ },
+ {
+ "uuid": "639e257b-d3fb-4d10-b94a-31079b71532d",
+ "key": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin:src/main/java/org/sonar/plugins/xml",
+ "id": 26177,
+ "enabled": true,
+ "qualifier": "DIR",
+ "name": "src/main/java/org/sonar/plugins/xml",
+ "longName": "src/main/java/org/sonar/plugins/xml",
+ "path": "src/main/java/org/sonar/plugins/xml",
+ "projectId": 17156,
+ "subProjectId": 17158
+ },
+ {
+ "uuid": "08bafb36-5990-4f10-821c-534dc451d297",
+ "key": "com.sonarsource.plugins.vb:vb-checks:src/main/java/com/sonar/vb/checks/NumberedLineProcessor.java",
+ "id": 29907,
+ "enabled": true,
+ "qualifier": "FIL",
+ "name": "NumberedLineProcessor.java",
+ "longName": "src/main/java/com/sonar/vb/checks/NumberedLineProcessor.java",
+ "path": "src/main/java/com/sonar/vb/checks/NumberedLineProcessor.java",
+ "projectId": 28554,
+ "subProjectId": 29689
+ },
+ {
+ "uuid": "e3bb947b-9385-4972-8367-f69beb488d21",
+ "key": "com.sonarsource.plugins.vb:vb-squid:src/main/java/com/sonar/vb/metrics/LinesOfCodeVisitor.java",
+ "id": 28629,
+ "enabled": true,
+ "qualifier": "FIL",
+ "name": "LinesOfCodeVisitor.java",
+ "longName": "src/main/java/com/sonar/vb/metrics/LinesOfCodeVisitor.java",
+ "path": "src/main/java/com/sonar/vb/metrics/LinesOfCodeVisitor.java",
+ "projectId": 28554,
+ "subProjectId": 28555
+ },
+ {
+ "uuid": "dd9c314f-0c19-498d-9e16-67ef0b49486e",
+ "key": "com.sonarsource.plugins.vb:sonar-vb-plugin:src/main/java/com/sonar/vb/colorizer",
+ "id": 28932,
+ "enabled": true,
+ "qualifier": "DIR",
+ "name": "src/main/java/com/sonar/vb/colorizer",
+ "longName": "src/main/java/com/sonar/vb/colorizer",
+ "path": "src/main/java/com/sonar/vb/colorizer",
+ "projectId": 28554,
+ "subProjectId": 28610
+ },
+ {
+ "uuid": "9d771010-5d4f-49ed-9f70-ff131189610d",
+ "key": "com.sonarsource.plugins.vb:vb-squid:src/main/java/com/sonar/vb/pp",
+ "id": 28630,
+ "enabled": true,
+ "qualifier": "DIR",
+ "name": "src/main/java/com/sonar/vb/pp",
+ "longName": "src/main/java/com/sonar/vb/pp",
+ "path": "src/main/java/com/sonar/vb/pp",
+ "projectId": 28554,
+ "subProjectId": 28555
+ },
+ {
+ "uuid": "8597e351-39d2-4b17-8422-00409d21bccd",
+ "key": "com.sonarsource.plugins.vb:sonar-vb-plugin:src/main/java/com/sonar/vb/cpd",
+ "id": 28935,
+ "enabled": true,
+ "qualifier": "DIR",
+ "name": "src/main/java/com/sonar/vb/cpd",
+ "longName": "src/main/java/com/sonar/vb/cpd",
+ "path": "src/main/java/com/sonar/vb/cpd",
+ "projectId": 28554,
+ "subProjectId": 28610
+ },
+ {
+ "uuid": "9d44133a-d633-48b4-a54b-800df905a1fd",
+ "key": "com.sonarsource.plugins.vb:vb-squid:src/main/java/com/sonar/vb/pp/EmptyLinesRemovalPreprocessor.java",
+ "id": 28631,
+ "enabled": true,
+ "qualifier": "FIL",
+ "name": "EmptyLinesRemovalPreprocessor.java",
+ "longName": "src/main/java/com/sonar/vb/pp/EmptyLinesRemovalPreprocessor.java",
+ "path": "src/main/java/com/sonar/vb/pp/EmptyLinesRemovalPreprocessor.java",
+ "projectId": 28554,
+ "subProjectId": 28555
+ },
+ {
+ "uuid": "b6d552ca-aabe-499b-9c72-18247177ae68",
+ "key": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin",
+ "id": 17158,
+ "enabled": true,
+ "qualifier": "BRC",
+ "name": "XML :: SonarQube Plugin",
+ "longName": "XML :: SonarQube Plugin",
+ "path": "sonar-xml-plugin",
+ "projectId": 17156,
+ "subProjectId": 17156
+ },
+ {
+ "uuid": "2e9ae8fd-fa5c-48a4-a0f6-1eaba1c38a2f",
+ "key": "com.sonarsource.plugins.vb:sonar-vb-plugin:src/main/java/com/sonar/vb/batch",
+ "id": 28928,
+ "enabled": true,
+ "qualifier": "DIR",
+ "name": "src/main/java/com/sonar/vb/batch",
+ "longName": "src/main/java/com/sonar/vb/batch",
+ "path": "src/main/java/com/sonar/vb/batch",
+ "projectId": 28554,
+ "subProjectId": 28610
+ },
+ {
+ "uuid": "015c6451-1709-4360-b4fa-e4508e13082d",
+ "key": "org.codehaus.sonar-plugins.xml:xml",
+ "id": 17156,
+ "enabled": true,
+ "qualifier": "TRK",
+ "name": "XML",
+ "longName": "XML"
+ },
+ {
+ "uuid": "1bb3f177-d173-469e-a178-6ae8078bd765",
+ "key": "com.sonarsource.plugins.vb:vb-squid:src/main/java/com/sonar/vb/metrics",
+ "id": 28626,
+ "enabled": true,
+ "qualifier": "DIR",
+ "name": "src/main/java/com/sonar/vb/metrics",
+ "longName": "src/main/java/com/sonar/vb/metrics",
+ "path": "src/main/java/com/sonar/vb/metrics",
+ "projectId": 28554,
+ "subProjectId": 28555
+ },
+ {
+ "uuid": "216ebdfc-9fc9-4c06-9f14-859d051fae69",
+ "key": "org.codehaus.sonar-plugins.xml:xml-squid",
+ "id": 17157,
+ "enabled": true,
+ "qualifier": "BRC",
+ "name": "XML :: Squid",
+ "longName": "XML :: Squid",
+ "path": "xml-squid",
+ "projectId": 17156,
+ "subProjectId": 17156
+ },
+ {
+ "uuid": "aad717d1-12f5-48c0-9273-0c9aac102467",
+ "key": "com.sonarsource.plugins.vb:vb-squid:src/main/java/com/sonar/vb/metrics/CommentsVisitor.java",
+ "id": 28627,
+ "enabled": true,
+ "qualifier": "FIL",
+ "name": "CommentsVisitor.java",
+ "longName": "src/main/java/com/sonar/vb/metrics/CommentsVisitor.java",
+ "path": "src/main/java/com/sonar/vb/metrics/CommentsVisitor.java",
+ "projectId": 28554,
+ "subProjectId": 28555
+ },
+ {
+ "uuid": "53ecdff7-a6af-4cc9-b30c-7656a33cf732",
+ "key": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin:src/main/java/org/sonar/plugins/xml/checks/XPathCheck.java",
+ "id": 17162,
+ "enabled": true,
+ "qualifier": "FIL",
+ "name": "XPathCheck.java",
+ "longName": "src/main/java/org/sonar/plugins/xml/checks/XPathCheck.java",
+ "path": "src/main/java/org/sonar/plugins/xml/checks/XPathCheck.java",
+ "projectId": 17156,
+ "subProjectId": 17158
+ },
+ {
+ "uuid": "d8f590fb-5a56-49a9-991c-4c9d4ec5a7fe",
+ "key": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin:src/main/java/org/sonar/plugins/xml/checks/IndentCheck.java",
+ "id": 17163,
+ "enabled": true,
+ "qualifier": "FIL",
+ "name": "IndentCheck.java",
+ "longName": "src/main/java/org/sonar/plugins/xml/checks/IndentCheck.java",
+ "path": "src/main/java/org/sonar/plugins/xml/checks/IndentCheck.java",
+ "projectId": 17156,
+ "subProjectId": 17158
+ },
+ {
+ "uuid": "7d79ad61-0f0a-449a-bdce-fd544c8d8d27",
+ "key": "org.codehaus.sonar-plugins.xml:xml-squid:src/main/java/org/sonar/xml/api/XmlGrammar.java",
+ "id": 17160,
+ "enabled": true,
+ "qualifier": "FIL",
+ "name": "XmlGrammar.java",
+ "longName": "src/main/java/org/sonar/xml/api/XmlGrammar.java",
+ "path": "src/main/java/org/sonar/xml/api/XmlGrammar.java",
+ "projectId": 17156,
+ "subProjectId": 17157
+ },
+ {
+ "uuid": "be763c66-8400-432d-9e84-bc2e9d6e164c",
+ "key": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin:src/main/java/org/sonar/plugins/xml/checks/NewlineCheck.java",
+ "id": 17166,
+ "enabled": true,
+ "qualifier": "FIL",
+ "name": "NewlineCheck.java",
+ "longName": "src/main/java/org/sonar/plugins/xml/checks/NewlineCheck.java",
+ "path": "src/main/java/org/sonar/plugins/xml/checks/NewlineCheck.java",
+ "projectId": 17156,
+ "subProjectId": 17158
+ },
+ {
+ "uuid": "c2c82fc7-073f-449e-bb18-ebbf60ceb1d9",
+ "key": "com.sonarsource.plugins.vb:sonar-vb-plugin:src/main/java/com/sonar/vb/cpd/VbCpdTokenizer.java",
+ "id": 28937,
+ "enabled": true,
+ "qualifier": "FIL",
+ "name": "VbCpdTokenizer.java",
+ "longName": "src/main/java/com/sonar/vb/cpd/VbCpdTokenizer.java",
+ "path": "src/main/java/com/sonar/vb/cpd/VbCpdTokenizer.java",
+ "projectId": 28554,
+ "subProjectId": 28610
+ },
+ {
+ "uuid": "bc2e055a-eb0a-4ba6-8c06-8390bdb2c08a",
+ "key": "com.sonarsource.plugins.vb:vb-checks:src/main/java/com/sonar/vb/checks/ExpressionComplexityCheck.java",
+ "id": 29783,
+ "enabled": true,
+ "qualifier": "FIL",
+ "name": "ExpressionComplexityCheck.java",
+ "longName": "src/main/java/com/sonar/vb/checks/ExpressionComplexityCheck.java",
+ "path": "src/main/java/com/sonar/vb/checks/ExpressionComplexityCheck.java",
+ "projectId": 28554,
+ "subProjectId": 29689
+ },
+ {
+ "uuid": "7bbe651e-5b83-4002-9fa9-79397693d529",
+ "key": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin:src/main/java/org/sonar/plugins/xml/checks/XmlSchemaCheck.java",
+ "id": 17164,
+ "enabled": true,
+ "qualifier": "FIL",
+ "name": "XmlSchemaCheck.java",
+ "longName": "src/main/java/org/sonar/plugins/xml/checks/XmlSchemaCheck.java",
+ "path": "src/main/java/org/sonar/plugins/xml/checks/XmlSchemaCheck.java",
+ "projectId": 17156,
+ "subProjectId": 17158
+ },
+ {
+ "uuid": "2dc0e6d7-09b9-4f99-a25e-acf288b26581",
+ "key": "com.sonarsource.plugins.vb:sonar-vb-plugin:src/main/java/com/sonar/vb/foundation",
+ "id": 28938,
+ "enabled": true,
+ "qualifier": "DIR",
+ "name": "src/main/java/com/sonar/vb/foundation",
+ "longName": "src/main/java/com/sonar/vb/foundation",
+ "path": "src/main/java/com/sonar/vb/foundation",
+ "projectId": 28554,
+ "subProjectId": 28610
+ }
+ ],
+ "issues": [
+ {
+ "key": "94357807-fcb4-40cc-9598-9a715f1eee6e",
+ "component": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin:src/main/java/org/sonar/plugins/xml",
+ "componentId": 26177,
+ "project": "org.codehaus.sonar-plugins.xml:xml",
+ "rule": "squid:S1228",
+ "status": "CONFIRMED",
+ "severity": "MAJOR",
+ "message": "Add a 'package-info.java' file to document the 'src/main/java/org/sonar/plugins/xml' package",
+ "debt": "20min",
+ "creationDate": "2014-10-03T23:26:37+0200",
+ "updateDate": "2014-10-09T06:32:55+0200",
+ "fUpdateAge": "26 days",
+ "actions": [
+ "comment",
+ "assign",
+ "assign_to_me",
+ "plan",
+ "set_severity"
+ ],
+ "transitions": [
+ "unconfirm",
+ "resolve",
+ "falsepositive"
+ ]
+ },
+ {
+ "key": "c24088ec-b204-4744-827e-7509fd34c2a7",
+ "component": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin:src/main/java/org/sonar/plugins/xml/checks",
+ "componentId": 26178,
+ "project": "org.codehaus.sonar-plugins.xml:xml",
+ "rule": "squid:S1228",
+ "status": "CONFIRMED",
+ "severity": "MAJOR",
+ "message": "Add a 'package-info.java' file to document the 'src/main/java/org/sonar/plugins/xml/checks' package",
+ "debt": "20min",
+ "creationDate": "2014-10-03T23:26:37+0200",
+ "updateDate": "2014-10-09T06:33:02+0200",
+ "fUpdateAge": "26 days",
+ "actions": [
+ "comment",
+ "assign",
+ "assign_to_me",
+ "plan",
+ "set_severity"
+ ],
+ "transitions": [
+ "unconfirm",
+ "resolve",
+ "falsepositive"
+ ]
+ },
+ {
+ "key": "e5f8e82a-2765-4084-ba57-4a81ee8da1df",
+ "component": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin:src/main/java/org/sonar/plugins/xml/checks/AbstractXmlCheck.java",
+ "componentId": 17168,
+ "project": "org.codehaus.sonar-plugins.xml:xml",
+ "rule": "common-java:InsufficientBranchCoverage",
+ "status": "CONFIRMED",
+ "severity": "MAJOR",
+ "message": "1 more branches need to be covered by unit tests to reach the minimum threshold of 65.0% branch coverage.",
+ "debt": "10min",
+ "creationDate": "2013-02-05T00:47:29+0100",
+ "updateDate": "2014-02-14T23:34:11+0100",
+ "fUpdateAge": "8 months",
+ "actions": [
+ "comment",
+ "assign",
+ "assign_to_me",
+ "plan",
+ "set_severity"
+ ],
+ "transitions": [
+ "unconfirm",
+ "resolve",
+ "falsepositive"
+ ]
+ },
+ {
+ "key": "56f021c3-b717-4cc8-9fad-5f1911a8d66f",
+ "component": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin:src/main/java/org/sonar/plugins/xml/checks/IndentCheck.java",
+ "componentId": 17163,
+ "project": "org.codehaus.sonar-plugins.xml:xml",
+ "rule": "squid:MethodCyclomaticComplexity",
+ "status": "CONFIRMED",
+ "severity": "MAJOR",
+ "message": "The Cyclomatic Complexity of this method \"collectIndent\" is 13 which is greater than 10 authorized.",
+ "line": 47,
+ "debt": "10min",
+ "author": "Evgeny Mandrikov",
+ "creationDate": "2013-02-05T00:47:29+0100",
+ "updateDate": "2013-12-18T23:52:20+0100",
+ "fUpdateAge": "10 months",
+ "actions": [
+ "comment",
+ "assign",
+ "assign_to_me",
+ "plan",
+ "set_severity"
+ ],
+ "transitions": [
+ "unconfirm",
+ "resolve",
+ "falsepositive"
+ ]
+ },
+ {
+ "key": "b32333fe-7efd-4bc8-a72b-bad90361af1a",
+ "component": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin:src/main/java/org/sonar/plugins/xml/checks/IndentCheck.java",
+ "componentId": 17163,
+ "project": "org.codehaus.sonar-plugins.xml:xml",
+ "rule": "squid:S1151",
+ "status": "CONFIRMED",
+ "severity": "MAJOR",
+ "message": "Reduce this switch case number of lines from 26 to at most 5, for example by extracting code into methods.",
+ "line": 54,
+ "debt": "10min",
+ "author": "Evgeny Mandrikov",
+ "creationDate": "2013-08-11T00:06:49+0200",
+ "updateDate": "2013-10-23T15:15:05+0200",
+ "fUpdateAge": "about a year",
+ "actions": [
+ "comment",
+ "assign",
+ "assign_to_me",
+ "plan",
+ "set_severity"
+ ],
+ "transitions": [
+ "unconfirm",
+ "resolve",
+ "falsepositive"
+ ]
+ },
+ {
+ "key": "2174148b-6be9-4213-8f57-c63576904e9e",
+ "component": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin:src/main/java/org/sonar/plugins/xml/checks/IndentCheck.java",
+ "componentId": 17163,
+ "project": "org.codehaus.sonar-plugins.xml:xml",
+ "rule": "squid:S134",
+ "status": "CONFIRMED",
+ "severity": "MINOR",
+ "message": "Refactor this code to not nest more than 4 if/for/while/switch/try statements.",
+ "line": 59,
+ "debt": "20min",
+ "author": "mandrikov@gmail.com",
+ "creationDate": "2013-10-18T23:46:56+0200",
+ "updateDate": "2013-12-18T23:52:20+0100",
+ "fUpdateAge": "10 months",
+ "actions": [
+ "comment",
+ "assign",
+ "assign_to_me",
+ "plan",
+ "set_severity"
+ ],
+ "transitions": [
+ "unconfirm",
+ "resolve",
+ "falsepositive"
+ ]
+ },
+ {
+ "key": "633c9ba7-b757-4bdf-9e91-ff2ccbc9dd74",
+ "component": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin:src/main/java/org/sonar/plugins/xml/checks/NewlineCheck.java",
+ "componentId": 17166,
+ "project": "org.codehaus.sonar-plugins.xml:xml",
+ "rule": "squid:S1151",
+ "status": "CONFIRMED",
+ "severity": "MAJOR",
+ "message": "Reduce this switch case number of lines from 9 to at most 5, for example by extracting code into methods.",
+ "line": 49,
+ "debt": "10min",
+ "author": "Evgeny Mandrikov",
+ "creationDate": "2013-08-11T00:06:49+0200",
+ "updateDate": "2013-10-23T15:15:05+0200",
+ "fUpdateAge": "about a year",
+ "actions": [
+ "comment",
+ "assign",
+ "assign_to_me",
+ "plan",
+ "set_severity"
+ ],
+ "transitions": [
+ "unconfirm",
+ "resolve",
+ "falsepositive"
+ ]
+ },
+ {
+ "key": "63f5037f-a060-4cec-820a-25221a4cc313",
+ "component": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin:src/main/java/org/sonar/plugins/xml/checks/NewlineCheck.java",
+ "componentId": 17166,
+ "project": "org.codehaus.sonar-plugins.xml:xml",
+ "rule": "squid:S1151",
+ "status": "CONFIRMED",
+ "severity": "MAJOR",
+ "message": "Reduce this switch case number of lines from 6 to at most 5, for example by extracting code into methods.",
+ "line": 58,
+ "debt": "10min",
+ "author": "Evgeny Mandrikov",
+ "creationDate": "2013-08-13T23:58:09+0200",
+ "updateDate": "2013-10-23T15:15:05+0200",
+ "fUpdateAge": "about a year",
+ "actions": [
+ "comment",
+ "assign",
+ "assign_to_me",
+ "plan",
+ "set_severity"
+ ],
+ "transitions": [
+ "unconfirm",
+ "resolve",
+ "falsepositive"
+ ]
+ },
+ {
+ "key": "bf75fe08-7ddc-4c69-989d-7e5b83cee043",
+ "component": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin:src/main/java/org/sonar/plugins/xml/checks/XmlSchemaCheck.java",
+ "componentId": 17164,
+ "project": "org.codehaus.sonar-plugins.xml:xml",
+ "rule": "squid:RightCurlyBraceSameLineAsNextBlockCheck",
+ "status": "CONFIRMED",
+ "severity": "MAJOR",
+ "message": "Move this \"else\" on the same line that the previous closing curly brace.",
+ "line": 167,
+ "debt": "1min",
+ "author": "Evgeny Mandrikov",
+ "creationDate": "2013-08-07T23:58:51+0200",
+ "updateDate": "2013-10-23T15:15:05+0200",
+ "fUpdateAge": "about a year",
+ "actions": [
+ "comment",
+ "assign",
+ "assign_to_me",
+ "plan",
+ "set_severity"
+ ],
+ "transitions": [
+ "unconfirm",
+ "resolve",
+ "falsepositive"
+ ]
+ },
+ {
+ "key": "6d6e64ae-94cd-4367-a9bc-df51093a6468",
+ "component": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin:src/main/java/org/sonar/plugins/xml/checks/XmlSchemaCheck.java",
+ "componentId": 17164,
+ "project": "org.codehaus.sonar-plugins.xml:xml",
+ "rule": "common-java:InsufficientBranchCoverage",
+ "status": "CONFIRMED",
+ "severity": "MAJOR",
+ "message": "5 more branches need to be covered by unit tests to reach the minimum threshold of 65.0% branch coverage.",
+ "debt": "50min",
+ "creationDate": "2013-02-05T00:47:29+0100",
+ "updateDate": "2014-06-06T15:53:08+0200",
+ "fUpdateAge": "5 months",
+ "actions": [
+ "comment",
+ "assign",
+ "assign_to_me",
+ "plan",
+ "set_severity"
+ ],
+ "transitions": [
+ "unconfirm",
+ "resolve",
+ "falsepositive"
+ ]
+ },
+ {
+ "key": "5ddc1783-3c72-4f68-bbd1-d2d1fad425eb",
+ "component": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin:src/main/java/org/sonar/plugins/xml/checks/XPathCheck.java",
+ "componentId": 17162,
+ "project": "org.codehaus.sonar-plugins.xml:xml",
+ "rule": "common-java:InsufficientBranchCoverage",
+ "status": "CONFIRMED",
+ "severity": "MAJOR",
+ "message": "1 more branches need to be covered by unit tests to reach the minimum threshold of 65.0% branch coverage.",
+ "debt": "10min",
+ "creationDate": "2014-06-06T15:53:08+0200",
+ "updateDate": "2014-06-06T16:53:27+0200",
+ "fUpdateAge": "5 months",
+ "actions": [
+ "comment",
+ "assign",
+ "assign_to_me",
+ "plan",
+ "set_severity"
+ ],
+ "transitions": [
+ "unconfirm",
+ "resolve",
+ "falsepositive"
+ ]
+ },
+ {
+ "key": "f0853649-fe5e-4c6c-92b9-42ad460fcc0f",
+ "component": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin:src/main/java/org/sonar/plugins/xml/language",
+ "componentId": 26179,
+ "project": "org.codehaus.sonar-plugins.xml:xml",
+ "rule": "squid:S1228",
+ "status": "CONFIRMED",
+ "severity": "MAJOR",
+ "message": "Add a 'package-info.java' file to document the 'src/main/java/org/sonar/plugins/xml/language' package",
+ "debt": "20min",
+ "creationDate": "2014-10-03T23:26:37+0200",
+ "updateDate": "2014-10-09T06:32:43+0200",
+ "fUpdateAge": "26 days",
+ "actions": [
+ "comment",
+ "assign",
+ "assign_to_me",
+ "plan",
+ "set_severity"
+ ],
+ "transitions": [
+ "unconfirm",
+ "resolve",
+ "falsepositive"
+ ]
+ },
+ {
+ "key": "24f4c570-a96d-42ea-a99e-60aded51d69c",
+ "component": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin:src/main/java/org/sonar/plugins/xml/parsers",
+ "componentId": 26180,
+ "project": "org.codehaus.sonar-plugins.xml:xml",
+ "rule": "squid:S1228",
+ "status": "CONFIRMED",
+ "severity": "MAJOR",
+ "message": "Add a 'package-info.java' file to document the 'src/main/java/org/sonar/plugins/xml/parsers' package",
+ "debt": "20min",
+ "creationDate": "2014-10-03T23:26:37+0200",
+ "updateDate": "2014-10-09T06:32:48+0200",
+ "fUpdateAge": "26 days",
+ "actions": [
+ "comment",
+ "assign",
+ "assign_to_me",
+ "plan",
+ "set_severity"
+ ],
+ "transitions": [
+ "unconfirm",
+ "resolve",
+ "falsepositive"
+ ]
+ },
+ {
+ "key": "aeeb9e4e-fd39-4b7e-a482-36d9da710127",
+ "component": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin:src/main/java/org/sonar/plugins/xml/parsers/AbstractParser.java",
+ "componentId": 17191,
+ "project": "org.codehaus.sonar-plugins.xml:xml",
+ "rule": "squid:S1694",
+ "status": "OPEN",
+ "severity": "MAJOR",
+ "message": "Convert this \"AbstractParser\" class to a concrete class with a private constructor",
+ "line": 33,
+ "debt": "5min",
+ "author": "matthijs.galesloot@gmail.com",
+ "creationDate": "2014-06-26T23:08:13+0200",
+ "updateDate": "2014-07-23T23:07:58+0200",
+ "fUpdateAge": "3 months",
+ "actions": [
+ "comment",
+ "assign",
+ "assign_to_me",
+ "plan",
+ "set_severity"
+ ],
+ "transitions": [
+ "confirm",
+ "resolve",
+ "falsepositive"
+ ]
+ },
+ {
+ "key": "66a25a73-b555-4c35-8bc5-536da40a3493",
+ "component": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin:src/main/java/org/sonar/plugins/xml/rules",
+ "componentId": 26181,
+ "project": "org.codehaus.sonar-plugins.xml:xml",
+ "rule": "squid:S1228",
+ "status": "CONFIRMED",
+ "severity": "MAJOR",
+ "message": "Add a 'package-info.java' file to document the 'src/main/java/org/sonar/plugins/xml/rules' package",
+ "debt": "20min",
+ "creationDate": "2014-10-03T23:26:37+0200",
+ "updateDate": "2014-10-09T06:33:03+0200",
+ "fUpdateAge": "26 days",
+ "actions": [
+ "comment",
+ "assign",
+ "assign_to_me",
+ "plan",
+ "set_severity"
+ ],
+ "transitions": [
+ "unconfirm",
+ "resolve",
+ "falsepositive"
+ ]
+ },
+ {
+ "key": "89695ec6-63c2-457f-966b-b2cfd7ad8489",
+ "component": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin:src/main/java/org/sonar/plugins/xml/schemas",
+ "componentId": 26182,
+ "project": "org.codehaus.sonar-plugins.xml:xml",
+ "rule": "squid:S1228",
+ "status": "CONFIRMED",
+ "severity": "MAJOR",
+ "message": "Add a 'package-info.java' file to document the 'src/main/java/org/sonar/plugins/xml/schemas' package",
+ "debt": "20min",
+ "creationDate": "2014-10-03T23:26:37+0200",
+ "updateDate": "2014-10-09T06:32:50+0200",
+ "fUpdateAge": "26 days",
+ "actions": [
+ "comment",
+ "assign",
+ "assign_to_me",
+ "plan",
+ "set_severity"
+ ],
+ "transitions": [
+ "unconfirm",
+ "resolve",
+ "falsepositive"
+ ]
+ },
+ {
+ "key": "3ac6d2e6-6af2-435f-abc7-b281f3676d34",
+ "component": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin:src/main/java/org/sonar/plugins/xml/schemas/SchemaResolver.java",
+ "componentId": 17178,
+ "project": "org.codehaus.sonar-plugins.xml:xml",
+ "rule": "squid:S1192",
+ "status": "CONFIRMED",
+ "severity": "MINOR",
+ "message": "Define a constant instead of duplicating this literal \"xhtml1/xhtml1-strict.xsd\" 3 times.",
+ "line": 58,
+ "debt": "10min",
+ "author": "Evgeny Mandrikov",
+ "creationDate": "2013-08-22T23:52:06+0200",
+ "updateDate": "2014-04-24T23:32:18+0200",
+ "fUpdateAge": "6 months",
+ "actions": [
+ "comment",
+ "assign",
+ "assign_to_me",
+ "plan",
+ "set_severity"
+ ],
+ "transitions": [
+ "unconfirm",
+ "resolve",
+ "falsepositive"
+ ]
+ },
+ {
+ "key": "39942422-fbc2-4383-81fe-82777eb3ce7f",
+ "component": "org.codehaus.sonar-plugins.xml:xml-squid:src/main/java/org/sonar/xml",
+ "componentId": 26174,
+ "project": "org.codehaus.sonar-plugins.xml:xml",
+ "rule": "squid:S1228",
+ "status": "CONFIRMED",
+ "severity": "MAJOR",
+ "message": "Add a 'package-info.java' file to document the 'src/main/java/org/sonar/xml' package",
+ "debt": "20min",
+ "creationDate": "2014-10-03T23:26:37+0200",
+ "updateDate": "2014-10-09T06:33:07+0200",
+ "fUpdateAge": "26 days",
+ "actions": [
+ "comment",
+ "assign",
+ "assign_to_me",
+ "plan",
+ "set_severity"
+ ],
+ "transitions": [
+ "unconfirm",
+ "resolve",
+ "falsepositive"
+ ]
+ },
+ {
+ "key": "e44fb44e-df1c-460a-b807-66ff79e21194",
+ "component": "org.codehaus.sonar-plugins.xml:xml-squid:src/main/java/org/sonar/xml/api",
+ "componentId": 26175,
+ "project": "org.codehaus.sonar-plugins.xml:xml",
+ "rule": "squid:S1228",
+ "status": "CONFIRMED",
+ "severity": "MAJOR",
+ "message": "Add a 'package-info.java' file to document the 'src/main/java/org/sonar/xml/api' package",
+ "debt": "20min",
+ "creationDate": "2014-10-03T23:26:37+0200",
+ "updateDate": "2014-10-09T06:32:52+0200",
+ "fUpdateAge": "26 days",
+ "actions": [
+ "comment",
+ "assign",
+ "assign_to_me",
+ "plan",
+ "set_severity"
+ ],
+ "transitions": [
+ "unconfirm",
+ "resolve",
+ "falsepositive"
+ ]
+ },
+ {
+ "key": "08f9aedf-5119-4875-8e58-260bfc2e3f69",
+ "component": "org.codehaus.sonar-plugins.xml:xml-squid:src/main/java/org/sonar/xml/api/XmlGrammar.java",
+ "componentId": 17160,
+ "project": "org.codehaus.sonar-plugins.xml:xml",
+ "rule": "squid:S138",
+ "status": "CONFIRMED",
+ "severity": "MAJOR",
+ "message": "This method has 233 lines, which is greater than the 100 lines authorized. Split it into smaller methods.",
+ "line": 134,
+ "debt": "1h",
+ "author": "Dinesh Bolkensteyn",
+ "creationDate": "2013-08-22T23:52:06+0200",
+ "updateDate": "2013-10-23T15:15:05+0200",
+ "fUpdateAge": "about a year",
+ "actions": [
+ "comment",
+ "assign",
+ "assign_to_me",
+ "plan",
+ "set_severity"
+ ],
+ "transitions": [
+ "unconfirm",
+ "resolve",
+ "falsepositive"
+ ]
+ },
+ {
+ "key": "f781c518-83bd-4bd9-8806-c889d0711a39",
+ "component": "org.codehaus.sonar-plugins.xml:xml-squid:src/main/java/org/sonar/xml/CDataDocTokenizer.java",
+ "componentId": 19130,
+ "project": "org.codehaus.sonar-plugins.xml:xml",
+ "rule": "squid:S1067",
+ "status": "CONFIRMED",
+ "severity": "MAJOR",
+ "message": "Reduce the number of conditional operators (4) used in the expression (maximum allowed 3).",
+ "line": 47,
+ "debt": "10min",
+ "author": "Dinesh Bolkensteyn",
+ "creationDate": "2013-08-28T23:50:16+0200",
+ "updateDate": "2013-10-23T15:15:05+0200",
+ "fUpdateAge": "about a year",
+ "actions": [
+ "comment",
+ "assign",
+ "assign_to_me",
+ "plan",
+ "set_severity"
+ ],
+ "transitions": [
+ "unconfirm",
+ "resolve",
+ "falsepositive"
+ ]
+ },
+ {
+ "key": "cdde8bbf-9d13-4832-8faa-4d189d79fb6b",
+ "component": "org.codehaus.sonar-plugins.xml:xml-squid:src/main/java/org/sonar/xml/CDataDocTokenizer.java",
+ "componentId": 19130,
+ "project": "org.codehaus.sonar-plugins.xml:xml",
+ "rule": "squid:S1698",
+ "status": "OPEN",
+ "severity": "MAJOR",
+ "message": "Change this comparison to use the equals method.",
+ "line": 82,
+ "debt": "2min",
+ "author": "dinesh.bolkensteyn@sonarsource.com",
+ "creationDate": "2014-06-26T23:08:13+0200",
+ "updateDate": "2014-06-26T23:08:13+0200",
+ "fUpdateAge": "4 months",
+ "actions": [
+ "comment",
+ "assign",
+ "assign_to_me",
+ "plan",
+ "set_severity"
+ ],
+ "transitions": [
+ "confirm",
+ "resolve",
+ "falsepositive"
+ ]
+ },
+ {
+ "key": "f9eae4c0-ca44-440f-aeb7-327dca040f57",
+ "component": "org.codehaus.sonar-plugins.xml:xml-squid:src/main/java/org/sonar/xml/CDataDocTokenizer.java",
+ "componentId": 19130,
+ "project": "org.codehaus.sonar-plugins.xml:xml",
+ "rule": "common-java:InsufficientBranchCoverage",
+ "status": "CONFIRMED",
+ "severity": "MAJOR",
+ "message": "3 more branches need to be covered by unit tests to reach the minimum threshold of 65.0% branch coverage.",
+ "debt": "30min",
+ "creationDate": "2013-04-04T15:37:48+0200",
+ "updateDate": "2014-02-14T23:34:11+0100",
+ "fUpdateAge": "8 months",
+ "actions": [
+ "comment",
+ "assign",
+ "assign_to_me",
+ "plan",
+ "set_severity"
+ ],
+ "transitions": [
+ "unconfirm",
+ "resolve",
+ "falsepositive"
+ ]
+ },
+ {
+ "key": "19516152-0ad2-485a-bc5f-576d19f5dea4",
+ "component": "org.codehaus.sonar-plugins.xml:sslr-xml-toolkit:src/main/java/org/sonar/xml/toolkit",
+ "componentId": 26183,
+ "project": "org.codehaus.sonar-plugins.xml:xml",
+ "rule": "squid:S1228",
+ "status": "CONFIRMED",
+ "severity": "MAJOR",
+ "message": "Add a 'package-info.java' file to document the 'src/main/java/org/sonar/xml/toolkit' package",
+ "debt": "20min",
+ "creationDate": "2014-10-03T23:26:37+0200",
+ "updateDate": "2014-10-09T06:33:05+0200",
+ "fUpdateAge": "26 days",
+ "actions": [
+ "comment",
+ "assign",
+ "assign_to_me",
+ "plan",
+ "set_severity"
+ ],
+ "transitions": [
+ "unconfirm",
+ "resolve",
+ "falsepositive"
+ ]
+ },
+ {
+ "key": "2c767e87-dd31-4803-b8da-581dddb8b73b",
+ "component": "org.codehaus.sonar-plugins.xml:xml-squid:src/main/java/org/sonar/xml/XmlStartElementTokenizer.java",
+ "componentId": 19132,
+ "project": "org.codehaus.sonar-plugins.xml:xml",
+ "rule": "squid:S1142",
+ "status": "CONFIRMED",
+ "severity": "MAJOR",
+ "message": "Reduce the number of returns of this method 7, down to the maximum allowed 5.",
+ "line": 74,
+ "debt": "20min",
+ "author": "Dinesh Bolkensteyn",
+ "creationDate": "2013-08-11T00:06:49+0200",
+ "updateDate": "2013-10-23T15:15:05+0200",
+ "fUpdateAge": "about a year",
+ "actions": [
+ "comment",
+ "assign",
+ "assign_to_me",
+ "plan",
+ "set_severity"
+ ],
+ "transitions": [
+ "unconfirm",
+ "resolve",
+ "falsepositive"
+ ]
+ },
+ {
+ "key": "f8665ff6-6f1b-4014-acb9-2d8cbcd9bd8b",
+ "component": "org.codehaus.sonar-plugins.xml:xml-squid:src/main/java/org/sonar/xml/XmlStartElementTokenizer.java",
+ "componentId": 19132,
+ "project": "org.codehaus.sonar-plugins.xml:xml",
+ "rule": "squid:MethodCyclomaticComplexity",
+ "status": "CONFIRMED",
+ "severity": "MAJOR",
+ "message": "The Cyclomatic Complexity of this method \"consumeStartElement\" is 15 which is greater than 10 authorized.",
+ "line": 74,
+ "debt": "10min",
+ "author": "Dinesh Bolkensteyn",
+ "creationDate": "2013-04-04T15:37:48+0200",
+ "updateDate": "2013-12-18T23:52:20+0100",
+ "fUpdateAge": "10 months",
+ "actions": [
+ "comment",
+ "assign",
+ "assign_to_me",
+ "plan",
+ "set_severity"
+ ],
+ "transitions": [
+ "unconfirm",
+ "resolve",
+ "falsepositive"
+ ]
+ },
+ {
+ "key": "5f039a47-9dcc-474e-894c-5598720cb4e0",
+ "component": "org.codehaus.sonar-plugins.xml:xml-squid:src/main/java/org/sonar/xml/XmlStartElementTokenizer.java",
+ "componentId": 19132,
+ "project": "org.codehaus.sonar-plugins.xml:xml",
+ "rule": "squid:S1698",
+ "status": "OPEN",
+ "severity": "MAJOR",
+ "message": "Change this comparison to use the equals method.",
+ "line": 155,
+ "debt": "2min",
+ "author": "dinesh.bolkensteyn@sonarsource.com",
+ "creationDate": "2014-06-26T23:08:13+0200",
+ "updateDate": "2014-06-26T23:08:13+0200",
+ "fUpdateAge": "4 months",
+ "actions": [
+ "comment",
+ "assign",
+ "assign_to_me",
+ "plan",
+ "set_severity"
+ ],
+ "transitions": [
+ "confirm",
+ "resolve",
+ "falsepositive"
+ ]
+ },
+ {
+ "key": "7985c68b-2a1d-4aa7-af55-bb6236a01450",
+ "component": "org.codehaus.sonar-plugins.xml:xml-squid:src/main/java/org/sonar/xml/XmlStartElementTokenizer.java",
+ "componentId": 19132,
+ "project": "org.codehaus.sonar-plugins.xml:xml",
+ "rule": "squid:S1698",
+ "status": "OPEN",
+ "severity": "MAJOR",
+ "message": "Change this comparison to use the equals method.",
+ "line": 160,
+ "debt": "2min",
+ "author": "dinesh.bolkensteyn@sonarsource.com",
+ "creationDate": "2014-06-26T23:08:13+0200",
+ "updateDate": "2014-06-26T23:08:13+0200",
+ "fUpdateAge": "4 months",
+ "actions": [
+ "comment",
+ "assign",
+ "assign_to_me",
+ "plan",
+ "set_severity"
+ ],
+ "transitions": [
+ "confirm",
+ "resolve",
+ "falsepositive"
+ ]
+ },
+ {
+ "key": "d0dba7cd-e31d-4577-a047-644cdc7e2172",
+ "component": "com.sonarsource.plugins.vb:vb-squid:src/main/java/com/sonar/vb",
+ "componentId": 28611,
+ "project": "com.sonarsource.plugins.vb:vb",
+ "rule": "squid:S1228",
+ "status": "CONFIRMED",
+ "severity": "MAJOR",
+ "message": "Add a 'package-info.java' file to document the 'src/main/java/com/sonar/vb' package",
+ "debt": "20min",
+ "creationDate": "2014-10-03T23:05:55+0200",
+ "updateDate": "2014-10-09T06:37:50+0200",
+ "fUpdateAge": "26 days",
+ "actions": [
+ "comment",
+ "assign",
+ "assign_to_me",
+ "plan",
+ "set_severity"
+ ],
+ "transitions": [
+ "unconfirm",
+ "resolve",
+ "falsepositive"
+ ]
+ },
+ {
+ "key": "6d77a59b-53c2-444c-b288-a803d1f7f18d",
+ "component": "com.sonarsource.plugins.vb:vb-squid:src/main/java/com/sonar/vb/api",
+ "componentId": 28622,
+ "project": "com.sonarsource.plugins.vb:vb",
+ "rule": "squid:S1228",
+ "status": "CONFIRMED",
+ "severity": "MAJOR",
+ "message": "Add a 'package-info.java' file to document the 'src/main/java/com/sonar/vb/api' package",
+ "debt": "20min",
+ "creationDate": "2014-10-03T23:05:55+0200",
+ "updateDate": "2014-10-09T06:38:38+0200",
+ "fUpdateAge": "26 days",
+ "actions": [
+ "comment",
+ "assign",
+ "assign_to_me",
+ "plan",
+ "set_severity"
+ ],
+ "transitions": [
+ "unconfirm",
+ "resolve",
+ "falsepositive"
+ ]
+ },
+ {
+ "key": "bda16272-3785-47af-a0cd-c3fd3c581887",
+ "component": "com.sonarsource.plugins.vb:sonar-vb-plugin:src/main/java/com/sonar/vb/batch",
+ "componentId": 28928,
+ "project": "com.sonarsource.plugins.vb:vb",
+ "rule": "squid:S1228",
+ "status": "CONFIRMED",
+ "severity": "MAJOR",
+ "message": "Add a 'package-info.java' file to document the 'src/main/java/com/sonar/vb/batch' package",
+ "debt": "20min",
+ "creationDate": "2014-10-03T23:05:55+0200",
+ "updateDate": "2014-10-09T06:38:06+0200",
+ "fUpdateAge": "26 days",
+ "actions": [
+ "comment",
+ "assign",
+ "assign_to_me",
+ "plan",
+ "set_severity"
+ ],
+ "transitions": [
+ "unconfirm",
+ "resolve",
+ "falsepositive"
+ ]
+ },
+ {
+ "key": "4ea78cde-76c0-41ad-8809-a4e406168a00",
+ "component": "com.sonarsource.plugins.vb:vb-checks:src/main/java/com/sonar/vb/checks",
+ "componentId": 29690,
+ "project": "com.sonarsource.plugins.vb:vb",
+ "rule": "squid:S1228",
+ "status": "CONFIRMED",
+ "severity": "MAJOR",
+ "message": "Add a 'package-info.java' file to document the 'src/main/java/com/sonar/vb/checks' package",
+ "debt": "20min",
+ "creationDate": "2014-10-03T23:05:55+0200",
+ "updateDate": "2014-10-09T06:38:04+0200",
+ "fUpdateAge": "26 days",
+ "actions": [
+ "comment",
+ "assign",
+ "assign_to_me",
+ "plan",
+ "set_severity"
+ ],
+ "transitions": [
+ "unconfirm",
+ "resolve",
+ "falsepositive"
+ ]
+ },
+ {
+ "key": "459f9f04-0901-4250-9e9b-946d505455ac",
+ "component": "com.sonarsource.plugins.vb:vb-checks:src/main/java/com/sonar/vb/checks/ExpressionComplexityCheck.java",
+ "componentId": 29783,
+ "project": "com.sonarsource.plugins.vb:vb",
+ "rule": "squid:S1698",
+ "status": "OPEN",
+ "severity": "MAJOR",
+ "message": "Change this comparison to use the equals method.",
+ "line": 54,
+ "debt": "2min",
+ "author": "pierre-yves.nicolas@sonarsource.com",
+ "creationDate": "2014-06-26T23:07:23+0200",
+ "updateDate": "2014-06-26T23:07:23+0200",
+ "fUpdateAge": "4 months",
+ "actions": [
+ "comment",
+ "assign",
+ "assign_to_me",
+ "plan",
+ "set_severity"
+ ],
+ "transitions": [
+ "confirm",
+ "resolve",
+ "falsepositive"
+ ]
+ },
+ {
+ "key": "47ec8d6b-b7df-4e8c-a254-f9ccf7c0b90a",
+ "component": "com.sonarsource.plugins.vb:vb-checks:src/main/java/com/sonar/vb/checks/NumberedLineProcessor.java",
+ "componentId": 29907,
+ "project": "com.sonarsource.plugins.vb:vb",
+ "rule": "common-java:DuplicatedBlocks",
+ "status": "CONFIRMED",
+ "severity": "MAJOR",
+ "message": "1 duplicated blocks of code.",
+ "debt": "1h",
+ "creationDate": "2014-05-01T23:14:46+0200",
+ "updateDate": "2014-05-02T09:05:22+0200",
+ "fUpdateAge": "6 months",
+ "actions": [
+ "comment",
+ "assign",
+ "assign_to_me",
+ "plan",
+ "set_severity"
+ ],
+ "transitions": [
+ "unconfirm",
+ "resolve",
+ "falsepositive"
+ ]
+ },
+ {
+ "key": "84f34eb4-5aec-419b-8a2d-094d79d7969a",
+ "component": "com.sonarsource.plugins.vb:vb-checks:src/main/java/com/sonar/vb/checks/TrailingCommentCheck.java",
+ "componentId": 29769,
+ "project": "com.sonarsource.plugins.vb:vb",
+ "rule": "common-java:DuplicatedBlocks",
+ "status": "CONFIRMED",
+ "severity": "MAJOR",
+ "message": "4 duplicated blocks of code.",
+ "debt": "4h",
+ "creationDate": "2014-04-14T23:14:16+0200",
+ "updateDate": "2014-05-23T23:13:54+0200",
+ "fUpdateAge": "5 months",
+ "actions": [
+ "comment",
+ "assign",
+ "assign_to_me",
+ "plan",
+ "set_severity"
+ ],
+ "transitions": [
+ "unconfirm",
+ "resolve",
+ "falsepositive"
+ ]
+ },
+ {
+ "key": "bd85131c-2bac-474d-ac0f-2cf3c8848d40",
+ "component": "com.sonarsource.plugins.vb:vb-checks:src/main/java/com/sonar/vb/checks/UnusedPrivateVariableCheck.java",
+ "componentId": 29801,
+ "project": "com.sonarsource.plugins.vb:vb",
+ "rule": "squid:S1643",
+ "status": "REOPENED",
+ "severity": "MAJOR",
+ "message": "Use a StringBuilder instead.",
+ "line": 57,
+ "debt": "10min",
+ "author": "pierre-yves.nicolas@sonarsource.com",
+ "creationDate": "2014-06-26T23:07:23+0200",
+ "updateDate": "2014-11-03T09:50:23+0100",
+ "fUpdateAge": "a day",
+ "actions": [
+ "comment",
+ "assign",
+ "assign_to_me",
+ "plan",
+ "set_severity"
+ ],
+ "transitions": [
+ "confirm",
+ "resolve",
+ "falsepositive"
+ ]
+ },
+ {
+ "key": "0f81cd62-e82d-44b1-8773-a7a61536a516",
+ "component": "com.sonarsource.plugins.vb:sonar-vb-plugin:src/main/java/com/sonar/vb/colorizer",
+ "componentId": 28932,
+ "project": "com.sonarsource.plugins.vb:vb",
+ "rule": "squid:S1228",
+ "status": "CONFIRMED",
+ "severity": "MAJOR",
+ "message": "Add a 'package-info.java' file to document the 'src/main/java/com/sonar/vb/colorizer' package",
+ "debt": "20min",
+ "creationDate": "2014-10-03T23:05:55+0200",
+ "updateDate": "2014-10-09T06:38:03+0200",
+ "fUpdateAge": "26 days",
+ "actions": [
+ "comment",
+ "assign",
+ "assign_to_me",
+ "plan",
+ "set_severity"
+ ],
+ "transitions": [
+ "unconfirm",
+ "resolve",
+ "falsepositive"
+ ]
+ },
+ {
+ "key": "c7d665b1-0d77-4f7b-b893-8678c5324a70",
+ "component": "com.sonarsource.plugins.vb:sonar-vb-plugin:src/main/java/com/sonar/vb/cpd",
+ "componentId": 28935,
+ "project": "com.sonarsource.plugins.vb:vb",
+ "rule": "squid:S1228",
+ "status": "CONFIRMED",
+ "severity": "MAJOR",
+ "message": "Add a 'package-info.java' file to document the 'src/main/java/com/sonar/vb/cpd' package",
+ "debt": "20min",
+ "creationDate": "2014-10-03T23:05:55+0200",
+ "updateDate": "2014-10-09T06:38:30+0200",
+ "fUpdateAge": "26 days",
+ "actions": [
+ "comment",
+ "assign",
+ "assign_to_me",
+ "plan",
+ "set_severity"
+ ],
+ "transitions": [
+ "unconfirm",
+ "resolve",
+ "falsepositive"
+ ]
+ },
+ {
+ "key": "47780a07-2b00-47bb-a5e0-91af1ab53b49",
+ "component": "com.sonarsource.plugins.vb:sonar-vb-plugin:src/main/java/com/sonar/vb/cpd/VbCpdTokenizer.java",
+ "componentId": 28937,
+ "project": "com.sonarsource.plugins.vb:vb",
+ "rule": "squid:S1698",
+ "status": "OPEN",
+ "severity": "MAJOR",
+ "message": "Change this comparison to use the equals method.",
+ "line": 55,
+ "debt": "2min",
+ "author": "julien.henry@sonarsource.com",
+ "creationDate": "2014-06-26T23:07:23+0200",
+ "updateDate": "2014-06-26T23:07:23+0200",
+ "fUpdateAge": "4 months",
+ "actions": [
+ "comment",
+ "assign",
+ "assign_to_me",
+ "plan",
+ "set_severity"
+ ],
+ "transitions": [
+ "confirm",
+ "resolve",
+ "falsepositive"
+ ]
+ },
+ {
+ "key": "4882c235-98a2-4ac8-8131-acbe30010be5",
+ "component": "com.sonarsource.plugins.vb:sonar-vb-plugin:src/main/java/com/sonar/vb/cpd/VbCpdTokenizer.java",
+ "componentId": 28937,
+ "project": "com.sonarsource.plugins.vb:vb",
+ "rule": "squid:S1698",
+ "status": "OPEN",
+ "severity": "MAJOR",
+ "message": "Change this comparison to use the equals method.",
+ "line": 55,
+ "debt": "2min",
+ "author": "julien.henry@sonarsource.com",
+ "creationDate": "2014-06-26T23:07:23+0200",
+ "updateDate": "2014-06-26T23:07:23+0200",
+ "fUpdateAge": "4 months",
+ "actions": [
+ "comment",
+ "assign",
+ "assign_to_me",
+ "plan",
+ "set_severity"
+ ],
+ "transitions": [
+ "confirm",
+ "resolve",
+ "falsepositive"
+ ]
+ },
+ {
+ "key": "a7816c2c-4a24-4edc-955b-4bf064c8da6c",
+ "component": "com.sonarsource.plugins.vb:sonar-vb-plugin:src/main/java/com/sonar/vb/cpd/VbCpdTokenizer.java",
+ "componentId": 28937,
+ "project": "com.sonarsource.plugins.vb:vb",
+ "rule": "squid:S1698",
+ "status": "OPEN",
+ "severity": "MAJOR",
+ "message": "Change this comparison to use the equals method.",
+ "line": 55,
+ "debt": "2min",
+ "author": "julien.henry@sonarsource.com",
+ "creationDate": "2014-06-26T23:07:23+0200",
+ "updateDate": "2014-06-26T23:07:23+0200",
+ "fUpdateAge": "4 months",
+ "actions": [
+ "comment",
+ "assign",
+ "assign_to_me",
+ "plan",
+ "set_severity"
+ ],
+ "transitions": [
+ "confirm",
+ "resolve",
+ "falsepositive"
+ ]
+ },
+ {
+ "key": "5c6bc4d6-560f-47c7-9170-873c7ec51243",
+ "component": "com.sonarsource.plugins.vb:sonar-vb-plugin:src/main/java/com/sonar/vb/foundation",
+ "componentId": 28938,
+ "project": "com.sonarsource.plugins.vb:vb",
+ "rule": "squid:S1228",
+ "status": "CONFIRMED",
+ "severity": "MAJOR",
+ "message": "Add a 'package-info.java' file to document the 'src/main/java/com/sonar/vb/foundation' package",
+ "debt": "20min",
+ "creationDate": "2014-10-03T23:05:55+0200",
+ "updateDate": "2014-10-09T06:38:32+0200",
+ "fUpdateAge": "26 days",
+ "actions": [
+ "comment",
+ "assign",
+ "assign_to_me",
+ "plan",
+ "set_severity"
+ ],
+ "transitions": [
+ "unconfirm",
+ "resolve",
+ "falsepositive"
+ ]
+ },
+ {
+ "key": "4df1a07e-1961-4b7c-bd9d-f08670b7dc53",
+ "component": "com.sonarsource.plugins.vb:vb-squid:src/main/java/com/sonar/vb/LineContinuationChannel.java",
+ "componentId": 28613,
+ "project": "com.sonarsource.plugins.vb:vb",
+ "rule": "common-java:DuplicatedBlocks",
+ "status": "CONFIRMED",
+ "severity": "MAJOR",
+ "message": "1 duplicated blocks of code.",
+ "debt": "1h",
+ "creationDate": "2014-03-24T23:14:21+0100",
+ "updateDate": "2014-04-28T16:56:33+0200",
+ "fUpdateAge": "6 months",
+ "actions": [
+ "comment",
+ "assign",
+ "assign_to_me",
+ "plan",
+ "set_severity"
+ ],
+ "transitions": [
+ "unconfirm",
+ "resolve",
+ "falsepositive"
+ ]
+ },
+ {
+ "key": "8d505c3e-e944-40a7-bdc4-3e55a6d80ddf",
+ "component": "com.sonarsource.plugins.vb:vb-squid:src/main/java/com/sonar/vb/metrics",
+ "componentId": 28626,
+ "project": "com.sonarsource.plugins.vb:vb",
+ "rule": "squid:S1228",
+ "status": "CONFIRMED",
+ "severity": "MAJOR",
+ "message": "Add a 'package-info.java' file to document the 'src/main/java/com/sonar/vb/metrics' package",
+ "debt": "20min",
+ "creationDate": "2014-10-03T23:05:55+0200",
+ "updateDate": "2014-10-09T06:37:59+0200",
+ "fUpdateAge": "26 days",
+ "actions": [
+ "comment",
+ "assign",
+ "assign_to_me",
+ "plan",
+ "set_severity"
+ ],
+ "transitions": [
+ "unconfirm",
+ "resolve",
+ "falsepositive"
+ ]
+ },
+ {
+ "key": "5420d272-a363-44a5-9a8d-4ed9236aee6c",
+ "component": "com.sonarsource.plugins.vb:vb-squid:src/main/java/com/sonar/vb/metrics/CommentsVisitor.java",
+ "componentId": 28627,
+ "project": "com.sonarsource.plugins.vb:vb",
+ "rule": "common-java:DuplicatedBlocks",
+ "status": "CONFIRMED",
+ "severity": "MAJOR",
+ "message": "2 duplicated blocks of code.",
+ "debt": "2h",
+ "creationDate": "2014-03-24T23:14:21+0100",
+ "updateDate": "2014-04-28T16:56:15+0200",
+ "fUpdateAge": "6 months",
+ "actions": [
+ "comment",
+ "assign",
+ "assign_to_me",
+ "plan",
+ "set_severity"
+ ],
+ "transitions": [
+ "unconfirm",
+ "resolve",
+ "falsepositive"
+ ]
+ },
+ {
+ "key": "eaff60ef-0e3f-4744-9ada-a701eb92fc38",
+ "component": "com.sonarsource.plugins.vb:vb-squid:src/main/java/com/sonar/vb/metrics/LinesOfCodeVisitor.java",
+ "componentId": 28629,
+ "project": "com.sonarsource.plugins.vb:vb",
+ "rule": "common-java:DuplicatedBlocks",
+ "status": "CONFIRMED",
+ "severity": "MAJOR",
+ "message": "2 duplicated blocks of code.",
+ "debt": "2h",
+ "creationDate": "2014-03-24T23:14:21+0100",
+ "updateDate": "2014-04-28T16:56:13+0200",
+ "fUpdateAge": "6 months",
+ "actions": [
+ "comment",
+ "assign",
+ "assign_to_me",
+ "plan",
+ "set_severity"
+ ],
+ "transitions": [
+ "unconfirm",
+ "resolve",
+ "falsepositive"
+ ]
+ },
+ {
+ "key": "4b6e0ff7-8343-4389-bfee-74fb06ae1a4c",
+ "component": "com.sonarsource.plugins.vb:sonar-vb-plugin:src/main/java/com/sonar/vb/plugin",
+ "componentId": 28952,
+ "project": "com.sonarsource.plugins.vb:vb",
+ "rule": "squid:S1228",
+ "status": "CONFIRMED",
+ "severity": "MAJOR",
+ "message": "Add a 'package-info.java' file to document the 'src/main/java/com/sonar/vb/plugin' package",
+ "debt": "20min",
+ "creationDate": "2014-10-03T23:05:55+0200",
+ "updateDate": "2014-10-09T06:37:48+0200",
+ "fUpdateAge": "26 days",
+ "actions": [
+ "comment",
+ "assign",
+ "assign_to_me",
+ "plan",
+ "set_severity"
+ ],
+ "transitions": [
+ "unconfirm",
+ "resolve",
+ "falsepositive"
+ ]
+ },
+ {
+ "key": "86a0cb1a-c36b-442e-aac0-5d29efc8b0f0",
+ "component": "com.sonarsource.plugins.vb:vb-squid:src/main/java/com/sonar/vb/pp",
+ "componentId": 28630,
+ "project": "com.sonarsource.plugins.vb:vb",
+ "rule": "squid:S1228",
+ "status": "CONFIRMED",
+ "severity": "MAJOR",
+ "message": "Add a 'package-info.java' file to document the 'src/main/java/com/sonar/vb/pp' package",
+ "debt": "20min",
+ "creationDate": "2014-10-03T23:05:55+0200",
+ "updateDate": "2014-10-09T06:38:40+0200",
+ "fUpdateAge": "26 days",
+ "actions": [
+ "comment",
+ "assign",
+ "assign_to_me",
+ "plan",
+ "set_severity"
+ ],
+ "transitions": [
+ "unconfirm",
+ "resolve",
+ "falsepositive"
+ ]
+ },
+ {
+ "key": "8d5d8cb6-2f92-4cdd-858e-6d551b6507a3",
+ "component": "com.sonarsource.plugins.vb:vb-squid:src/main/java/com/sonar/vb/pp/EmptyLinesRemovalPreprocessor.java",
+ "componentId": 28631,
+ "project": "com.sonarsource.plugins.vb:vb",
+ "rule": "common-java:DuplicatedBlocks",
+ "status": "CONFIRMED",
+ "severity": "MAJOR",
+ "message": "1 duplicated blocks of code.",
+ "debt": "1h",
+ "creationDate": "2014-03-24T23:14:21+0100",
+ "updateDate": "2014-04-28T16:56:10+0200",
+ "fUpdateAge": "6 months",
+ "actions": [
+ "comment",
+ "assign",
+ "assign_to_me",
+ "plan",
+ "set_severity"
+ ],
+ "transitions": [
+ "unconfirm",
+ "resolve",
+ "falsepositive"
+ ]
+ },
+ {
+ "key": "dd34e8a9-7c6a-4a66-8b02-7bf5d9daa4f9",
+ "component": "com.sonarsource.plugins.vb:vb-squid:src/main/java/com/sonar/vb/ProgressAstScanner.java",
+ "componentId": 28614,
+ "project": "com.sonarsource.plugins.vb:vb",
+ "rule": "common-java:DuplicatedBlocks",
+ "status": "CONFIRMED",
+ "severity": "MAJOR",
+ "message": "1 duplicated blocks of code.",
+ "debt": "1h",
+ "creationDate": "2014-03-24T23:14:21+0100",
+ "updateDate": "2014-04-28T16:56:31+0200",
+ "fUpdateAge": "6 months",
+ "actions": [
+ "comment",
+ "assign",
+ "assign_to_me",
+ "plan",
+ "set_severity"
+ ],
+ "transitions": [
+ "unconfirm",
+ "resolve",
+ "falsepositive"
+ ]
+ }
+ ],
+ "rules": [
+ {
+ "key": "squid:S1698",
+ "name": "Objects should be compared with \"equals()\"",
+ "desc": "<p>Using the equality (<code>==</code>) and inequality (<code>!=</code>) operators to compare two objects does not check to see if they have the same values. Rather it checks to see if both object references point to exactly the same object in memory. The vast majority of the time, this is not what you want to do. Use the .equals() method to compare the values of two objects or to compare a string object to a string literal.</p>\n\n<h2>Noncompliant Code Sample</h2>\n<pre>\nString str1 = \"blue\";\nString str2 = \"blue\";\nString str3 = str1;\n\nif (str1 == str2)\n{\n System.out.println(\"they're both 'blue'\"); // this doesn't print because the objects are different\n}\n\nif (str1 == \"blue\")\n{\n System.out.println(\"they're both 'blue'\"); // this doesn't print because the objects are different\n}\n\nif (str1 == str3)\n{\n System.out.println(\"they're the same object\"); // this prints\n}\n</pre>\n\n<h2>Compliant Solution</h2>\n<pre>\nString str1 = \"blue\";\nString str2 = \"blue\";\nString str3 = str1;\n\nif (str1.equals(str2))\n{\n System.out.println(\"they're both 'blue'\"); // this prints\n}\n\nif (str1.equals(\"blue\"))\n{\n System.out.println(\"they're both 'blue'\"); // this prints\n}\n\nif (str1 == str3)\n{\n System.out.println(\"they're the same object\"); // this still prints, but it's probably not what you meant to do\n}\n</pre>",
+ "status": "READY"
+ },
+ {
+ "key": "squid:S1142",
+ "name": "Methods should not contain too many return statements",
+ "desc": "<p>\nHaving too many return statements in a method increases the method's essential complexity because the flow of execution is broken each time a return statement is encountered.\nThis makes it harder to read and understand the logic of the method.\n</p>\n\n<p>\nThe following code snippet illustrates this rule with the default threshold of 3:\n</p>\n\n<pre>\npublic boolean myMethod() { // Non-Compliant as there are 4 return statements\n if (condition1) {\n return true;\n } else {\n if (condition2) {\n return false;\n } else {\n return true;\n }\n }\n return false;\n}\n</pre>",
+ "status": "READY"
+ },
+ {
+ "key": "squid:S1694",
+ "name": "An abstract class should have both abstract and concrete methods",
+ "desc": "<p>The purpose of an abstract class is to provide some heritable behaviors while also defining methods which must be implemented by sub-classes.</p>\n\n<p>A class with no abstract methods that was made abstract purely to prevent instantiation should be converted to a concrete class (i.e. remove the <code>abstract</code> keyword) with a private constructor.</p>\n\n<p>A class with only abstract methods and no inheritable behavior should be converted to an interface.</p>\n\n<h2>Noncompliant Code Sample</h2>\n<pre>\npublic abstract class Animal {\n abstract void move();\n abstract void feed();\n}\n\npublic abstract class Color {\n private int red = 0;\n private int green = 0;\n private int blue = 0;\n\n public int getRed(){\n return red;\n }\n}\n</pre>\n\n<h2>Compliant Solution</h2>\n<pre>\npublic interface Animal {\n void move();\n void feed();\n}\n\npublic class Color {\n private int red = 0;\n private int green = 0;\n private int blue = 0;\n\n private Color (){\n }\n\n public int getRed() {\n return red;\n }\n}\n\npublic abstract class Lamp {\n\n private boolean switchLamp=false;\n public abstract void glow();\n\n public void flipSwitch() {\n switchLamp = !switchLamp;\n if (switchLamp) {\n glow();\n }\n }\n}\n</pre>",
+ "status": "READY"
+ },
+ {
+ "key": "squid:S1151",
+ "name": "Switch cases should not have too many lines",
+ "desc": "<p>Switch cases should remain small to keep the overall switch compact and readable.</p>\n\n<p>The following code snippet illustrates this rule with the default threshold of 5:</p>\n\n<pre>\nswitch (myVariable) {\n case 0: // Compliant - 5 lines till following case\n System.out.println(\"\");\n System.out.println(\"\");\n System.out.println(\"\");\n break;\n default: // Non-Compliant - 6 lines till switch end\n System.out.println(\"\");\n System.out.println(\"\");\n System.out.println(\"\");\n System.out.println(\"\");\n break;\n}\n</pre>",
+ "status": "READY"
+ },
+ {
+ "key": "squid:S1643",
+ "name": "Strings should not be concatenated using '+' in a loop",
+ "desc": "<p>Strings are immutable objects in Java, so concatenation doesn't simply add the new String to the end of the existing string. Instead, in each loop iteration, the first String is converted to an intermediate object type, the second string is appended, and then the intermediate object is converted back to a String. Further, performance of these intermediate operations degrades as the String gets longer. Therefore, the use of StringBuilder is preferred.</p>\n\n<h2>Noncompliant Code Example</h2>\n<pre>\nString str = \"\";\nfor (int i = 0; i < arrayOfStrings.length ; ++i) {\n str = str + arrayOfStrings[i];\n}\n</pre>\n\n<h2>Compliant Solution</h2>\n<pre>\nStringBuilder bld = new StringBuilder();\nfor (int i = 0; i < arrayOfStrings.length; ++i) {\n bld.append(arrayOfStrings[i]);\n}\nString str = bld.toString();\n</pre>",
+ "status": "READY"
+ },
+ {
+ "key": "squid:S134",
+ "name": "Control flow statements \"if\", \"for\", \"while\", \"switch\" and \"try\" should not be nested too deeply",
+ "desc": "<p>\nNested <code>if</code>, <code>for</code>, <code>while</code> and <code>try</code> statements is a key ingredient for making what's known as \"Spaghetti code\".\nSuch code is hard to read, refactor and therefore maintain.\n</p>\n\n<h2>Noncompliant Code Example</h2>\n\n<p>The following code snippet illustrates this rule with the default threshold of 3.</p>\n\n<pre>\npublic void process() {\n if (condition1) { // Compliant - depth = 1\n /* ... */\n if (condition2) { // Compliant - depth = 2\n /* ... */\n for(int i = 0; i < 10; i++) { // Compliant - depth = 3, not exceeding the limit\n /* ... */\n if (condition4) { // Non-Compliant - depth = 4\n if (condition5) { // Depth = 5, exceeding the limit, but issues are only reported on depth = 4\n /* ... */\n }\n return;\n }\n }\n }\n }\n}\n</pre>",
+ "status": "READY"
+ },
+ {
+ "key": "common-java:DuplicatedBlocks",
+ "name": "Duplicated blocks",
+ "desc": "<p>An issue is created on a file as soon as there is a block of duplicated code on this file. It gives the number of blocks in the file.</p>",
+ "status": "READY"
+ },
+ {
+ "key": "squid:RightCurlyBraceSameLineAsNextBlockCheck",
+ "name": "Right curly brace and next \"else\", \"catch\" and \"finally\" keywords should be located on the same line",
+ "desc": "<p>\nSharing some coding conventions is a key point to make it possible for a team to efficiently collaborate.\nThis rule make it mandatory to place closing curly braces on the same line that next <code>else</code>, <code>catch</code> or <code>finally</code> keywords.\n</p>\n\n<p>\nThe following code snippet illustrates this rule:\n</p>\n\n<pre>\npublic void myMethod() {\n if(something) {\n executeTask();\n } else if (somethingElse) { // Compliant\n doSomethingElse();\n }\n else { // Non-Compliant\n generateError();\n }\n\n try {\n generateOrder();\n } catch (Exception e) { // Compliant\n log(e);\n }\n finally { // Non-Compliant\n closeConnection();\n }\n}\n</pre>",
+ "status": "READY"
+ },
+ {
+ "key": "squid:MethodCyclomaticComplexity",
+ "name": "Methods should not be too complex",
+ "desc": "<p>The Cyclomatic Complexity is measured by the number of\n\t(&&, ||) operators and (if, while, do, for, ?:, catch, switch,\n\tcase, return, throw) statements in the body of a class plus one for\n\teach constructor, method (but not getter/setter), static initializer,\n\tor instance initializer in the class. The last return stament in\n\tmethod, if exists, is not taken into account.</p>\n<p>\n\tEven when the Cyclomatic Complexity of a class is very high, this\n\tcomplexity might be well distributed among all methods. Nevertheless,\n\tmost of the time, a very complex class is a class which breaks the <a\n\t\thref=\"http://en.wikipedia.org/wiki/Single_responsibility_principle\">Single\n\t\tResponsibility Principle</a> and which should be re-factored to be split\n\tin several classes.\n</p>",
+ "status": "READY"
+ },
+ {
+ "key": "squid:S1192",
+ "name": "String literals should not be duplicated",
+ "desc": "<p>\n Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.\n On the other hand, constants can be referenced from many places, but only need to be updated in a single place.\n</p>\n\n<h2>Non Compliant Code Example</h2>\n\n<pre>\npublic void run() {\n prepare(\"action1\"); // Non-Compliant - \"action1\" is duplicated 3 times\n execute(\"action1\");\n release(\"action1\");\n}\n\n@SuppressWarning(\"all\") // Compliant - annotations are excluded\nprivate void method1() { /* ... */ }\n@SuppressWarning(\"all\")\nprivate void method2() { /* ... */ }\n\npublic String method3(String a) {\n System.out.println(\"'\" + a + \"'\"); // Compliant - literal \"'\" has less than 5 characters and is excluded\n return \"\"; // Compliant - literal \"\" has less than 5 characters and is excluded\n}\n</pre>\n\n<h2>Compliant Code Example</h2>\n\n<pre>\nprivate static final String ACTION_1 = \"action1\"; // Compliant\n\npublic void run() {\n prepare(ACTION_1); // Compliant\n execute(ACTION_1);\n release(ACTION_1);\n}\n</pre>\n\n<h2>Exceptions</h2>\n<p>To prevent generating some false-positives, literals having less than 5 characters are excluded.</p>",
+ "status": "READY"
+ },
+ {
+ "key": "squid:S138",
+ "name": "Methods should not have too many lines",
+ "desc": "<p>\nA method that grows too large tends to aggregate too many responsibilities.\nSuch methods inevitably become harder to understand and therefore harder to maintain.\n</p>\n\n<p>\nAbove a specific threshold, it is strongly advised to refactor into smaller methods which focus on well-defined tasks.\nThose smaller methods will not only be easier to understand, but also probably easier to test.\n</p>",
+ "status": "READY"
+ },
+ {
+ "key": "squid:S1067",
+ "name": "Expressions should not be too complex",
+ "desc": "<p>\nThe complexity of an expression is defined by the number of <code>&&</code>, <code>||</code> and <code>condition ? ifTrue : ifFalse</code> operators it contains.\nA single expression's complexity should not become too high to keep the code readable.\n</p>\n\n<p>The following code, with a maximum complexity of 3:</p>\n\n<pre>\nif (condition1 && condition2 && condition3 && condition4) { /* ... */ } // Non-Compliant\n</pre>\n\n<p>could be refactored into something like:</p>\n\n<pre>\nif (relevantMethodName1() && relevantMethodName2()) { /* ... */ } // Compliant\n\n/* ... */\n\nprivate boolean relevantMethodName1() {\n return condition1 && condition2;\n}\n\nprivate boolean relevantMethodName2() {\n return condition3 && condition4;\n}\n</pre>",
+ "status": "READY"
+ },
+ {
+ "key": "common-java:InsufficientBranchCoverage",
+ "name": "Insufficient branch coverage by unit tests",
+ "desc": "<p>An issue is created on a file as soon as the branch coverage on this file is less than the required threshold.It gives the number of branches to be covered in order to reach the required threshold.</p>",
+ "status": "READY"
+ },
+ {
+ "key": "squid:S1228",
+ "name": "Packages should have a javadoc file 'package-info.java'",
+ "desc": "<p>Each package in a Java project should include a <code>package-info.java</code> file. The purpose of this file is to document the Java package using javadoc and declare package annotations.</p>\n\n<h2>Compliant Solution</h2>\n<pre>\n/**\n* This package has non null parameters and is documented.\n**/\n@ParametersAreNonnullByDefault\npackage org.foo.bar;\n</pre>",
+ "status": "REMOVED"
+ }
+ ],
+ "users": [],
+ "languages": [
+ {
+ "key": "js",
+ "name": "JavaScript"
+ },
+ {
+ "key": "java",
+ "name": "Java"
+ }
+ ],
+ "maxResultsReached": false,
+ "paging": {
+ "pageIndex": 1,
+ "pageSize": 50,
+ "total": 4623,
+ "fTotal": "4,623",
+ "pages": 93
+ },
+ "facets": [
+ {
+ "property": "severities",
+ "values": [
+ {
+ "val": "MAJOR",
+ "count": 3214
+ },
+ {
+ "val": "INFO",
+ "count": 930
+ },
+ {
+ "val": "MINOR",
+ "count": 436
+ },
+ {
+ "val": "CRITICAL",
+ "count": 43
+ },
+ {
+ "val": "BLOCKER",
+ "count": 0
+ }
+ ]
+ },
+ {
+ "property": "statuses",
+ "values": [
+ {
+ "val": "CONFIRMED",
+ "count": 4123
+ },
+ {
+ "val": "OPEN",
+ "count": 499
+ },
+ {
+ "val": "REOPENED",
+ "count": 1
+ },
+ {
+ "val": "CLOSED",
+ "count": 0
+ },
+ {
+ "val": "RESOLVED",
+ "count": 0
+ }
+ ]
+ },
+ {
+ "property": "resolutions",
+ "values": [
+ {
+ "val": "",
+ "count": 4623
+ },
+ {
+ "val": "FIXED",
+ "count": 39744
+ },
+ {
+ "val": "REMOVED",
+ "count": 14385
+ },
+ {
+ "val": "FALSE-POSITIVE",
+ "count": 724
+ }
+ ]
+ }
+ ]
+}
--- /dev/null
+{
+ "issue": {
+ "key": "94357807-fcb4-40cc-9598-9a715f1eee6e",
+ "component": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin:src/main/java/org/sonar/plugins/xml",
+ "componentId": 26177,
+ "project": "org.codehaus.sonar-plugins.xml:xml",
+ "rule": "squid:S1228",
+ "status": "OPEN",
+ "severity": "MAJOR",
+ "message": "Add a 'package-info.java' file to document the 'src/main/java/org/sonar/plugins/xml' package",
+ "debt": "20min",
+ "creationDate": "2014-10-03T23:26:37+0200",
+ "updateDate": "2014-10-09T06:32:55+0200",
+ "fUpdateAge": "26 days",
+ "actions": [
+ "comment",
+ "assign",
+ "assign_to_me",
+ "plan",
+ "set_severity"
+ ],
+ "transitions": [
+ "confirm",
+ "resolve",
+ "falsepositive"
+ ]
+ }
+}
--- /dev/null
+{
+ "issue": {
+ "key": "94357807-fcb4-40cc-9598-9a715f1eee6e",
+ "component": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin:src/main/java/org/sonar/plugins/xml",
+ "componentId": 26177,
+ "project": "org.codehaus.sonar-plugins.xml:xml",
+ "rule": "squid:S1228",
+ "status": "RESOLVED",
+ "severity": "MAJOR",
+ "message": "Add a 'package-info.java' file to document the 'src/main/java/org/sonar/plugins/xml' package",
+ "debt": "20min",
+ "creationDate": "2014-10-03T23:26:37+0200",
+ "updateDate": "2014-10-09T06:32:55+0200",
+ "fUpdateAge": "26 days",
+ "actions": [
+ "comment",
+ "assign",
+ "assign_to_me",
+ "plan",
+ "set_severity"
+ ],
+ "transitions": [
+ "reopen"
+ ]
+ }
+}
--- /dev/null
+{
+ "issue": {
+ "key": "94357807-fcb4-40cc-9598-9a715f1eee6e",
+ "component": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin:src/main/java/org/sonar/plugins/xml",
+ "componentId": 26177,
+ "project": "org.codehaus.sonar-plugins.xml:xml",
+ "rule": "squid:S1228",
+ "status": "CONFIRMED",
+ "severity": "MAJOR",
+ "message": "Add a 'package-info.java' file to document the 'src/main/java/org/sonar/plugins/xml' package",
+ "debt": "20min",
+ "creationDate": "2014-10-03T23:26:37+0200",
+ "updateDate": "2014-10-09T06:32:55+0200",
+ "fUpdateAge": "26 days",
+ "actions": [
+ "comment",
+ "assign",
+ "assign_to_me",
+ "plan",
+ "set_severity"
+ ],
+ "tags": ["security", "cwe"]
+ "transitions": [
+ "unconfirm",
+ "resolve",
+ "falsepositive"
+ ]
+ }
+}
--- /dev/null
+{
+ "issue": {
+ "key": "94357807-fcb4-40cc-9598-9a715f1eee6e",
+ "component": "org.codehaus.sonar-plugins.xml:sonar-xml-plugin:src/main/java/org/sonar/plugins/xml",
+ "componentId": 26177,
+ "project": "org.codehaus.sonar-plugins.xml:xml",
+ "rule": "squid:S1228",
+ "status": "CONFIRMED",
+ "severity": "MAJOR",
+ "message": "Add a 'package-info.java' file to document the 'src/main/java/org/sonar/plugins/xml' package",
+ "debt": "20min",
+ "creationDate": "2014-10-03T23:26:37+0200",
+ "updateDate": "2014-10-09T06:32:55+0200",
+ "fUpdateAge": "26 days",
+ "actions": [
+ "comment",
+ "assign",
+ "assign_to_me",
+ "plan",
+ "set_severity"
+ ],
+ "transitions": [
+ "unconfirm",
+ "resolve",
+ "falsepositive"
+ ]
+ }
+}
--- /dev/null
+{
+ "tags": [
+ "security",
+ "cwe",
+ "cert"
+ ]
+}
--- /dev/null
+{
+ "tags": [
+ "brain-overload",
+ "bug",
+ "cert",
+ "convention",
+ "cwe",
+ "design",
+ "error-handling",
+ "misra",
+ "misra-c",
+ "misra-c++",
+ "multithreading",
+ "obsolete",
+ "owasp-top10",
+ "performance",
+ "pitfall",
+ "sans-top25",
+ "sans-top25-2011",
+ "security",
+ "sql",
+ "unused"
+ ]
+}
--- /dev/null
+{
+ "edit": false,
+ "periods": [
+ {
+ "key": 1,
+ "text": "since previous analysis"
+ },
+ {
+ "key": 2,
+ "text": "over 365 days"
+ },
+ {
+ "key": 3,
+ "text": "since previous version"
+ },
+ {
+ "key": 4,
+ "text": "over period 4 - defined at project level"
+ },
+ {
+ "key": 5,
+ "text": "over period 5 - defined at project level"
+ }
+ ],
+ "metrics": [
+ {
+ "id": 62,
+ "key": "blocker_violations",
+ "name": "Blocker issues",
+ "type": "INT",
+ "domain": "Issues",
+ "hidden": false
+ },
+ {
+ "id": 37,
+ "key": "new_coverage",
+ "name": "Coverage on new code",
+ "type": "PERCENT",
+ "domain": "Tests",
+ "hidden": false
+ },
+ {
+ "id": 63,
+ "key": "critical_violations",
+ "name": "Critical issues",
+ "type": "INT",
+ "domain": "Issues",
+ "hidden": false
+ },
+ {
+ "id": 154,
+ "key": "sqale_effort_to_grade_a",
+ "name": "Effort to rating A",
+ "type": "WORK_DUR",
+ "domain": "SQALE",
+ "hidden": false
+ },
+ {
+ "id": 218,
+ "key": "open_issues",
+ "name": "Open issues",
+ "type": "INT",
+ "domain": "Issues",
+ "hidden": false
+ },
+ {
+ "id": 219,
+ "key": "reopened_issues",
+ "name": "Reopened issues",
+ "type": "INT",
+ "domain": "Issues",
+ "hidden": false
+ },
+ {
+ "id": 32,
+ "key": "skipped_tests",
+ "name": "Skipped unit tests",
+ "type": "INT",
+ "domain": "Tests",
+ "hidden": false
+ },
+ {
+ "id": 31,
+ "key": "test_errors",
+ "name": "Unit test errors",
+ "type": "INT",
+ "domain": "Tests",
+ "hidden": false
+ },
+ {
+ "id": 33,
+ "key": "test_failures",
+ "name": "Unit test failures",
+ "type": "INT",
+ "domain": "Tests",
+ "hidden": false
+ }
+ ]
+}
--- /dev/null
+{
+ "qualitygates": [
+ {
+ "id": 1,
+ "name": "Default Gate"
+ }
+ ],
+ "default": 1
+}
--- /dev/null
+{
+ "id": 1,
+ "name": "Default Gate",
+ "conditions": [
+ {
+ "id": 1,
+ "metric": "blocker_violations",
+ "op": "GT",
+ "warning": "",
+ "error": "0"
+ },
+ {
+ "id": 2,
+ "metric": "new_coverage",
+ "op": "LT",
+ "warning": "",
+ "error": "80",
+ "period": 3
+ },
+ {
+ "id": 3,
+ "metric": "critical_violations",
+ "op": "GT",
+ "warning": "",
+ "error": "0"
+ },
+ {
+ "id": 4,
+ "metric": "sqale_effort_to_grade_a",
+ "op": "GT",
+ "warning": "",
+ "error": "0"
+ },
+ {
+ "id": 5,
+ "metric": "open_issues",
+ "op": "GT",
+ "warning": "0",
+ "error": ""
+ },
+ {
+ "id": 6,
+ "metric": "reopened_issues",
+ "op": "GT",
+ "warning": "0",
+ "error": ""
+ },
+ {
+ "id": 7,
+ "metric": "skipped_tests",
+ "op": "GT",
+ "warning": "0",
+ "error": ""
+ },
+ {
+ "id": 8,
+ "metric": "test_errors",
+ "op": "GT",
+ "warning": "",
+ "error": "0"
+ },
+ {
+ "id": 9,
+ "metric": "test_failures",
+ "op": "GT",
+ "warning": "",
+ "error": "0"
+ }
+ ]
+}
--- /dev/null
+{
+ "total": 5,
+ "p": 1,
+ "ps": 999999,
+ "rules": [
+ {
+ "key": "manual:api",
+ "name": "API"
+ },
+ {
+ "key": "manual:design",
+ "name": "Design"
+ },
+ {
+ "key": "manual:error_handling",
+ "name": "Error handling"
+ },
+ {
+ "key": "manual:performance",
+ "name": "Performance"
+ },
+ {
+ "key": "manual:sql_pitfalls",
+ "name": "SQL Pitfall"
+ }
+ ]
+}
--- /dev/null
+{
+ "uuid": "12345",
+ "key": "org.codehaus.sonar:sonar-batch:src/main/java/org/sonar/batch/index/Cache.java",
+ "path": "src/main/java/org/sonar/batch/index/Cache.java",
+ "name": "Cache.java",
+ "longName": "src/main/java/org/sonar/batch/index/Cache.java",
+ "q": "FIL",
+ "subProject": "org.codehaus.sonar:sonar-batch",
+ "subProjectName": "SonarQube :: Batch",
+ "project": "org.codehaus.sonar:sonar",
+ "projectName": "SonarQube",
+ "fav": false,
+ "canMarkAsFavourite": true,
+ "canCreateManualIssue": true,
+ "measures": {
+ "lines": "378",
+ "coverage": "74.3%",
+ "duplicationDensity": "5.8%",
+ "debt": "2h 10min",
+ "sqaleRating": "A",
+ "debtRatio": "1.1%",
+ "issues": "6"
+ }
+}
--- /dev/null
+{
+ "issue": {
+ "key": "e69e2012-c58e-4c37-9e0e-9595576de9de",
+ "component": "org.codehaus.sonar:sonar-batch:src/main/java/org/sonar/batch/index/Cache.java",
+ "componentId": null,
+ "project": "org.codehaus.sonar:sonar",
+ "rule": "manual:api",
+ "status": "OPEN",
+ "severity": "MAJOR",
+ "message": "An issue message",
+ "line": 3,
+ "reporter": "admin",
+ "creationDate": "2014-12-08T14:22:49+0100",
+ "updateDate": "2014-12-08T14:22:49+0100",
+ "fUpdateAge": "less than a minute"
+ }
+}
--- /dev/null
+{"total": 6, "p": 1, "ps": 100, "projects": [
+ {
+ "uuid": "69e57151-be0d-4157-adff-c06741d88879",
+ "key": "org.codehaus.sonar:sonar",
+ "id": 2865,
+ "qualifier": "TRK",
+ "name": "SonarQube",
+ "longName": "SonarQube"
+ }
+], "components": [
+ {
+ "uuid": "83379565-7af3-4047-8d1a-ed42b10309b0",
+ "key": "org.codehaus.sonar:sonar-batch",
+ "id": 1624,
+ "enabled": true,
+ "qualifier": "BRC",
+ "name": "SonarQube :: Batch",
+ "longName": "SonarQube :: Batch",
+ "path": "sonar-batch",
+ "projectId": 2865,
+ "subProjectId": 2865
+ },
+ {
+ "uuid": "69e57151-be0d-4157-adff-c06741d88879",
+ "key": "org.codehaus.sonar:sonar",
+ "id": 2865,
+ "enabled": true,
+ "qualifier": "TRK",
+ "name": "SonarQube",
+ "longName": "SonarQube"
+ },
+ {
+ "uuid": "b9615992-2458-4d54-a22f-b91ee7ba5bc5",
+ "key": "org.codehaus.sonar:sonar-batch:src/main/java/org/sonar/batch/index/Cache.java",
+ "id": 19983,
+ "enabled": true,
+ "qualifier": "FIL",
+ "name": "Cache.java",
+ "longName": "src/main/java/org/sonar/batch/index/Cache.java",
+ "path": "src/main/java/org/sonar/batch/index/Cache.java",
+ "projectId": 2865,
+ "subProjectId": 1624
+ }
+], "issues": [
+ {
+ "key": "20002ec7-b647-44da-bdf5-4d9fbf4b7c58",
+ "component": "org.codehaus.sonar:sonar-batch:src/main/java/org/sonar/batch/index/Cache.java",
+ "componentId": 19983,
+ "project": "org.codehaus.sonar:sonar",
+ "subProject": "org.codehaus.sonar:sonar-batch",
+ "rule": "common-java:DuplicatedBlocks",
+ "status": "CONFIRMED",
+ "severity": "MAJOR",
+ "message": "2 duplicated blocks of code.",
+ "debt": "2h",
+ "creationDate": "2014-05-01T23:38:31+0200",
+ "updateDate": "2014-07-01T17:48:47+0200",
+ "fUpdateAge": "5 months",
+ "actions": ["comment", "assign", "assign_to_me", "plan", "set_severity"],
+ "transitions": ["unconfirm", "resolve", "falsepositive"]
+ },
+ {
+ "key": "71a26f48-a90d-4a76-a745-4f6e6e8b1773",
+ "component": "org.codehaus.sonar:sonar-batch:src/main/java/org/sonar/batch/index/Cache.java",
+ "componentId": 19983,
+ "project": "org.codehaus.sonar:sonar",
+ "subProject": "org.codehaus.sonar:sonar-batch",
+ "rule": "squid:S1135",
+ "status": "CONFIRMED",
+ "severity": "INFO",
+ "message": "Complete the task associated to this TODO comment.",
+ "line": 125,
+ "author": "simon.brandhof@gmail.com",
+ "creationDate": "2013-10-10T23:51:33+0200",
+ "updateDate": "2014-07-29T23:15:18+0200",
+ "fUpdateAge": "4 months",
+ "actions": ["comment", "assign", "assign_to_me", "plan", "set_severity"],
+ "transitions": ["unconfirm", "resolve", "falsepositive"]
+ },
+ {
+ "key": "75419c88-0e3c-4311-aa47-fe5731e67558",
+ "component": "org.codehaus.sonar:sonar-batch:src/main/java/org/sonar/batch/index/Cache.java",
+ "componentId": 19983,
+ "project": "org.codehaus.sonar:sonar",
+ "subProject": "org.codehaus.sonar:sonar-batch",
+ "rule": "squid:S1135",
+ "status": "CONFIRMED",
+ "severity": "INFO",
+ "message": "Complete the task associated to this TODO comment.",
+ "line": 155,
+ "author": "simon.brandhof@gmail.com",
+ "creationDate": "2013-10-10T23:51:33+0200",
+ "updateDate": "2014-07-29T23:15:18+0200",
+ "fUpdateAge": "4 months",
+ "actions": ["comment", "assign", "assign_to_me", "plan", "set_severity"],
+ "transitions": ["unconfirm", "resolve", "falsepositive"]
+ },
+ {
+ "key": "01461208-6c1e-4cdf-9f27-b7afa78e76ec",
+ "component": "org.codehaus.sonar:sonar-batch:src/main/java/org/sonar/batch/index/Cache.java",
+ "componentId": 19983,
+ "project": "org.codehaus.sonar:sonar",
+ "subProject": "org.codehaus.sonar:sonar-batch",
+ "rule": "squid:S1135",
+ "status": "CONFIRMED",
+ "severity": "INFO",
+ "message": "Complete the task associated to this TODO comment.",
+ "line": 184,
+ "author": "simon.brandhof@gmail.com",
+ "creationDate": "2013-10-10T23:51:33+0200",
+ "updateDate": "2014-07-29T23:15:18+0200",
+ "fUpdateAge": "4 months",
+ "actions": ["comment", "assign", "assign_to_me", "plan", "set_severity"],
+ "transitions": ["unconfirm", "resolve", "falsepositive"]
+ },
+ {
+ "key": "e4de6481-7bfb-460a-8b3c-24459f9561d3",
+ "component": "org.codehaus.sonar:sonar-batch:src/main/java/org/sonar/batch/index/Cache.java",
+ "componentId": 19983,
+ "project": "org.codehaus.sonar:sonar",
+ "subProject": "org.codehaus.sonar:sonar-batch",
+ "rule": "squid:S1135",
+ "status": "CONFIRMED",
+ "severity": "INFO",
+ "message": "Complete the task associated to this TODO comment.",
+ "line": 239,
+ "author": "Simon Brandhof",
+ "creationDate": "2013-08-09T16:04:33+0200",
+ "updateDate": "2014-07-29T23:15:18+0200",
+ "fUpdateAge": "4 months",
+ "actions": ["comment", "assign", "assign_to_me", "plan", "set_severity"],
+ "transitions": ["unconfirm", "resolve", "falsepositive"]
+ },
+ {
+ "key": "59fc17f7-c977-4cb6-8f04-fbe88e4b9186",
+ "component": "org.codehaus.sonar:sonar-batch:src/main/java/org/sonar/batch/index/Cache.java",
+ "componentId": 19983,
+ "project": "org.codehaus.sonar:sonar",
+ "subProject": "org.codehaus.sonar:sonar-batch",
+ "rule": "squid:S1192",
+ "status": "CONFIRMED",
+ "severity": "MINOR",
+ "message": "Define a constant instead of duplicating this literal \"Fail to get keys from cache \" 3 times.",
+ "line": 257,
+ "debt": "10min",
+ "author": "simon.brandhof@gmail.com",
+ "creationDate": "2014-02-20T07:48:16+0100",
+ "updateDate": "2014-02-24T16:57:34+0100",
+ "fUpdateAge": "9 months",
+ "actions": ["comment", "assign", "assign_to_me", "plan", "set_severity"],
+ "transitions": ["unconfirm", "resolve", "falsepositive"]
+ }
+], "rules": [
+ {
+ "key": "common-java:DuplicatedBlocks",
+ "name": "Duplicated blocks",
+ "lang": "java",
+ "desc": "<p>An issue is created on a file as soon as there is a block of duplicated code on this file. It gives the number of blocks in the file.</p>",
+ "status": "READY",
+ "langName": "Java"
+ },
+ {
+ "key": "squid:S1192",
+ "name": "String literals should not be duplicated",
+ "lang": "java",
+ "desc": "<p>\n Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.\n On the other hand, constants can be referenced from many places, but only need to be updated in a single place.\n</p>\n\n<h2>Non Compliant Code Example</h2>\n\n<pre>\npublic void run() {\n prepare(\"action1\"); // Non-Compliant - \"action1\" is duplicated 3 times\n execute(\"action1\");\n release(\"action1\");\n}\n\n@SuppressWarning(\"all\") // Compliant - annotations are excluded\nprivate void method1() { /* ... */ }\n@SuppressWarning(\"all\")\nprivate void method2() { /* ... */ }\n\npublic String method3(String a) {\n System.out.println(\"'\" + a + \"'\"); // Compliant - literal \"'\" has less than 5 characters and is excluded\n return \"\"; // Compliant - literal \"\" has less than 5 characters and is excluded\n}\n</pre>\n\n<h2>Compliant Code Example</h2>\n\n<pre>\nprivate static final String ACTION_1 = \"action1\"; // Compliant\n\npublic void run() {\n prepare(ACTION_1); // Compliant\n execute(ACTION_1);\n release(ACTION_1);\n}\n</pre>\n\n<h2>Exceptions</h2>\n<p>To prevent generating some false-positives, literals having less than 5 characters are excluded.</p>",
+ "status": "READY",
+ "langName": "Java"
+ },
+ {
+ "key": "squid:S1135",
+ "name": "TODO tags should be handled",
+ "lang": "java",
+ "desc": "<p>\n<code>TODO</code> tags are commonly used to mark places where some more code is required, but which the developer wants to implement later.\nSometimes the developer will not have the time or will simply forget to get back to that tag.\nThis rule is meant to track those tags, and ensure that they do not go unnoticed.\n</p>\n\n<p>The following code illustrates this rule:</p>\n\n<pre>\nvoid doSomething() {\n // TODO\n}\n</pre>",
+ "status": "READY",
+ "langName": "Java"
+ }
+], "users": [
+ {
+ "login": "admin",
+ "name": "Admin Admin",
+ "active": true,
+ "email": "admin@sonarsource.com"
+ }
+], "languages": [
+ {
+ "key": "js",
+ "name": "JavaScript"
+ },
+ {
+ "key": "java",
+ "name": "Java"
+ }
+], "maxResultsReached": false, "paging": {
+ "pageIndex": 1,
+ "pageSize": 100,
+ "total": 6,
+ "fTotal": "6",
+ "pages": 1
+}}
--- /dev/null
+{"sources": [
+ {
+ "line": 1,
+ "code": "<span class=\"cppd\">/*</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 2,
+ "code": "<span class=\"cppd\"> * SonarQube, open source software quality management tool.</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b1436788cfc71b23cc3e3c15400a6c630c914bec",
+ "scmDate": "2013-04-21T11:58:14+0200"
+ },
+ {
+ "line": 3,
+ "code": "<span class=\"cppd\"> * Copyright (C) 2008-2014 SonarSource</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "57ae3026c36ae3b0b71756d6161124b1ae594c53",
+ "scmDate": "2014-03-11T17:52:41+0100"
+ },
+ {
+ "line": 4,
+ "code": "<span class=\"cppd\"> * mailto:contact AT sonarsource DOT com</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 5,
+ "code": "<span class=\"cppd\"> *</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 6,
+ "code": "<span class=\"cppd\"> * SonarQube is free software; you can redistribute it and/or</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b1436788cfc71b23cc3e3c15400a6c630c914bec",
+ "scmDate": "2013-04-21T11:58:14+0200"
+ },
+ {
+ "line": 7,
+ "code": "<span class=\"cppd\"> * modify it under the terms of the GNU Lesser General Public</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 8,
+ "code": "<span class=\"cppd\"> * License as published by the Free Software Foundation; either</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 9,
+ "code": "<span class=\"cppd\"> * version 3 of the License, or (at your option) any later version.</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 10,
+ "code": "<span class=\"cppd\"> *</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 11,
+ "code": "<span class=\"cppd\"> * SonarQube is distributed in the hope that it will be useful,</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b1436788cfc71b23cc3e3c15400a6c630c914bec",
+ "scmDate": "2013-04-21T11:58:14+0200"
+ },
+ {
+ "line": 12,
+ "code": "<span class=\"cppd\"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 13,
+ "code": "<span class=\"cppd\"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 14,
+ "code": "<span class=\"cppd\"> * Lesser General Public License for more details.</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 15,
+ "code": "<span class=\"cppd\"> *</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 16,
+ "code": "<span class=\"cppd\"> * You should have received a copy of the GNU Lesser General Public License</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "ce63bd4c293fe7a1fa066d73860bbaf4e1f5a608",
+ "scmDate": "2013-04-22T09:37:03+0200"
+ },
+ {
+ "line": 17,
+ "code": "<span class=\"cppd\"> * along with this program; if not, write to the Free Software Foundation,</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "ce63bd4c293fe7a1fa066d73860bbaf4e1f5a608",
+ "scmDate": "2013-04-22T09:37:03+0200"
+ },
+ {
+ "line": 18,
+ "code": "<span class=\"cppd\"> * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "ce63bd4c293fe7a1fa066d73860bbaf4e1f5a608",
+ "scmDate": "2013-04-22T09:37:03+0200"
+ },
+ {
+ "line": 19,
+ "code": "<span class=\"cppd\"> */</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 20,
+ "code": "<span class=\"k\">package</span> org.sonar.batch.index;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 21,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 22,
+ "code": "<span class=\"k\">import </span>com.google.common.collect.<span class=\"sym-1 sym\">Sets</span>;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 23,
+ "code": "<span class=\"k\">import </span>com.persistit.<span class=\"sym-2 sym\">Exchange</span>;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 24,
+ "code": "<span class=\"k\">import </span>com.persistit.<span class=\"sym-3 sym\">Key</span>;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 25,
+ "code": "<span class=\"k\">import </span>com.persistit.<span class=\"sym-4 sym\">KeyFilter</span>;",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 26,
+ "code": "<span class=\"k\">import </span>com.persistit.exception.<span class=\"sym-5 sym\">PersistitException</span>;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 27,
+ "code": "<span class=\"k\">import </span>org.apache.commons.lang.builder.<span class=\"sym-6 sym\">ToStringBuilder</span>;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 28,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 29,
+ "code": "<span class=\"k\">import </span>javax.annotation.<span class=\"sym-7 sym\">CheckForNull</span>;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 30,
+ "code": "",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "171cd79c0b5152461434951ed5d6e5e58849a7b7",
+ "scmDate": "2014-04-23T14:41:32+0200"
+ },
+ {
+ "line": 31,
+ "code": "<span class=\"k\">import </span>java.util.<span class=\"sym-8 sym\">Iterator</span>;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 32,
+ "code": "<span class=\"k\">import </span>java.util.<span class=\"sym-9 sym\">NoSuchElementException</span>;",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 33,
+ "code": "<span class=\"k\">import </span>java.util.<span class=\"sym-10 sym\">Set</span>;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 34,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 35,
+ "code": "<span class=\"cppd\">/**</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 36,
+ "code": "<span class=\"cppd\"> * <p></span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 37,
+ "code": "<span class=\"cppd\"> * This cache is not thread-safe, due to direct usage of {@link com.persistit.Exchange}</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 38,
+ "code": "<span class=\"cppd\"> * </p></span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 39,
+ "code": "<span class=\"cppd\"> */</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 40,
+ "code": "<span class=\"k\">public </span><span class=\"k\">class</span> <span class=\"sym-11 sym\">Cache</span><V> {",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "6074164392edd3db2dfdfd21d05cd56c19e2b0e6",
+ "scmDate": "2014-07-25T16:31:45+0200"
+ },
+ {
+ "line": 41,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 42,
+ "code": " <span class=\"k\">private </span><span class=\"k\">final </span>String <span class=\"sym-12 sym\">name</span>;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 43,
+ "code": " <span class=\"k\">private </span><span class=\"k\">final </span><span class=\"sym-2 sym\">Exchange</span> <span class=\"sym-13 sym\">exchange</span>;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 44,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 45,
+ "code": " <span class=\"sym-14 sym\">Cache</span>(String <span class=\"sym-15 sym\">name</span>, <span class=\"sym-2 sym\">Exchange</span> <span class=\"sym-16 sym\">exchange</span>) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200",
+ "utLineHits": 1
+ },
+ {
+ "line": 46,
+ "code": " <span class=\"k\">this</span>.<span class=\"sym-12 sym\">name</span> = <span class=\"sym-15 sym\">name</span>;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200",
+ "utLineHits": 1
+ },
+ {
+ "line": 47,
+ "code": " <span class=\"k\">this</span>.<span class=\"sym-13 sym\">exchange</span> = <span class=\"sym-16 sym\">exchange</span>;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200",
+ "utLineHits": 1
+ },
+ {
+ "line": 48,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200",
+ "utLineHits": 1
+ },
+ {
+ "line": 49,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 50,
+ "code": " <span class=\"k\">public </span><span class=\"sym-11 sym\">Cache</span><V> <span class=\"sym-17 sym\">put</span>(Object <span class=\"sym-18 sym\">key</span>, V <span class=\"sym-19 sym\">value</span>) {",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 51,
+ "code": " <span class=\"sym-127 sym\">resetKey</span>(<span class=\"sym-18 sym\">key</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 1
+ },
+ {
+ "line": 52,
+ "code": " <span class=\"k\">return</span> <span class=\"sym-32 sym\">doPut</span>(<span class=\"sym-19 sym\">value</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 1
+ },
+ {
+ "line": 53,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 54,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 55,
+ "code": " <span class=\"k\">public </span><span class=\"sym-11 sym\">Cache</span><V> <span class=\"sym-20 sym\">put</span>(Object <span class=\"sym-21 sym\">firstKey</span>, Object <span class=\"sym-22 sym\">secondKey</span>, V <span class=\"sym-23 sym\">value</span>) {",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 56,
+ "code": " <span class=\"sym-129 sym\">resetKey</span>(<span class=\"sym-21 sym\">firstKey</span>, <span class=\"sym-22 sym\">secondKey</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 1
+ },
+ {
+ "line": 57,
+ "code": " <span class=\"k\">return</span> <span class=\"sym-32 sym\">doPut</span>(<span class=\"sym-23 sym\">value</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 1
+ },
+ {
+ "line": 58,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 59,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 60,
+ "code": " <span class=\"k\">public </span><span class=\"sym-11 sym\">Cache</span><V> <span class=\"sym-24 sym\">put</span>(Object <span class=\"sym-25 sym\">firstKey</span>, Object <span class=\"sym-26 sym\">secondKey</span>, Object <span class=\"sym-27 sym\">thirdKey</span>, V <span class=\"sym-28 sym\">value</span>) {",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 61,
+ "code": " <span class=\"sym-132 sym\">resetKey</span>(<span class=\"sym-25 sym\">firstKey</span>, <span class=\"sym-26 sym\">secondKey</span>, <span class=\"sym-27 sym\">thirdKey</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 1
+ },
+ {
+ "line": 62,
+ "code": " <span class=\"k\">return</span> <span class=\"sym-32 sym\">doPut</span>(<span class=\"sym-28 sym\">value</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 1
+ },
+ {
+ "line": 63,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 64,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 65,
+ "code": " <span class=\"k\">public </span><span class=\"sym-11 sym\">Cache</span><V> <span class=\"sym-29 sym\">put</span>(Object[] <span class=\"sym-30 sym\">key</span>, V <span class=\"sym-31 sym\">value</span>) {",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 66,
+ "code": " <span class=\"sym-136 sym\">resetKey</span>(<span class=\"sym-30 sym\">key</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 0
+ },
+ {
+ "line": 67,
+ "code": " <span class=\"k\">return</span> <span class=\"sym-32 sym\">doPut</span>(<span class=\"sym-31 sym\">value</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 0
+ },
+ {
+ "line": 68,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 69,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 70,
+ "code": " <span class=\"k\">private </span><span class=\"sym-11 sym\">Cache</span><V> <span class=\"sym-32 sym\">doPut</span>(V <span class=\"sym-33 sym\">value</span>) {",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 71,
+ "code": " <span class=\"k\">try </span>{",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 72,
+ "code": " <span class=\"sym-13 sym\">exchange</span>.getValue().put(<span class=\"sym-33 sym\">value</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200",
+ "utLineHits": 1
+ },
+ {
+ "line": 73,
+ "code": " <span class=\"sym-13 sym\">exchange</span>.store();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200",
+ "utLineHits": 1
+ },
+ {
+ "line": 74,
+ "code": " <span class=\"k\">return</span> <span class=\"k\">this</span>;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200",
+ "utLineHits": 1
+ },
+ {
+ "line": 75,
+ "code": " } <span class=\"k\">catch </span>(Exception <span class=\"sym-34 sym\">e</span>) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200",
+ "utLineHits": 1
+ },
+ {
+ "line": 76,
+ "code": " <span class=\"k\">throw</span> <span class=\"k\">new</span> IllegalStateException(<span class=\"s\">\"Fail to put element in the cache \" </span>+ <span class=\"sym-12 sym\">name</span>, <span class=\"sym-34 sym\">e</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200",
+ "utLineHits": 1
+ },
+ {
+ "line": 77,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 78,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 79,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 80,
+ "code": " <span class=\"cppd\">/**</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 81,
+ "code": "<span class=\"cppd\"> * Returns the value object associated with keys, or null if not found.</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 82,
+ "code": "<span class=\"cppd\"> */</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 83,
+ "code": " <span class=\"k\">public </span>V <span class=\"sym-35 sym\">get</span>(Object <span class=\"sym-36 sym\">key</span>) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 84,
+ "code": " <span class=\"sym-127 sym\">resetKey</span>(<span class=\"sym-36 sym\">key</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 1
+ },
+ {
+ "line": 85,
+ "code": " <span class=\"k\">return</span> <span class=\"sym-46 sym\">doGet</span>();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 1
+ },
+ {
+ "line": 86,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 87,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 88,
+ "code": " <span class=\"cppd\">/**</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 89,
+ "code": "<span class=\"cppd\"> * Returns the value object associated with keys, or null if not found.</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 90,
+ "code": "<span class=\"cppd\"> */</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 91,
+ "code": " <span class=\"a\">@<span class=\"sym-7 sym\">CheckForNull</span></span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 92,
+ "code": "<span class=\"a\"> </span><span class=\"k\">public </span>V <span class=\"sym-37 sym\">get</span>(Object <span class=\"sym-38 sym\">firstKey</span>, Object <span class=\"sym-39 sym\">secondKey</span>) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 93,
+ "code": " <span class=\"sym-129 sym\">resetKey</span>(<span class=\"sym-38 sym\">firstKey</span>, <span class=\"sym-39 sym\">secondKey</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 1
+ },
+ {
+ "line": 94,
+ "code": " <span class=\"k\">return</span> <span class=\"sym-46 sym\">doGet</span>();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 1
+ },
+ {
+ "line": 95,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 96,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 97,
+ "code": " <span class=\"cppd\">/**</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 98,
+ "code": "<span class=\"cppd\"> * Returns the value object associated with keys, or null if not found.</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 99,
+ "code": "<span class=\"cppd\"> */</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 100,
+ "code": " <span class=\"a\">@<span class=\"sym-7 sym\">CheckForNull</span></span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 101,
+ "code": "<span class=\"a\"> </span><span class=\"k\">public </span>V <span class=\"sym-40 sym\">get</span>(Object <span class=\"sym-41 sym\">firstKey</span>, Object <span class=\"sym-42 sym\">secondKey</span>, Object <span class=\"sym-43 sym\">thirdKey</span>) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 102,
+ "code": " <span class=\"sym-132 sym\">resetKey</span>(<span class=\"sym-41 sym\">firstKey</span>, <span class=\"sym-42 sym\">secondKey</span>, <span class=\"sym-43 sym\">thirdKey</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 1
+ },
+ {
+ "line": 103,
+ "code": " <span class=\"k\">return</span> <span class=\"sym-46 sym\">doGet</span>();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 1
+ },
+ {
+ "line": 104,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 105,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 106,
+ "code": " <span class=\"cppd\">/**</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 107,
+ "code": "<span class=\"cppd\"> * Returns the value object associated with keys, or null if not found.</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 108,
+ "code": "<span class=\"cppd\"> */</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 109,
+ "code": " <span class=\"a\">@<span class=\"sym-7 sym\">CheckForNull</span></span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 110,
+ "code": "<span class=\"a\"> </span><span class=\"k\">public </span>V <span class=\"sym-44 sym\">get</span>(Object[] <span class=\"sym-45 sym\">key</span>) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 111,
+ "code": " <span class=\"sym-136 sym\">resetKey</span>(<span class=\"sym-45 sym\">key</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 0
+ },
+ {
+ "line": 112,
+ "code": " <span class=\"k\">return</span> <span class=\"sym-46 sym\">doGet</span>();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 0
+ },
+ {
+ "line": 113,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 114,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 115,
+ "code": " <span class=\"a\">@SuppressWarnings</span>(<span class=\"s\">\"unchecked\"</span>)",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 116,
+ "code": " <span class=\"a\">@<span class=\"sym-7 sym\">CheckForNull</span></span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 117,
+ "code": "<span class=\"a\"> </span><span class=\"k\">private </span>V <span class=\"sym-46 sym\">doGet</span>() {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 118,
+ "code": " <span class=\"k\">try </span>{",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 119,
+ "code": " <span class=\"sym-13 sym\">exchange</span>.fetch();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200",
+ "utLineHits": 1
+ },
+ {
+ "line": 120,
+ "code": " <span class=\"k\">if </span>(!<span class=\"sym-13 sym\">exchange</span>.getValue().isDefined()) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200",
+ "utLineHits": 1,
+ "utConditions": 2,
+ "utCoveredConditions": 2
+ },
+ {
+ "line": 121,
+ "code": " <span class=\"k\">return</span> <span class=\"k\">null</span>;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200",
+ "utLineHits": 1
+ },
+ {
+ "line": 122,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 123,
+ "code": " <span class=\"k\">return</span> (V) <span class=\"sym-13 sym\">exchange</span>.getValue().get();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200",
+ "utLineHits": 1
+ },
+ {
+ "line": 124,
+ "code": " } <span class=\"k\">catch </span>(Exception <span class=\"sym-47 sym\">e</span>) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200",
+ "utLineHits": 0
+ },
+ {
+ "line": 125,
+ "code": " <span class=\"cppd\">// TODO add parameters to message</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e108f5de333cf36aff978aa03940590f9caca9fc",
+ "scmDate": "2013-10-10T12:18:02+0200"
+ },
+ {
+ "line": 126,
+ "code": " <span class=\"k\">throw</span> <span class=\"k\">new</span> IllegalStateException(<span class=\"s\">\"Fail to get element from cache \" </span>+ <span class=\"sym-12 sym\">name</span>, <span class=\"sym-47 sym\">e</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200",
+ "utLineHits": 0
+ },
+ {
+ "line": 127,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 128,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 129,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 130,
+ "code": " <span class=\"k\">public </span><span class=\"k\">boolean </span><span class=\"sym-48 sym\">containsKey</span>(Object <span class=\"sym-49 sym\">key</span>) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 131,
+ "code": " <span class=\"sym-127 sym\">resetKey</span>(<span class=\"sym-49 sym\">key</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 1
+ },
+ {
+ "line": 132,
+ "code": " <span class=\"k\">return</span> <span class=\"sym-59 sym\">doContainsKey</span>();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 1
+ },
+ {
+ "line": 133,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 134,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 135,
+ "code": " <span class=\"k\">public </span><span class=\"k\">boolean </span><span class=\"sym-50 sym\">containsKey</span>(Object <span class=\"sym-51 sym\">firstKey</span>, Object <span class=\"sym-52 sym\">secondKey</span>) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 136,
+ "code": " <span class=\"sym-129 sym\">resetKey</span>(<span class=\"sym-51 sym\">firstKey</span>, <span class=\"sym-52 sym\">secondKey</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 1
+ },
+ {
+ "line": 137,
+ "code": " <span class=\"k\">return</span> <span class=\"sym-59 sym\">doContainsKey</span>();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 1
+ },
+ {
+ "line": 138,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 139,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 140,
+ "code": " <span class=\"k\">public </span><span class=\"k\">boolean </span><span class=\"sym-53 sym\">containsKey</span>(Object <span class=\"sym-54 sym\">firstKey</span>, Object <span class=\"sym-55 sym\">secondKey</span>, Object <span class=\"sym-56 sym\">thirdKey</span>) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 141,
+ "code": " <span class=\"sym-132 sym\">resetKey</span>(<span class=\"sym-54 sym\">firstKey</span>, <span class=\"sym-55 sym\">secondKey</span>, <span class=\"sym-56 sym\">thirdKey</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 1
+ },
+ {
+ "line": 142,
+ "code": " <span class=\"k\">return</span> <span class=\"sym-59 sym\">doContainsKey</span>();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 1
+ },
+ {
+ "line": 143,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 144,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 145,
+ "code": " <span class=\"k\">public </span><span class=\"k\">boolean </span><span class=\"sym-57 sym\">containsKey</span>(Object[] <span class=\"sym-58 sym\">key</span>) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 146,
+ "code": " <span class=\"sym-136 sym\">resetKey</span>(<span class=\"sym-58 sym\">key</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 0
+ },
+ {
+ "line": 147,
+ "code": " <span class=\"k\">return</span> <span class=\"sym-59 sym\">doContainsKey</span>();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 0
+ },
+ {
+ "line": 148,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 149,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 150,
+ "code": " <span class=\"k\">private </span><span class=\"k\">boolean </span><span class=\"sym-59 sym\">doContainsKey</span>() {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 151,
+ "code": " <span class=\"k\">try </span>{",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e108f5de333cf36aff978aa03940590f9caca9fc",
+ "scmDate": "2013-10-10T12:18:02+0200"
+ },
+ {
+ "line": 152,
+ "code": " <span class=\"sym-13 sym\">exchange</span>.fetch();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e108f5de333cf36aff978aa03940590f9caca9fc",
+ "scmDate": "2013-10-10T12:18:02+0200",
+ "utLineHits": 1
+ },
+ {
+ "line": 153,
+ "code": " <span class=\"k\">return</span> <span class=\"sym-13 sym\">exchange</span>.isValueDefined();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e108f5de333cf36aff978aa03940590f9caca9fc",
+ "scmDate": "2013-10-10T12:18:02+0200",
+ "utLineHits": 1
+ },
+ {
+ "line": 154,
+ "code": " } <span class=\"k\">catch </span>(Exception <span class=\"sym-60 sym\">e</span>) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e108f5de333cf36aff978aa03940590f9caca9fc",
+ "scmDate": "2013-10-10T12:18:02+0200",
+ "utLineHits": 0
+ },
+ {
+ "line": 155,
+ "code": " <span class=\"cppd\">// TODO add parameters to message</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e108f5de333cf36aff978aa03940590f9caca9fc",
+ "scmDate": "2013-10-10T12:18:02+0200"
+ },
+ {
+ "line": 156,
+ "code": " <span class=\"k\">throw</span> <span class=\"k\">new</span> IllegalStateException(<span class=\"s\">\"Fail to check if element is in cache \" </span>+ <span class=\"sym-12 sym\">name</span>, <span class=\"sym-60 sym\">e</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e108f5de333cf36aff978aa03940590f9caca9fc",
+ "scmDate": "2013-10-10T12:18:02+0200",
+ "utLineHits": 0
+ },
+ {
+ "line": 157,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e108f5de333cf36aff978aa03940590f9caca9fc",
+ "scmDate": "2013-10-10T12:18:02+0200"
+ },
+ {
+ "line": 158,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e108f5de333cf36aff978aa03940590f9caca9fc",
+ "scmDate": "2013-10-10T12:18:02+0200"
+ },
+ {
+ "line": 159,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e108f5de333cf36aff978aa03940590f9caca9fc",
+ "scmDate": "2013-10-10T12:18:02+0200"
+ },
+ {
+ "line": 160,
+ "code": " <span class=\"k\">public </span><span class=\"k\">boolean </span><span class=\"sym-61 sym\">remove</span>(Object <span class=\"sym-62 sym\">key</span>) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 161,
+ "code": " <span class=\"sym-127 sym\">resetKey</span>(<span class=\"sym-62 sym\">key</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 1
+ },
+ {
+ "line": 162,
+ "code": " <span class=\"k\">return</span> <span class=\"sym-72 sym\">doRemove</span>();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 1
+ },
+ {
+ "line": 163,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 164,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 165,
+ "code": " <span class=\"k\">public </span><span class=\"k\">boolean </span><span class=\"sym-63 sym\">remove</span>(Object <span class=\"sym-64 sym\">firstKey</span>, Object <span class=\"sym-65 sym\">secondKey</span>) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 166,
+ "code": " <span class=\"sym-129 sym\">resetKey</span>(<span class=\"sym-64 sym\">firstKey</span>, <span class=\"sym-65 sym\">secondKey</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 1
+ },
+ {
+ "line": 167,
+ "code": " <span class=\"k\">return</span> <span class=\"sym-72 sym\">doRemove</span>();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 1
+ },
+ {
+ "line": 168,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 169,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 170,
+ "code": " <span class=\"k\">public </span><span class=\"k\">boolean </span><span class=\"sym-66 sym\">remove</span>(Object <span class=\"sym-67 sym\">firstKey</span>, Object <span class=\"sym-68 sym\">secondKey</span>, Object <span class=\"sym-69 sym\">thirdKey</span>) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 171,
+ "code": " <span class=\"sym-132 sym\">resetKey</span>(<span class=\"sym-67 sym\">firstKey</span>, <span class=\"sym-68 sym\">secondKey</span>, <span class=\"sym-69 sym\">thirdKey</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 1
+ },
+ {
+ "line": 172,
+ "code": " <span class=\"k\">return</span> <span class=\"sym-72 sym\">doRemove</span>();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 1
+ },
+ {
+ "line": 173,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 174,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 175,
+ "code": " <span class=\"k\">public </span><span class=\"k\">boolean </span><span class=\"sym-70 sym\">remove</span>(Object[] <span class=\"sym-71 sym\">key</span>) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 176,
+ "code": " <span class=\"sym-136 sym\">resetKey</span>(<span class=\"sym-71 sym\">key</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 0
+ },
+ {
+ "line": 177,
+ "code": " <span class=\"k\">return</span> <span class=\"sym-72 sym\">doRemove</span>();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 0
+ },
+ {
+ "line": 178,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 179,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 180,
+ "code": " <span class=\"k\">private </span><span class=\"k\">boolean </span><span class=\"sym-72 sym\">doRemove</span>() {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 181,
+ "code": " <span class=\"k\">try </span>{",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 182,
+ "code": " <span class=\"k\">return</span> <span class=\"sym-13 sym\">exchange</span>.remove();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "6f1161efb92298ace498df544e38f6f97216ec36",
+ "scmDate": "2013-04-26T15:19:16+0200",
+ "utLineHits": 1
+ },
+ {
+ "line": 183,
+ "code": " } <span class=\"k\">catch </span>(Exception <span class=\"sym-73 sym\">e</span>) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200",
+ "utLineHits": 0
+ },
+ {
+ "line": 184,
+ "code": " <span class=\"cppd\">// TODO add parameters to message</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e108f5de333cf36aff978aa03940590f9caca9fc",
+ "scmDate": "2013-10-10T12:18:02+0200"
+ },
+ {
+ "line": 185,
+ "code": " <span class=\"k\">throw</span> <span class=\"k\">new</span> IllegalStateException(<span class=\"s\">\"Fail to get element from cache \" </span>+ <span class=\"sym-12 sym\">name</span>, <span class=\"sym-73 sym\">e</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200",
+ "utLineHits": 0
+ },
+ {
+ "line": 186,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 187,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 188,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 189,
+ "code": " <span class=\"cppd\">/**</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 190,
+ "code": "<span class=\"cppd\"> * Removes everything in the specified group.</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 191,
+ "code": "<span class=\"cppd\"> *</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 192,
+ "code": "<span class=\"cppd\"> * @param group The group name.</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 193,
+ "code": "<span class=\"cppd\"> */</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 194,
+ "code": " <span class=\"k\">public </span><span class=\"sym-11 sym\">Cache</span><V> <span class=\"sym-74 sym\">clear</span>(Object <span class=\"sym-75 sym\">key</span>) {",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 195,
+ "code": " <span class=\"sym-127 sym\">resetKey</span>(<span class=\"sym-75 sym\">key</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 1
+ },
+ {
+ "line": 196,
+ "code": " <span class=\"k\">return</span> <span class=\"sym-85 sym\">doClear</span>();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 1
+ },
+ {
+ "line": 197,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 198,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 199,
+ "code": " <span class=\"k\">public </span><span class=\"sym-11 sym\">Cache</span><V> <span class=\"sym-76 sym\">clear</span>(Object <span class=\"sym-77 sym\">firstKey</span>, Object <span class=\"sym-78 sym\">secondKey</span>) {",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 200,
+ "code": " <span class=\"sym-129 sym\">resetKey</span>(<span class=\"sym-77 sym\">firstKey</span>, <span class=\"sym-78 sym\">secondKey</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 1
+ },
+ {
+ "line": 201,
+ "code": " <span class=\"k\">return</span> <span class=\"sym-85 sym\">doClear</span>();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 1
+ },
+ {
+ "line": 202,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 203,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 204,
+ "code": " <span class=\"k\">public </span><span class=\"sym-11 sym\">Cache</span><V> <span class=\"sym-79 sym\">clear</span>(Object <span class=\"sym-80 sym\">firstKey</span>, Object <span class=\"sym-81 sym\">secondKey</span>, Object <span class=\"sym-82 sym\">thirdKey</span>) {",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 205,
+ "code": " <span class=\"sym-132 sym\">resetKey</span>(<span class=\"sym-80 sym\">firstKey</span>, <span class=\"sym-81 sym\">secondKey</span>, <span class=\"sym-82 sym\">thirdKey</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 1
+ },
+ {
+ "line": 206,
+ "code": " <span class=\"k\">return</span> <span class=\"sym-85 sym\">doClear</span>();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 1
+ },
+ {
+ "line": 207,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 208,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 209,
+ "code": " <span class=\"k\">public </span><span class=\"sym-11 sym\">Cache</span><V> <span class=\"sym-83 sym\">clear</span>(Object[] <span class=\"sym-84 sym\">key</span>) {",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 210,
+ "code": " <span class=\"sym-136 sym\">resetKey</span>(<span class=\"sym-84 sym\">key</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 0
+ },
+ {
+ "line": 211,
+ "code": " <span class=\"k\">return</span> <span class=\"sym-85 sym\">doClear</span>();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 0
+ },
+ {
+ "line": 212,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 213,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 214,
+ "code": " <span class=\"k\">private </span><span class=\"sym-11 sym\">Cache</span><V> <span class=\"sym-85 sym\">doClear</span>() {",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 215,
+ "code": " <span class=\"k\">try </span>{",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 216,
+ "code": " <span class=\"sym-3 sym\">Key</span> <span class=\"sym-86 sym\">to</span> = <span class=\"k\">new</span> <span class=\"sym-3 sym\">Key</span>(<span class=\"sym-13 sym\">exchange</span>.getKey());",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 1
+ },
+ {
+ "line": 217,
+ "code": " <span class=\"sym-86 sym\">to</span>.append(<span class=\"sym-3 sym\">Key</span>.AFTER);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 1
+ },
+ {
+ "line": 218,
+ "code": " <span class=\"sym-13 sym\">exchange</span>.removeKeyRange(<span class=\"sym-13 sym\">exchange</span>.getKey(), <span class=\"sym-86 sym\">to</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 1
+ },
+ {
+ "line": 219,
+ "code": " <span class=\"k\">return</span> <span class=\"k\">this</span>;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200",
+ "utLineHits": 1
+ },
+ {
+ "line": 220,
+ "code": " } <span class=\"k\">catch </span>(Exception <span class=\"sym-87 sym\">e</span>) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200",
+ "utLineHits": 0
+ },
+ {
+ "line": 221,
+ "code": " <span class=\"k\">throw</span> <span class=\"k\">new</span> IllegalStateException(<span class=\"s\">\"Fail to clear values from cache \" </span>+ <span class=\"sym-12 sym\">name</span>, <span class=\"sym-87 sym\">e</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 0
+ },
+ {
+ "line": 222,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 223,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 224,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 225,
+ "code": " <span class=\"cppd\">/**</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 226,
+ "code": "<span class=\"cppd\"> * Clears the default as well as all group caches.</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 227,
+ "code": "<span class=\"cppd\"> */</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 228,
+ "code": " <span class=\"k\">public </span><span class=\"k\">void </span><span class=\"sym-88 sym\">clear</span>() {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 229,
+ "code": " <span class=\"k\">try </span>{",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 230,
+ "code": " <span class=\"sym-13 sym\">exchange</span>.clear();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200",
+ "utLineHits": 1
+ },
+ {
+ "line": 231,
+ "code": " <span class=\"sym-13 sym\">exchange</span>.removeAll();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200",
+ "utLineHits": 1
+ },
+ {
+ "line": 232,
+ "code": " } <span class=\"k\">catch </span>(Exception <span class=\"sym-89 sym\">e</span>) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200",
+ "utLineHits": 0
+ },
+ {
+ "line": 233,
+ "code": " <span class=\"k\">throw</span> <span class=\"k\">new</span> IllegalStateException(<span class=\"s\">\"Fail to clear cache\"</span>, <span class=\"sym-89 sym\">e</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200",
+ "utLineHits": 0
+ },
+ {
+ "line": 234,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200",
+ "utLineHits": 1
+ },
+ {
+ "line": 235,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200",
+ "utLineHits": 1
+ },
+ {
+ "line": 236,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 237,
+ "code": " <span class=\"cppd\">/**</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 238,
+ "code": "<span class=\"cppd\"> * Returns the set of cache keys associated with this group.</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 239,
+ "code": "<span class=\"cppd\"> * TODO implement a lazy-loading equivalent with Iterator/Iterable</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 240,
+ "code": "<span class=\"cppd\"> *</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 241,
+ "code": "<span class=\"cppd\"> * @param group The group.</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 242,
+ "code": "<span class=\"cppd\"> * @return The set of cache keys for this group.</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 243,
+ "code": "<span class=\"cppd\"> */</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 244,
+ "code": " <span class=\"a\">@SuppressWarnings</span>(<span class=\"s\">\"rawtypes\"</span>)",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 245,
+ "code": " <span class=\"k\">public </span><span class=\"sym-10 sym\">Set</span> <span class=\"sym-90 sym\">keySet</span>(Object <span class=\"sym-91 sym\">key</span>) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 246,
+ "code": " <span class=\"k\">try </span>{",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 247,
+ "code": " <span class=\"sym-10 sym\">Set</span><Object> <span class=\"sym-92 sym\">keys</span> = <span class=\"sym-1 sym\">Sets</span>.newLinkedHashSet();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 1
+ },
+ {
+ "line": 248,
+ "code": " <span class=\"sym-13 sym\">exchange</span>.clear();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200",
+ "utLineHits": 1
+ },
+ {
+ "line": 249,
+ "code": " <span class=\"sym-2 sym\">Exchange</span> <span class=\"sym-93 sym\">iteratorExchange</span> = <span class=\"k\">new</span> <span class=\"sym-2 sym\">Exchange</span>(<span class=\"sym-13 sym\">exchange</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200",
+ "utLineHits": 1
+ },
+ {
+ "line": 250,
+ "code": " <span class=\"sym-93 sym\">iteratorExchange</span>.append(<span class=\"sym-91 sym\">key</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 1
+ },
+ {
+ "line": 251,
+ "code": " <span class=\"sym-93 sym\">iteratorExchange</span>.append(<span class=\"sym-3 sym\">Key</span>.BEFORE);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200",
+ "utLineHits": 1
+ },
+ {
+ "line": 252,
+ "code": " <span class=\"k\">while </span>(<span class=\"sym-93 sym\">iteratorExchange</span>.next(<span class=\"k\">false</span>)) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200",
+ "utLineHits": 1,
+ "utConditions": 2,
+ "utCoveredConditions": 2
+ },
+ {
+ "line": 253,
+ "code": " <span class=\"sym-92 sym\">keys</span>.add(<span class=\"sym-93 sym\">iteratorExchange</span>.getKey().indexTo(-<span class=\"c\">1</span>).decode());",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 1
+ },
+ {
+ "line": 254,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 255,
+ "code": " <span class=\"k\">return</span> <span class=\"sym-92 sym\">keys</span>;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200",
+ "utLineHits": 1
+ },
+ {
+ "line": 256,
+ "code": " } <span class=\"k\">catch </span>(Exception <span class=\"sym-94 sym\">e</span>) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200",
+ "utLineHits": 0
+ },
+ {
+ "line": 257,
+ "code": " <span class=\"k\">throw</span> <span class=\"k\">new</span> IllegalStateException(<span class=\"s\">\"Fail to get keys from cache \" </span>+ <span class=\"sym-12 sym\">name</span>, <span class=\"sym-94 sym\">e</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200",
+ "utLineHits": 0
+ },
+ {
+ "line": 258,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 259,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 260,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 261,
+ "code": " <span class=\"a\">@SuppressWarnings</span>(<span class=\"s\">\"rawtypes\"</span>)",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 262,
+ "code": " <span class=\"k\">public </span><span class=\"sym-10 sym\">Set</span> <span class=\"sym-95 sym\">keySet</span>(Object <span class=\"sym-96 sym\">firstKey</span>, Object <span class=\"sym-97 sym\">secondKey</span>) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 263,
+ "code": " <span class=\"k\">try </span>{",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 264,
+ "code": " <span class=\"sym-10 sym\">Set</span><Object> <span class=\"sym-98 sym\">keys</span> = <span class=\"sym-1 sym\">Sets</span>.newLinkedHashSet();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 1
+ },
+ {
+ "line": 265,
+ "code": " <span class=\"sym-13 sym\">exchange</span>.clear();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 1
+ },
+ {
+ "line": 266,
+ "code": " <span class=\"sym-2 sym\">Exchange</span> <span class=\"sym-99 sym\">iteratorExchange</span> = <span class=\"k\">new</span> <span class=\"sym-2 sym\">Exchange</span>(<span class=\"sym-13 sym\">exchange</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 1
+ },
+ {
+ "line": 267,
+ "code": " <span class=\"sym-99 sym\">iteratorExchange</span>.append(<span class=\"sym-96 sym\">firstKey</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 1
+ },
+ {
+ "line": 268,
+ "code": " <span class=\"sym-99 sym\">iteratorExchange</span>.append(<span class=\"sym-97 sym\">secondKey</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 1
+ },
+ {
+ "line": 269,
+ "code": " <span class=\"sym-99 sym\">iteratorExchange</span>.append(<span class=\"sym-3 sym\">Key</span>.BEFORE);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 1
+ },
+ {
+ "line": 270,
+ "code": " <span class=\"k\">while </span>(<span class=\"sym-99 sym\">iteratorExchange</span>.next(<span class=\"k\">false</span>)) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 1,
+ "utConditions": 2,
+ "utCoveredConditions": 2
+ },
+ {
+ "line": 271,
+ "code": " <span class=\"sym-98 sym\">keys</span>.add(<span class=\"sym-99 sym\">iteratorExchange</span>.getKey().indexTo(-<span class=\"c\">1</span>).decode());",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 1
+ },
+ {
+ "line": 272,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 273,
+ "code": " <span class=\"k\">return</span> <span class=\"sym-98 sym\">keys</span>;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 1
+ },
+ {
+ "line": 274,
+ "code": " } <span class=\"k\">catch </span>(Exception <span class=\"sym-100 sym\">e</span>) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 0
+ },
+ {
+ "line": 275,
+ "code": " <span class=\"k\">throw</span> <span class=\"k\">new</span> IllegalStateException(<span class=\"s\">\"Fail to get keys from cache \" </span>+ <span class=\"sym-12 sym\">name</span>, <span class=\"sym-100 sym\">e</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 0
+ },
+ {
+ "line": 276,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 277,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 278,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 279,
+ "code": " <span class=\"cppd\">/**</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 280,
+ "code": "<span class=\"cppd\"> * Returns the set of keys associated with this cache.</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 281,
+ "code": "<span class=\"cppd\"> *</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 282,
+ "code": "<span class=\"cppd\"> * @return The set containing the keys for this cache.</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 283,
+ "code": "<span class=\"cppd\"> */</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 284,
+ "code": " <span class=\"k\">public </span><span class=\"sym-10 sym\">Set</span><Object> <span class=\"sym-101 sym\">keySet</span>() {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 285,
+ "code": " <span class=\"k\">try </span>{",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 286,
+ "code": " <span class=\"sym-10 sym\">Set</span><Object> <span class=\"sym-102 sym\">keys</span> = <span class=\"sym-1 sym\">Sets</span>.newLinkedHashSet();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 1
+ },
+ {
+ "line": 287,
+ "code": " <span class=\"sym-13 sym\">exchange</span>.clear();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 1
+ },
+ {
+ "line": 288,
+ "code": " <span class=\"sym-2 sym\">Exchange</span> <span class=\"sym-103 sym\">iteratorExchange</span> = <span class=\"k\">new</span> <span class=\"sym-2 sym\">Exchange</span>(<span class=\"sym-13 sym\">exchange</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 1
+ },
+ {
+ "line": 289,
+ "code": " <span class=\"sym-103 sym\">iteratorExchange</span>.append(<span class=\"sym-3 sym\">Key</span>.BEFORE);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 1
+ },
+ {
+ "line": 290,
+ "code": " <span class=\"k\">while </span>(<span class=\"sym-103 sym\">iteratorExchange</span>.next(<span class=\"k\">false</span>)) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 1,
+ "utConditions": 2,
+ "utCoveredConditions": 2
+ },
+ {
+ "line": 291,
+ "code": " <span class=\"sym-102 sym\">keys</span>.add(<span class=\"sym-103 sym\">iteratorExchange</span>.getKey().indexTo(-<span class=\"c\">1</span>).decode());",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 1
+ },
+ {
+ "line": 292,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 293,
+ "code": " <span class=\"k\">return</span> <span class=\"sym-102 sym\">keys</span>;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 1
+ },
+ {
+ "line": 294,
+ "code": " } <span class=\"k\">catch </span>(Exception <span class=\"sym-104 sym\">e</span>) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 0
+ },
+ {
+ "line": 295,
+ "code": " <span class=\"k\">throw</span> <span class=\"k\">new</span> IllegalStateException(<span class=\"s\">\"Fail to get keys from cache \" </span>+ <span class=\"sym-12 sym\">name</span>, <span class=\"sym-104 sym\">e</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 0
+ },
+ {
+ "line": 296,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 297,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 298,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 299,
+ "code": " <span class=\"cppd\">/**</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200"
+ },
+ {
+ "line": 300,
+ "code": "<span class=\"cppd\"> * Lazy-loading values for given keys</span>",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "171cd79c0b5152461434951ed5d6e5e58849a7b7",
+ "scmDate": "2014-04-23T14:41:32+0200"
+ },
+ {
+ "line": 301,
+ "code": "<span class=\"cppd\"> */</span>",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "171cd79c0b5152461434951ed5d6e5e58849a7b7",
+ "scmDate": "2014-04-23T14:41:32+0200"
+ },
+ {
+ "line": 302,
+ "code": " <span class=\"k\">public </span>Iterable<V> <span class=\"sym-105 sym\">values</span>(Object <span class=\"sym-106 sym\">firstKey</span>, Object <span class=\"sym-107 sym\">secondKey</span>) {",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "171cd79c0b5152461434951ed5d6e5e58849a7b7",
+ "scmDate": "2014-04-23T14:41:32+0200"
+ },
+ {
+ "line": 303,
+ "code": " <span class=\"k\">try </span>{",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "171cd79c0b5152461434951ed5d6e5e58849a7b7",
+ "scmDate": "2014-04-23T14:41:32+0200"
+ },
+ {
+ "line": 304,
+ "code": " <span class=\"sym-13 sym\">exchange</span>.clear();",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "171cd79c0b5152461434951ed5d6e5e58849a7b7",
+ "scmDate": "2014-04-23T14:41:32+0200",
+ "utLineHits": 1
+ },
+ {
+ "line": 305,
+ "code": " <span class=\"sym-13 sym\">exchange</span>.append(<span class=\"sym-106 sym\">firstKey</span>).append(<span class=\"sym-107 sym\">secondKey</span>).append(<span class=\"sym-3 sym\">Key</span>.BEFORE);",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "171cd79c0b5152461434951ed5d6e5e58849a7b7",
+ "scmDate": "2014-04-23T14:41:32+0200",
+ "utLineHits": 1
+ },
+ {
+ "line": 306,
+ "code": " <span class=\"sym-2 sym\">Exchange</span> <span class=\"sym-108 sym\">iteratorExchange</span> = <span class=\"k\">new</span> <span class=\"sym-2 sym\">Exchange</span>(<span class=\"sym-13 sym\">exchange</span>);",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "171cd79c0b5152461434951ed5d6e5e58849a7b7",
+ "scmDate": "2014-04-23T14:41:32+0200",
+ "utLineHits": 1
+ },
+ {
+ "line": 307,
+ "code": " <span class=\"sym-4 sym\">KeyFilter</span> <span class=\"sym-109 sym\">filter</span> = <span class=\"k\">new</span> <span class=\"sym-4 sym\">KeyFilter</span>().append(<span class=\"sym-4 sym\">KeyFilter</span>.simpleTerm(<span class=\"sym-106 sym\">firstKey</span>)).append(<span class=\"sym-4 sym\">KeyFilter</span>.simpleTerm(<span class=\"sym-107 sym\">secondKey</span>));",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200",
+ "utLineHits": 1
+ },
+ {
+ "line": 308,
+ "code": " <span class=\"k\">return</span> <span class=\"k\">new</span> <span class=\"sym-139 sym\">ValueIterable</span><V>(<span class=\"sym-108 sym\">iteratorExchange</span>, <span class=\"sym-109 sym\">filter</span>);",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200",
+ "utLineHits": 1
+ },
+ {
+ "line": 309,
+ "code": " } <span class=\"k\">catch </span>(Exception <span class=\"sym-110 sym\">e</span>) {",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "171cd79c0b5152461434951ed5d6e5e58849a7b7",
+ "scmDate": "2014-04-23T14:41:32+0200",
+ "utLineHits": 0
+ },
+ {
+ "line": 310,
+ "code": " <span class=\"k\">throw</span> <span class=\"sym-111 sym\">failToGetValues</span>(<span class=\"sym-110 sym\">e</span>);",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "904b462c56317b1fb5a616534bd58aa9c9097d0b",
+ "scmDate": "2014-06-20T14:13:01+0200",
+ "utLineHits": 0
+ },
+ {
+ "line": 311,
+ "code": " }",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "171cd79c0b5152461434951ed5d6e5e58849a7b7",
+ "scmDate": "2014-04-23T14:41:32+0200"
+ },
+ {
+ "line": 312,
+ "code": " }",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "904b462c56317b1fb5a616534bd58aa9c9097d0b",
+ "scmDate": "2014-06-20T14:13:01+0200"
+ },
+ {
+ "line": 313,
+ "code": "",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "904b462c56317b1fb5a616534bd58aa9c9097d0b",
+ "scmDate": "2014-06-20T14:13:01+0200"
+ },
+ {
+ "line": 314,
+ "code": " <span class=\"k\">private </span>IllegalStateException <span class=\"sym-111 sym\">failToGetValues</span>(Exception <span class=\"sym-112 sym\">e</span>) {",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "904b462c56317b1fb5a616534bd58aa9c9097d0b",
+ "scmDate": "2014-06-20T14:13:01+0200"
+ },
+ {
+ "line": 315,
+ "code": " <span class=\"k\">return</span> <span class=\"k\">new</span> IllegalStateException(<span class=\"s\">\"Fail to get values from cache \" </span>+ <span class=\"sym-12 sym\">name</span>, <span class=\"sym-112 sym\">e</span>);",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "904b462c56317b1fb5a616534bd58aa9c9097d0b",
+ "scmDate": "2014-06-20T14:13:01+0200",
+ "utLineHits": 0
+ },
+ {
+ "line": 316,
+ "code": " }",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "171cd79c0b5152461434951ed5d6e5e58849a7b7",
+ "scmDate": "2014-04-23T14:41:32+0200"
+ },
+ {
+ "line": 317,
+ "code": "",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "171cd79c0b5152461434951ed5d6e5e58849a7b7",
+ "scmDate": "2014-04-23T14:41:32+0200"
+ },
+ {
+ "line": 318,
+ "code": " <span class=\"cppd\">/**</span>",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "171cd79c0b5152461434951ed5d6e5e58849a7b7",
+ "scmDate": "2014-04-23T14:41:32+0200"
+ },
+ {
+ "line": 319,
+ "code": "<span class=\"cppd\"> * Lazy-loading values for a given key</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 320,
+ "code": "<span class=\"cppd\"> */</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200"
+ },
+ {
+ "line": 321,
+ "code": " <span class=\"k\">public </span>Iterable<V> <span class=\"sym-113 sym\">values</span>(Object <span class=\"sym-114 sym\">firstKey</span>) {",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 322,
+ "code": " <span class=\"k\">try </span>{",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 323,
+ "code": " <span class=\"sym-13 sym\">exchange</span>.clear();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200",
+ "utLineHits": 1
+ },
+ {
+ "line": 324,
+ "code": " <span class=\"sym-13 sym\">exchange</span>.append(<span class=\"sym-114 sym\">firstKey</span>).append(<span class=\"sym-3 sym\">Key</span>.BEFORE);",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200",
+ "utLineHits": 1
+ },
+ {
+ "line": 325,
+ "code": " <span class=\"sym-2 sym\">Exchange</span> <span class=\"sym-115 sym\">iteratorExchange</span> = <span class=\"k\">new</span> <span class=\"sym-2 sym\">Exchange</span>(<span class=\"sym-13 sym\">exchange</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200",
+ "utLineHits": 1
+ },
+ {
+ "line": 326,
+ "code": " <span class=\"sym-4 sym\">KeyFilter</span> <span class=\"sym-116 sym\">filter</span> = <span class=\"k\">new</span> <span class=\"sym-4 sym\">KeyFilter</span>().append(<span class=\"sym-4 sym\">KeyFilter</span>.simpleTerm(<span class=\"sym-114 sym\">firstKey</span>));",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200",
+ "utLineHits": 1
+ },
+ {
+ "line": 327,
+ "code": " <span class=\"k\">return</span> <span class=\"k\">new</span> <span class=\"sym-139 sym\">ValueIterable</span><V>(<span class=\"sym-115 sym\">iteratorExchange</span>, <span class=\"sym-116 sym\">filter</span>);",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200",
+ "utLineHits": 1
+ },
+ {
+ "line": 328,
+ "code": " } <span class=\"k\">catch </span>(Exception <span class=\"sym-117 sym\">e</span>) {",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "46395126b184c343df5471a147cdb48133f59f6f",
+ "scmDate": "2014-04-23T14:41:32+0200",
+ "utLineHits": 0
+ },
+ {
+ "line": 329,
+ "code": " <span class=\"k\">throw</span> <span class=\"sym-111 sym\">failToGetValues</span>(<span class=\"sym-117 sym\">e</span>);",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "904b462c56317b1fb5a616534bd58aa9c9097d0b",
+ "scmDate": "2014-06-20T14:13:01+0200",
+ "utLineHits": 0
+ },
+ {
+ "line": 330,
+ "code": " }",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "46395126b184c343df5471a147cdb48133f59f6f",
+ "scmDate": "2014-04-23T14:41:32+0200"
+ },
+ {
+ "line": 331,
+ "code": " }",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "46395126b184c343df5471a147cdb48133f59f6f",
+ "scmDate": "2014-04-23T14:41:32+0200"
+ },
+ {
+ "line": 332,
+ "code": "",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "46395126b184c343df5471a147cdb48133f59f6f",
+ "scmDate": "2014-04-23T14:41:32+0200"
+ },
+ {
+ "line": 333,
+ "code": " <span class=\"cppd\">/**</span>",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "46395126b184c343df5471a147cdb48133f59f6f",
+ "scmDate": "2014-04-23T14:41:32+0200"
+ },
+ {
+ "line": 334,
+ "code": "<span class=\"cppd\"> * Lazy-loading values</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200"
+ },
+ {
+ "line": 335,
+ "code": "<span class=\"cppd\"> */</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200"
+ },
+ {
+ "line": 336,
+ "code": " <span class=\"k\">public </span>Iterable<V> <span class=\"sym-118 sym\">values</span>() {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 337,
+ "code": " <span class=\"k\">try </span>{",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 338,
+ "code": " <span class=\"sym-13 sym\">exchange</span>.clear().append(<span class=\"sym-3 sym\">Key</span>.BEFORE);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 1
+ },
+ {
+ "line": 339,
+ "code": " <span class=\"sym-2 sym\">Exchange</span> <span class=\"sym-119 sym\">iteratorExchange</span> = <span class=\"k\">new</span> <span class=\"sym-2 sym\">Exchange</span>(<span class=\"sym-13 sym\">exchange</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200",
+ "utLineHits": 1
+ },
+ {
+ "line": 340,
+ "code": " <span class=\"sym-4 sym\">KeyFilter</span> <span class=\"sym-120 sym\">filter</span> = <span class=\"k\">new</span> <span class=\"sym-4 sym\">KeyFilter</span>().append(<span class=\"sym-4 sym\">KeyFilter</span>.ALL);",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200",
+ "utLineHits": 1
+ },
+ {
+ "line": 341,
+ "code": " <span class=\"k\">return</span> <span class=\"k\">new</span> <span class=\"sym-139 sym\">ValueIterable</span><V>(<span class=\"sym-119 sym\">iteratorExchange</span>, <span class=\"sym-120 sym\">filter</span>);",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200",
+ "utLineHits": 1
+ },
+ {
+ "line": 342,
+ "code": " } <span class=\"k\">catch </span>(Exception <span class=\"sym-121 sym\">e</span>) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200",
+ "utLineHits": 0
+ },
+ {
+ "line": 343,
+ "code": " <span class=\"k\">throw</span> <span class=\"sym-111 sym\">failToGetValues</span>(<span class=\"sym-121 sym\">e</span>);",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "904b462c56317b1fb5a616534bd58aa9c9097d0b",
+ "scmDate": "2014-06-20T14:13:01+0200",
+ "utLineHits": 0
+ },
+ {
+ "line": 344,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 345,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 346,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 347,
+ "code": " <span class=\"k\">public </span>Iterable<<span class=\"sym-177 sym\">Entry</span><V>> <span class=\"sym-122 sym\">entries</span>() {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 348,
+ "code": " <span class=\"sym-13 sym\">exchange</span>.clear().to(<span class=\"sym-3 sym\">Key</span>.BEFORE);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200",
+ "utLineHits": 1
+ },
+ {
+ "line": 349,
+ "code": " <span class=\"sym-4 sym\">KeyFilter</span> <span class=\"sym-123 sym\">filter</span> = <span class=\"k\">new</span> <span class=\"sym-4 sym\">KeyFilter</span>().append(<span class=\"sym-4 sym\">KeyFilter</span>.ALL);",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200",
+ "utLineHits": 1
+ },
+ {
+ "line": 350,
+ "code": " <span class=\"k\">return</span> <span class=\"k\">new</span> <span class=\"sym-156 sym\">EntryIterable</span><V>(<span class=\"k\">new</span> <span class=\"sym-2 sym\">Exchange</span>(<span class=\"sym-13 sym\">exchange</span>), <span class=\"sym-123 sym\">filter</span>);",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200",
+ "utLineHits": 1
+ },
+ {
+ "line": 351,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 352,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 353,
+ "code": " <span class=\"k\">public </span>Iterable<<span class=\"sym-177 sym\">Entry</span><V>> <span class=\"sym-124 sym\">entries</span>(Object <span class=\"sym-125 sym\">firstKey</span>) {",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 354,
+ "code": " <span class=\"sym-13 sym\">exchange</span>.clear().append(<span class=\"sym-125 sym\">firstKey</span>).append(<span class=\"sym-3 sym\">Key</span>.BEFORE);",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200",
+ "utLineHits": 1
+ },
+ {
+ "line": 355,
+ "code": " <span class=\"sym-4 sym\">KeyFilter</span> <span class=\"sym-126 sym\">filter</span> = <span class=\"k\">new</span> <span class=\"sym-4 sym\">KeyFilter</span>().append(<span class=\"sym-4 sym\">KeyFilter</span>.simpleTerm(<span class=\"sym-125 sym\">firstKey</span>));",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200",
+ "utLineHits": 1
+ },
+ {
+ "line": 356,
+ "code": " <span class=\"k\">return</span> <span class=\"k\">new</span> <span class=\"sym-156 sym\">EntryIterable</span><V>(<span class=\"k\">new</span> <span class=\"sym-2 sym\">Exchange</span>(<span class=\"sym-13 sym\">exchange</span>), <span class=\"sym-126 sym\">filter</span>);",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200",
+ "utLineHits": 1
+ },
+ {
+ "line": 357,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 358,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 359,
+ "code": " <span class=\"k\">private </span><span class=\"k\">void </span><span class=\"sym-127 sym\">resetKey</span>(Object <span class=\"sym-128 sym\">key</span>) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 360,
+ "code": " <span class=\"sym-13 sym\">exchange</span>.clear();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 1
+ },
+ {
+ "line": 361,
+ "code": " <span class=\"sym-13 sym\">exchange</span>.append(<span class=\"sym-128 sym\">key</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 1
+ },
+ {
+ "line": 362,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 1
+ },
+ {
+ "line": 363,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 364,
+ "code": " <span class=\"k\">private </span><span class=\"k\">void </span><span class=\"sym-129 sym\">resetKey</span>(Object <span class=\"sym-130 sym\">first</span>, Object <span class=\"sym-131 sym\">second</span>) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 365,
+ "code": " <span class=\"sym-13 sym\">exchange</span>.clear();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 1
+ },
+ {
+ "line": 366,
+ "code": " <span class=\"sym-13 sym\">exchange</span>.append(<span class=\"sym-130 sym\">first</span>).append(<span class=\"sym-131 sym\">second</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 1
+ },
+ {
+ "line": 367,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 1
+ },
+ {
+ "line": 368,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 369,
+ "code": " <span class=\"k\">private </span><span class=\"k\">void </span><span class=\"sym-132 sym\">resetKey</span>(Object <span class=\"sym-133 sym\">first</span>, Object <span class=\"sym-134 sym\">second</span>, Object <span class=\"sym-135 sym\">third</span>) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 370,
+ "code": " <span class=\"sym-13 sym\">exchange</span>.clear();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 1
+ },
+ {
+ "line": 371,
+ "code": " <span class=\"sym-13 sym\">exchange</span>.append(<span class=\"sym-133 sym\">first</span>).append(<span class=\"sym-134 sym\">second</span>).append(<span class=\"sym-135 sym\">third</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 1
+ },
+ {
+ "line": 372,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 1
+ },
+ {
+ "line": 373,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 374,
+ "code": " <span class=\"k\">private </span><span class=\"k\">void </span><span class=\"sym-136 sym\">resetKey</span>(Object[] <span class=\"sym-137 sym\">keys</span>) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 375,
+ "code": " <span class=\"sym-13 sym\">exchange</span>.clear();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 0
+ },
+ {
+ "line": 376,
+ "code": " <span class=\"k\">for</span> (Object <span class=\"sym-138 sym\">o</span> : <span class=\"sym-137 sym\">keys</span>) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 0,
+ "utConditions": 2,
+ "utCoveredConditions": 0
+ },
+ {
+ "line": 377,
+ "code": " <span class=\"sym-13 sym\">exchange</span>.append(<span class=\"sym-138 sym\">o</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 0
+ },
+ {
+ "line": 378,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 379,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200",
+ "utLineHits": 0
+ },
+ {
+ "line": 380,
+ "code": "",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "7b301db8c7e3000ff2a04fce5534e45e7d973a1f",
+ "scmDate": "2014-04-25T11:17:09+0200"
+ },
+ {
+ "line": 381,
+ "code": " <span class=\"cppd\">//</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200"
+ },
+ {
+ "line": 382,
+ "code": " <span class=\"cppd\">// LAZY ITERATORS AND ITERABLES</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200"
+ },
+ {
+ "line": 383,
+ "code": " <span class=\"cppd\">//</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200"
+ },
+ {
+ "line": 384,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200"
+ },
+ {
+ "line": 385,
+ "code": " <span class=\"k\">private </span><span class=\"k\">static </span><span class=\"k\">class</span> <span class=\"sym-139 sym\">ValueIterable</span><T> <span class=\"k\">implements</span> Iterable<T> {",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "6074164392edd3db2dfdfd21d05cd56c19e2b0e6",
+ "scmDate": "2014-07-25T16:31:45+0200"
+ },
+ {
+ "line": 386,
+ "code": " <span class=\"k\">private </span><span class=\"k\">final </span><span class=\"sym-8 sym\">Iterator</span><T> <span class=\"sym-140 sym\">iterator</span>;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200"
+ },
+ {
+ "line": 387,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200"
+ },
+ {
+ "line": 388,
+ "code": " <span class=\"k\">private </span><span class=\"sym-141 sym\">ValueIterable</span>(<span class=\"sym-2 sym\">Exchange</span> <span class=\"sym-142 sym\">exchange</span>, <span class=\"sym-4 sym\">KeyFilter</span> <span class=\"sym-143 sym\">keyFilter</span>) {",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200",
+ "utLineHits": 1
+ },
+ {
+ "line": 389,
+ "code": " <span class=\"k\">this</span>.<span class=\"sym-140 sym\">iterator</span> = <span class=\"k\">new</span> <span class=\"sym-145 sym\">ValueIterator</span><T>(<span class=\"sym-142 sym\">exchange</span>, <span class=\"sym-143 sym\">keyFilter</span>);",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200",
+ "utLineHits": 1
+ },
+ {
+ "line": 390,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200",
+ "utLineHits": 1
+ },
+ {
+ "line": 391,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200"
+ },
+ {
+ "line": 392,
+ "code": " <span class=\"a\">@Override</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200"
+ },
+ {
+ "line": 393,
+ "code": "<span class=\"a\"> </span><span class=\"k\">public </span><span class=\"sym-8 sym\">Iterator</span><T> <span class=\"sym-144 sym\">iterator</span>() {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200"
+ },
+ {
+ "line": 394,
+ "code": " <span class=\"k\">return</span> <span class=\"sym-140 sym\">iterator</span>;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200",
+ "utLineHits": 1
+ },
+ {
+ "line": 395,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200"
+ },
+ {
+ "line": 396,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200"
+ },
+ {
+ "line": 397,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200"
+ },
+ {
+ "line": 398,
+ "code": " <span class=\"k\">private </span><span class=\"k\">static </span><span class=\"k\">class</span> <span class=\"sym-145 sym\">ValueIterator</span><T> <span class=\"k\">implements</span> <span class=\"sym-8 sym\">Iterator</span><T> {",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "6074164392edd3db2dfdfd21d05cd56c19e2b0e6",
+ "scmDate": "2014-07-25T16:31:45+0200"
+ },
+ {
+ "line": 399,
+ "code": " <span class=\"k\">private </span><span class=\"k\">final </span><span class=\"sym-2 sym\">Exchange</span> <span class=\"sym-146 sym\">exchange</span>;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200"
+ },
+ {
+ "line": 400,
+ "code": " <span class=\"k\">private </span><span class=\"k\">final </span><span class=\"sym-4 sym\">KeyFilter</span> <span class=\"sym-147 sym\">keyFilter</span>;",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 401,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200"
+ },
+ {
+ "line": 402,
+ "code": " <span class=\"k\">private </span><span class=\"sym-148 sym\">ValueIterator</span>(<span class=\"sym-2 sym\">Exchange</span> <span class=\"sym-149 sym\">exchange</span>, <span class=\"sym-4 sym\">KeyFilter</span> <span class=\"sym-150 sym\">keyFilter</span>) {",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200",
+ "utLineHits": 1
+ },
+ {
+ "line": 403,
+ "code": " <span class=\"k\">this</span>.<span class=\"sym-146 sym\">exchange</span> = <span class=\"sym-149 sym\">exchange</span>;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200",
+ "utLineHits": 1,
+ "duplicated": true
+ },
+ {
+ "line": 404,
+ "code": " <span class=\"k\">this</span>.<span class=\"sym-147 sym\">keyFilter</span> = <span class=\"sym-150 sym\">keyFilter</span>;",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200",
+ "utLineHits": 1,
+ "duplicated": true
+ },
+ {
+ "line": 405,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200",
+ "utLineHits": 1,
+ "duplicated": true
+ },
+ {
+ "line": 406,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200",
+ "duplicated": true
+ },
+ {
+ "line": 407,
+ "code": " <span class=\"a\">@Override</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200",
+ "duplicated": true
+ },
+ {
+ "line": 408,
+ "code": "<span class=\"a\"> </span><span class=\"k\">public </span><span class=\"k\">boolean </span><span class=\"sym-151 sym\">hasNext</span>() {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200",
+ "duplicated": true
+ },
+ {
+ "line": 409,
+ "code": " <span class=\"k\">try </span>{",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200",
+ "duplicated": true
+ },
+ {
+ "line": 410,
+ "code": " <span class=\"k\">return</span> <span class=\"sym-146 sym\">exchange</span>.hasNext(<span class=\"sym-147 sym\">keyFilter</span>);",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200",
+ "utLineHits": 1,
+ "duplicated": true
+ },
+ {
+ "line": 411,
+ "code": " } <span class=\"k\">catch </span>(<span class=\"sym-5 sym\">PersistitException</span> <span class=\"sym-152 sym\">e</span>) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200",
+ "utLineHits": 0,
+ "duplicated": true
+ },
+ {
+ "line": 412,
+ "code": " <span class=\"k\">throw</span> <span class=\"k\">new</span> IllegalStateException(<span class=\"sym-152 sym\">e</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200",
+ "utLineHits": 0,
+ "duplicated": true
+ },
+ {
+ "line": 413,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200",
+ "duplicated": true
+ },
+ {
+ "line": 414,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200",
+ "duplicated": true
+ },
+ {
+ "line": 415,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200",
+ "duplicated": true
+ },
+ {
+ "line": 416,
+ "code": " <span class=\"a\">@SuppressWarnings</span>(<span class=\"s\">\"unchecked\"</span>)",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200",
+ "duplicated": true
+ },
+ {
+ "line": 417,
+ "code": " <span class=\"a\">@Override</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200",
+ "duplicated": true
+ },
+ {
+ "line": 418,
+ "code": "<span class=\"a\"> </span><span class=\"k\">public </span>T <span class=\"sym-153 sym\">next</span>() {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200"
+ },
+ {
+ "line": 419,
+ "code": " <span class=\"k\">try </span>{",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 420,
+ "code": " <span class=\"sym-146 sym\">exchange</span>.next(<span class=\"sym-147 sym\">keyFilter</span>);",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200",
+ "utLineHits": 1
+ },
+ {
+ "line": 421,
+ "code": " } <span class=\"k\">catch </span>(<span class=\"sym-5 sym\">PersistitException</span> <span class=\"sym-154 sym\">e</span>) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 0
+ },
+ {
+ "line": 422,
+ "code": " <span class=\"k\">throw</span> <span class=\"k\">new</span> IllegalStateException(<span class=\"sym-154 sym\">e</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 0
+ },
+ {
+ "line": 423,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 1
+ },
+ {
+ "line": 424,
+ "code": " <span class=\"k\">if </span>(<span class=\"sym-146 sym\">exchange</span>.getValue().isDefined()) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200",
+ "utLineHits": 1,
+ "utConditions": 2,
+ "utCoveredConditions": 1
+ },
+ {
+ "line": 425,
+ "code": " <span class=\"k\">return</span> (T) <span class=\"sym-146 sym\">exchange</span>.getValue().get();",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200",
+ "utLineHits": 1
+ },
+ {
+ "line": 426,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200"
+ },
+ {
+ "line": 427,
+ "code": " <span class=\"k\">throw</span> <span class=\"k\">new</span> <span class=\"sym-9 sym\">NoSuchElementException</span>();",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200",
+ "utLineHits": 0
+ },
+ {
+ "line": 428,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200"
+ },
+ {
+ "line": 429,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200"
+ },
+ {
+ "line": 430,
+ "code": " <span class=\"a\">@Override</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200"
+ },
+ {
+ "line": 431,
+ "code": "<span class=\"a\"> </span><span class=\"k\">public </span><span class=\"k\">void </span><span class=\"sym-155 sym\">remove</span>() {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200"
+ },
+ {
+ "line": 432,
+ "code": " <span class=\"k\">throw</span> <span class=\"k\">new</span> UnsupportedOperationException(<span class=\"s\">\"Removing an item is not supported\"</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "34cce8e330192c56a159a856ebd8072d38299087",
+ "scmDate": "2014-02-24T14:21:50+0100",
+ "utLineHits": 0
+ },
+ {
+ "line": 433,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 434,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 435,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 436,
+ "code": " <span class=\"k\">private </span><span class=\"k\">static </span><span class=\"k\">class</span> <span class=\"sym-156 sym\">EntryIterable</span><T> <span class=\"k\">implements</span> Iterable<<span class=\"sym-177 sym\">Entry</span><T>> {",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "6074164392edd3db2dfdfd21d05cd56c19e2b0e6",
+ "scmDate": "2014-07-25T16:31:45+0200"
+ },
+ {
+ "line": 437,
+ "code": " <span class=\"k\">private </span><span class=\"k\">final </span><span class=\"sym-162 sym\">EntryIterator</span><T> <span class=\"sym-157 sym\">it</span>;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 438,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 439,
+ "code": " <span class=\"k\">private </span><span class=\"sym-158 sym\">EntryIterable</span>(<span class=\"sym-2 sym\">Exchange</span> <span class=\"sym-159 sym\">exchange</span>, <span class=\"sym-4 sym\">KeyFilter</span> <span class=\"sym-160 sym\">keyFilter</span>) {",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200",
+ "utLineHits": 1
+ },
+ {
+ "line": 440,
+ "code": " <span class=\"sym-157 sym\">it</span> = <span class=\"k\">new</span> <span class=\"sym-162 sym\">EntryIterator</span><T>(<span class=\"sym-159 sym\">exchange</span>, <span class=\"sym-160 sym\">keyFilter</span>);",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200",
+ "utLineHits": 1
+ },
+ {
+ "line": 441,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200",
+ "utLineHits": 1
+ },
+ {
+ "line": 442,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 443,
+ "code": " <span class=\"a\">@Override</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 444,
+ "code": "<span class=\"a\"> </span><span class=\"k\">public </span><span class=\"sym-8 sym\">Iterator</span><<span class=\"sym-177 sym\">Entry</span><T>> <span class=\"sym-161 sym\">iterator</span>() {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 445,
+ "code": " <span class=\"k\">return</span> <span class=\"sym-157 sym\">it</span>;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200",
+ "utLineHits": 1
+ },
+ {
+ "line": 446,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 447,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 448,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 449,
+ "code": " <span class=\"k\">private </span><span class=\"k\">static </span><span class=\"k\">class</span> <span class=\"sym-162 sym\">EntryIterator</span><T> <span class=\"k\">implements</span> <span class=\"sym-8 sym\">Iterator</span><<span class=\"sym-177 sym\">Entry</span><T>> {",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "6074164392edd3db2dfdfd21d05cd56c19e2b0e6",
+ "scmDate": "2014-07-25T16:31:45+0200"
+ },
+ {
+ "line": 450,
+ "code": " <span class=\"k\">private </span><span class=\"k\">final </span><span class=\"sym-2 sym\">Exchange</span> <span class=\"sym-163 sym\">exchange</span>;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 451,
+ "code": " <span class=\"k\">private </span><span class=\"k\">final </span><span class=\"sym-4 sym\">KeyFilter</span> <span class=\"sym-164 sym\">keyFilter</span>;",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 452,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 453,
+ "code": " <span class=\"k\">private </span><span class=\"sym-165 sym\">EntryIterator</span>(<span class=\"sym-2 sym\">Exchange</span> <span class=\"sym-166 sym\">exchange</span>, <span class=\"sym-4 sym\">KeyFilter</span> <span class=\"sym-167 sym\">keyFilter</span>) {",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200",
+ "utLineHits": 1
+ },
+ {
+ "line": 454,
+ "code": " <span class=\"k\">this</span>.<span class=\"sym-163 sym\">exchange</span> = <span class=\"sym-166 sym\">exchange</span>;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200",
+ "utLineHits": 1,
+ "duplicated": true
+ },
+ {
+ "line": 455,
+ "code": " <span class=\"k\">this</span>.<span class=\"sym-164 sym\">keyFilter</span> = <span class=\"sym-167 sym\">keyFilter</span>;",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200",
+ "utLineHits": 1,
+ "duplicated": true
+ },
+ {
+ "line": 456,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200",
+ "utLineHits": 1,
+ "duplicated": true
+ },
+ {
+ "line": 457,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200",
+ "duplicated": true
+ },
+ {
+ "line": 458,
+ "code": " <span class=\"a\">@Override</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200",
+ "duplicated": true
+ },
+ {
+ "line": 459,
+ "code": "<span class=\"a\"> </span><span class=\"k\">public </span><span class=\"k\">boolean </span><span class=\"sym-168 sym\">hasNext</span>() {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200",
+ "duplicated": true
+ },
+ {
+ "line": 460,
+ "code": " <span class=\"k\">try </span>{",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200",
+ "duplicated": true
+ },
+ {
+ "line": 461,
+ "code": " <span class=\"k\">return</span> <span class=\"sym-163 sym\">exchange</span>.hasNext(<span class=\"sym-164 sym\">keyFilter</span>);",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200",
+ "utLineHits": 1,
+ "duplicated": true
+ },
+ {
+ "line": 462,
+ "code": " } <span class=\"k\">catch </span>(<span class=\"sym-5 sym\">PersistitException</span> <span class=\"sym-169 sym\">e</span>) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200",
+ "utLineHits": 0,
+ "duplicated": true
+ },
+ {
+ "line": 463,
+ "code": " <span class=\"k\">throw</span> <span class=\"k\">new</span> IllegalStateException(<span class=\"sym-169 sym\">e</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200",
+ "utLineHits": 0,
+ "duplicated": true
+ },
+ {
+ "line": 464,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200",
+ "duplicated": true
+ },
+ {
+ "line": 465,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200",
+ "duplicated": true
+ },
+ {
+ "line": 466,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200",
+ "duplicated": true
+ },
+ {
+ "line": 467,
+ "code": " <span class=\"a\">@SuppressWarnings</span>(<span class=\"s\">\"unchecked\"</span>)",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200",
+ "duplicated": true
+ },
+ {
+ "line": 468,
+ "code": " <span class=\"a\">@Override</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200",
+ "duplicated": true
+ },
+ {
+ "line": 469,
+ "code": "<span class=\"a\"> </span><span class=\"k\">public </span><span class=\"sym-177 sym\">Entry</span><T> <span class=\"sym-170 sym\">next</span>() {",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 470,
+ "code": " <span class=\"k\">try </span>{",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 471,
+ "code": " <span class=\"sym-163 sym\">exchange</span>.next(<span class=\"sym-164 sym\">keyFilter</span>);",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200",
+ "utLineHits": 1
+ },
+ {
+ "line": 472,
+ "code": " } <span class=\"k\">catch </span>(<span class=\"sym-5 sym\">PersistitException</span> <span class=\"sym-171 sym\">e</span>) {",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200",
+ "utLineHits": 0
+ },
+ {
+ "line": 473,
+ "code": " <span class=\"k\">throw</span> <span class=\"k\">new</span> IllegalStateException(<span class=\"sym-171 sym\">e</span>);",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200",
+ "utLineHits": 0
+ },
+ {
+ "line": 474,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200",
+ "utLineHits": 1
+ },
+ {
+ "line": 475,
+ "code": " <span class=\"k\">if </span>(<span class=\"sym-163 sym\">exchange</span>.getValue().isDefined()) {",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200",
+ "utLineHits": 1,
+ "utConditions": 2,
+ "utCoveredConditions": 1
+ },
+ {
+ "line": 476,
+ "code": " T <span class=\"sym-172 sym\">value</span> = (T) <span class=\"sym-163 sym\">exchange</span>.getValue().get();",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200",
+ "utLineHits": 1
+ },
+ {
+ "line": 477,
+ "code": " <span class=\"sym-3 sym\">Key</span> <span class=\"sym-173 sym\">key</span> = <span class=\"sym-163 sym\">exchange</span>.getKey();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200",
+ "utLineHits": 1
+ },
+ {
+ "line": 478,
+ "code": " Object[] <span class=\"sym-174 sym\">array</span> = <span class=\"k\">new</span> Object[<span class=\"sym-173 sym\">key</span>.getDepth()];",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 1
+ },
+ {
+ "line": 479,
+ "code": " <span class=\"k\">for</span> (<span class=\"k\">int </span><span class=\"sym-175 sym\">i</span> = <span class=\"c\">0</span>; <span class=\"sym-175 sym\">i</span> < <span class=\"sym-173 sym\">key</span>.getDepth(); <span class=\"sym-175 sym\">i</span>++) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 1,
+ "utConditions": 2,
+ "utCoveredConditions": 2
+ },
+ {
+ "line": 480,
+ "code": " <span class=\"sym-174 sym\">array</span>[<span class=\"sym-175 sym\">i</span>] = <span class=\"sym-173 sym\">key</span>.indexTo(<span class=\"sym-175 sym\">i</span> - <span class=\"sym-173 sym\">key</span>.getDepth()).decode();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 1
+ },
+ {
+ "line": 481,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 482,
+ "code": " <span class=\"k\">return</span> <span class=\"k\">new</span> <span class=\"sym-177 sym\">Entry</span><T>(<span class=\"sym-174 sym\">array</span>, <span class=\"sym-172 sym\">value</span>);",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200",
+ "utLineHits": 1
+ },
+ {
+ "line": 483,
+ "code": " }",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 484,
+ "code": " <span class=\"k\">throw</span> <span class=\"k\">new</span> <span class=\"sym-9 sym\">NoSuchElementException</span>();",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200",
+ "utLineHits": 0
+ },
+ {
+ "line": 485,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 486,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 487,
+ "code": " <span class=\"a\">@Override</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 488,
+ "code": "<span class=\"a\"> </span><span class=\"k\">public </span><span class=\"k\">void </span><span class=\"sym-176 sym\">remove</span>() {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 489,
+ "code": " <span class=\"k\">throw</span> <span class=\"k\">new</span> UnsupportedOperationException(<span class=\"s\">\"Removing an item is not supported\"</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "34cce8e330192c56a159a856ebd8072d38299087",
+ "scmDate": "2014-02-24T14:21:50+0100",
+ "utLineHits": 0
+ },
+ {
+ "line": 490,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 491,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 492,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 493,
+ "code": " <span class=\"k\">public </span><span class=\"k\">static </span><span class=\"k\">class</span> <span class=\"sym-177 sym\">Entry</span><V> {",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "6074164392edd3db2dfdfd21d05cd56c19e2b0e6",
+ "scmDate": "2014-07-25T16:31:45+0200"
+ },
+ {
+ "line": 494,
+ "code": " <span class=\"k\">private </span><span class=\"k\">final </span>Object[] <span class=\"sym-178 sym\">key</span>;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 495,
+ "code": " <span class=\"k\">private </span><span class=\"k\">final </span>V <span class=\"sym-179 sym\">value</span>;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 496,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 497,
+ "code": " <span class=\"sym-180 sym\">Entry</span>(Object[] <span class=\"sym-181 sym\">key</span>, V <span class=\"sym-182 sym\">value</span>) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "utLineHits": 1
+ },
+ {
+ "line": 498,
+ "code": " <span class=\"k\">this</span>.<span class=\"sym-178 sym\">key</span> = <span class=\"sym-181 sym\">key</span>;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200",
+ "utLineHits": 1
+ },
+ {
+ "line": 499,
+ "code": " <span class=\"k\">this</span>.<span class=\"sym-179 sym\">value</span> = <span class=\"sym-182 sym\">value</span>;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200",
+ "utLineHits": 1
+ },
+ {
+ "line": 500,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200",
+ "utLineHits": 1
+ },
+ {
+ "line": 501,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 502,
+ "code": " <span class=\"k\">public </span>Object[] <span class=\"sym-183 sym\">key</span>() {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 503,
+ "code": " <span class=\"k\">return</span> <span class=\"sym-178 sym\">key</span>;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200",
+ "utLineHits": 1
+ },
+ {
+ "line": 504,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 505,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 506,
+ "code": " <span class=\"a\">@<span class=\"sym-7 sym\">CheckForNull</span></span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 507,
+ "code": "<span class=\"a\"> </span><span class=\"k\">public </span>V <span class=\"sym-184 sym\">value</span>() {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 508,
+ "code": " <span class=\"k\">return</span> <span class=\"sym-179 sym\">value</span>;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200",
+ "utLineHits": 1
+ },
+ {
+ "line": 509,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 510,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 511,
+ "code": " <span class=\"a\">@Override</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 512,
+ "code": "<span class=\"a\"> </span><span class=\"k\">public </span>String <span class=\"sym-185 sym\">toString</span>() {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 513,
+ "code": " <span class=\"k\">return</span> <span class=\"sym-6 sym\">ToStringBuilder</span>.reflectionToString(<span class=\"k\">this</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200",
+ "utLineHits": 0
+ },
+ {
+ "line": 514,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 515,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 516,
+ "code": "",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "43fc31f75a2de06b23faefb0d2bbf1dd97290232",
+ "scmDate": "2014-05-05T16:43:19+0200"
+ },
+ {
+ "line": 517,
+ "code": "}",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 518,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ }
+]}
--- /dev/null
+{
+ "uuid": "12345",
+ "key": "org.codehaus.sonar:sonar-batch:src/main/java/org/sonar/batch/index/Simplest.java",
+ "path": "src/main/java/foo/Simplest.java",
+ "name": "Simplest.java",
+ "longName": "src/main/java/foo/Simplest.java",
+ "q": "FIL",
+ "project": "test:fake-project-for-tests",
+ "projectName": "Fake Project for Tests",
+ "fav": false,
+ "canMarkAsFavourite": true,
+ "canCreateManualIssue": true,
+ "measures": {
+ "lines": "8",
+ "coverage": "75.0%",
+ "debt": "44min",
+ "sqaleRating": "C",
+ "debtRatio": "18.3%",
+ "issues": "5"
+ }
+}
--- /dev/null
+{
+ "total": 5,
+ "p": 1,
+ "ps": 100,
+ "projects": [
+ {
+ "uuid": "e07e9bed-f45d-4538-a5e8-77031c1ecae7",
+ "key": "test:fake-project-for-tests",
+ "id": 36125,
+ "qualifier": "TRK",
+ "name": "Fake Project for Tests",
+ "longName": "Fake Project for Tests"
+ }
+ ],
+ "components": [
+ {
+ "uuid": "b4248001-df0c-436a-8acd-a152809b8a23",
+ "key": "test:fake-project-for-tests:src/main/java/foo/Simplest.java",
+ "id": 36129,
+ "enabled": true,
+ "qualifier": "FIL",
+ "name": "Simplest.java",
+ "longName": "src/main/java/foo/Simplest.java",
+ "path": "src/main/java/foo/Simplest.java",
+ "projectId": 36125,
+ "subProjectId": 36125
+ },
+ {
+ "uuid": "e07e9bed-f45d-4538-a5e8-77031c1ecae7",
+ "key": "test:fake-project-for-tests",
+ "id": 36125,
+ "enabled": true,
+ "qualifier": "TRK",
+ "name": "Fake Project for Tests",
+ "longName": "Fake Project for Tests"
+ }
+ ],
+ "issues": [
+ {
+ "key": "91b13078-6f69-4b51-ab0f-8fd0bc391532",
+ "component": "test:fake-project-for-tests:src/main/java/foo/Simplest.java",
+ "componentId": 36129,
+ "project": "test:fake-project-for-tests",
+ "rule": "squid:S00105",
+ "status": "OPEN",
+ "severity": "MINOR",
+ "message": "Replace all tab characters in this file by sequences of white-spaces.",
+ "debt": "2min",
+ "creationDate": "2014-12-09T10:47:33+0100",
+ "updateDate": "2014-12-09T10:47:33+0100",
+ "fUpdateAge": "3 hours",
+ "actions": [
+ "comment",
+ "assign",
+ "assign_to_me",
+ "plan",
+ "set_severity"
+ ],
+ "transitions": [
+ "confirm",
+ "resolve",
+ "falsepositive"
+ ]
+ },
+ {
+ "key": "c18ae6fa-fac7-46b5-bd71-feef7906b05a",
+ "component": "test:fake-project-for-tests:src/main/java/foo/Simplest.java",
+ "componentId": 36129,
+ "project": "test:fake-project-for-tests",
+ "rule": "squid:S1118",
+ "status": "OPEN",
+ "severity": "MAJOR",
+ "message": "Add a private constructor to hide the implicit public one.",
+ "line": 6,
+ "debt": "30min",
+ "creationDate": "2014-12-09T10:47:33+0100",
+ "updateDate": "2014-12-09T10:47:33+0100",
+ "fUpdateAge": "3 hours",
+ "actions": [
+ "comment",
+ "assign",
+ "assign_to_me",
+ "plan",
+ "set_severity"
+ ],
+ "transitions": [
+ "confirm",
+ "resolve",
+ "falsepositive"
+ ]
+ },
+ {
+ "key": "816282ec-0ca9-4d03-b8bc-22b515496fe4",
+ "component": "test:fake-project-for-tests:src/main/java/foo/Simplest.java",
+ "componentId": 36129,
+ "project": "test:fake-project-for-tests",
+ "rule": "squid:IndentationCheck",
+ "status": "OPEN",
+ "severity": "MAJOR",
+ "message": "Make this line start at column 3.",
+ "line": 8,
+ "debt": "1min",
+ "creationDate": "2014-12-09T10:47:33+0100",
+ "updateDate": "2014-12-09T10:47:33+0100",
+ "fUpdateAge": "3 hours",
+ "actions": [
+ "comment",
+ "assign",
+ "assign_to_me",
+ "plan",
+ "set_severity"
+ ],
+ "transitions": [
+ "confirm",
+ "resolve",
+ "falsepositive"
+ ]
+ },
+ {
+ "key": "0229497b-a613-48f3-83ed-2b98983e5e60",
+ "component": "test:fake-project-for-tests:src/main/java/foo/Simplest.java",
+ "componentId": 36129,
+ "project": "test:fake-project-for-tests",
+ "rule": "squid:IndentationCheck",
+ "status": "OPEN",
+ "severity": "MAJOR",
+ "message": "Make this line start at column 5.",
+ "line": 10,
+ "debt": "1min",
+ "creationDate": "2014-12-09T10:47:33+0100",
+ "updateDate": "2014-12-09T10:47:33+0100",
+ "fUpdateAge": "3 hours",
+ "actions": [
+ "comment",
+ "assign",
+ "assign_to_me",
+ "plan",
+ "set_severity"
+ ],
+ "transitions": [
+ "confirm",
+ "resolve",
+ "falsepositive"
+ ]
+ },
+ {
+ "key": "896ccfe0-bb85-4155-be1f-1aaece716539",
+ "component": "test:fake-project-for-tests:src/main/java/foo/Simplest.java",
+ "componentId": 36129,
+ "project": "test:fake-project-for-tests",
+ "rule": "squid:S106",
+ "status": "OPEN",
+ "severity": "MAJOR",
+ "message": "Replace this usage of System.out or System.err by a logger.",
+ "line": 12,
+ "debt": "10min",
+ "creationDate": "2014-12-09T10:47:33+0100",
+ "updateDate": "2014-12-09T10:47:33+0100",
+ "fUpdateAge": "3 hours",
+ "actions": [
+ "comment",
+ "assign",
+ "assign_to_me",
+ "plan",
+ "set_severity"
+ ],
+ "transitions": [
+ "confirm",
+ "resolve",
+ "falsepositive"
+ ]
+ }
+ ],
+ "rules": [
+ {
+ "key": "squid:IndentationCheck",
+ "name": "Source code should be correctly indented",
+ "lang": "java",
+ "desc": "<p>\nProper indentation is a simple and effective way to improve the code's readability.\nConsistent indentation among developers also reduces the differences that are committed to source control systems, making code reviews easier.\n</p>\n\n<p>The following code illustrates this rule with an indentation level of 2:</p>\n\n<pre>\nclass Foo {\n public int a; // Compliant\npublic int b; // Non-Compliant\n}\n</pre>",
+ "status": "READY",
+ "langName": "Java"
+ },
+ {
+ "key": "squid:S1118",
+ "name": "Utility classes should not have a public constructor",
+ "lang": "java",
+ "desc": "<p>\nUtility classes, which are a collection of static members, are not meant to be instantiated.\nThey should therefore not have public constructors.\n</p>\n\n<p>\nJava adds an implicit public constructor to every class which does not define at least one explicitly.\nHence, at least one non-public constructor should be defined.\n</p>\n\n<p>The following code:</p>\n\n<pre>\nclass StringUtils { // Non-Compliant\n\n public static String concatenate(String s1, String s2) {\n return s1 + s2;\n }\n\n}\n</pre>\n\n<p>should be refactored into:</p>\n\n<pre>\nclass StringUtils { // Compliant\n\n private StringUtils() {\n }\n\n public static String concatenate(String s1, String s2) {\n return s1 + s2;\n }\n\n}\n</pre>",
+ "status": "READY",
+ "langName": "Java"
+ },
+ {
+ "key": "squid:S00105",
+ "name": "Tabulation characters should not be used",
+ "lang": "java",
+ "desc": "<p>\nDevelopers should not need to configure the tab width of their text editors in order to be able to read source code.\nSo the use of tabulation character must be banned.\n</p>",
+ "status": "READY",
+ "langName": "Java"
+ },
+ {
+ "key": "squid:S106",
+ "name": "System.out and System.err should not be used as loggers",
+ "lang": "java",
+ "desc": "<p>Two important requirements must be fulfilled when logging messages:</p>\n\n<ul>\n <li>The user must be able to easily retrieve the logs.</li>\n <li>The format of all messages must be uniform to enable users to easily browse them.</li>\n</ul>\n\n<p>\nIf a program directly writes to the standard output, there is absolutely no way to comply with these requirements.\nThat's why defining and using a dedicated logger is highly recommended.\n</p>\n\n<p>\nThe following code snippet illustrates this rule:\n</p>\n\n<pre>\nSystem.out.println(\"My Message\"); // Non-Compliant\n\nlogger.log(\"My Message\"); // Compliant\n</pre>",
+ "status": "READY",
+ "langName": "Java"
+ }
+ ],
+ "users": [
+ {
+ "login": "admin",
+ "name": "Admin Admin",
+ "active": true,
+ "email": "admin@sonarsource.com"
+ }
+ ],
+ "languages": [
+ {
+ "key": "js",
+ "name": "JavaScript"
+ },
+ {
+ "key": "java",
+ "name": "Java"
+ }
+ ],
+ "maxResultsReached": false,
+ "paging": {
+ "pageIndex": 1,
+ "pageSize": 100,
+ "total": 5,
+ "fTotal": "5",
+ "pages": 1
+ }
+}
--- /dev/null
+{
+ "uuid": "12345",
+ "key": "test:fake-project-for-tests:src/main/java/foo/Simplest.java",
+ "path": "src/main/java/foo/Simplest.java",
+ "name": "Simplest.java",
+ "longName": "src/main/java/foo/Simplest.java",
+ "q": "FIL",
+ "project": "test:fake-project-for-tests",
+ "projectName": "Fake Project for Tests",
+ "fav": false,
+ "canMarkAsFavourite": true,
+ "canCreateManualIssue": true,
+ "measures": {
+ "lines": "8",
+ "coverage": "75.0%",
+ "debt": "44min",
+ "sqaleRating": "C",
+ "debtRatio": "18.3%",
+ "issues": "5"
+ }
+}
--- /dev/null
+{
+ "total": 5,
+ "p": 1,
+ "ps": 100,
+ "projects": [
+ {
+ "uuid": "e07e9bed-f45d-4538-a5e8-77031c1ecae7",
+ "key": "test:fake-project-for-tests",
+ "id": 36125,
+ "qualifier": "TRK",
+ "name": "Fake Project for Tests",
+ "longName": "Fake Project for Tests"
+ }
+ ],
+ "components": [
+ {
+ "uuid": "b4248001-df0c-436a-8acd-a152809b8a23",
+ "key": "test:fake-project-for-tests:src/main/java/foo/Simplest.java",
+ "id": 36129,
+ "enabled": true,
+ "qualifier": "FIL",
+ "name": "Simplest.java",
+ "longName": "src/main/java/foo/Simplest.java",
+ "path": "src/main/java/foo/Simplest.java",
+ "projectId": 36125,
+ "subProjectId": 36125
+ },
+ {
+ "uuid": "e07e9bed-f45d-4538-a5e8-77031c1ecae7",
+ "key": "test:fake-project-for-tests",
+ "id": 36125,
+ "enabled": true,
+ "qualifier": "TRK",
+ "name": "Fake Project for Tests",
+ "longName": "Fake Project for Tests"
+ }
+ ],
+ "issues": [
+ {
+ "key": "91b13078-6f69-4b51-ab0f-8fd0bc391532",
+ "component": "test:fake-project-for-tests:src/main/java/foo/Simplest.java",
+ "componentId": 36129,
+ "project": "test:fake-project-for-tests",
+ "rule": "squid:S00105",
+ "status": "OPEN",
+ "severity": "MINOR",
+ "message": "Replace all tab characters in this file by sequences of white-spaces.",
+ "debt": "2min",
+ "creationDate": "2014-12-09T10:47:33+0100",
+ "updateDate": "2014-12-09T10:47:33+0100",
+ "fUpdateAge": "3 hours",
+ "actions": [
+ "comment",
+ "assign",
+ "assign_to_me",
+ "plan",
+ "set_severity"
+ ],
+ "transitions": [
+ "confirm",
+ "resolve",
+ "falsepositive"
+ ]
+ },
+ {
+ "key": "c18ae6fa-fac7-46b5-bd71-feef7906b05a",
+ "component": "test:fake-project-for-tests:src/main/java/foo/Simplest.java",
+ "componentId": 36129,
+ "project": "test:fake-project-for-tests",
+ "rule": "squid:S1118",
+ "status": "OPEN",
+ "severity": "MAJOR",
+ "message": "Add a private constructor to hide the implicit public one.",
+ "line": 6,
+ "debt": "30min",
+ "creationDate": "2014-12-09T10:47:33+0100",
+ "updateDate": "2014-12-09T10:47:33+0100",
+ "fUpdateAge": "3 hours",
+ "actions": [
+ "comment",
+ "assign",
+ "assign_to_me",
+ "plan",
+ "set_severity"
+ ],
+ "transitions": [
+ "confirm",
+ "resolve",
+ "falsepositive"
+ ]
+ },
+ {
+ "key": "816282ec-0ca9-4d03-b8bc-22b515496fe4",
+ "component": "test:fake-project-for-tests:src/main/java/foo/Simplest.java",
+ "componentId": 36129,
+ "project": "test:fake-project-for-tests",
+ "rule": "squid:IndentationCheck",
+ "status": "OPEN",
+ "severity": "MAJOR",
+ "message": "Make this line start at column 3.",
+ "line": 8,
+ "debt": "1min",
+ "creationDate": "2014-12-09T10:47:33+0100",
+ "updateDate": "2014-12-09T10:47:33+0100",
+ "fUpdateAge": "3 hours",
+ "actions": [
+ "comment",
+ "assign",
+ "assign_to_me",
+ "plan",
+ "set_severity"
+ ],
+ "transitions": [
+ "confirm",
+ "resolve",
+ "falsepositive"
+ ]
+ },
+ {
+ "key": "0229497b-a613-48f3-83ed-2b98983e5e60",
+ "component": "test:fake-project-for-tests:src/main/java/foo/Simplest.java",
+ "componentId": 36129,
+ "project": "test:fake-project-for-tests",
+ "rule": "squid:IndentationCheck",
+ "status": "OPEN",
+ "severity": "MAJOR",
+ "message": "Make this line start at column 5.",
+ "line": 10,
+ "debt": "1min",
+ "creationDate": "2014-12-09T10:47:33+0100",
+ "updateDate": "2014-12-09T10:47:33+0100",
+ "fUpdateAge": "3 hours",
+ "actions": [
+ "comment",
+ "assign",
+ "assign_to_me",
+ "plan",
+ "set_severity"
+ ],
+ "transitions": [
+ "confirm",
+ "resolve",
+ "falsepositive"
+ ]
+ },
+ {
+ "key": "896ccfe0-bb85-4155-be1f-1aaece716539",
+ "component": "test:fake-project-for-tests:src/main/java/foo/Simplest.java",
+ "componentId": 36129,
+ "project": "test:fake-project-for-tests",
+ "rule": "squid:S106",
+ "status": "OPEN",
+ "severity": "MAJOR",
+ "message": "Replace this usage of System.out or System.err by a logger.",
+ "line": 12,
+ "debt": "10min",
+ "creationDate": "2014-12-09T10:47:33+0100",
+ "updateDate": "2014-12-09T10:47:33+0100",
+ "fUpdateAge": "3 hours",
+ "actions": [
+ "comment",
+ "assign",
+ "assign_to_me",
+ "plan",
+ "set_severity"
+ ],
+ "transitions": [
+ "confirm",
+ "resolve",
+ "falsepositive"
+ ]
+ }
+ ],
+ "rules": [
+ {
+ "key": "squid:IndentationCheck",
+ "name": "Source code should be correctly indented",
+ "lang": "java",
+ "desc": "<p>\nProper indentation is a simple and effective way to improve the code's readability.\nConsistent indentation among developers also reduces the differences that are committed to source control systems, making code reviews easier.\n</p>\n\n<p>The following code illustrates this rule with an indentation level of 2:</p>\n\n<pre>\nclass Foo {\n public int a; // Compliant\npublic int b; // Non-Compliant\n}\n</pre>",
+ "status": "READY",
+ "langName": "Java"
+ },
+ {
+ "key": "squid:S1118",
+ "name": "Utility classes should not have a public constructor",
+ "lang": "java",
+ "desc": "<p>\nUtility classes, which are a collection of static members, are not meant to be instantiated.\nThey should therefore not have public constructors.\n</p>\n\n<p>\nJava adds an implicit public constructor to every class which does not define at least one explicitly.\nHence, at least one non-public constructor should be defined.\n</p>\n\n<p>The following code:</p>\n\n<pre>\nclass StringUtils { // Non-Compliant\n\n public static String concatenate(String s1, String s2) {\n return s1 + s2;\n }\n\n}\n</pre>\n\n<p>should be refactored into:</p>\n\n<pre>\nclass StringUtils { // Compliant\n\n private StringUtils() {\n }\n\n public static String concatenate(String s1, String s2) {\n return s1 + s2;\n }\n\n}\n</pre>",
+ "status": "READY",
+ "langName": "Java"
+ },
+ {
+ "key": "squid:S00105",
+ "name": "Tabulation characters should not be used",
+ "lang": "java",
+ "desc": "<p>\nDevelopers should not need to configure the tab width of their text editors in order to be able to read source code.\nSo the use of tabulation character must be banned.\n</p>",
+ "status": "READY",
+ "langName": "Java"
+ },
+ {
+ "key": "squid:S106",
+ "name": "System.out and System.err should not be used as loggers",
+ "lang": "java",
+ "desc": "<p>Two important requirements must be fulfilled when logging messages:</p>\n\n<ul>\n <li>The user must be able to easily retrieve the logs.</li>\n <li>The format of all messages must be uniform to enable users to easily browse them.</li>\n</ul>\n\n<p>\nIf a program directly writes to the standard output, there is absolutely no way to comply with these requirements.\nThat's why defining and using a dedicated logger is highly recommended.\n</p>\n\n<p>\nThe following code snippet illustrates this rule:\n</p>\n\n<pre>\nSystem.out.println(\"My Message\"); // Non-Compliant\n\nlogger.log(\"My Message\"); // Compliant\n</pre>",
+ "status": "READY",
+ "langName": "Java"
+ }
+ ],
+ "users": [
+ {
+ "login": "admin",
+ "name": "Admin Admin",
+ "active": true,
+ "email": "admin@sonarsource.com"
+ }
+ ],
+ "languages": [
+ {
+ "key": "js",
+ "name": "JavaScript"
+ },
+ {
+ "key": "java",
+ "name": "Java"
+ }
+ ],
+ "maxResultsReached": false,
+ "paging": {
+ "pageIndex": 1,
+ "pageSize": 100,
+ "total": 5,
+ "fTotal": "5",
+ "pages": 1
+ }
+}
--- /dev/null
+{
+ "sources": [
+ {
+ "line": 1,
+ "code": "<span class=\"k\">package </span>foo;",
+ "scmAuthor": "fabrice.bellingard@sonarsource.com",
+ "scmRevision": "f467e9befd3ff15bb1dbf634b0e9b45d44110bac",
+ "scmDate": "2013-09-16T15:31:49+0200"
+ },
+ {
+ "line": 2,
+ "code": "",
+ "scmAuthor": "fabrice.bellingard@sonarsource.com",
+ "scmRevision": "f467e9befd3ff15bb1dbf634b0e9b45d44110bac",
+ "scmDate": "2013-09-16T15:31:49+0200"
+ },
+ {
+ "line": 3,
+ "code": "<span class=\"cppd\">/**</span>",
+ "scmAuthor": "fabrice.bellingard@sonarsource.com",
+ "scmRevision": "37acee5ff6e67cdb501c08a656fbabf21160b052",
+ "scmDate": "2013-09-19T15:37:05+0200"
+ },
+ {
+ "line": 4,
+ "code": "<span class=\"cppd\"> * Simple class</span>",
+ "scmAuthor": "fabrice.bellingard@sonarsource.com",
+ "scmRevision": "37acee5ff6e67cdb501c08a656fbabf21160b052",
+ "scmDate": "2013-09-19T15:37:05+0200"
+ },
+ {
+ "line": 5,
+ "code": "<span class=\"cppd\"> */</span>",
+ "scmAuthor": "fabrice.bellingard@sonarsource.com",
+ "scmRevision": "37acee5ff6e67cdb501c08a656fbabf21160b052",
+ "scmDate": "2013-09-19T15:37:05+0200"
+ },
+ {
+ "line": 6,
+ "code": "<span class=\"k\">public </span><span class=\"k\">class </span><span class=\"sym-1 sym\">Simplest</span> {",
+ "scmAuthor": "fabrice.bellingard@sonarsource.com",
+ "scmRevision": "f467e9befd3ff15bb1dbf634b0e9b45d44110bac",
+ "scmDate": "2013-09-16T15:31:49+0200"
+ },
+ {
+ "line": 7,
+ "code": "",
+ "scmAuthor": "fabrice.bellingard@sonarsource.com",
+ "scmRevision": "f467e9befd3ff15bb1dbf634b0e9b45d44110bac",
+ "scmDate": "2013-09-16T15:31:49+0200"
+ },
+ {
+ "line": 8,
+ "code": " <span class=\"k\">public </span><span class=\"k\">static </span><span class=\"k\">int </span><span class=\"sym-2 sym\">add</span>(<span class=\"k\">int </span><span class=\"sym-3 sym\">a</span>, <span class=\"k\">int </span><span class=\"sym-4 sym\">b</span>) {",
+ "scmAuthor": "fabrice.bellingard@sonarsource.com",
+ "scmRevision": "f467e9befd3ff15bb1dbf634b0e9b45d44110bac",
+ "scmDate": "2013-09-16T15:31:49+0200"
+ },
+ {
+ "line": 9,
+ "code": " \t<span class=\"cppd\">// introduce a variable that is not needed - just to get a violation</span>",
+ "scmAuthor": "fabrice.bellingard@sonarsource.com",
+ "scmRevision": "322e4e8b3cb54a39651f563273745e6ee737fb3e",
+ "scmDate": "2013-10-15T16:14:22+0200"
+ },
+ {
+ "line": 10,
+ "code": " \t<span class=\"k\">int </span><span class=\"sym-5 sym\">result</span> = <span class=\"sym-3 sym\">a</span> + <span class=\"sym-4 sym\">b</span>;",
+ "scmAuthor": "fabrice.bellingard@sonarsource.com",
+ "scmRevision": "322e4e8b3cb54a39651f563273745e6ee737fb3e",
+ "scmDate": "2013-10-15T16:14:22+0200"
+ },
+ {
+ "line": 11,
+ "code": "",
+ "scmAuthor": "fabrice.bellingard@sonarsource.com",
+ "scmRevision": "44e0c5b4fc18a006a405d3f3d489896245fab3d1",
+ "scmDate": "2014-01-09T16:48:59+0100"
+ },
+ {
+ "line": 12,
+ "code": " \tSystem.out.println(<span class=\"s\">\"\"</span>);",
+ "scmAuthor": "fabrice.bellingard@sonarsource.com",
+ "scmRevision": "44e0c5b4fc18a006a405d3f3d489896245fab3d1",
+ "scmDate": "2014-01-09T16:48:59+0100"
+ },
+ {
+ "line": 13,
+ "code": "",
+ "scmAuthor": "fabrice.bellingard@sonarsource.com",
+ "scmRevision": "44e0c5b4fc18a006a405d3f3d489896245fab3d1",
+ "scmDate": "2014-01-09T16:48:59+0100"
+ },
+ {
+ "line": 14,
+ "code": " <span class=\"k\">return </span><span class=\"sym-5 sym\">result</span>;",
+ "scmAuthor": "fabrice.bellingard@sonarsource.com",
+ "scmRevision": "322e4e8b3cb54a39651f563273745e6ee737fb3e",
+ "scmDate": "2013-10-15T16:14:22+0200"
+ },
+ {
+ "line": 15,
+ "code": " }",
+ "scmAuthor": "fabrice.bellingard@sonarsource.com",
+ "scmRevision": "f467e9befd3ff15bb1dbf634b0e9b45d44110bac",
+ "scmDate": "2013-09-16T15:31:49+0200"
+ },
+ {
+ "line": 16,
+ "code": "",
+ "scmAuthor": "fabrice.bellingard@sonarsource.com",
+ "scmRevision": "f467e9befd3ff15bb1dbf634b0e9b45d44110bac",
+ "scmDate": "2013-09-16T15:31:49+0200"
+ },
+ {
+ "line": 17,
+ "code": "}",
+ "scmAuthor": "fabrice.bellingard@sonarsource.com",
+ "scmRevision": "f467e9befd3ff15bb1dbf634b0e9b45d44110bac",
+ "scmDate": "2013-09-16T15:31:49+0200"
+ },
+ {
+ "line": 18,
+ "code": "",
+ "scmAuthor": "fabrice.bellingard@sonarsource.com",
+ "scmRevision": "f467e9befd3ff15bb1dbf634b0e9b45d44110bac",
+ "scmDate": "2013-09-16T15:31:49+0200"
+ }
+ ]
+}
--- /dev/null
+{
+ "uuid": "12345",
+ "key": "org.codehaus.sonar:sonar-batch:src/main/java/org/sonar/batch/index/Cache.java",
+ "path": "src/main/java/org/sonar/batch/index/Cache.java",
+ "name": "Cache.java",
+ "longName": "src/main/java/org/sonar/batch/index/Cache.java",
+ "q": "FIL",
+ "subProject": "org.codehaus.sonar:sonar-batch",
+ "subProjectName": "SonarQube :: Batch",
+ "project": "org.codehaus.sonar:sonar",
+ "projectName": "SonarQube",
+ "fav": false,
+ "canMarkAsFavourite": false,
+ "canCreateManualIssue": false,
+ "measures": {
+ "lines": "378",
+ "coverage": "74.3%",
+ "duplicationDensity": "5.8%",
+ "debt": "2h 10min",
+ "sqaleRating": "A",
+ "debtRatio": "1.1%",
+ "issues": "6"
+ }
+}
--- /dev/null
+{
+ "uuid": "12345",
+ "key": "org.codehaus.sonar:sonar-batch:src/main/java/org/sonar/batch/index/Cache.java",
+ "path": "src/main/java/org/sonar/batch/index/Cache.java",
+ "name": "Cache.java",
+ "longName": "src/main/java/org/sonar/batch/index/Cache.java",
+ "q": "FIL",
+ "subProject": "org.codehaus.sonar:sonar-batch",
+ "subProjectName": "SonarQube :: Batch",
+ "project": "org.codehaus.sonar:sonar",
+ "projectName": "SonarQube",
+ "fav": false,
+ "canMarkAsFavourite": true,
+ "canCreateManualIssue": true,
+ "measures": {
+ "lines": "378",
+ "coverage": "74.3%",
+ "duplicationDensity": "5.8%",
+ "debt": "2h 10min",
+ "sqaleRating": "A",
+ "debtRatio": "1.1%",
+ "issues": "6"
+ }
+}
--- /dev/null
+{"coverage": [
+ [46, true, 32, null, null],
+ [47, true, 32, null, null],
+ [48, true, 32, null, null],
+ [49, true, 32, null, null],
+ [52, true, 2, null, null],
+ [53, true, 2, null, null],
+ [57, true, 18, null, null],
+ [58, true, 18, null, null],
+ [62, true, 13, null, null],
+ [63, true, 13, null, null],
+ [67, false, null, null, null],
+ [68, false, null, null, null],
+ [73, true, 27, null, null],
+ [74, true, 27, null, null],
+ [75, true, 27, null, null],
+ [76, true, 1, null, null],
+ [77, true, 1, null, null],
+ [85, true, 5, null, null],
+ [86, true, 5, null, null],
+ [94, true, 10, null, null],
+ [95, true, 10, null, null],
+ [103, true, 11, null, null],
+ [104, true, 11, null, null],
+ [112, false, null, null, null],
+ [113, false, null, null, null],
+ [120, true, 17, null, null],
+ [121, true, 17, 2, 2],
+ [122, true, 8, null, null],
+ [124, true, 13, null, null],
+ [125, false, null, null, null],
+ [127, false, null, null, null],
+ [132, true, 4, null, null],
+ [133, true, 4, null, null],
+ [137, true, 3, null, null],
+ [138, true, 3, null, null],
+ [142, true, 5, null, null],
+ [143, true, 5, null, null],
+ [147, false, null, null, null],
+ [148, false, null, null, null],
+ [153, true, 7, null, null],
+ [154, true, 7, null, null],
+ [155, false, null, null, null],
+ [157, false, null, null, null],
+ [162, true, 3, null, null],
+ [163, true, 3, null, null],
+ [167, true, 3, null, null],
+ [168, true, 3, null, null],
+ [172, true, 2, null, null],
+ [173, true, 2, null, null],
+ [177, false, null, null, null],
+ [178, false, null, null, null],
+ [183, true, 6, null, null],
+ [184, false, null, null, null],
+ [186, false, null, null, null],
+ [196, true, 5, null, null],
+ [197, true, 5, null, null],
+ [201, true, 2, null, null],
+ [202, true, 2, null, null],
+ [206, true, 1, null, null],
+ [207, true, 1, null, null],
+ [211, false, null, null, null],
+ [212, false, null, null, null],
+ [217, true, 5, null, null],
+ [218, true, 5, null, null],
+ [219, true, 5, null, null],
+ [220, true, 5, null, null],
+ [221, false, null, null, null],
+ [222, false, null, null, null],
+ [231, true, 4, null, null],
+ [232, true, 4, null, null],
+ [233, false, null, null, null],
+ [234, false, null, null, null],
+ [235, true, 4, null, null],
+ [236, true, 4, null, null],
+ [248, true, 4, null, null],
+ [249, true, 4, null, null],
+ [250, true, 4, null, null],
+ [251, true, 4, null, null],
+ [252, true, 4, null, null],
+ [253, true, 4, 2, 2],
+ [254, true, 2, null, null],
+ [256, true, 4, null, null],
+ [257, false, null, null, null],
+ [258, false, null, null, null],
+ [265, true, 1, null, null],
+ [266, true, 1, null, null],
+ [267, true, 1, null, null],
+ [268, true, 1, null, null],
+ [269, true, 1, null, null],
+ [270, true, 1, null, null],
+ [271, true, 1, 2, 2],
+ [272, true, 1, null, null],
+ [274, true, 1, null, null],
+ [275, false, null, null, null],
+ [276, false, null, null, null],
+ [287, true, 4, null, null],
+ [288, true, 4, null, null],
+ [289, true, 4, null, null],
+ [290, true, 4, null, null],
+ [291, true, 4, 2, 2],
+ [292, true, 3, null, null],
+ [294, true, 4, null, null],
+ [295, false, null, null, null],
+ [296, false, null, null, null],
+ [305, true, 1, null, null],
+ [306, true, 1, null, null],
+ [307, true, 1, null, null],
+ [308, true, 1, null, null],
+ [309, true, 1, null, null],
+ [310, false, null, null, null],
+ [311, false, null, null, null],
+ [316, false, null, null, null],
+ [324, true, 23, null, null],
+ [325, true, 23, null, null],
+ [326, true, 23, null, null],
+ [327, true, 23, null, null],
+ [328, true, 23, null, null],
+ [329, false, null, null, null],
+ [330, false, null, null, null],
+ [339, true, 16, null, null],
+ [340, true, 16, null, null],
+ [341, true, 16, null, null],
+ [342, true, 16, null, null],
+ [343, false, null, null, null],
+ [344, false, null, null, null],
+ [349, true, 9, null, null],
+ [350, true, 9, null, null],
+ [351, true, 9, null, null],
+ [355, true, 3, null, null],
+ [356, true, 3, null, null],
+ [357, true, 3, null, null],
+ [361, true, 7, null, null],
+ [362, true, 7, null, null],
+ [363, true, 7, null, null],
+ [366, true, 20, null, null],
+ [367, true, 20, null, null],
+ [368, true, 20, null, null],
+ [371, true, 18, null, null],
+ [372, true, 18, null, null],
+ [373, true, 18, null, null],
+ [376, false, null, null, null],
+ [377, false, null, 2, 0],
+ [378, false, null, null, null],
+ [380, false, null, null, null],
+ [389, true, 26, null, null],
+ [390, true, 26, null, null],
+ [391, true, 26, null, null],
+ [395, true, 26, null, null],
+ [403, true, 26, null, null],
+ [404, true, 26, null, null],
+ [405, true, 26, null, null],
+ [406, true, 26, null, null],
+ [411, true, 25, null, null],
+ [412, false, null, null, null],
+ [413, false, null, null, null],
+ [421, true, 23, null, null],
+ [422, false, null, null, null],
+ [423, false, null, null, null],
+ [424, true, 23, null, null],
+ [425, true, 23, 2, 1],
+ [426, true, 23, null, null],
+ [428, false, null, null, null],
+ [433, false, null, null, null],
+ [440, true, 10, null, null],
+ [441, true, 10, null, null],
+ [442, true, 10, null, null],
+ [446, true, 10, null, null],
+ [454, true, 10, null, null],
+ [455, true, 10, null, null],
+ [456, true, 10, null, null],
+ [457, true, 10, null, null],
+ [462, true, 10, null, null],
+ [463, false, null, null, null],
+ [464, false, null, null, null],
+ [472, true, 9, null, null],
+ [473, false, null, null, null],
+ [474, false, null, null, null],
+ [475, true, 9, null, null],
+ [476, true, 9, 2, 1],
+ [477, true, 9, null, null],
+ [478, true, 9, null, null],
+ [479, true, 9, null, null],
+ [480, true, 9, 2, 2],
+ [481, true, 9, null, null],
+ [483, true, 9, null, null],
+ [485, false, null, null, null],
+ [490, false, null, null, null],
+ [498, true, 16, null, null],
+ [499, true, 16, null, null],
+ [500, true, 16, null, null],
+ [501, true, 16, null, null],
+ [504, true, 14, null, null],
+ [509, true, 14, null, null],
+ [514, false, null, null, null]
+]}
--- /dev/null
+{"duplications": [
+ {
+ "blocks": [
+ {
+ "from": 404,
+ "size": 15,
+ "_ref": "1"
+ },
+ {
+ "from": 455,
+ "size": 15,
+ "_ref": "2"
+ }
+ ]
+ }
+], "files": {
+ "1": {
+ "key": "org.codehaus.sonar:sonar-batch:src/main/java/org/sonar/batch/index/Cache.java",
+ "name": "src/main/java/org/sonar/batch/index/Cache.java",
+ "project": "org.codehaus.sonar:sonar",
+ "projectName": "SonarQube",
+ "subProject": "org.codehaus.sonar:sonar-batch",
+ "subProjectName": "SonarQube :: Batch"
+ },
+ "2": {
+ "key": "org.codehaus.sonar-plugins.javascript:sonar-javascript-plugin:src/main/java/org/sonar/plugins/javascript/core/JavaScript.java",
+ "name": "src/main/java/org/sonar/plugins/javascript/core/JavaScript.java",
+ "project": "org.codehaus.sonar-plugins.javascript:javascript",
+ "projectName": "JavaScript",
+ "subProject": "org.codehaus.sonar-plugins.javascript:sonar-javascript-plugin",
+ "subProjectName": "JavaScript :: Sonar Plugin"
+ }
+}}
--- /dev/null
+{"duplications": [
+ {
+ "blocks": [
+ {
+ "from": 404,
+ "size": 15,
+ "_ref": "1"
+ },
+ {
+ "from": 455,
+ "size": 15
+ }
+ ]
+ }
+], "files": {
+ "1": {
+ "key": "org.codehaus.sonar:sonar-batch:src/main/java/org/sonar/batch/index/Cache.java",
+ "name": "src/main/java/org/sonar/batch/index/Cache.java",
+ "project": "org.codehaus.sonar:sonar",
+ "projectName": "SonarQube",
+ "subProject": "org.codehaus.sonar:sonar-batch",
+ "subProjectName": "SonarQube :: Batch"
+ }
+}}
--- /dev/null
+{"duplications": [
+ {
+ "blocks": [
+ {
+ "from": 404,
+ "size": 15,
+ "_ref": "1"
+ },
+ {
+ "from": 455,
+ "size": 15,
+ "_ref": "1"
+ }
+ ]
+ }
+], "files": {
+ "1": {
+ "key": "org.codehaus.sonar:sonar-batch:src/main/java/org/sonar/batch/index/Cache.java",
+ "name": "src/main/java/org/sonar/batch/index/Cache.java",
+ "project": "org.codehaus.sonar:sonar",
+ "projectName": "SonarQube",
+ "subProject": "org.codehaus.sonar:sonar-batch",
+ "subProjectName": "SonarQube :: Batch"
+ }
+}}
--- /dev/null
+{"total": 6, "p": 1, "ps": 100, "projects": [
+ {
+ "uuid": "69e57151-be0d-4157-adff-c06741d88879",
+ "key": "org.codehaus.sonar:sonar",
+ "id": 2865,
+ "qualifier": "TRK",
+ "name": "SonarQube",
+ "longName": "SonarQube"
+ }
+], "components": [
+ {
+ "uuid": "83379565-7af3-4047-8d1a-ed42b10309b0",
+ "key": "org.codehaus.sonar:sonar-batch",
+ "id": 1624,
+ "enabled": true,
+ "qualifier": "BRC",
+ "name": "SonarQube :: Batch",
+ "longName": "SonarQube :: Batch",
+ "path": "sonar-batch",
+ "projectId": 2865,
+ "subProjectId": 2865
+ },
+ {
+ "uuid": "69e57151-be0d-4157-adff-c06741d88879",
+ "key": "org.codehaus.sonar:sonar",
+ "id": 2865,
+ "enabled": true,
+ "qualifier": "TRK",
+ "name": "SonarQube",
+ "longName": "SonarQube"
+ },
+ {
+ "uuid": "b9615992-2458-4d54-a22f-b91ee7ba5bc5",
+ "key": "org.codehaus.sonar:sonar-batch:src/main/java/org/sonar/batch/index/Cache.java",
+ "id": 19983,
+ "enabled": true,
+ "qualifier": "FIL",
+ "name": "Cache.java",
+ "longName": "src/main/java/org/sonar/batch/index/Cache.java",
+ "path": "src/main/java/org/sonar/batch/index/Cache.java",
+ "projectId": 2865,
+ "subProjectId": 1624
+ }
+], "issues": [
+ {
+ "key": "20002ec7-b647-44da-bdf5-4d9fbf4b7c58",
+ "component": "org.codehaus.sonar:sonar-batch:src/main/java/org/sonar/batch/index/Cache.java",
+ "componentId": 19983,
+ "project": "org.codehaus.sonar:sonar",
+ "subProject": "org.codehaus.sonar:sonar-batch",
+ "rule": "common-java:DuplicatedBlocks",
+ "status": "CONFIRMED",
+ "severity": "MAJOR",
+ "message": "2 duplicated blocks of code.",
+ "debt": "2h",
+ "creationDate": "2014-05-01T23:38:31+0200",
+ "updateDate": "2014-07-01T17:48:47+0200",
+ "fUpdateAge": "5 months",
+ "actions": ["comment", "assign", "assign_to_me", "plan", "set_severity"],
+ "transitions": ["unconfirm", "resolve", "falsepositive"]
+ },
+ {
+ "key": "71a26f48-a90d-4a76-a745-4f6e6e8b1773",
+ "component": "org.codehaus.sonar:sonar-batch:src/main/java/org/sonar/batch/index/Cache.java",
+ "componentId": 19983,
+ "project": "org.codehaus.sonar:sonar",
+ "subProject": "org.codehaus.sonar:sonar-batch",
+ "rule": "squid:S1135",
+ "status": "CONFIRMED",
+ "severity": "INFO",
+ "message": "Complete the task associated to this TODO comment.",
+ "line": 125,
+ "author": "simon.brandhof@gmail.com",
+ "creationDate": "2013-10-10T23:51:33+0200",
+ "updateDate": "2014-07-29T23:15:18+0200",
+ "fUpdateAge": "4 months",
+ "actions": ["comment", "assign", "assign_to_me", "plan", "set_severity"],
+ "transitions": ["unconfirm", "resolve", "falsepositive"]
+ },
+ {
+ "key": "75419c88-0e3c-4311-aa47-fe5731e67558",
+ "component": "org.codehaus.sonar:sonar-batch:src/main/java/org/sonar/batch/index/Cache.java",
+ "componentId": 19983,
+ "project": "org.codehaus.sonar:sonar",
+ "subProject": "org.codehaus.sonar:sonar-batch",
+ "rule": "squid:S1135",
+ "status": "CONFIRMED",
+ "severity": "INFO",
+ "message": "Complete the task associated to this TODO comment.",
+ "line": 155,
+ "author": "simon.brandhof@gmail.com",
+ "creationDate": "2013-10-10T23:51:33+0200",
+ "updateDate": "2014-07-29T23:15:18+0200",
+ "fUpdateAge": "4 months",
+ "actions": ["comment", "assign", "assign_to_me", "plan", "set_severity"],
+ "transitions": ["unconfirm", "resolve", "falsepositive"]
+ },
+ {
+ "key": "01461208-6c1e-4cdf-9f27-b7afa78e76ec",
+ "component": "org.codehaus.sonar:sonar-batch:src/main/java/org/sonar/batch/index/Cache.java",
+ "componentId": 19983,
+ "project": "org.codehaus.sonar:sonar",
+ "subProject": "org.codehaus.sonar:sonar-batch",
+ "rule": "squid:S1135",
+ "status": "CONFIRMED",
+ "severity": "INFO",
+ "message": "Complete the task associated to this TODO comment.",
+ "line": 184,
+ "author": "simon.brandhof@gmail.com",
+ "creationDate": "2013-10-10T23:51:33+0200",
+ "updateDate": "2014-07-29T23:15:18+0200",
+ "fUpdateAge": "4 months",
+ "actions": ["comment", "assign", "assign_to_me", "plan", "set_severity"],
+ "transitions": ["unconfirm", "resolve", "falsepositive"]
+ },
+ {
+ "key": "e4de6481-7bfb-460a-8b3c-24459f9561d3",
+ "component": "org.codehaus.sonar:sonar-batch:src/main/java/org/sonar/batch/index/Cache.java",
+ "componentId": 19983,
+ "project": "org.codehaus.sonar:sonar",
+ "subProject": "org.codehaus.sonar:sonar-batch",
+ "rule": "squid:S1135",
+ "status": "CONFIRMED",
+ "severity": "INFO",
+ "message": "Complete the task associated to this TODO comment.",
+ "line": 239,
+ "author": "Simon Brandhof",
+ "creationDate": "2013-08-09T16:04:33+0200",
+ "updateDate": "2014-07-29T23:15:18+0200",
+ "fUpdateAge": "4 months",
+ "actions": ["comment", "assign", "assign_to_me", "plan", "set_severity"],
+ "transitions": ["unconfirm", "resolve", "falsepositive"]
+ },
+ {
+ "key": "59fc17f7-c977-4cb6-8f04-fbe88e4b9186",
+ "component": "org.codehaus.sonar:sonar-batch:src/main/java/org/sonar/batch/index/Cache.java",
+ "componentId": 19983,
+ "project": "org.codehaus.sonar:sonar",
+ "subProject": "org.codehaus.sonar:sonar-batch",
+ "rule": "squid:S1192",
+ "status": "CONFIRMED",
+ "severity": "MINOR",
+ "message": "Define a constant instead of duplicating this literal \"Fail to get keys from cache \" 3 times.",
+ "line": 257,
+ "debt": "10min",
+ "author": "simon.brandhof@gmail.com",
+ "creationDate": "2014-02-20T07:48:16+0100",
+ "updateDate": "2014-02-24T16:57:34+0100",
+ "fUpdateAge": "9 months",
+ "actions": ["comment", "assign", "assign_to_me", "plan", "set_severity"],
+ "transitions": ["unconfirm", "resolve", "falsepositive"]
+ }
+], "rules": [
+ {
+ "key": "common-java:DuplicatedBlocks",
+ "name": "Duplicated blocks",
+ "lang": "java",
+ "desc": "<p>An issue is created on a file as soon as there is a block of duplicated code on this file. It gives the number of blocks in the file.</p>",
+ "status": "READY",
+ "langName": "Java"
+ },
+ {
+ "key": "squid:S1192",
+ "name": "String literals should not be duplicated",
+ "lang": "java",
+ "desc": "<p>\n Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.\n On the other hand, constants can be referenced from many places, but only need to be updated in a single place.\n</p>\n\n<h2>Non Compliant Code Example</h2>\n\n<pre>\npublic void run() {\n prepare(\"action1\"); // Non-Compliant - \"action1\" is duplicated 3 times\n execute(\"action1\");\n release(\"action1\");\n}\n\n@SuppressWarning(\"all\") // Compliant - annotations are excluded\nprivate void method1() { /* ... */ }\n@SuppressWarning(\"all\")\nprivate void method2() { /* ... */ }\n\npublic String method3(String a) {\n System.out.println(\"'\" + a + \"'\"); // Compliant - literal \"'\" has less than 5 characters and is excluded\n return \"\"; // Compliant - literal \"\" has less than 5 characters and is excluded\n}\n</pre>\n\n<h2>Compliant Code Example</h2>\n\n<pre>\nprivate static final String ACTION_1 = \"action1\"; // Compliant\n\npublic void run() {\n prepare(ACTION_1); // Compliant\n execute(ACTION_1);\n release(ACTION_1);\n}\n</pre>\n\n<h2>Exceptions</h2>\n<p>To prevent generating some false-positives, literals having less than 5 characters are excluded.</p>",
+ "status": "READY",
+ "langName": "Java"
+ },
+ {
+ "key": "squid:S1135",
+ "name": "TODO tags should be handled",
+ "lang": "java",
+ "desc": "<p>\n<code>TODO</code> tags are commonly used to mark places where some more code is required, but which the developer wants to implement later.\nSometimes the developer will not have the time or will simply forget to get back to that tag.\nThis rule is meant to track those tags, and ensure that they do not go unnoticed.\n</p>\n\n<p>The following code illustrates this rule:</p>\n\n<pre>\nvoid doSomething() {\n // TODO\n}\n</pre>",
+ "status": "READY",
+ "langName": "Java"
+ }
+], "users": [
+ {
+ "login": "admin",
+ "name": "Admin Admin",
+ "active": true,
+ "email": "admin@sonarsource.com"
+ }
+], "languages": [
+ {
+ "key": "js",
+ "name": "JavaScript"
+ },
+ {
+ "key": "java",
+ "name": "Java"
+ }
+], "maxResultsReached": false, "paging": {
+ "pageIndex": 1,
+ "pageSize": 100,
+ "total": 6,
+ "fTotal": "6",
+ "pages": 1
+}}
--- /dev/null
+{"sources": [
+ {
+ "line": 1,
+ "code": "<span class=\"cppd\">/*</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 2,
+ "code": "<span class=\"cppd\"> * SonarQube, open source software quality management tool.</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b1436788cfc71b23cc3e3c15400a6c630c914bec",
+ "scmDate": "2013-04-21T11:58:14+0200"
+ },
+ {
+ "line": 3,
+ "code": "<span class=\"cppd\"> * Copyright (C) 2008-2014 SonarSource</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "57ae3026c36ae3b0b71756d6161124b1ae594c53",
+ "scmDate": "2014-03-11T17:52:41+0100"
+ },
+ {
+ "line": 4,
+ "code": "<span class=\"cppd\"> * mailto:contact AT sonarsource DOT com</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 5,
+ "code": "<span class=\"cppd\"> *</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 6,
+ "code": "<span class=\"cppd\"> * SonarQube is free software; you can redistribute it and/or</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b1436788cfc71b23cc3e3c15400a6c630c914bec",
+ "scmDate": "2013-04-21T11:58:14+0200"
+ },
+ {
+ "line": 7,
+ "code": "<span class=\"cppd\"> * modify it under the terms of the GNU Lesser General Public</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 8,
+ "code": "<span class=\"cppd\"> * License as published by the Free Software Foundation; either</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 9,
+ "code": "<span class=\"cppd\"> * version 3 of the License, or (at your option) any later version.</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 10,
+ "code": "<span class=\"cppd\"> *</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 11,
+ "code": "<span class=\"cppd\"> * SonarQube is distributed in the hope that it will be useful,</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b1436788cfc71b23cc3e3c15400a6c630c914bec",
+ "scmDate": "2013-04-21T11:58:14+0200"
+ },
+ {
+ "line": 12,
+ "code": "<span class=\"cppd\"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 13,
+ "code": "<span class=\"cppd\"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 14,
+ "code": "<span class=\"cppd\"> * Lesser General Public License for more details.</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 15,
+ "code": "<span class=\"cppd\"> *</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 16,
+ "code": "<span class=\"cppd\"> * You should have received a copy of the GNU Lesser General Public License</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "ce63bd4c293fe7a1fa066d73860bbaf4e1f5a608",
+ "scmDate": "2013-04-22T09:37:03+0200"
+ },
+ {
+ "line": 17,
+ "code": "<span class=\"cppd\"> * along with this program; if not, write to the Free Software Foundation,</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "ce63bd4c293fe7a1fa066d73860bbaf4e1f5a608",
+ "scmDate": "2013-04-22T09:37:03+0200"
+ },
+ {
+ "line": 18,
+ "code": "<span class=\"cppd\"> * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "ce63bd4c293fe7a1fa066d73860bbaf4e1f5a608",
+ "scmDate": "2013-04-22T09:37:03+0200"
+ },
+ {
+ "line": 19,
+ "code": "<span class=\"cppd\"> */</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 20,
+ "code": "<span class=\"k\">package</span> org.sonar.batch.index;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 21,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 22,
+ "code": "<span class=\"k\">import </span>com.google.common.collect.<span class=\"sym-1 sym\">Sets</span>;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 23,
+ "code": "<span class=\"k\">import </span>com.persistit.<span class=\"sym-2 sym\">Exchange</span>;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 24,
+ "code": "<span class=\"k\">import </span>com.persistit.<span class=\"sym-3 sym\">Key</span>;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 25,
+ "code": "<span class=\"k\">import </span>com.persistit.<span class=\"sym-4 sym\">KeyFilter</span>;",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 26,
+ "code": "<span class=\"k\">import </span>com.persistit.exception.<span class=\"sym-5 sym\">PersistitException</span>;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 27,
+ "code": "<span class=\"k\">import </span>org.apache.commons.lang.builder.<span class=\"sym-6 sym\">ToStringBuilder</span>;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 28,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 29,
+ "code": "<span class=\"k\">import </span>javax.annotation.<span class=\"sym-7 sym\">CheckForNull</span>;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 30,
+ "code": "",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "171cd79c0b5152461434951ed5d6e5e58849a7b7",
+ "scmDate": "2014-04-23T14:41:32+0200"
+ },
+ {
+ "line": 31,
+ "code": "<span class=\"k\">import </span>java.util.<span class=\"sym-8 sym\">Iterator</span>;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 32,
+ "code": "<span class=\"k\">import </span>java.util.<span class=\"sym-9 sym\">NoSuchElementException</span>;",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 33,
+ "code": "<span class=\"k\">import </span>java.util.<span class=\"sym-10 sym\">Set</span>;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 34,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 35,
+ "code": "<span class=\"cppd\">/**</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 36,
+ "code": "<span class=\"cppd\"> * <p></span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 37,
+ "code": "<span class=\"cppd\"> * This cache is not thread-safe, due to direct usage of {@link com.persistit.Exchange}</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 38,
+ "code": "<span class=\"cppd\"> * </p></span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 39,
+ "code": "<span class=\"cppd\"> */</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 40,
+ "code": "<span class=\"k\">public </span><span class=\"k\">class</span> <span class=\"sym-11 sym\">Cache</span><V> {",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "6074164392edd3db2dfdfd21d05cd56c19e2b0e6",
+ "scmDate": "2014-07-25T16:31:45+0200"
+ },
+ {
+ "line": 41,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 42,
+ "code": " <span class=\"k\">private </span><span class=\"k\">final </span>String <span class=\"sym-12 sym\">name</span>;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 43,
+ "code": " <span class=\"k\">private </span><span class=\"k\">final </span><span class=\"sym-2 sym\">Exchange</span> <span class=\"sym-13 sym\">exchange</span>;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 44,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 45,
+ "code": " <span class=\"sym-14 sym\">Cache</span>(String <span class=\"sym-15 sym\">name</span>, <span class=\"sym-2 sym\">Exchange</span> <span class=\"sym-16 sym\">exchange</span>) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200",
+ "lineHits": 1
+ },
+ {
+ "line": 46,
+ "code": " <span class=\"k\">this</span>.<span class=\"sym-12 sym\">name</span> = <span class=\"sym-15 sym\">name</span>;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200",
+ "lineHits": 1
+ },
+ {
+ "line": 47,
+ "code": " <span class=\"k\">this</span>.<span class=\"sym-13 sym\">exchange</span> = <span class=\"sym-16 sym\">exchange</span>;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200",
+ "lineHits": 1
+ },
+ {
+ "line": 48,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200",
+ "lineHits": 1
+ },
+ {
+ "line": 49,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 50,
+ "code": " <span class=\"k\">public </span><span class=\"sym-11 sym\">Cache</span><V> <span class=\"sym-17 sym\">put</span>(Object <span class=\"sym-18 sym\">key</span>, V <span class=\"sym-19 sym\">value</span>) {",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 51,
+ "code": " <span class=\"sym-127 sym\">resetKey</span>(<span class=\"sym-18 sym\">key</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 1
+ },
+ {
+ "line": 52,
+ "code": " <span class=\"k\">return</span> <span class=\"sym-32 sym\">doPut</span>(<span class=\"sym-19 sym\">value</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 1
+ },
+ {
+ "line": 53,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 54,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 55,
+ "code": " <span class=\"k\">public </span><span class=\"sym-11 sym\">Cache</span><V> <span class=\"sym-20 sym\">put</span>(Object <span class=\"sym-21 sym\">firstKey</span>, Object <span class=\"sym-22 sym\">secondKey</span>, V <span class=\"sym-23 sym\">value</span>) {",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 56,
+ "code": " <span class=\"sym-129 sym\">resetKey</span>(<span class=\"sym-21 sym\">firstKey</span>, <span class=\"sym-22 sym\">secondKey</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 1
+ },
+ {
+ "line": 57,
+ "code": " <span class=\"k\">return</span> <span class=\"sym-32 sym\">doPut</span>(<span class=\"sym-23 sym\">value</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 1
+ },
+ {
+ "line": 58,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 59,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 60,
+ "code": " <span class=\"k\">public </span><span class=\"sym-11 sym\">Cache</span><V> <span class=\"sym-24 sym\">put</span>(Object <span class=\"sym-25 sym\">firstKey</span>, Object <span class=\"sym-26 sym\">secondKey</span>, Object <span class=\"sym-27 sym\">thirdKey</span>, V <span class=\"sym-28 sym\">value</span>) {",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 61,
+ "code": " <span class=\"sym-132 sym\">resetKey</span>(<span class=\"sym-25 sym\">firstKey</span>, <span class=\"sym-26 sym\">secondKey</span>, <span class=\"sym-27 sym\">thirdKey</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 1
+ },
+ {
+ "line": 62,
+ "code": " <span class=\"k\">return</span> <span class=\"sym-32 sym\">doPut</span>(<span class=\"sym-28 sym\">value</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 1
+ },
+ {
+ "line": 63,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 64,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 65,
+ "code": " <span class=\"k\">public </span><span class=\"sym-11 sym\">Cache</span><V> <span class=\"sym-29 sym\">put</span>(Object[] <span class=\"sym-30 sym\">key</span>, V <span class=\"sym-31 sym\">value</span>) {",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 66,
+ "code": " <span class=\"sym-136 sym\">resetKey</span>(<span class=\"sym-30 sym\">key</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 0
+ },
+ {
+ "line": 67,
+ "code": " <span class=\"k\">return</span> <span class=\"sym-32 sym\">doPut</span>(<span class=\"sym-31 sym\">value</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 0
+ },
+ {
+ "line": 68,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 69,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 70,
+ "code": " <span class=\"k\">private </span><span class=\"sym-11 sym\">Cache</span><V> <span class=\"sym-32 sym\">doPut</span>(V <span class=\"sym-33 sym\">value</span>) {",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 71,
+ "code": " <span class=\"k\">try </span>{",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 72,
+ "code": " <span class=\"sym-13 sym\">exchange</span>.getValue().put(<span class=\"sym-33 sym\">value</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200",
+ "lineHits": 1
+ },
+ {
+ "line": 73,
+ "code": " <span class=\"sym-13 sym\">exchange</span>.store();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200",
+ "lineHits": 1
+ },
+ {
+ "line": 74,
+ "code": " <span class=\"k\">return</span> <span class=\"k\">this</span>;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200",
+ "lineHits": 1
+ },
+ {
+ "line": 75,
+ "code": " } <span class=\"k\">catch </span>(Exception <span class=\"sym-34 sym\">e</span>) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200",
+ "lineHits": 1
+ },
+ {
+ "line": 76,
+ "code": " <span class=\"k\">throw</span> <span class=\"k\">new</span> IllegalStateException(<span class=\"s\">\"Fail to put element in the cache \" </span>+ <span class=\"sym-12 sym\">name</span>, <span class=\"sym-34 sym\">e</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200",
+ "lineHits": 1
+ },
+ {
+ "line": 77,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 78,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 79,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 80,
+ "code": " <span class=\"cppd\">/**</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 81,
+ "code": "<span class=\"cppd\"> * Returns the value object associated with keys, or null if not found.</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 82,
+ "code": "<span class=\"cppd\"> */</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 83,
+ "code": " <span class=\"k\">public </span>V <span class=\"sym-35 sym\">get</span>(Object <span class=\"sym-36 sym\">key</span>) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 84,
+ "code": " <span class=\"sym-127 sym\">resetKey</span>(<span class=\"sym-36 sym\">key</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 1
+ },
+ {
+ "line": 85,
+ "code": " <span class=\"k\">return</span> <span class=\"sym-46 sym\">doGet</span>();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 1
+ },
+ {
+ "line": 86,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 87,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 88,
+ "code": " <span class=\"cppd\">/**</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 89,
+ "code": "<span class=\"cppd\"> * Returns the value object associated with keys, or null if not found.</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 90,
+ "code": "<span class=\"cppd\"> */</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 91,
+ "code": " <span class=\"a\">@<span class=\"sym-7 sym\">CheckForNull</span></span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 92,
+ "code": "<span class=\"a\"> </span><span class=\"k\">public </span>V <span class=\"sym-37 sym\">get</span>(Object <span class=\"sym-38 sym\">firstKey</span>, Object <span class=\"sym-39 sym\">secondKey</span>) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 93,
+ "code": " <span class=\"sym-129 sym\">resetKey</span>(<span class=\"sym-38 sym\">firstKey</span>, <span class=\"sym-39 sym\">secondKey</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 1
+ },
+ {
+ "line": 94,
+ "code": " <span class=\"k\">return</span> <span class=\"sym-46 sym\">doGet</span>();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 1
+ },
+ {
+ "line": 95,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 96,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 97,
+ "code": " <span class=\"cppd\">/**</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 98,
+ "code": "<span class=\"cppd\"> * Returns the value object associated with keys, or null if not found.</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 99,
+ "code": "<span class=\"cppd\"> */</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 100,
+ "code": " <span class=\"a\">@<span class=\"sym-7 sym\">CheckForNull</span></span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 101,
+ "code": "<span class=\"a\"> </span><span class=\"k\">public </span>V <span class=\"sym-40 sym\">get</span>(Object <span class=\"sym-41 sym\">firstKey</span>, Object <span class=\"sym-42 sym\">secondKey</span>, Object <span class=\"sym-43 sym\">thirdKey</span>) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 102,
+ "code": " <span class=\"sym-132 sym\">resetKey</span>(<span class=\"sym-41 sym\">firstKey</span>, <span class=\"sym-42 sym\">secondKey</span>, <span class=\"sym-43 sym\">thirdKey</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 1
+ },
+ {
+ "line": 103,
+ "code": " <span class=\"k\">return</span> <span class=\"sym-46 sym\">doGet</span>();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 1
+ },
+ {
+ "line": 104,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 105,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 106,
+ "code": " <span class=\"cppd\">/**</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 107,
+ "code": "<span class=\"cppd\"> * Returns the value object associated with keys, or null if not found.</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 108,
+ "code": "<span class=\"cppd\"> */</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 109,
+ "code": " <span class=\"a\">@<span class=\"sym-7 sym\">CheckForNull</span></span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 110,
+ "code": "<span class=\"a\"> </span><span class=\"k\">public </span>V <span class=\"sym-44 sym\">get</span>(Object[] <span class=\"sym-45 sym\">key</span>) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 111,
+ "code": " <span class=\"sym-136 sym\">resetKey</span>(<span class=\"sym-45 sym\">key</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 0
+ },
+ {
+ "line": 112,
+ "code": " <span class=\"k\">return</span> <span class=\"sym-46 sym\">doGet</span>();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 0
+ },
+ {
+ "line": 113,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 114,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 115,
+ "code": " <span class=\"a\">@SuppressWarnings</span>(<span class=\"s\">\"unchecked\"</span>)",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 116,
+ "code": " <span class=\"a\">@<span class=\"sym-7 sym\">CheckForNull</span></span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 117,
+ "code": "<span class=\"a\"> </span><span class=\"k\">private </span>V <span class=\"sym-46 sym\">doGet</span>() {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 118,
+ "code": " <span class=\"k\">try </span>{",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 119,
+ "code": " <span class=\"sym-13 sym\">exchange</span>.fetch();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200",
+ "lineHits": 1
+ },
+ {
+ "line": 120,
+ "code": " <span class=\"k\">if </span>(!<span class=\"sym-13 sym\">exchange</span>.getValue().isDefined()) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200",
+ "lineHits": 1,
+ "conditions": 2,
+ "coveredConditions": 2
+ },
+ {
+ "line": 121,
+ "code": " <span class=\"k\">return</span> <span class=\"k\">null</span>;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200",
+ "lineHits": 1
+ },
+ {
+ "line": 122,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 123,
+ "code": " <span class=\"k\">return</span> (V) <span class=\"sym-13 sym\">exchange</span>.getValue().get();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200",
+ "lineHits": 1
+ },
+ {
+ "line": 124,
+ "code": " } <span class=\"k\">catch </span>(Exception <span class=\"sym-47 sym\">e</span>) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200",
+ "lineHits": 0
+ },
+ {
+ "line": 125,
+ "code": " <span class=\"cppd\">// TODO add parameters to message</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e108f5de333cf36aff978aa03940590f9caca9fc",
+ "scmDate": "2013-10-10T12:18:02+0200"
+ },
+ {
+ "line": 126,
+ "code": " <span class=\"k\">throw</span> <span class=\"k\">new</span> IllegalStateException(<span class=\"s\">\"Fail to get element from cache \" </span>+ <span class=\"sym-12 sym\">name</span>, <span class=\"sym-47 sym\">e</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200",
+ "lineHits": 0
+ },
+ {
+ "line": 127,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 128,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 129,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 130,
+ "code": " <span class=\"k\">public </span><span class=\"k\">boolean </span><span class=\"sym-48 sym\">containsKey</span>(Object <span class=\"sym-49 sym\">key</span>) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 131,
+ "code": " <span class=\"sym-127 sym\">resetKey</span>(<span class=\"sym-49 sym\">key</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 1
+ },
+ {
+ "line": 132,
+ "code": " <span class=\"k\">return</span> <span class=\"sym-59 sym\">doContainsKey</span>();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 1
+ },
+ {
+ "line": 133,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 134,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 135,
+ "code": " <span class=\"k\">public </span><span class=\"k\">boolean </span><span class=\"sym-50 sym\">containsKey</span>(Object <span class=\"sym-51 sym\">firstKey</span>, Object <span class=\"sym-52 sym\">secondKey</span>) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 136,
+ "code": " <span class=\"sym-129 sym\">resetKey</span>(<span class=\"sym-51 sym\">firstKey</span>, <span class=\"sym-52 sym\">secondKey</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 1
+ },
+ {
+ "line": 137,
+ "code": " <span class=\"k\">return</span> <span class=\"sym-59 sym\">doContainsKey</span>();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 1
+ },
+ {
+ "line": 138,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 139,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 140,
+ "code": " <span class=\"k\">public </span><span class=\"k\">boolean </span><span class=\"sym-53 sym\">containsKey</span>(Object <span class=\"sym-54 sym\">firstKey</span>, Object <span class=\"sym-55 sym\">secondKey</span>, Object <span class=\"sym-56 sym\">thirdKey</span>) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 141,
+ "code": " <span class=\"sym-132 sym\">resetKey</span>(<span class=\"sym-54 sym\">firstKey</span>, <span class=\"sym-55 sym\">secondKey</span>, <span class=\"sym-56 sym\">thirdKey</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 1
+ },
+ {
+ "line": 142,
+ "code": " <span class=\"k\">return</span> <span class=\"sym-59 sym\">doContainsKey</span>();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 1
+ },
+ {
+ "line": 143,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 144,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 145,
+ "code": " <span class=\"k\">public </span><span class=\"k\">boolean </span><span class=\"sym-57 sym\">containsKey</span>(Object[] <span class=\"sym-58 sym\">key</span>) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 146,
+ "code": " <span class=\"sym-136 sym\">resetKey</span>(<span class=\"sym-58 sym\">key</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 0
+ },
+ {
+ "line": 147,
+ "code": " <span class=\"k\">return</span> <span class=\"sym-59 sym\">doContainsKey</span>();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 0
+ },
+ {
+ "line": 148,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 149,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 150,
+ "code": " <span class=\"k\">private </span><span class=\"k\">boolean </span><span class=\"sym-59 sym\">doContainsKey</span>() {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 151,
+ "code": " <span class=\"k\">try </span>{",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e108f5de333cf36aff978aa03940590f9caca9fc",
+ "scmDate": "2013-10-10T12:18:02+0200"
+ },
+ {
+ "line": 152,
+ "code": " <span class=\"sym-13 sym\">exchange</span>.fetch();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e108f5de333cf36aff978aa03940590f9caca9fc",
+ "scmDate": "2013-10-10T12:18:02+0200",
+ "lineHits": 1
+ },
+ {
+ "line": 153,
+ "code": " <span class=\"k\">return</span> <span class=\"sym-13 sym\">exchange</span>.isValueDefined();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e108f5de333cf36aff978aa03940590f9caca9fc",
+ "scmDate": "2013-10-10T12:18:02+0200",
+ "lineHits": 1
+ },
+ {
+ "line": 154,
+ "code": " } <span class=\"k\">catch </span>(Exception <span class=\"sym-60 sym\">e</span>) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e108f5de333cf36aff978aa03940590f9caca9fc",
+ "scmDate": "2013-10-10T12:18:02+0200",
+ "lineHits": 0
+ },
+ {
+ "line": 155,
+ "code": " <span class=\"cppd\">// TODO add parameters to message</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e108f5de333cf36aff978aa03940590f9caca9fc",
+ "scmDate": "2013-10-10T12:18:02+0200"
+ },
+ {
+ "line": 156,
+ "code": " <span class=\"k\">throw</span> <span class=\"k\">new</span> IllegalStateException(<span class=\"s\">\"Fail to check if element is in cache \" </span>+ <span class=\"sym-12 sym\">name</span>, <span class=\"sym-60 sym\">e</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e108f5de333cf36aff978aa03940590f9caca9fc",
+ "scmDate": "2013-10-10T12:18:02+0200",
+ "lineHits": 0
+ },
+ {
+ "line": 157,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e108f5de333cf36aff978aa03940590f9caca9fc",
+ "scmDate": "2013-10-10T12:18:02+0200"
+ },
+ {
+ "line": 158,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e108f5de333cf36aff978aa03940590f9caca9fc",
+ "scmDate": "2013-10-10T12:18:02+0200"
+ },
+ {
+ "line": 159,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e108f5de333cf36aff978aa03940590f9caca9fc",
+ "scmDate": "2013-10-10T12:18:02+0200"
+ },
+ {
+ "line": 160,
+ "code": " <span class=\"k\">public </span><span class=\"k\">boolean </span><span class=\"sym-61 sym\">remove</span>(Object <span class=\"sym-62 sym\">key</span>) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 161,
+ "code": " <span class=\"sym-127 sym\">resetKey</span>(<span class=\"sym-62 sym\">key</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 1
+ },
+ {
+ "line": 162,
+ "code": " <span class=\"k\">return</span> <span class=\"sym-72 sym\">doRemove</span>();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 1
+ },
+ {
+ "line": 163,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 164,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 165,
+ "code": " <span class=\"k\">public </span><span class=\"k\">boolean </span><span class=\"sym-63 sym\">remove</span>(Object <span class=\"sym-64 sym\">firstKey</span>, Object <span class=\"sym-65 sym\">secondKey</span>) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 166,
+ "code": " <span class=\"sym-129 sym\">resetKey</span>(<span class=\"sym-64 sym\">firstKey</span>, <span class=\"sym-65 sym\">secondKey</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 1
+ },
+ {
+ "line": 167,
+ "code": " <span class=\"k\">return</span> <span class=\"sym-72 sym\">doRemove</span>();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 1
+ },
+ {
+ "line": 168,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 169,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 170,
+ "code": " <span class=\"k\">public </span><span class=\"k\">boolean </span><span class=\"sym-66 sym\">remove</span>(Object <span class=\"sym-67 sym\">firstKey</span>, Object <span class=\"sym-68 sym\">secondKey</span>, Object <span class=\"sym-69 sym\">thirdKey</span>) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 171,
+ "code": " <span class=\"sym-132 sym\">resetKey</span>(<span class=\"sym-67 sym\">firstKey</span>, <span class=\"sym-68 sym\">secondKey</span>, <span class=\"sym-69 sym\">thirdKey</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 1
+ },
+ {
+ "line": 172,
+ "code": " <span class=\"k\">return</span> <span class=\"sym-72 sym\">doRemove</span>();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 1
+ },
+ {
+ "line": 173,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 174,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 175,
+ "code": " <span class=\"k\">public </span><span class=\"k\">boolean </span><span class=\"sym-70 sym\">remove</span>(Object[] <span class=\"sym-71 sym\">key</span>) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 176,
+ "code": " <span class=\"sym-136 sym\">resetKey</span>(<span class=\"sym-71 sym\">key</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 0
+ },
+ {
+ "line": 177,
+ "code": " <span class=\"k\">return</span> <span class=\"sym-72 sym\">doRemove</span>();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 0
+ },
+ {
+ "line": 178,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 179,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 180,
+ "code": " <span class=\"k\">private </span><span class=\"k\">boolean </span><span class=\"sym-72 sym\">doRemove</span>() {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 181,
+ "code": " <span class=\"k\">try </span>{",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 182,
+ "code": " <span class=\"k\">return</span> <span class=\"sym-13 sym\">exchange</span>.remove();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "6f1161efb92298ace498df544e38f6f97216ec36",
+ "scmDate": "2013-04-26T15:19:16+0200",
+ "lineHits": 1
+ },
+ {
+ "line": 183,
+ "code": " } <span class=\"k\">catch </span>(Exception <span class=\"sym-73 sym\">e</span>) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200",
+ "lineHits": 0
+ },
+ {
+ "line": 184,
+ "code": " <span class=\"cppd\">// TODO add parameters to message</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e108f5de333cf36aff978aa03940590f9caca9fc",
+ "scmDate": "2013-10-10T12:18:02+0200"
+ },
+ {
+ "line": 185,
+ "code": " <span class=\"k\">throw</span> <span class=\"k\">new</span> IllegalStateException(<span class=\"s\">\"Fail to get element from cache \" </span>+ <span class=\"sym-12 sym\">name</span>, <span class=\"sym-73 sym\">e</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200",
+ "lineHits": 0
+ },
+ {
+ "line": 186,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 187,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 188,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 189,
+ "code": " <span class=\"cppd\">/**</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 190,
+ "code": "<span class=\"cppd\"> * Removes everything in the specified group.</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 191,
+ "code": "<span class=\"cppd\"> *</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 192,
+ "code": "<span class=\"cppd\"> * @param group The group name.</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 193,
+ "code": "<span class=\"cppd\"> */</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 194,
+ "code": " <span class=\"k\">public </span><span class=\"sym-11 sym\">Cache</span><V> <span class=\"sym-74 sym\">clear</span>(Object <span class=\"sym-75 sym\">key</span>) {",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 195,
+ "code": " <span class=\"sym-127 sym\">resetKey</span>(<span class=\"sym-75 sym\">key</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 1
+ },
+ {
+ "line": 196,
+ "code": " <span class=\"k\">return</span> <span class=\"sym-85 sym\">doClear</span>();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 1
+ },
+ {
+ "line": 197,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 198,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 199,
+ "code": " <span class=\"k\">public </span><span class=\"sym-11 sym\">Cache</span><V> <span class=\"sym-76 sym\">clear</span>(Object <span class=\"sym-77 sym\">firstKey</span>, Object <span class=\"sym-78 sym\">secondKey</span>) {",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 200,
+ "code": " <span class=\"sym-129 sym\">resetKey</span>(<span class=\"sym-77 sym\">firstKey</span>, <span class=\"sym-78 sym\">secondKey</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 1
+ },
+ {
+ "line": 201,
+ "code": " <span class=\"k\">return</span> <span class=\"sym-85 sym\">doClear</span>();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 1
+ },
+ {
+ "line": 202,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 203,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 204,
+ "code": " <span class=\"k\">public </span><span class=\"sym-11 sym\">Cache</span><V> <span class=\"sym-79 sym\">clear</span>(Object <span class=\"sym-80 sym\">firstKey</span>, Object <span class=\"sym-81 sym\">secondKey</span>, Object <span class=\"sym-82 sym\">thirdKey</span>) {",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 205,
+ "code": " <span class=\"sym-132 sym\">resetKey</span>(<span class=\"sym-80 sym\">firstKey</span>, <span class=\"sym-81 sym\">secondKey</span>, <span class=\"sym-82 sym\">thirdKey</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 1
+ },
+ {
+ "line": 206,
+ "code": " <span class=\"k\">return</span> <span class=\"sym-85 sym\">doClear</span>();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 1
+ },
+ {
+ "line": 207,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 208,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 209,
+ "code": " <span class=\"k\">public </span><span class=\"sym-11 sym\">Cache</span><V> <span class=\"sym-83 sym\">clear</span>(Object[] <span class=\"sym-84 sym\">key</span>) {",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 210,
+ "code": " <span class=\"sym-136 sym\">resetKey</span>(<span class=\"sym-84 sym\">key</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 0
+ },
+ {
+ "line": 211,
+ "code": " <span class=\"k\">return</span> <span class=\"sym-85 sym\">doClear</span>();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 0
+ },
+ {
+ "line": 212,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 213,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 214,
+ "code": " <span class=\"k\">private </span><span class=\"sym-11 sym\">Cache</span><V> <span class=\"sym-85 sym\">doClear</span>() {",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 215,
+ "code": " <span class=\"k\">try </span>{",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 216,
+ "code": " <span class=\"sym-3 sym\">Key</span> <span class=\"sym-86 sym\">to</span> = <span class=\"k\">new</span> <span class=\"sym-3 sym\">Key</span>(<span class=\"sym-13 sym\">exchange</span>.getKey());",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 1
+ },
+ {
+ "line": 217,
+ "code": " <span class=\"sym-86 sym\">to</span>.append(<span class=\"sym-3 sym\">Key</span>.AFTER);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 1
+ },
+ {
+ "line": 218,
+ "code": " <span class=\"sym-13 sym\">exchange</span>.removeKeyRange(<span class=\"sym-13 sym\">exchange</span>.getKey(), <span class=\"sym-86 sym\">to</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 1
+ },
+ {
+ "line": 219,
+ "code": " <span class=\"k\">return</span> <span class=\"k\">this</span>;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200",
+ "lineHits": 1
+ },
+ {
+ "line": 220,
+ "code": " } <span class=\"k\">catch </span>(Exception <span class=\"sym-87 sym\">e</span>) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200",
+ "lineHits": 0
+ },
+ {
+ "line": 221,
+ "code": " <span class=\"k\">throw</span> <span class=\"k\">new</span> IllegalStateException(<span class=\"s\">\"Fail to clear values from cache \" </span>+ <span class=\"sym-12 sym\">name</span>, <span class=\"sym-87 sym\">e</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 0
+ },
+ {
+ "line": 222,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 223,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 224,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 225,
+ "code": " <span class=\"cppd\">/**</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 226,
+ "code": "<span class=\"cppd\"> * Clears the default as well as all group caches.</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 227,
+ "code": "<span class=\"cppd\"> */</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 228,
+ "code": " <span class=\"k\">public </span><span class=\"k\">void </span><span class=\"sym-88 sym\">clear</span>() {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 229,
+ "code": " <span class=\"k\">try </span>{",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 230,
+ "code": " <span class=\"sym-13 sym\">exchange</span>.clear();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200",
+ "lineHits": 1
+ },
+ {
+ "line": 231,
+ "code": " <span class=\"sym-13 sym\">exchange</span>.removeAll();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200",
+ "lineHits": 1
+ },
+ {
+ "line": 232,
+ "code": " } <span class=\"k\">catch </span>(Exception <span class=\"sym-89 sym\">e</span>) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200",
+ "lineHits": 0
+ },
+ {
+ "line": 233,
+ "code": " <span class=\"k\">throw</span> <span class=\"k\">new</span> IllegalStateException(<span class=\"s\">\"Fail to clear cache\"</span>, <span class=\"sym-89 sym\">e</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200",
+ "lineHits": 0
+ },
+ {
+ "line": 234,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200",
+ "lineHits": 1
+ },
+ {
+ "line": 235,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200",
+ "lineHits": 1
+ },
+ {
+ "line": 236,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 237,
+ "code": " <span class=\"cppd\">/**</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 238,
+ "code": "<span class=\"cppd\"> * Returns the set of cache keys associated with this group.</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 239,
+ "code": "<span class=\"cppd\"> * TODO implement a lazy-loading equivalent with Iterator/Iterable</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 240,
+ "code": "<span class=\"cppd\"> *</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 241,
+ "code": "<span class=\"cppd\"> * @param group The group.</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 242,
+ "code": "<span class=\"cppd\"> * @return The set of cache keys for this group.</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 243,
+ "code": "<span class=\"cppd\"> */</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 244,
+ "code": " <span class=\"a\">@SuppressWarnings</span>(<span class=\"s\">\"rawtypes\"</span>)",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 245,
+ "code": " <span class=\"k\">public </span><span class=\"sym-10 sym\">Set</span> <span class=\"sym-90 sym\">keySet</span>(Object <span class=\"sym-91 sym\">key</span>) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 246,
+ "code": " <span class=\"k\">try </span>{",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 247,
+ "code": " <span class=\"sym-10 sym\">Set</span><Object> <span class=\"sym-92 sym\">keys</span> = <span class=\"sym-1 sym\">Sets</span>.newLinkedHashSet();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 1
+ },
+ {
+ "line": 248,
+ "code": " <span class=\"sym-13 sym\">exchange</span>.clear();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200",
+ "lineHits": 1
+ },
+ {
+ "line": 249,
+ "code": " <span class=\"sym-2 sym\">Exchange</span> <span class=\"sym-93 sym\">iteratorExchange</span> = <span class=\"k\">new</span> <span class=\"sym-2 sym\">Exchange</span>(<span class=\"sym-13 sym\">exchange</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200",
+ "lineHits": 1
+ },
+ {
+ "line": 250,
+ "code": " <span class=\"sym-93 sym\">iteratorExchange</span>.append(<span class=\"sym-91 sym\">key</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 1
+ },
+ {
+ "line": 251,
+ "code": " <span class=\"sym-93 sym\">iteratorExchange</span>.append(<span class=\"sym-3 sym\">Key</span>.BEFORE);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200",
+ "lineHits": 1
+ },
+ {
+ "line": 252,
+ "code": " <span class=\"k\">while </span>(<span class=\"sym-93 sym\">iteratorExchange</span>.next(<span class=\"k\">false</span>)) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200",
+ "lineHits": 1,
+ "conditions": 2,
+ "coveredConditions": 2
+ },
+ {
+ "line": 253,
+ "code": " <span class=\"sym-92 sym\">keys</span>.add(<span class=\"sym-93 sym\">iteratorExchange</span>.getKey().indexTo(-<span class=\"c\">1</span>).decode());",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 1
+ },
+ {
+ "line": 254,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 255,
+ "code": " <span class=\"k\">return</span> <span class=\"sym-92 sym\">keys</span>;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200",
+ "lineHits": 1
+ },
+ {
+ "line": 256,
+ "code": " } <span class=\"k\">catch </span>(Exception <span class=\"sym-94 sym\">e</span>) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200",
+ "lineHits": 0
+ },
+ {
+ "line": 257,
+ "code": " <span class=\"k\">throw</span> <span class=\"k\">new</span> IllegalStateException(<span class=\"s\">\"Fail to get keys from cache \" </span>+ <span class=\"sym-12 sym\">name</span>, <span class=\"sym-94 sym\">e</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200",
+ "lineHits": 0
+ },
+ {
+ "line": 258,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 259,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 260,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 261,
+ "code": " <span class=\"a\">@SuppressWarnings</span>(<span class=\"s\">\"rawtypes\"</span>)",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 262,
+ "code": " <span class=\"k\">public </span><span class=\"sym-10 sym\">Set</span> <span class=\"sym-95 sym\">keySet</span>(Object <span class=\"sym-96 sym\">firstKey</span>, Object <span class=\"sym-97 sym\">secondKey</span>) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 263,
+ "code": " <span class=\"k\">try </span>{",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 264,
+ "code": " <span class=\"sym-10 sym\">Set</span><Object> <span class=\"sym-98 sym\">keys</span> = <span class=\"sym-1 sym\">Sets</span>.newLinkedHashSet();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 1
+ },
+ {
+ "line": 265,
+ "code": " <span class=\"sym-13 sym\">exchange</span>.clear();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 1
+ },
+ {
+ "line": 266,
+ "code": " <span class=\"sym-2 sym\">Exchange</span> <span class=\"sym-99 sym\">iteratorExchange</span> = <span class=\"k\">new</span> <span class=\"sym-2 sym\">Exchange</span>(<span class=\"sym-13 sym\">exchange</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 1
+ },
+ {
+ "line": 267,
+ "code": " <span class=\"sym-99 sym\">iteratorExchange</span>.append(<span class=\"sym-96 sym\">firstKey</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 1
+ },
+ {
+ "line": 268,
+ "code": " <span class=\"sym-99 sym\">iteratorExchange</span>.append(<span class=\"sym-97 sym\">secondKey</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 1
+ },
+ {
+ "line": 269,
+ "code": " <span class=\"sym-99 sym\">iteratorExchange</span>.append(<span class=\"sym-3 sym\">Key</span>.BEFORE);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 1
+ },
+ {
+ "line": 270,
+ "code": " <span class=\"k\">while </span>(<span class=\"sym-99 sym\">iteratorExchange</span>.next(<span class=\"k\">false</span>)) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 1,
+ "conditions": 2,
+ "coveredConditions": 2
+ },
+ {
+ "line": 271,
+ "code": " <span class=\"sym-98 sym\">keys</span>.add(<span class=\"sym-99 sym\">iteratorExchange</span>.getKey().indexTo(-<span class=\"c\">1</span>).decode());",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 1
+ },
+ {
+ "line": 272,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 273,
+ "code": " <span class=\"k\">return</span> <span class=\"sym-98 sym\">keys</span>;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 1
+ },
+ {
+ "line": 274,
+ "code": " } <span class=\"k\">catch </span>(Exception <span class=\"sym-100 sym\">e</span>) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 0
+ },
+ {
+ "line": 275,
+ "code": " <span class=\"k\">throw</span> <span class=\"k\">new</span> IllegalStateException(<span class=\"s\">\"Fail to get keys from cache \" </span>+ <span class=\"sym-12 sym\">name</span>, <span class=\"sym-100 sym\">e</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 0
+ },
+ {
+ "line": 276,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 277,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 278,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 279,
+ "code": " <span class=\"cppd\">/**</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 280,
+ "code": "<span class=\"cppd\"> * Returns the set of keys associated with this cache.</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 281,
+ "code": "<span class=\"cppd\"> *</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 282,
+ "code": "<span class=\"cppd\"> * @return The set containing the keys for this cache.</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 283,
+ "code": "<span class=\"cppd\"> */</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 284,
+ "code": " <span class=\"k\">public </span><span class=\"sym-10 sym\">Set</span><Object> <span class=\"sym-101 sym\">keySet</span>() {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 285,
+ "code": " <span class=\"k\">try </span>{",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 286,
+ "code": " <span class=\"sym-10 sym\">Set</span><Object> <span class=\"sym-102 sym\">keys</span> = <span class=\"sym-1 sym\">Sets</span>.newLinkedHashSet();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 1
+ },
+ {
+ "line": 287,
+ "code": " <span class=\"sym-13 sym\">exchange</span>.clear();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 1
+ },
+ {
+ "line": 288,
+ "code": " <span class=\"sym-2 sym\">Exchange</span> <span class=\"sym-103 sym\">iteratorExchange</span> = <span class=\"k\">new</span> <span class=\"sym-2 sym\">Exchange</span>(<span class=\"sym-13 sym\">exchange</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 1
+ },
+ {
+ "line": 289,
+ "code": " <span class=\"sym-103 sym\">iteratorExchange</span>.append(<span class=\"sym-3 sym\">Key</span>.BEFORE);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 1
+ },
+ {
+ "line": 290,
+ "code": " <span class=\"k\">while </span>(<span class=\"sym-103 sym\">iteratorExchange</span>.next(<span class=\"k\">false</span>)) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 1,
+ "conditions": 2,
+ "coveredConditions": 2
+ },
+ {
+ "line": 291,
+ "code": " <span class=\"sym-102 sym\">keys</span>.add(<span class=\"sym-103 sym\">iteratorExchange</span>.getKey().indexTo(-<span class=\"c\">1</span>).decode());",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 1
+ },
+ {
+ "line": 292,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 293,
+ "code": " <span class=\"k\">return</span> <span class=\"sym-102 sym\">keys</span>;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 1
+ },
+ {
+ "line": 294,
+ "code": " } <span class=\"k\">catch </span>(Exception <span class=\"sym-104 sym\">e</span>) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 0
+ },
+ {
+ "line": 295,
+ "code": " <span class=\"k\">throw</span> <span class=\"k\">new</span> IllegalStateException(<span class=\"s\">\"Fail to get keys from cache \" </span>+ <span class=\"sym-12 sym\">name</span>, <span class=\"sym-104 sym\">e</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 0
+ },
+ {
+ "line": 296,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 297,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 298,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 299,
+ "code": " <span class=\"cppd\">/**</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200"
+ },
+ {
+ "line": 300,
+ "code": "<span class=\"cppd\"> * Lazy-loading values for given keys</span>",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "171cd79c0b5152461434951ed5d6e5e58849a7b7",
+ "scmDate": "2014-04-23T14:41:32+0200"
+ },
+ {
+ "line": 301,
+ "code": "<span class=\"cppd\"> */</span>",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "171cd79c0b5152461434951ed5d6e5e58849a7b7",
+ "scmDate": "2014-04-23T14:41:32+0200"
+ },
+ {
+ "line": 302,
+ "code": " <span class=\"k\">public </span>Iterable<V> <span class=\"sym-105 sym\">values</span>(Object <span class=\"sym-106 sym\">firstKey</span>, Object <span class=\"sym-107 sym\">secondKey</span>) {",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "171cd79c0b5152461434951ed5d6e5e58849a7b7",
+ "scmDate": "2014-04-23T14:41:32+0200"
+ },
+ {
+ "line": 303,
+ "code": " <span class=\"k\">try </span>{",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "171cd79c0b5152461434951ed5d6e5e58849a7b7",
+ "scmDate": "2014-04-23T14:41:32+0200"
+ },
+ {
+ "line": 304,
+ "code": " <span class=\"sym-13 sym\">exchange</span>.clear();",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "171cd79c0b5152461434951ed5d6e5e58849a7b7",
+ "scmDate": "2014-04-23T14:41:32+0200",
+ "lineHits": 1
+ },
+ {
+ "line": 305,
+ "code": " <span class=\"sym-13 sym\">exchange</span>.append(<span class=\"sym-106 sym\">firstKey</span>).append(<span class=\"sym-107 sym\">secondKey</span>).append(<span class=\"sym-3 sym\">Key</span>.BEFORE);",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "171cd79c0b5152461434951ed5d6e5e58849a7b7",
+ "scmDate": "2014-04-23T14:41:32+0200",
+ "lineHits": 1
+ },
+ {
+ "line": 306,
+ "code": " <span class=\"sym-2 sym\">Exchange</span> <span class=\"sym-108 sym\">iteratorExchange</span> = <span class=\"k\">new</span> <span class=\"sym-2 sym\">Exchange</span>(<span class=\"sym-13 sym\">exchange</span>);",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "171cd79c0b5152461434951ed5d6e5e58849a7b7",
+ "scmDate": "2014-04-23T14:41:32+0200",
+ "lineHits": 1
+ },
+ {
+ "line": 307,
+ "code": " <span class=\"sym-4 sym\">KeyFilter</span> <span class=\"sym-109 sym\">filter</span> = <span class=\"k\">new</span> <span class=\"sym-4 sym\">KeyFilter</span>().append(<span class=\"sym-4 sym\">KeyFilter</span>.simpleTerm(<span class=\"sym-106 sym\">firstKey</span>)).append(<span class=\"sym-4 sym\">KeyFilter</span>.simpleTerm(<span class=\"sym-107 sym\">secondKey</span>));",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200",
+ "lineHits": 1
+ },
+ {
+ "line": 308,
+ "code": " <span class=\"k\">return</span> <span class=\"k\">new</span> <span class=\"sym-139 sym\">ValueIterable</span><V>(<span class=\"sym-108 sym\">iteratorExchange</span>, <span class=\"sym-109 sym\">filter</span>);",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200",
+ "lineHits": 1
+ },
+ {
+ "line": 309,
+ "code": " } <span class=\"k\">catch </span>(Exception <span class=\"sym-110 sym\">e</span>) {",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "171cd79c0b5152461434951ed5d6e5e58849a7b7",
+ "scmDate": "2014-04-23T14:41:32+0200",
+ "lineHits": 0
+ },
+ {
+ "line": 310,
+ "code": " <span class=\"k\">throw</span> <span class=\"sym-111 sym\">failToGetValues</span>(<span class=\"sym-110 sym\">e</span>);",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "904b462c56317b1fb5a616534bd58aa9c9097d0b",
+ "scmDate": "2014-06-20T14:13:01+0200",
+ "lineHits": 0
+ },
+ {
+ "line": 311,
+ "code": " }",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "171cd79c0b5152461434951ed5d6e5e58849a7b7",
+ "scmDate": "2014-04-23T14:41:32+0200"
+ },
+ {
+ "line": 312,
+ "code": " }",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "904b462c56317b1fb5a616534bd58aa9c9097d0b",
+ "scmDate": "2014-06-20T14:13:01+0200"
+ },
+ {
+ "line": 313,
+ "code": "",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "904b462c56317b1fb5a616534bd58aa9c9097d0b",
+ "scmDate": "2014-06-20T14:13:01+0200"
+ },
+ {
+ "line": 314,
+ "code": " <span class=\"k\">private </span>IllegalStateException <span class=\"sym-111 sym\">failToGetValues</span>(Exception <span class=\"sym-112 sym\">e</span>) {",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "904b462c56317b1fb5a616534bd58aa9c9097d0b",
+ "scmDate": "2014-06-20T14:13:01+0200"
+ },
+ {
+ "line": 315,
+ "code": " <span class=\"k\">return</span> <span class=\"k\">new</span> IllegalStateException(<span class=\"s\">\"Fail to get values from cache \" </span>+ <span class=\"sym-12 sym\">name</span>, <span class=\"sym-112 sym\">e</span>);",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "904b462c56317b1fb5a616534bd58aa9c9097d0b",
+ "scmDate": "2014-06-20T14:13:01+0200",
+ "lineHits": 0
+ },
+ {
+ "line": 316,
+ "code": " }",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "171cd79c0b5152461434951ed5d6e5e58849a7b7",
+ "scmDate": "2014-04-23T14:41:32+0200"
+ },
+ {
+ "line": 317,
+ "code": "",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "171cd79c0b5152461434951ed5d6e5e58849a7b7",
+ "scmDate": "2014-04-23T14:41:32+0200"
+ },
+ {
+ "line": 318,
+ "code": " <span class=\"cppd\">/**</span>",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "171cd79c0b5152461434951ed5d6e5e58849a7b7",
+ "scmDate": "2014-04-23T14:41:32+0200"
+ },
+ {
+ "line": 319,
+ "code": "<span class=\"cppd\"> * Lazy-loading values for a given key</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 320,
+ "code": "<span class=\"cppd\"> */</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200"
+ },
+ {
+ "line": 321,
+ "code": " <span class=\"k\">public </span>Iterable<V> <span class=\"sym-113 sym\">values</span>(Object <span class=\"sym-114 sym\">firstKey</span>) {",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 322,
+ "code": " <span class=\"k\">try </span>{",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 323,
+ "code": " <span class=\"sym-13 sym\">exchange</span>.clear();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200",
+ "lineHits": 1
+ },
+ {
+ "line": 324,
+ "code": " <span class=\"sym-13 sym\">exchange</span>.append(<span class=\"sym-114 sym\">firstKey</span>).append(<span class=\"sym-3 sym\">Key</span>.BEFORE);",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200",
+ "lineHits": 1
+ },
+ {
+ "line": 325,
+ "code": " <span class=\"sym-2 sym\">Exchange</span> <span class=\"sym-115 sym\">iteratorExchange</span> = <span class=\"k\">new</span> <span class=\"sym-2 sym\">Exchange</span>(<span class=\"sym-13 sym\">exchange</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200",
+ "lineHits": 1
+ },
+ {
+ "line": 326,
+ "code": " <span class=\"sym-4 sym\">KeyFilter</span> <span class=\"sym-116 sym\">filter</span> = <span class=\"k\">new</span> <span class=\"sym-4 sym\">KeyFilter</span>().append(<span class=\"sym-4 sym\">KeyFilter</span>.simpleTerm(<span class=\"sym-114 sym\">firstKey</span>));",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200",
+ "lineHits": 1
+ },
+ {
+ "line": 327,
+ "code": " <span class=\"k\">return</span> <span class=\"k\">new</span> <span class=\"sym-139 sym\">ValueIterable</span><V>(<span class=\"sym-115 sym\">iteratorExchange</span>, <span class=\"sym-116 sym\">filter</span>);",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200",
+ "lineHits": 1
+ },
+ {
+ "line": 328,
+ "code": " } <span class=\"k\">catch </span>(Exception <span class=\"sym-117 sym\">e</span>) {",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "46395126b184c343df5471a147cdb48133f59f6f",
+ "scmDate": "2014-04-23T14:41:32+0200",
+ "lineHits": 0
+ },
+ {
+ "line": 329,
+ "code": " <span class=\"k\">throw</span> <span class=\"sym-111 sym\">failToGetValues</span>(<span class=\"sym-117 sym\">e</span>);",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "904b462c56317b1fb5a616534bd58aa9c9097d0b",
+ "scmDate": "2014-06-20T14:13:01+0200",
+ "lineHits": 0
+ },
+ {
+ "line": 330,
+ "code": " }",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "46395126b184c343df5471a147cdb48133f59f6f",
+ "scmDate": "2014-04-23T14:41:32+0200"
+ },
+ {
+ "line": 331,
+ "code": " }",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "46395126b184c343df5471a147cdb48133f59f6f",
+ "scmDate": "2014-04-23T14:41:32+0200"
+ },
+ {
+ "line": 332,
+ "code": "",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "46395126b184c343df5471a147cdb48133f59f6f",
+ "scmDate": "2014-04-23T14:41:32+0200"
+ },
+ {
+ "line": 333,
+ "code": " <span class=\"cppd\">/**</span>",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "46395126b184c343df5471a147cdb48133f59f6f",
+ "scmDate": "2014-04-23T14:41:32+0200"
+ },
+ {
+ "line": 334,
+ "code": "<span class=\"cppd\"> * Lazy-loading values</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200"
+ },
+ {
+ "line": 335,
+ "code": "<span class=\"cppd\"> */</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200"
+ },
+ {
+ "line": 336,
+ "code": " <span class=\"k\">public </span>Iterable<V> <span class=\"sym-118 sym\">values</span>() {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 337,
+ "code": " <span class=\"k\">try </span>{",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 338,
+ "code": " <span class=\"sym-13 sym\">exchange</span>.clear().append(<span class=\"sym-3 sym\">Key</span>.BEFORE);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 1
+ },
+ {
+ "line": 339,
+ "code": " <span class=\"sym-2 sym\">Exchange</span> <span class=\"sym-119 sym\">iteratorExchange</span> = <span class=\"k\">new</span> <span class=\"sym-2 sym\">Exchange</span>(<span class=\"sym-13 sym\">exchange</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200",
+ "lineHits": 1
+ },
+ {
+ "line": 340,
+ "code": " <span class=\"sym-4 sym\">KeyFilter</span> <span class=\"sym-120 sym\">filter</span> = <span class=\"k\">new</span> <span class=\"sym-4 sym\">KeyFilter</span>().append(<span class=\"sym-4 sym\">KeyFilter</span>.ALL);",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200",
+ "lineHits": 1
+ },
+ {
+ "line": 341,
+ "code": " <span class=\"k\">return</span> <span class=\"k\">new</span> <span class=\"sym-139 sym\">ValueIterable</span><V>(<span class=\"sym-119 sym\">iteratorExchange</span>, <span class=\"sym-120 sym\">filter</span>);",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200",
+ "lineHits": 1
+ },
+ {
+ "line": 342,
+ "code": " } <span class=\"k\">catch </span>(Exception <span class=\"sym-121 sym\">e</span>) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200",
+ "lineHits": 0
+ },
+ {
+ "line": 343,
+ "code": " <span class=\"k\">throw</span> <span class=\"sym-111 sym\">failToGetValues</span>(<span class=\"sym-121 sym\">e</span>);",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "904b462c56317b1fb5a616534bd58aa9c9097d0b",
+ "scmDate": "2014-06-20T14:13:01+0200",
+ "lineHits": 0
+ },
+ {
+ "line": 344,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 345,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 346,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 347,
+ "code": " <span class=\"k\">public </span>Iterable<<span class=\"sym-177 sym\">Entry</span><V>> <span class=\"sym-122 sym\">entries</span>() {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 348,
+ "code": " <span class=\"sym-13 sym\">exchange</span>.clear().to(<span class=\"sym-3 sym\">Key</span>.BEFORE);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200",
+ "lineHits": 1
+ },
+ {
+ "line": 349,
+ "code": " <span class=\"sym-4 sym\">KeyFilter</span> <span class=\"sym-123 sym\">filter</span> = <span class=\"k\">new</span> <span class=\"sym-4 sym\">KeyFilter</span>().append(<span class=\"sym-4 sym\">KeyFilter</span>.ALL);",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200",
+ "lineHits": 1
+ },
+ {
+ "line": 350,
+ "code": " <span class=\"k\">return</span> <span class=\"k\">new</span> <span class=\"sym-156 sym\">EntryIterable</span><V>(<span class=\"k\">new</span> <span class=\"sym-2 sym\">Exchange</span>(<span class=\"sym-13 sym\">exchange</span>), <span class=\"sym-123 sym\">filter</span>);",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200",
+ "lineHits": 1
+ },
+ {
+ "line": 351,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 352,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 353,
+ "code": " <span class=\"k\">public </span>Iterable<<span class=\"sym-177 sym\">Entry</span><V>> <span class=\"sym-124 sym\">entries</span>(Object <span class=\"sym-125 sym\">firstKey</span>) {",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 354,
+ "code": " <span class=\"sym-13 sym\">exchange</span>.clear().append(<span class=\"sym-125 sym\">firstKey</span>).append(<span class=\"sym-3 sym\">Key</span>.BEFORE);",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200",
+ "lineHits": 1
+ },
+ {
+ "line": 355,
+ "code": " <span class=\"sym-4 sym\">KeyFilter</span> <span class=\"sym-126 sym\">filter</span> = <span class=\"k\">new</span> <span class=\"sym-4 sym\">KeyFilter</span>().append(<span class=\"sym-4 sym\">KeyFilter</span>.simpleTerm(<span class=\"sym-125 sym\">firstKey</span>));",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200",
+ "lineHits": 1
+ },
+ {
+ "line": 356,
+ "code": " <span class=\"k\">return</span> <span class=\"k\">new</span> <span class=\"sym-156 sym\">EntryIterable</span><V>(<span class=\"k\">new</span> <span class=\"sym-2 sym\">Exchange</span>(<span class=\"sym-13 sym\">exchange</span>), <span class=\"sym-126 sym\">filter</span>);",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200",
+ "lineHits": 1
+ },
+ {
+ "line": 357,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 358,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 359,
+ "code": " <span class=\"k\">private </span><span class=\"k\">void </span><span class=\"sym-127 sym\">resetKey</span>(Object <span class=\"sym-128 sym\">key</span>) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 360,
+ "code": " <span class=\"sym-13 sym\">exchange</span>.clear();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 1
+ },
+ {
+ "line": 361,
+ "code": " <span class=\"sym-13 sym\">exchange</span>.append(<span class=\"sym-128 sym\">key</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 1
+ },
+ {
+ "line": 362,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 1
+ },
+ {
+ "line": 363,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 364,
+ "code": " <span class=\"k\">private </span><span class=\"k\">void </span><span class=\"sym-129 sym\">resetKey</span>(Object <span class=\"sym-130 sym\">first</span>, Object <span class=\"sym-131 sym\">second</span>) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 365,
+ "code": " <span class=\"sym-13 sym\">exchange</span>.clear();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 1
+ },
+ {
+ "line": 366,
+ "code": " <span class=\"sym-13 sym\">exchange</span>.append(<span class=\"sym-130 sym\">first</span>).append(<span class=\"sym-131 sym\">second</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 1
+ },
+ {
+ "line": 367,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 1
+ },
+ {
+ "line": 368,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 369,
+ "code": " <span class=\"k\">private </span><span class=\"k\">void </span><span class=\"sym-132 sym\">resetKey</span>(Object <span class=\"sym-133 sym\">first</span>, Object <span class=\"sym-134 sym\">second</span>, Object <span class=\"sym-135 sym\">third</span>) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 370,
+ "code": " <span class=\"sym-13 sym\">exchange</span>.clear();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 1
+ },
+ {
+ "line": 371,
+ "code": " <span class=\"sym-13 sym\">exchange</span>.append(<span class=\"sym-133 sym\">first</span>).append(<span class=\"sym-134 sym\">second</span>).append(<span class=\"sym-135 sym\">third</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 1
+ },
+ {
+ "line": 372,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 1
+ },
+ {
+ "line": 373,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 374,
+ "code": " <span class=\"k\">private </span><span class=\"k\">void </span><span class=\"sym-136 sym\">resetKey</span>(Object[] <span class=\"sym-137 sym\">keys</span>) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 375,
+ "code": " <span class=\"sym-13 sym\">exchange</span>.clear();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 0
+ },
+ {
+ "line": 376,
+ "code": " <span class=\"k\">for</span> (Object <span class=\"sym-138 sym\">o</span> : <span class=\"sym-137 sym\">keys</span>) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 0,
+ "conditions": 2,
+ "coveredConditions": 0
+ },
+ {
+ "line": 377,
+ "code": " <span class=\"sym-13 sym\">exchange</span>.append(<span class=\"sym-138 sym\">o</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 0
+ },
+ {
+ "line": 378,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 379,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200",
+ "lineHits": 0
+ },
+ {
+ "line": 380,
+ "code": "",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "7b301db8c7e3000ff2a04fce5534e45e7d973a1f",
+ "scmDate": "2014-04-25T11:17:09+0200"
+ },
+ {
+ "line": 381,
+ "code": " <span class=\"cppd\">//</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200"
+ },
+ {
+ "line": 382,
+ "code": " <span class=\"cppd\">// LAZY ITERATORS AND ITERABLES</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200"
+ },
+ {
+ "line": 383,
+ "code": " <span class=\"cppd\">//</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200"
+ },
+ {
+ "line": 384,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200"
+ },
+ {
+ "line": 385,
+ "code": " <span class=\"k\">private </span><span class=\"k\">static </span><span class=\"k\">class</span> <span class=\"sym-139 sym\">ValueIterable</span><T> <span class=\"k\">implements</span> Iterable<T> {",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "6074164392edd3db2dfdfd21d05cd56c19e2b0e6",
+ "scmDate": "2014-07-25T16:31:45+0200"
+ },
+ {
+ "line": 386,
+ "code": " <span class=\"k\">private </span><span class=\"k\">final </span><span class=\"sym-8 sym\">Iterator</span><T> <span class=\"sym-140 sym\">iterator</span>;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200"
+ },
+ {
+ "line": 387,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200"
+ },
+ {
+ "line": 388,
+ "code": " <span class=\"k\">private </span><span class=\"sym-141 sym\">ValueIterable</span>(<span class=\"sym-2 sym\">Exchange</span> <span class=\"sym-142 sym\">exchange</span>, <span class=\"sym-4 sym\">KeyFilter</span> <span class=\"sym-143 sym\">keyFilter</span>) {",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200",
+ "lineHits": 1
+ },
+ {
+ "line": 389,
+ "code": " <span class=\"k\">this</span>.<span class=\"sym-140 sym\">iterator</span> = <span class=\"k\">new</span> <span class=\"sym-145 sym\">ValueIterator</span><T>(<span class=\"sym-142 sym\">exchange</span>, <span class=\"sym-143 sym\">keyFilter</span>);",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200",
+ "lineHits": 1
+ },
+ {
+ "line": 390,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200",
+ "lineHits": 1
+ },
+ {
+ "line": 391,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200"
+ },
+ {
+ "line": 392,
+ "code": " <span class=\"a\">@Override</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200"
+ },
+ {
+ "line": 393,
+ "code": "<span class=\"a\"> </span><span class=\"k\">public </span><span class=\"sym-8 sym\">Iterator</span><T> <span class=\"sym-144 sym\">iterator</span>() {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200"
+ },
+ {
+ "line": 394,
+ "code": " <span class=\"k\">return</span> <span class=\"sym-140 sym\">iterator</span>;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200",
+ "lineHits": 1
+ },
+ {
+ "line": 395,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200"
+ },
+ {
+ "line": 396,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200"
+ },
+ {
+ "line": 397,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200"
+ },
+ {
+ "line": 398,
+ "code": " <span class=\"k\">private </span><span class=\"k\">static </span><span class=\"k\">class</span> <span class=\"sym-145 sym\">ValueIterator</span><T> <span class=\"k\">implements</span> <span class=\"sym-8 sym\">Iterator</span><T> {",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "6074164392edd3db2dfdfd21d05cd56c19e2b0e6",
+ "scmDate": "2014-07-25T16:31:45+0200"
+ },
+ {
+ "line": 399,
+ "code": " <span class=\"k\">private </span><span class=\"k\">final </span><span class=\"sym-2 sym\">Exchange</span> <span class=\"sym-146 sym\">exchange</span>;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200"
+ },
+ {
+ "line": 400,
+ "code": " <span class=\"k\">private </span><span class=\"k\">final </span><span class=\"sym-4 sym\">KeyFilter</span> <span class=\"sym-147 sym\">keyFilter</span>;",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 401,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200"
+ },
+ {
+ "line": 402,
+ "code": " <span class=\"k\">private </span><span class=\"sym-148 sym\">ValueIterator</span>(<span class=\"sym-2 sym\">Exchange</span> <span class=\"sym-149 sym\">exchange</span>, <span class=\"sym-4 sym\">KeyFilter</span> <span class=\"sym-150 sym\">keyFilter</span>) {",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200",
+ "lineHits": 1
+ },
+ {
+ "line": 403,
+ "code": " <span class=\"k\">this</span>.<span class=\"sym-146 sym\">exchange</span> = <span class=\"sym-149 sym\">exchange</span>;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200",
+ "lineHits": 1,
+ "duplicated": true
+ },
+ {
+ "line": 404,
+ "code": " <span class=\"k\">this</span>.<span class=\"sym-147 sym\">keyFilter</span> = <span class=\"sym-150 sym\">keyFilter</span>;",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200",
+ "lineHits": 1,
+ "duplicated": true
+ },
+ {
+ "line": 405,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200",
+ "lineHits": 1,
+ "duplicated": true
+ },
+ {
+ "line": 406,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200",
+ "duplicated": true
+ },
+ {
+ "line": 407,
+ "code": " <span class=\"a\">@Override</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200",
+ "duplicated": true
+ },
+ {
+ "line": 408,
+ "code": "<span class=\"a\"> </span><span class=\"k\">public </span><span class=\"k\">boolean </span><span class=\"sym-151 sym\">hasNext</span>() {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200",
+ "duplicated": true
+ },
+ {
+ "line": 409,
+ "code": " <span class=\"k\">try </span>{",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200",
+ "duplicated": true
+ },
+ {
+ "line": 410,
+ "code": " <span class=\"k\">return</span> <span class=\"sym-146 sym\">exchange</span>.hasNext(<span class=\"sym-147 sym\">keyFilter</span>);",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200",
+ "lineHits": 1,
+ "duplicated": true
+ },
+ {
+ "line": 411,
+ "code": " } <span class=\"k\">catch </span>(<span class=\"sym-5 sym\">PersistitException</span> <span class=\"sym-152 sym\">e</span>) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200",
+ "lineHits": 0,
+ "duplicated": true
+ },
+ {
+ "line": 412,
+ "code": " <span class=\"k\">throw</span> <span class=\"k\">new</span> IllegalStateException(<span class=\"sym-152 sym\">e</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200",
+ "lineHits": 0,
+ "duplicated": true
+ },
+ {
+ "line": 413,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200",
+ "duplicated": true
+ },
+ {
+ "line": 414,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200",
+ "duplicated": true
+ },
+ {
+ "line": 415,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200",
+ "duplicated": true
+ },
+ {
+ "line": 416,
+ "code": " <span class=\"a\">@SuppressWarnings</span>(<span class=\"s\">\"unchecked\"</span>)",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200",
+ "duplicated": true
+ },
+ {
+ "line": 417,
+ "code": " <span class=\"a\">@Override</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200",
+ "duplicated": true
+ },
+ {
+ "line": 418,
+ "code": "<span class=\"a\"> </span><span class=\"k\">public </span>T <span class=\"sym-153 sym\">next</span>() {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200"
+ },
+ {
+ "line": 419,
+ "code": " <span class=\"k\">try </span>{",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 420,
+ "code": " <span class=\"sym-146 sym\">exchange</span>.next(<span class=\"sym-147 sym\">keyFilter</span>);",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200",
+ "lineHits": 1
+ },
+ {
+ "line": 421,
+ "code": " } <span class=\"k\">catch </span>(<span class=\"sym-5 sym\">PersistitException</span> <span class=\"sym-154 sym\">e</span>) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 0
+ },
+ {
+ "line": 422,
+ "code": " <span class=\"k\">throw</span> <span class=\"k\">new</span> IllegalStateException(<span class=\"sym-154 sym\">e</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 0
+ },
+ {
+ "line": 423,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 1
+ },
+ {
+ "line": 424,
+ "code": " <span class=\"k\">if </span>(<span class=\"sym-146 sym\">exchange</span>.getValue().isDefined()) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200",
+ "lineHits": 1,
+ "conditions": 2,
+ "coveredConditions": 1
+ },
+ {
+ "line": 425,
+ "code": " <span class=\"k\">return</span> (T) <span class=\"sym-146 sym\">exchange</span>.getValue().get();",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200",
+ "lineHits": 1
+ },
+ {
+ "line": 426,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200"
+ },
+ {
+ "line": 427,
+ "code": " <span class=\"k\">throw</span> <span class=\"k\">new</span> <span class=\"sym-9 sym\">NoSuchElementException</span>();",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200",
+ "lineHits": 0
+ },
+ {
+ "line": 428,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200"
+ },
+ {
+ "line": 429,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200"
+ },
+ {
+ "line": 430,
+ "code": " <span class=\"a\">@Override</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200"
+ },
+ {
+ "line": 431,
+ "code": "<span class=\"a\"> </span><span class=\"k\">public </span><span class=\"k\">void </span><span class=\"sym-155 sym\">remove</span>() {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "babb50a4f143c312df1ba45955d3d589ecb2845f",
+ "scmDate": "2013-05-29T14:27:38+0200"
+ },
+ {
+ "line": 432,
+ "code": " <span class=\"k\">throw</span> <span class=\"k\">new</span> UnsupportedOperationException(<span class=\"s\">\"Removing an item is not supported\"</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "34cce8e330192c56a159a856ebd8072d38299087",
+ "scmDate": "2014-02-24T14:21:50+0100",
+ "lineHits": 0
+ },
+ {
+ "line": 433,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 434,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 435,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 436,
+ "code": " <span class=\"k\">private </span><span class=\"k\">static </span><span class=\"k\">class</span> <span class=\"sym-156 sym\">EntryIterable</span><T> <span class=\"k\">implements</span> Iterable<<span class=\"sym-177 sym\">Entry</span><T>> {",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "6074164392edd3db2dfdfd21d05cd56c19e2b0e6",
+ "scmDate": "2014-07-25T16:31:45+0200"
+ },
+ {
+ "line": 437,
+ "code": " <span class=\"k\">private </span><span class=\"k\">final </span><span class=\"sym-162 sym\">EntryIterator</span><T> <span class=\"sym-157 sym\">it</span>;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 438,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 439,
+ "code": " <span class=\"k\">private </span><span class=\"sym-158 sym\">EntryIterable</span>(<span class=\"sym-2 sym\">Exchange</span> <span class=\"sym-159 sym\">exchange</span>, <span class=\"sym-4 sym\">KeyFilter</span> <span class=\"sym-160 sym\">keyFilter</span>) {",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200",
+ "lineHits": 1
+ },
+ {
+ "line": 440,
+ "code": " <span class=\"sym-157 sym\">it</span> = <span class=\"k\">new</span> <span class=\"sym-162 sym\">EntryIterator</span><T>(<span class=\"sym-159 sym\">exchange</span>, <span class=\"sym-160 sym\">keyFilter</span>);",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200",
+ "lineHits": 1
+ },
+ {
+ "line": 441,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200",
+ "lineHits": 1
+ },
+ {
+ "line": 442,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 443,
+ "code": " <span class=\"a\">@Override</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 444,
+ "code": "<span class=\"a\"> </span><span class=\"k\">public </span><span class=\"sym-8 sym\">Iterator</span><<span class=\"sym-177 sym\">Entry</span><T>> <span class=\"sym-161 sym\">iterator</span>() {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 445,
+ "code": " <span class=\"k\">return</span> <span class=\"sym-157 sym\">it</span>;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200",
+ "lineHits": 1
+ },
+ {
+ "line": 446,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 447,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 448,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 449,
+ "code": " <span class=\"k\">private </span><span class=\"k\">static </span><span class=\"k\">class</span> <span class=\"sym-162 sym\">EntryIterator</span><T> <span class=\"k\">implements</span> <span class=\"sym-8 sym\">Iterator</span><<span class=\"sym-177 sym\">Entry</span><T>> {",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "6074164392edd3db2dfdfd21d05cd56c19e2b0e6",
+ "scmDate": "2014-07-25T16:31:45+0200"
+ },
+ {
+ "line": 450,
+ "code": " <span class=\"k\">private </span><span class=\"k\">final </span><span class=\"sym-2 sym\">Exchange</span> <span class=\"sym-163 sym\">exchange</span>;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 451,
+ "code": " <span class=\"k\">private </span><span class=\"k\">final </span><span class=\"sym-4 sym\">KeyFilter</span> <span class=\"sym-164 sym\">keyFilter</span>;",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 452,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 453,
+ "code": " <span class=\"k\">private </span><span class=\"sym-165 sym\">EntryIterator</span>(<span class=\"sym-2 sym\">Exchange</span> <span class=\"sym-166 sym\">exchange</span>, <span class=\"sym-4 sym\">KeyFilter</span> <span class=\"sym-167 sym\">keyFilter</span>) {",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200",
+ "lineHits": 1
+ },
+ {
+ "line": 454,
+ "code": " <span class=\"k\">this</span>.<span class=\"sym-163 sym\">exchange</span> = <span class=\"sym-166 sym\">exchange</span>;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200",
+ "lineHits": 1,
+ "duplicated": true
+ },
+ {
+ "line": 455,
+ "code": " <span class=\"k\">this</span>.<span class=\"sym-164 sym\">keyFilter</span> = <span class=\"sym-167 sym\">keyFilter</span>;",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200",
+ "lineHits": 1,
+ "duplicated": true
+ },
+ {
+ "line": 456,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200",
+ "lineHits": 1,
+ "duplicated": true
+ },
+ {
+ "line": 457,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200",
+ "duplicated": true
+ },
+ {
+ "line": 458,
+ "code": " <span class=\"a\">@Override</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200",
+ "duplicated": true
+ },
+ {
+ "line": 459,
+ "code": "<span class=\"a\"> </span><span class=\"k\">public </span><span class=\"k\">boolean </span><span class=\"sym-168 sym\">hasNext</span>() {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200",
+ "duplicated": true
+ },
+ {
+ "line": 460,
+ "code": " <span class=\"k\">try </span>{",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200",
+ "duplicated": true
+ },
+ {
+ "line": 461,
+ "code": " <span class=\"k\">return</span> <span class=\"sym-163 sym\">exchange</span>.hasNext(<span class=\"sym-164 sym\">keyFilter</span>);",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200",
+ "lineHits": 1,
+ "duplicated": true
+ },
+ {
+ "line": 462,
+ "code": " } <span class=\"k\">catch </span>(<span class=\"sym-5 sym\">PersistitException</span> <span class=\"sym-169 sym\">e</span>) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200",
+ "lineHits": 0,
+ "duplicated": true
+ },
+ {
+ "line": 463,
+ "code": " <span class=\"k\">throw</span> <span class=\"k\">new</span> IllegalStateException(<span class=\"sym-169 sym\">e</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200",
+ "lineHits": 0,
+ "duplicated": true
+ },
+ {
+ "line": 464,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200",
+ "duplicated": true
+ },
+ {
+ "line": 465,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200",
+ "duplicated": true
+ },
+ {
+ "line": 466,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200",
+ "duplicated": true
+ },
+ {
+ "line": 467,
+ "code": " <span class=\"a\">@SuppressWarnings</span>(<span class=\"s\">\"unchecked\"</span>)",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200",
+ "duplicated": true
+ },
+ {
+ "line": 468,
+ "code": " <span class=\"a\">@Override</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200",
+ "duplicated": true
+ },
+ {
+ "line": 469,
+ "code": "<span class=\"a\"> </span><span class=\"k\">public </span><span class=\"sym-177 sym\">Entry</span><T> <span class=\"sym-170 sym\">next</span>() {",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 470,
+ "code": " <span class=\"k\">try </span>{",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 471,
+ "code": " <span class=\"sym-163 sym\">exchange</span>.next(<span class=\"sym-164 sym\">keyFilter</span>);",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200",
+ "lineHits": 1
+ },
+ {
+ "line": 472,
+ "code": " } <span class=\"k\">catch </span>(<span class=\"sym-5 sym\">PersistitException</span> <span class=\"sym-171 sym\">e</span>) {",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200",
+ "lineHits": 0
+ },
+ {
+ "line": 473,
+ "code": " <span class=\"k\">throw</span> <span class=\"k\">new</span> IllegalStateException(<span class=\"sym-171 sym\">e</span>);",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200",
+ "lineHits": 0
+ },
+ {
+ "line": 474,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200",
+ "lineHits": 1
+ },
+ {
+ "line": 475,
+ "code": " <span class=\"k\">if </span>(<span class=\"sym-163 sym\">exchange</span>.getValue().isDefined()) {",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200",
+ "lineHits": 1,
+ "conditions": 2,
+ "coveredConditions": 1
+ },
+ {
+ "line": 476,
+ "code": " T <span class=\"sym-172 sym\">value</span> = (T) <span class=\"sym-163 sym\">exchange</span>.getValue().get();",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200",
+ "lineHits": 1
+ },
+ {
+ "line": 477,
+ "code": " <span class=\"sym-3 sym\">Key</span> <span class=\"sym-173 sym\">key</span> = <span class=\"sym-163 sym\">exchange</span>.getKey();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200",
+ "lineHits": 1
+ },
+ {
+ "line": 478,
+ "code": " Object[] <span class=\"sym-174 sym\">array</span> = <span class=\"k\">new</span> Object[<span class=\"sym-173 sym\">key</span>.getDepth()];",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 1
+ },
+ {
+ "line": 479,
+ "code": " <span class=\"k\">for</span> (<span class=\"k\">int </span><span class=\"sym-175 sym\">i</span> = <span class=\"c\">0</span>; <span class=\"sym-175 sym\">i</span> < <span class=\"sym-173 sym\">key</span>.getDepth(); <span class=\"sym-175 sym\">i</span>++) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 1,
+ "conditions": 2,
+ "coveredConditions": 2
+ },
+ {
+ "line": 480,
+ "code": " <span class=\"sym-174 sym\">array</span>[<span class=\"sym-175 sym\">i</span>] = <span class=\"sym-173 sym\">key</span>.indexTo(<span class=\"sym-175 sym\">i</span> - <span class=\"sym-173 sym\">key</span>.getDepth()).decode();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 1
+ },
+ {
+ "line": 481,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 482,
+ "code": " <span class=\"k\">return</span> <span class=\"k\">new</span> <span class=\"sym-177 sym\">Entry</span><T>(<span class=\"sym-174 sym\">array</span>, <span class=\"sym-172 sym\">value</span>);",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200",
+ "lineHits": 1
+ },
+ {
+ "line": 483,
+ "code": " }",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 484,
+ "code": " <span class=\"k\">throw</span> <span class=\"k\">new</span> <span class=\"sym-9 sym\">NoSuchElementException</span>();",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200",
+ "lineHits": 0
+ },
+ {
+ "line": 485,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 486,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 487,
+ "code": " <span class=\"a\">@Override</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 488,
+ "code": "<span class=\"a\"> </span><span class=\"k\">public </span><span class=\"k\">void </span><span class=\"sym-176 sym\">remove</span>() {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 489,
+ "code": " <span class=\"k\">throw</span> <span class=\"k\">new</span> UnsupportedOperationException(<span class=\"s\">\"Removing an item is not supported\"</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "34cce8e330192c56a159a856ebd8072d38299087",
+ "scmDate": "2014-02-24T14:21:50+0100",
+ "lineHits": 0
+ },
+ {
+ "line": 490,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 491,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 492,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 493,
+ "code": " <span class=\"k\">public </span><span class=\"k\">static </span><span class=\"k\">class</span> <span class=\"sym-177 sym\">Entry</span><V> {",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "6074164392edd3db2dfdfd21d05cd56c19e2b0e6",
+ "scmDate": "2014-07-25T16:31:45+0200"
+ },
+ {
+ "line": 494,
+ "code": " <span class=\"k\">private </span><span class=\"k\">final </span>Object[] <span class=\"sym-178 sym\">key</span>;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 495,
+ "code": " <span class=\"k\">private </span><span class=\"k\">final </span>V <span class=\"sym-179 sym\">value</span>;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 496,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 497,
+ "code": " <span class=\"sym-180 sym\">Entry</span>(Object[] <span class=\"sym-181 sym\">key</span>, V <span class=\"sym-182 sym\">value</span>) {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100",
+ "lineHits": 1
+ },
+ {
+ "line": 498,
+ "code": " <span class=\"k\">this</span>.<span class=\"sym-178 sym\">key</span> = <span class=\"sym-181 sym\">key</span>;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200",
+ "lineHits": 1
+ },
+ {
+ "line": 499,
+ "code": " <span class=\"k\">this</span>.<span class=\"sym-179 sym\">value</span> = <span class=\"sym-182 sym\">value</span>;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200",
+ "lineHits": 1
+ },
+ {
+ "line": 500,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200",
+ "lineHits": 1
+ },
+ {
+ "line": 501,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 502,
+ "code": " <span class=\"k\">public </span>Object[] <span class=\"sym-183 sym\">key</span>() {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 503,
+ "code": " <span class=\"k\">return</span> <span class=\"sym-178 sym\">key</span>;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200",
+ "lineHits": 1
+ },
+ {
+ "line": 504,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 505,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 506,
+ "code": " <span class=\"a\">@<span class=\"sym-7 sym\">CheckForNull</span></span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 507,
+ "code": "<span class=\"a\"> </span><span class=\"k\">public </span>V <span class=\"sym-184 sym\">value</span>() {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 508,
+ "code": " <span class=\"k\">return</span> <span class=\"sym-179 sym\">value</span>;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200",
+ "lineHits": 1
+ },
+ {
+ "line": 509,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 510,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 511,
+ "code": " <span class=\"a\">@Override</span>",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 512,
+ "code": "<span class=\"a\"> </span><span class=\"k\">public </span>String <span class=\"sym-185 sym\">toString</span>() {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 513,
+ "code": " <span class=\"k\">return</span> <span class=\"sym-6 sym\">ToStringBuilder</span>.reflectionToString(<span class=\"k\">this</span>);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200",
+ "lineHits": 0
+ },
+ {
+ "line": 514,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 515,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 516,
+ "code": "",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "43fc31f75a2de06b23faefb0d2bbf1dd97290232",
+ "scmDate": "2014-05-05T16:43:19+0200"
+ },
+ {
+ "line": 517,
+ "code": "}",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 518,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ }
+]}
--- /dev/null
+[
+ {
+ "id": 19983,
+ "key": "org.codehaus.sonar:sonar-batch:src/main/java/org/sonar/batch/index/Cache.java",
+ "name": "Cache.java",
+ "scope": "FIL",
+ "qualifier": "FIL",
+ "date": "2014-07-21T23:18:51+0200",
+ "creationDate": "2013-04-17T04:06:45+0200",
+ "lname": "src/main/java/org/sonar/batch/index/Cache.java",
+ "lang": "java",
+ "msr": [
+ {
+ "key": "lines",
+ "val": 519.0,
+ "frmt_val": "519"
+ },
+ {
+ "key": "ncloc",
+ "val": 379.0,
+ "frmt_val": "379"
+ },
+ {
+ "key": "classes",
+ "val": 6.0,
+ "frmt_val": "6"
+ },
+ {
+ "key": "functions",
+ "val": 56.0,
+ "frmt_val": "56"
+ },
+ {
+ "key": "accessors",
+ "val": 0.0,
+ "frmt_val": "0"
+ },
+ {
+ "key": "statements",
+ "val": 174.0,
+ "frmt_val": "174"
+ },
+ {
+ "key": "public_api",
+ "val": 33.0,
+ "frmt_val": "33"
+ },
+ {
+ "key": "comment_lines",
+ "val": 23.0,
+ "frmt_val": "23"
+ },
+ {
+ "key": "comment_lines_density",
+ "val": 5.7,
+ "frmt_val": "5.7%"
+ },
+ {
+ "key": "public_documented_api_density",
+ "val": 36.4,
+ "frmt_val": "36.4%"
+ },
+ {
+ "key": "public_undocumented_api",
+ "val": 21.0,
+ "frmt_val": "21"
+ },
+ {
+ "key": "complexity",
+ "val": 116.0,
+ "frmt_val": "116"
+ },
+ {
+ "key": "function_complexity",
+ "val": 2.1,
+ "frmt_val": "2.1"
+ },
+ {
+ "key": "coverage",
+ "val": 74.3,
+ "frmt_val": "74.3%"
+ },
+ {
+ "key": "lines_to_cover",
+ "val": 194.0,
+ "frmt_val": "194"
+ },
+ {
+ "key": "uncovered_lines",
+ "val": 50.0,
+ "frmt_val": "50"
+ },
+ {
+ "key": "line_coverage",
+ "val": 74.2,
+ "frmt_val": "74.2%"
+ },
+ {
+ "key": "conditions_to_cover",
+ "val": 16.0,
+ "frmt_val": "16"
+ },
+ {
+ "key": "uncovered_conditions",
+ "val": 4.0,
+ "frmt_val": "4"
+ },
+ {
+ "key": "branch_coverage",
+ "val": 75.0,
+ "frmt_val": "75.0%"
+ },
+ {
+ "key": "duplicated_lines",
+ "val": 30.0,
+ "frmt_val": "30"
+ },
+ {
+ "key": "duplicated_blocks",
+ "val": 2.0,
+ "frmt_val": "2"
+ },
+ {
+ "key": "duplicated_files",
+ "val": 1.0,
+ "frmt_val": "1"
+ },
+ {
+ "key": "duplicated_lines_density",
+ "val": 5.8,
+ "frmt_val": "5.8%"
+ },
+ {
+ "key": "major_violations",
+ "val": 1.0,
+ "frmt_val": "1"
+ },
+ {
+ "key": "minor_violations",
+ "val": 1.0,
+ "frmt_val": "1"
+ },
+ {
+ "key": "info_violations",
+ "val": 4.0,
+ "frmt_val": "4"
+ }
+ ]
+ }
+]
--- /dev/null
+[
+ {
+ "id": 19983,
+ "key": "org.codehaus.sonar:sonar-batch:src/main/java/org/sonar/batch/index/Cache.java",
+ "name": "Cache.java",
+ "scope": "FIL",
+ "qualifier": "FIL",
+ "date": "2014-07-21T23:18:51+0200",
+ "creationDate": "2013-04-17T04:06:45+0200",
+ "lname": "src/main/java/org/sonar/batch/index/Cache.java",
+ "lang": "java",
+ "msr": [
+ {
+ "key": "lines",
+ "val": 519.0,
+ "frmt_val": "519"
+ },
+ {
+ "key": "ncloc",
+ "val": 379.0,
+ "frmt_val": "379"
+ },
+ {
+ "key": "classes",
+ "val": 6.0,
+ "frmt_val": "6"
+ },
+ {
+ "key": "functions",
+ "val": 56.0,
+ "frmt_val": "56"
+ },
+ {
+ "key": "accessors",
+ "val": 0.0,
+ "frmt_val": "0"
+ },
+ {
+ "key": "statements",
+ "val": 174.0,
+ "frmt_val": "174"
+ },
+ {
+ "key": "public_api",
+ "val": 33.0,
+ "frmt_val": "33"
+ },
+ {
+ "key": "comment_lines",
+ "val": 23.0,
+ "frmt_val": "23"
+ },
+ {
+ "key": "comment_lines_density",
+ "val": 5.7,
+ "frmt_val": "5.7%"
+ },
+ {
+ "key": "public_documented_api_density",
+ "val": 36.4,
+ "frmt_val": "36.4%"
+ },
+ {
+ "key": "public_undocumented_api",
+ "val": 21.0,
+ "frmt_val": "21"
+ },
+ {
+ "key": "complexity",
+ "val": 116.0,
+ "frmt_val": "116"
+ },
+ {
+ "key": "function_complexity",
+ "val": 2.1,
+ "frmt_val": "2.1"
+ },
+ {
+ "key": "coverage",
+ "val": 74.3,
+ "frmt_val": "74.3%"
+ },
+ {
+ "key": "lines_to_cover",
+ "val": 194.0,
+ "frmt_val": "194"
+ },
+ {
+ "key": "uncovered_lines",
+ "val": 50.0,
+ "frmt_val": "50"
+ },
+ {
+ "key": "line_coverage",
+ "val": 74.2,
+ "frmt_val": "74.2%"
+ },
+ {
+ "key": "conditions_to_cover",
+ "val": 16.0,
+ "frmt_val": "16"
+ },
+ {
+ "key": "uncovered_conditions",
+ "val": 4.0,
+ "frmt_val": "4"
+ },
+ {
+ "key": "branch_coverage",
+ "val": 75.0,
+ "frmt_val": "75.0%"
+ },
+ {
+ "key": "duplicated_lines",
+ "val": 30.0,
+ "frmt_val": "30"
+ },
+ {
+ "key": "duplicated_blocks",
+ "val": 2.0,
+ "frmt_val": "2"
+ },
+ {
+ "key": "duplicated_files",
+ "val": 1.0,
+ "frmt_val": "1"
+ },
+ {
+ "key": "duplicated_lines_density",
+ "val": 5.8,
+ "frmt_val": "5.8%"
+ },
+ {
+ "key": "major_violations",
+ "val": 1.0,
+ "frmt_val": "1"
+ },
+ {
+ "key": "minor_violations",
+ "val": 1.0,
+ "frmt_val": "1"
+ },
+ {
+ "key": "info_violations",
+ "val": 4.0,
+ "frmt_val": "4"
+ },
+ {
+ "key": "ncloc_data",
+ "data": "1=0;2=0;3=0;4=0;5=0;6=0;7=0;8=0;9=0;10=0;11=0;12=0;13=0;14=0;15=0;17=0;16=0;19=0;18=0;21=0;20=1;23=1;22=1;25=1;24=1;27=1;26=1;29=1;28=0;31=1;30=0;34=1;35=0;32=1;33=1;38=0;39=0;36=0;37=0;42=0;43=1;40=0;41=1;46=1;47=1;44=1;45=0;51=1;50=0;49=1;48=1;55=0;54=1;53=1;52=1;59=1;58=1;57=1;56=1;63=1;62=1;61=1;60=0;68=1;69=1;70=0;71=1;64=1;65=0;66=1;67=1;76=1;77=1;78=1;79=1;72=1;73=1;74=1;75=1;85=1;84=1;87=1;86=1;81=0;80=0;83=0;82=0;93=1;92=1;95=1;94=1;89=0;88=0;91=0;90=0;102=1;103=1;100=0;101=1;98=0;99=0;96=1;97=0;110=1;111=1;108=0;109=0;106=0;107=0;104=1;105=1;119=1;118=1;117=1;116=1;115=0;114=1;113=1;112=1;127=1;126=0;125=1;124=1;123=1;122=1;121=1;120=1;137=1;136=1;139=1;138=1;141=1;140=0;143=1;142=1;129=1;128=1;131=1;130=0;133=1;132=1;135=0;134=1;152=1;153=1;154=1;155=1;156=0;157=1;158=1;159=1;144=1;145=0;146=1;147=1;148=1;149=1;150=0;151=1;171=1;170=0;169=1;168=1;175=0;174=1;173=1;172=1;163=1;162=1;161=1;160=0;167=1;166=1;165=0;164=1;186=1;187=1;184=1;185=0;190=0;191=0;188=1;189=0;178=1;179=1;176=1;177=1;182=1;183=1;180=0;181=1;205=1;204=0;207=1;206=1;201=1;200=1;203=1;202=1;197=1;196=1;199=0;198=1;193=0;192=0;195=1;194=0;220=1;221=1;222=1;223=1;216=1;217=1;218=1;219=1;212=1;213=1;214=0;215=1;208=1;209=0;210=1;211=1;239=0;238=0;237=0;236=1;235=1;234=1;233=1;232=1;231=1;230=1;229=1;228=0;227=0;226=0;225=0;224=1;254=1;255=1;252=1;253=1;250=1;251=1;248=1;249=1;246=1;247=1;244=0;245=1;242=0;243=0;240=0;241=0;275=1;274=1;273=1;272=1;279=0;278=1;277=1;276=1;283=0;282=0;281=0;280=0;287=1;286=1;285=1;284=0;258=1;259=1;256=1;257=1;262=1;263=1;260=1;261=0;266=1;267=1;264=1;265=1;270=1;271=1;268=1;269=1;305=1;304=1;307=1;306=1;309=1;308=1;311=1;310=1;313=1;312=1;315=1;314=0;317=1;316=1;319=0;318=0;288=1;289=1;290=1;291=1;292=1;293=1;294=1;295=1;296=1;297=1;298=1;299=0;300=0;301=0;302=0;303=1;343=1;342=1;341=1;340=1;339=1;338=1;337=1;336=0;351=1;350=1;349=1;348=1;347=0;346=1;345=1;344=1;326=1;327=1;324=1;325=1;322=1;323=1;320=0;321=0;334=0;335=0;332=1;333=0;330=1;331=1;328=1;329=1;373=1;372=1;375=1;374=0;369=0;368=1;371=1;370=1;381=0;380=1;383=0;382=0;377=1;376=1;379=1;378=1;356=1;357=1;358=1;359=0;352=1;353=0;354=1;355=1;364=0;365=1;366=1;367=1;360=1;361=1;362=1;363=1;410=1;411=1;408=1;409=1;414=1;415=1;412=1;413=1;402=0;403=1;400=1;401=1;406=1;407=0;404=1;405=1;395=1;394=1;393=1;392=0;399=1;398=0;397=1;396=1;387=1;386=1;385=0;384=0;391=1;390=1;389=1;388=0;440=1;441=1;442=1;443=0;444=1;445=1;446=1;447=1;432=1;433=1;434=1;435=1;436=0;437=1;438=1;439=0;425=1;424=1;427=1;426=1;429=1;428=1;431=1;430=0;417=1;416=0;419=1;418=1;421=1;420=1;423=1;422=1;478=1;479=1;476=1;477=1;474=1;475=1;472=1;473=1;470=1;471=1;468=1;469=1;466=1;467=0;464=1;465=1;463=1;462=1;461=1;460=1;459=1;458=0;457=1;456=1;455=1;454=1;453=0;452=1;451=1;450=1;449=0;448=1;508=1;509=1;510=1;511=0;504=1;505=1;506=0;507=1;500=1;501=1;502=0;503=1;496=1;497=0;498=1;499=1;493=0;492=1;495=1;494=1;489=1;488=1;491=1;490=1;485=1;484=1;487=0;486=1;481=1;480=1;483=1;482=1;516=1;517=0;518=1;512=1;513=1;514=1;515=1"
+ }
+ ]
+ }
+]
--- /dev/null
+{"scm": [
+ [1, "simon.brandhof@gmail.com", "2013-04-16"],
+ [2, "simon.brandhof@gmail.com", "2013-04-21"],
+ [3, "simon.brandhof@gmail.com", "2014-03-11"],
+ [4, "simon.brandhof@gmail.com", "2013-04-16"],
+ [6, "simon.brandhof@gmail.com", "2013-04-21"],
+ [7, "simon.brandhof@gmail.com", "2013-04-16"],
+ [11, "simon.brandhof@gmail.com", "2013-04-21"],
+ [12, "simon.brandhof@gmail.com", "2013-04-16"],
+ [16, "simon.brandhof@gmail.com", "2013-04-22"],
+ [19, "simon.brandhof@gmail.com", "2013-04-16"],
+ [25, "julien.henry@sonarsource.com", "2014-05-01"],
+ [26, "simon.brandhof@gmail.com", "2013-04-17"],
+ [30, "julien.henry@sonarsource.com", "2014-04-30"],
+ [31, "simon.brandhof@gmail.com", "2013-04-16"],
+ [32, "simon.brandhof@gmail.com", "2013-04-17"],
+ [33, "julien.henry@sonarsource.com", "2014-05-01"],
+ [34, "simon.brandhof@gmail.com", "2013-04-16"],
+ [37, "simon.brandhof@gmail.com", "2013-04-17"],
+ [38, "simon.brandhof@gmail.com", "2013-04-16"],
+ [39, "simon.brandhof@gmail.com", "2013-04-17"],
+ [40, "simon.brandhof@gmail.com", "2013-04-16"],
+ [41, "simon.brandhof@gmail.com", "2014-02-20"],
+ [42, "simon.brandhof@gmail.com", "2013-04-16"],
+ [51, "julien.henry@sonarsource.com", "2014-05-01"],
+ [52, "simon.brandhof@gmail.com", "2014-02-20"],
+ [54, "simon.brandhof@gmail.com", "2013-04-16"],
+ [56, "julien.henry@sonarsource.com", "2014-05-01"],
+ [57, "simon.brandhof@gmail.com", "2014-02-20"],
+ [61, "julien.henry@sonarsource.com", "2014-05-01"],
+ [62, "simon.brandhof@gmail.com", "2014-02-20"],
+ [66, "julien.henry@sonarsource.com", "2014-05-01"],
+ [67, "simon.brandhof@gmail.com", "2014-02-20"],
+ [71, "julien.henry@sonarsource.com", "2014-05-01"],
+ [72, "simon.brandhof@gmail.com", "2013-04-16"],
+ [77, "simon.brandhof@gmail.com", "2013-05-29"],
+ [78, "simon.brandhof@gmail.com", "2013-04-16"],
+ [82, "simon.brandhof@gmail.com", "2014-02-20"],
+ [83, "simon.brandhof@gmail.com", "2013-04-16"],
+ [84, "simon.brandhof@gmail.com", "2014-02-20"],
+ [116, "julien.henry@sonarsource.com", "2014-05-01"],
+ [117, "simon.brandhof@gmail.com", "2014-02-20"],
+ [119, "simon.brandhof@gmail.com", "2013-04-16"],
+ [126, "simon.brandhof@gmail.com", "2013-10-10"],
+ [127, "simon.brandhof@gmail.com", "2013-05-29"],
+ [128, "simon.brandhof@gmail.com", "2013-04-16"],
+ [131, "simon.brandhof@gmail.com", "2014-02-20"],
+ [144, "simon.brandhof@gmail.com", "2013-04-16"],
+ [146, "simon.brandhof@gmail.com", "2014-02-20"],
+ [152, "simon.brandhof@gmail.com", "2013-10-10"],
+ [161, "simon.brandhof@gmail.com", "2014-02-20"],
+ [182, "simon.brandhof@gmail.com", "2013-04-16"],
+ [183, "simon.brandhof@gmail.com", "2013-04-26"],
+ [184, "simon.brandhof@gmail.com", "2013-04-16"],
+ [185, "simon.brandhof@gmail.com", "2013-10-10"],
+ [186, "simon.brandhof@gmail.com", "2013-05-29"],
+ [187, "simon.brandhof@gmail.com", "2013-04-16"],
+ [195, "julien.henry@sonarsource.com", "2014-05-01"],
+ [196, "simon.brandhof@gmail.com", "2014-02-20"],
+ [200, "julien.henry@sonarsource.com", "2014-05-01"],
+ [201, "simon.brandhof@gmail.com", "2014-02-20"],
+ [205, "julien.henry@sonarsource.com", "2014-05-01"],
+ [206, "simon.brandhof@gmail.com", "2014-02-20"],
+ [210, "julien.henry@sonarsource.com", "2014-05-01"],
+ [211, "simon.brandhof@gmail.com", "2014-02-20"],
+ [215, "julien.henry@sonarsource.com", "2014-05-01"],
+ [216, "simon.brandhof@gmail.com", "2013-04-16"],
+ [217, "simon.brandhof@gmail.com", "2014-02-20"],
+ [220, "simon.brandhof@gmail.com", "2013-04-16"],
+ [222, "simon.brandhof@gmail.com", "2014-02-20"],
+ [223, "simon.brandhof@gmail.com", "2013-04-16"],
+ [229, "simon.brandhof@gmail.com", "2014-02-20"],
+ [230, "simon.brandhof@gmail.com", "2013-04-16"],
+ [245, "julien.henry@sonarsource.com", "2014-05-01"],
+ [246, "simon.brandhof@gmail.com", "2014-02-20"],
+ [247, "simon.brandhof@gmail.com", "2013-04-16"],
+ [248, "simon.brandhof@gmail.com", "2014-02-20"],
+ [249, "simon.brandhof@gmail.com", "2013-04-16"],
+ [251, "simon.brandhof@gmail.com", "2014-02-20"],
+ [252, "simon.brandhof@gmail.com", "2013-04-16"],
+ [254, "simon.brandhof@gmail.com", "2014-02-20"],
+ [255, "simon.brandhof@gmail.com", "2013-04-16"],
+ [258, "simon.brandhof@gmail.com", "2013-05-29"],
+ [259, "simon.brandhof@gmail.com", "2013-04-16"],
+ [262, "julien.henry@sonarsource.com", "2014-05-01"],
+ [263, "simon.brandhof@gmail.com", "2014-02-20"],
+ [279, "simon.brandhof@gmail.com", "2013-04-16"],
+ [285, "simon.brandhof@gmail.com", "2014-02-20"],
+ [298, "simon.brandhof@gmail.com", "2013-04-16"],
+ [300, "simon.brandhof@gmail.com", "2013-05-29"],
+ [301, "julien.henry@sonarsource.com", "2014-04-30"],
+ [308, "julien.henry@sonarsource.com", "2014-05-01"],
+ [310, "julien.henry@sonarsource.com", "2014-04-30"],
+ [311, "julien.henry@sonarsource.com", "2014-06-20"],
+ [312, "julien.henry@sonarsource.com", "2014-04-30"],
+ [315, "julien.henry@sonarsource.com", "2014-06-20"],
+ [319, "julien.henry@sonarsource.com", "2014-04-30"],
+ [320, "simon.brandhof@gmail.com", "2014-02-20"],
+ [321, "simon.brandhof@gmail.com", "2013-05-29"],
+ [322, "julien.henry@sonarsource.com", "2014-05-01"],
+ [323, "simon.brandhof@gmail.com", "2013-04-16"],
+ [325, "julien.henry@sonarsource.com", "2014-05-01"],
+ [326, "simon.brandhof@gmail.com", "2013-04-16"],
+ [327, "julien.henry@sonarsource.com", "2014-05-01"],
+ [329, "simon.brandhof@gmail.com", "2013-04-16"],
+ [330, "julien.henry@sonarsource.com", "2014-06-20"],
+ [331, "simon.brandhof@gmail.com", "2013-04-16"],
+ [334, "simon.brandhof@gmail.com", "2013-05-29"],
+ [337, "simon.brandhof@gmail.com", "2013-04-16"],
+ [339, "simon.brandhof@gmail.com", "2014-02-20"],
+ [340, "simon.brandhof@gmail.com", "2013-04-16"],
+ [341, "julien.henry@sonarsource.com", "2014-05-01"],
+ [343, "simon.brandhof@gmail.com", "2013-04-16"],
+ [344, "julien.henry@sonarsource.com", "2014-06-20"],
+ [345, "simon.brandhof@gmail.com", "2013-04-16"],
+ [347, "simon.brandhof@gmail.com", "2013-04-17"],
+ [348, "simon.brandhof@gmail.com", "2014-02-20"],
+ [350, "julien.henry@sonarsource.com", "2014-05-01"],
+ [352, "simon.brandhof@gmail.com", "2013-04-17"],
+ [353, "simon.brandhof@gmail.com", "2014-02-20"],
+ [354, "julien.henry@sonarsource.com", "2014-05-01"],
+ [358, "simon.brandhof@gmail.com", "2013-04-17"],
+ [359, "simon.brandhof@gmail.com", "2014-02-20"],
+ [363, "simon.brandhof@gmail.com", "2013-04-17"],
+ [365, "simon.brandhof@gmail.com", "2014-02-20"],
+ [368, "simon.brandhof@gmail.com", "2013-04-17"],
+ [370, "simon.brandhof@gmail.com", "2014-02-20"],
+ [380, "simon.brandhof@gmail.com", "2013-04-17"],
+ [382, "simon.brandhof@gmail.com", "2013-05-29"],
+ [389, "julien.henry@sonarsource.com", "2014-05-01"],
+ [391, "simon.brandhof@gmail.com", "2013-05-29"],
+ [401, "julien.henry@sonarsource.com", "2014-05-01"],
+ [402, "simon.brandhof@gmail.com", "2013-05-29"],
+ [403, "julien.henry@sonarsource.com", "2014-05-01"],
+ [404, "simon.brandhof@gmail.com", "2013-05-29"],
+ [405, "julien.henry@sonarsource.com", "2014-05-01"],
+ [406, "simon.brandhof@gmail.com", "2013-05-29"],
+ [411, "julien.henry@sonarsource.com", "2014-05-01"],
+ [412, "simon.brandhof@gmail.com", "2013-05-29"],
+ [417, "julien.henry@sonarsource.com", "2014-05-01"],
+ [418, "simon.brandhof@gmail.com", "2013-05-29"],
+ [420, "simon.brandhof@gmail.com", "2014-02-20"],
+ [421, "julien.henry@sonarsource.com", "2014-05-01"],
+ [422, "simon.brandhof@gmail.com", "2014-02-20"],
+ [425, "simon.brandhof@gmail.com", "2013-05-29"],
+ [426, "julien.henry@sonarsource.com", "2014-05-01"],
+ [427, "simon.brandhof@gmail.com", "2013-05-29"],
+ [428, "julien.henry@sonarsource.com", "2014-05-01"],
+ [429, "simon.brandhof@gmail.com", "2013-05-29"],
+ [433, "simon.brandhof@gmail.com", "2014-02-24"],
+ [434, "simon.brandhof@gmail.com", "2013-05-29"],
+ [437, "simon.brandhof@gmail.com", "2013-04-17"],
+ [440, "julien.henry@sonarsource.com", "2014-05-01"],
+ [442, "simon.brandhof@gmail.com", "2013-04-17"],
+ [452, "julien.henry@sonarsource.com", "2014-05-01"],
+ [453, "simon.brandhof@gmail.com", "2013-04-17"],
+ [454, "julien.henry@sonarsource.com", "2014-05-01"],
+ [455, "simon.brandhof@gmail.com", "2013-04-17"],
+ [456, "julien.henry@sonarsource.com", "2014-05-01"],
+ [457, "simon.brandhof@gmail.com", "2013-04-17"],
+ [462, "julien.henry@sonarsource.com", "2014-05-01"],
+ [463, "simon.brandhof@gmail.com", "2013-04-17"],
+ [468, "julien.henry@sonarsource.com", "2014-05-01"],
+ [469, "simon.brandhof@gmail.com", "2013-04-17"],
+ [470, "julien.henry@sonarsource.com", "2014-05-01"],
+ [475, "simon.brandhof@gmail.com", "2013-04-17"],
+ [476, "julien.henry@sonarsource.com", "2014-05-01"],
+ [478, "simon.brandhof@gmail.com", "2013-04-17"],
+ [479, "simon.brandhof@gmail.com", "2014-02-20"],
+ [483, "julien.henry@sonarsource.com", "2014-05-01"],
+ [486, "simon.brandhof@gmail.com", "2013-04-17"],
+ [490, "simon.brandhof@gmail.com", "2014-02-24"],
+ [491, "simon.brandhof@gmail.com", "2013-04-17"],
+ [494, "simon.brandhof@gmail.com", "2014-02-20"],
+ [497, "simon.brandhof@gmail.com", "2013-04-17"],
+ [498, "simon.brandhof@gmail.com", "2014-02-20"],
+ [499, "simon.brandhof@gmail.com", "2013-04-17"],
+ [503, "simon.brandhof@gmail.com", "2014-02-20"],
+ [504, "simon.brandhof@gmail.com", "2013-04-17"],
+ [508, "simon.brandhof@gmail.com", "2014-02-20"],
+ [509, "simon.brandhof@gmail.com", "2013-04-17"],
+ [517, "julien.henry@sonarsource.com", "2014-05-06"],
+ [518, "simon.brandhof@gmail.com", "2013-04-16"]
+]}
--- /dev/null
+{"sources": [
+ [1, "<span class=\"cppd\">/*</span>"],
+ [2, "<span class=\"cppd\"> * SonarQube, open source software quality management tool.</span>"],
+ [3, "<span class=\"cppd\"> * Copyright (C) 2008-2014 SonarSource</span>"],
+ [4, "<span class=\"cppd\"> * mailto:contact AT sonarsource DOT com</span>"],
+ [5, "<span class=\"cppd\"> *</span>"],
+ [6, "<span class=\"cppd\"> * SonarQube is free software; you can redistribute it and/or</span>"],
+ [7, "<span class=\"cppd\"> * modify it under the terms of the GNU Lesser General Public</span>"],
+ [8, "<span class=\"cppd\"> * License as published by the Free Software Foundation; either</span>"],
+ [9, "<span class=\"cppd\"> * version 3 of the License, or (at your option) any later version.</span>"],
+ [10, "<span class=\"cppd\"> *</span>"],
+ [11, "<span class=\"cppd\"> * SonarQube is distributed in the hope that it will be useful,</span>"],
+ [12, "<span class=\"cppd\"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>"],
+ [13, "<span class=\"cppd\"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>"],
+ [14, "<span class=\"cppd\"> * Lesser General Public License for more details.</span>"],
+ [15, "<span class=\"cppd\"> *</span>"],
+ [16, "<span class=\"cppd\"> * You should have received a copy of the GNU Lesser General Public License</span>"],
+ [17, "<span class=\"cppd\"> * along with this program; if not, write to the Free Software Foundation,</span>"],
+ [18, "<span class=\"cppd\"> * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</span>"],
+ [19, "<span class=\"cppd\"> */</span>"],
+ [20, "<span class=\"k\">package </span>org.sonar.batch.index;"],
+ [21, ""],
+ [22, "<span class=\"k\">import </span>com.google.common.collect.<span class=\"sym-949 sym\">Sets</span>;"],
+ [23, "<span class=\"k\">import </span>com.persistit.<span class=\"sym-976 sym\">Exchange</span>;"],
+ [24, "<span class=\"k\">import </span>com.persistit.<span class=\"sym-1007 sym\">Key</span>;"],
+ [25, "<span class=\"k\">import </span>com.persistit.<span class=\"sym-1033 sym\">KeyFilter</span>;"],
+ [26, "<span class=\"k\">import </span>com.persistit.exception.<span class=\"sym-1075 sym\">PersistitException</span>;"],
+ [27, "<span class=\"k\">import </span>org.apache.commons.lang.builder.<span class=\"sym-1134 sym\">ToStringBuilder</span>;"],
+ [28, ""],
+ [29, "<span class=\"k\">import </span>javax.annotation.<span class=\"sym-1176 sym\">CheckForNull</span>;"],
+ [30, ""],
+ [31, "<span class=\"k\">import </span>java.io.<span class=\"sym-1206 sym\">Serializable</span>;"],
+ [32, "<span class=\"k\">import </span>java.util.<span class=\"sym-1237 sym\">Iterator</span>;"],
+ [33, "<span class=\"k\">import </span>java.util.<span class=\"sym-1264 sym\">NoSuchElementException</span>;"],
+ [34, "<span class=\"k\">import </span>java.util.<span class=\"sym-1305 sym\">Set</span>;"],
+ [35, ""],
+ [36, "<span class=\"cppd\">/**</span>"],
+ [37, "<span class=\"cppd\"> * <p></span>"],
+ [38, "<span class=\"cppd\"> * This cache is not thread-safe, due to direct usage of {@link com.persistit.Exchange}</span>"],
+ [39, "<span class=\"cppd\"> * </p></span>"],
+ [40, "<span class=\"cppd\"> */</span>"],
+ [41, "<span class=\"k\">public </span><span class=\"k\">class </span><span class=\"sym-1435 sym\">Cache</span><V <span class=\"k\">extends </span>Serializable> {"],
+ [42, ""],
+ [43, " <span class=\"k\">private </span><span class=\"k\">final </span>String <span class=\"sym-1491 sym\">name</span>;"],
+ [44, " <span class=\"k\">private </span><span class=\"k\">final </span><span class=\"sym-976 sym\">Exchange</span> <span class=\"sym-1522 sym\">exchange</span>;"],
+ [45, ""],
+ [46, " <span class=\"sym-1535 sym\">Cache</span>(String <span class=\"sym-1548 sym\">name</span>, <span class=\"sym-976 sym\">Exchange</span> <span class=\"sym-1563 sym\">exchange</span>) {"],
+ [47, " <span class=\"k\">this</span>.<span class=\"sym-1491 sym\">name</span> = <span class=\"sym-1548 sym\">name</span>;"],
+ [48, " <span class=\"k\">this</span>.<span class=\"sym-1522 sym\">exchange</span> = <span class=\"sym-1563 sym\">exchange</span>;"],
+ [49, " }"],
+ [50, ""],
+ [51, " <span class=\"k\">public </span><span class=\"sym-1435 sym\">Cache</span><V> <span class=\"sym-1650 sym\">put</span>(Object <span class=\"sym-1661 sym\">key</span>, V <span class=\"sym-1668 sym\">value</span>) {"],
+ [52, " resetKey(<span class=\"sym-1661 sym\">key</span>);"],
+ [53, " <span class=\"k\">return </span><span class=\"sym-2134 sym\">doPut</span>(<span class=\"sym-1668 sym\">value</span>);"],
+ [54, " }"],
+ [55, ""],
+ [56, " <span class=\"k\">public </span><span class=\"sym-1435 sym\">Cache</span><V> <span class=\"sym-1744 sym\">put</span>(Object <span class=\"sym-1755 sym\">firstKey</span>, Object <span class=\"sym-1772 sym\">secondKey</span>, V <span class=\"sym-1785 sym\">value</span>) {"],
+ [57, " resetKey(<span class=\"sym-1755 sym\">firstKey</span>, <span class=\"sym-1772 sym\">secondKey</span>);"],
+ [58, " <span class=\"k\">return </span><span class=\"sym-2134 sym\">doPut</span>(<span class=\"sym-1785 sym\">value</span>);"],
+ [59, " }"],
+ [60, ""],
+ [61, " <span class=\"k\">public </span><span class=\"sym-1435 sym\">Cache</span><V> <span class=\"sym-1877 sym\">put</span>(Object <span class=\"sym-1888 sym\">firstKey</span>, Object <span class=\"sym-1905 sym\">secondKey</span>, Object <span class=\"sym-1923 sym\">thirdKey</span>, V <span class=\"sym-1935 sym\">value</span>) {"],
+ [62, " resetKey(<span class=\"sym-1888 sym\">firstKey</span>, <span class=\"sym-1905 sym\">secondKey</span>, <span class=\"sym-1923 sym\">thirdKey</span>);"],
+ [63, " <span class=\"k\">return </span><span class=\"sym-2134 sym\">doPut</span>(<span class=\"sym-1935 sym\">value</span>);"],
+ [64, " }"],
+ [65, ""],
+ [66, " <span class=\"k\">public </span><span class=\"sym-1435 sym\">Cache</span><V> <span class=\"sym-2037 sym\">put</span>(Object[] <span class=\"sym-2050 sym\">key</span>, V <span class=\"sym-2057 sym\">value</span>) {"],
+ [67, " resetKey(<span class=\"sym-2050 sym\">key</span>);"],
+ [68, " <span class=\"k\">return </span><span class=\"sym-2134 sym\">doPut</span>(<span class=\"sym-2057 sym\">value</span>);"],
+ [69, " }"],
+ [70, ""],
+ [71, " <span class=\"k\">private </span><span class=\"sym-1435 sym\">Cache</span><V> <span class=\"sym-2134 sym\">doPut</span>(V <span class=\"sym-2142 sym\">value</span>) {"],
+ [72, " <span class=\"k\">try </span>{"],
+ [73, " <span class=\"sym-1522 sym\">exchange</span>.getValue().put(<span class=\"sym-2142 sym\">value</span>);"],
+ [74, " <span class=\"sym-1522 sym\">exchange</span>.store();"],
+ [75, " <span class=\"k\">return </span><span class=\"k\">this</span>;"],
+ [76, " } <span class=\"k\">catch </span>(Exception <span class=\"sym-2265 sym\">e</span>) {"],
+ [77, " <span class=\"k\">throw </span><span class=\"k\">new </span>IllegalStateException(<span class=\"s\">\"Fail to put element in the cache \" </span>+ <span class=\"sym-1491 sym\">name</span>, <span class=\"sym-2265 sym\">e</span>);"],
+ [78, " }"],
+ [79, " }"],
+ [80, ""],
+ [81, " <span class=\"cppd\">/**</span>"],
+ [82, "<span class=\"cppd\"> * Returns the value object associated with keys, or null if not found.</span>"],
+ [83, "<span class=\"cppd\"> */</span>"],
+ [84, " <span class=\"k\">public </span>V <span class=\"sym-2464 sym\">get</span>(Object <span class=\"sym-2475 sym\">key</span>) {"],
+ [85, " resetKey(<span class=\"sym-2475 sym\">key</span>);"],
+ [86, " <span class=\"k\">return </span><span class=\"sym-3219 sym\">doGet</span>();"],
+ [87, " }"],
+ [88, ""],
+ [89, " <span class=\"cppd\">/**</span>"],
+ [90, "<span class=\"cppd\"> * Returns the value object associated with keys, or null if not found.</span>"],
+ [91, "<span class=\"cppd\"> */</span>"],
+ [92, " <span class=\"a\">@<span class=\"sym-1176 sym\">CheckForNull</span></span>"],
+ [93, "<span class=\"a\"> </span><span class=\"k\">public </span>V <span class=\"sym-2639 sym\">get</span>(Object <span class=\"sym-2650 sym\">firstKey</span>, Object <span class=\"sym-2667 sym\">secondKey</span>) {"],
+ [94, " resetKey(<span class=\"sym-2650 sym\">firstKey</span>, <span class=\"sym-2667 sym\">secondKey</span>);"],
+ [95, " <span class=\"k\">return </span><span class=\"sym-3219 sym\">doGet</span>();"],
+ [96, " }"],
+ [97, ""],
+ [98, " <span class=\"cppd\">/**</span>"],
+ [99, "<span class=\"cppd\"> * Returns the value object associated with keys, or null if not found.</span>"],
+ [100, "<span class=\"cppd\"> */</span>"],
+ [101, " <span class=\"a\">@<span class=\"sym-1176 sym\">CheckForNull</span></span>"],
+ [102, "<span class=\"a\"> </span><span class=\"k\">public </span>V <span class=\"sym-2853 sym\">get</span>(Object <span class=\"sym-2864 sym\">firstKey</span>, Object <span class=\"sym-2881 sym\">secondKey</span>, Object <span class=\"sym-2899 sym\">thirdKey</span>) {"],
+ [103, " resetKey(<span class=\"sym-2864 sym\">firstKey</span>, <span class=\"sym-2881 sym\">secondKey</span>, <span class=\"sym-2899 sym\">thirdKey</span>);"],
+ [104, " <span class=\"k\">return </span><span class=\"sym-3219 sym\">doGet</span>();"],
+ [105, " }"],
+ [106, ""],
+ [107, " <span class=\"cppd\">/**</span>"],
+ [108, "<span class=\"cppd\"> * Returns the value object associated with keys, or null if not found.</span>"],
+ [109, "<span class=\"cppd\"> */</span>"],
+ [110, " <span class=\"a\">@<span class=\"sym-1176 sym\">CheckForNull</span></span>"],
+ [111, "<span class=\"a\"> </span><span class=\"k\">public </span>V <span class=\"sym-3094 sym\">get</span>(Object[] <span class=\"sym-3107 sym\">key</span>) {"],
+ [112, " resetKey(<span class=\"sym-3107 sym\">key</span>);"],
+ [113, " <span class=\"k\">return </span><span class=\"sym-3219 sym\">doGet</span>();"],
+ [114, " }"],
+ [115, ""],
+ [116, " <span class=\"a\">@SuppressWarnings</span>(<span class=\"s\">\"unchecked\"</span>)"],
+ [117, " <span class=\"a\">@<span class=\"sym-1176 sym\">CheckForNull</span></span>"],
+ [118, "<span class=\"a\"> </span><span class=\"k\">private </span>V <span class=\"sym-3219 sym\">doGet</span>() {"],
+ [119, " <span class=\"k\">try </span>{"],
+ [120, " <span class=\"sym-1522 sym\">exchange</span>.fetch();"],
+ [121, " <span class=\"k\">if </span>(!<span class=\"sym-1522 sym\">exchange</span>.getValue().isDefined()) {"],
+ [122, " <span class=\"k\">return </span><span class=\"k\">null</span>;"],
+ [123, " }"],
+ [124, " <span class=\"k\">return </span>(V) <span class=\"sym-1522 sym\">exchange</span>.getValue().get();"],
+ [125, " } <span class=\"k\">catch </span>(Exception <span class=\"sym-3405 sym\">e</span>) {"],
+ [126, " <span class=\"cppd\">// TODO add parameters to message</span>"],
+ [127, " <span class=\"k\">throw </span><span class=\"k\">new </span>IllegalStateException(<span class=\"s\">\"Fail to get element from cache \" </span>+ <span class=\"sym-1491 sym\">name</span>, <span class=\"sym-3405 sym\">e</span>);"],
+ [128, " }"],
+ [129, " }"],
+ [130, ""],
+ [131, " <span class=\"k\">public </span><span class=\"k\">boolean </span><span class=\"sym-3562 sym\">containsKey</span>(Object <span class=\"sym-3581 sym\">key</span>) {"],
+ [132, " resetKey(<span class=\"sym-3581 sym\">key</span>);"],
+ [133, " <span class=\"k\">return </span><span class=\"sym-4050 sym\">doContainsKey</span>();"],
+ [134, " }"],
+ [135, ""],
+ [136, " <span class=\"k\">public </span><span class=\"k\">boolean </span><span class=\"sym-3657 sym\">containsKey</span>(Object <span class=\"sym-3676 sym\">firstKey</span>, Object <span class=\"sym-3693 sym\">secondKey</span>) {"],
+ [137, " resetKey(<span class=\"sym-3676 sym\">firstKey</span>, <span class=\"sym-3693 sym\">secondKey</span>);"],
+ [138, " <span class=\"k\">return </span><span class=\"sym-4050 sym\">doContainsKey</span>();"],
+ [139, " }"],
+ [140, ""],
+ [141, " <span class=\"k\">public </span><span class=\"k\">boolean </span><span class=\"sym-3791 sym\">containsKey</span>(Object <span class=\"sym-3810 sym\">firstKey</span>, Object <span class=\"sym-3827 sym\">secondKey</span>, Object <span class=\"sym-3845 sym\">thirdKey</span>) {"],
+ [142, " resetKey(<span class=\"sym-3810 sym\">firstKey</span>, <span class=\"sym-3827 sym\">secondKey</span>, <span class=\"sym-3845 sym\">thirdKey</span>);"],
+ [143, " <span class=\"k\">return </span><span class=\"sym-4050 sym\">doContainsKey</span>();"],
+ [144, " }"],
+ [145, ""],
+ [146, " <span class=\"k\">public </span><span class=\"k\">boolean </span><span class=\"sym-3952 sym\">containsKey</span>(Object[] <span class=\"sym-3973 sym\">key</span>) {"],
+ [147, " resetKey(<span class=\"sym-3973 sym\">key</span>);"],
+ [148, " <span class=\"k\">return </span><span class=\"sym-4050 sym\">doContainsKey</span>();"],
+ [149, " }"],
+ [150, ""],
+ [151, " <span class=\"k\">private </span><span class=\"k\">boolean </span><span class=\"sym-4050 sym\">doContainsKey</span>() {"],
+ [152, " <span class=\"k\">try </span>{"],
+ [153, " <span class=\"sym-1522 sym\">exchange</span>.fetch();"],
+ [154, " <span class=\"k\">return </span><span class=\"sym-1522 sym\">exchange</span>.isValueDefined();"],
+ [155, " } <span class=\"k\">catch </span>(Exception <span class=\"sym-4165 sym\">e</span>) {"],
+ [156, " <span class=\"cppd\">// TODO add parameters to message</span>"],
+ [157, " <span class=\"k\">throw </span><span class=\"k\">new </span>IllegalStateException(<span class=\"s\">\"Fail to check if element is in cache \" </span>+ <span class=\"sym-1491 sym\">name</span>, <span class=\"sym-4165 sym\">e</span>);"],
+ [158, " }"],
+ [159, " }"],
+ [160, ""],
+ [161, " <span class=\"k\">public </span><span class=\"k\">boolean </span><span class=\"sym-4328 sym\">remove</span>(Object <span class=\"sym-4342 sym\">key</span>) {"],
+ [162, " resetKey(<span class=\"sym-4342 sym\">key</span>);"],
+ [163, " <span class=\"k\">return </span><span class=\"sym-4776 sym\">doRemove</span>();"],
+ [164, " }"],
+ [165, ""],
+ [166, " <span class=\"k\">public </span><span class=\"k\">boolean </span><span class=\"sym-4413 sym\">remove</span>(Object <span class=\"sym-4427 sym\">firstKey</span>, Object <span class=\"sym-4444 sym\">secondKey</span>) {"],
+ [167, " resetKey(<span class=\"sym-4427 sym\">firstKey</span>, <span class=\"sym-4444 sym\">secondKey</span>);"],
+ [168, " <span class=\"k\">return </span><span class=\"sym-4776 sym\">doRemove</span>();"],
+ [169, " }"],
+ [170, ""],
+ [171, " <span class=\"k\">public </span><span class=\"k\">boolean </span><span class=\"sym-4537 sym\">remove</span>(Object <span class=\"sym-4551 sym\">firstKey</span>, Object <span class=\"sym-4568 sym\">secondKey</span>, Object <span class=\"sym-4586 sym\">thirdKey</span>) {"],
+ [172, " resetKey(<span class=\"sym-4551 sym\">firstKey</span>, <span class=\"sym-4568 sym\">secondKey</span>, <span class=\"sym-4586 sym\">thirdKey</span>);"],
+ [173, " <span class=\"k\">return </span><span class=\"sym-4776 sym\">doRemove</span>();"],
+ [174, " }"],
+ [175, ""],
+ [176, " <span class=\"k\">public </span><span class=\"k\">boolean </span><span class=\"sym-4688 sym\">remove</span>(Object[] <span class=\"sym-4704 sym\">key</span>) {"],
+ [177, " resetKey(<span class=\"sym-4704 sym\">key</span>);"],
+ [178, " <span class=\"k\">return </span><span class=\"sym-4776 sym\">doRemove</span>();"],
+ [179, " }"],
+ [180, ""],
+ [181, " <span class=\"k\">private </span><span class=\"k\">boolean </span><span class=\"sym-4776 sym\">doRemove</span>() {"],
+ [182, " <span class=\"k\">try </span>{"],
+ [183, " <span class=\"k\">return </span><span class=\"sym-1522 sym\">exchange</span>.remove();"],
+ [184, " } <span class=\"k\">catch </span>(Exception <span class=\"sym-4854 sym\">e</span>) {"],
+ [185, " <span class=\"cppd\">// TODO add parameters to message</span>"],
+ [186, " <span class=\"k\">throw </span><span class=\"k\">new </span>IllegalStateException(<span class=\"s\">\"Fail to get element from cache \" </span>+ <span class=\"sym-1491 sym\">name</span>, <span class=\"sym-4854 sym\">e</span>);"],
+ [187, " }"],
+ [188, " }"],
+ [189, ""],
+ [190, " <span class=\"cppd\">/**</span>"],
+ [191, "<span class=\"cppd\"> * Removes everything in the specified group.</span>"],
+ [192, "<span class=\"cppd\"> *</span>"],
+ [193, "<span class=\"cppd\"> * @param group The group name.</span>"],
+ [194, "<span class=\"cppd\"> */</span>"],
+ [195, " <span class=\"k\">public </span><span class=\"sym-1435 sym\">Cache</span><V> <span class=\"sym-5111 sym\">clear</span>(Object <span class=\"sym-5124 sym\">key</span>) {"],
+ [196, " resetKey(<span class=\"sym-5124 sym\">key</span>);"],
+ [197, " <span class=\"k\">return </span><span class=\"sym-5555 sym\">doClear</span>();"],
+ [198, " }"],
+ [199, ""],
+ [200, " <span class=\"k\">public </span><span class=\"sym-1435 sym\">Cache</span><V> <span class=\"sym-5195 sym\">clear</span>(Object <span class=\"sym-5208 sym\">firstKey</span>, Object <span class=\"sym-5225 sym\">secondKey</span>) {"],
+ [201, " resetKey(<span class=\"sym-5208 sym\">firstKey</span>, <span class=\"sym-5225 sym\">secondKey</span>);"],
+ [202, " <span class=\"k\">return </span><span class=\"sym-5555 sym\">doClear</span>();"],
+ [203, " }"],
+ [204, ""],
+ [205, " <span class=\"k\">public </span><span class=\"sym-1435 sym\">Cache</span><V> <span class=\"sym-5318 sym\">clear</span>(Object <span class=\"sym-5331 sym\">firstKey</span>, Object <span class=\"sym-5348 sym\">secondKey</span>, Object <span class=\"sym-5366 sym\">thirdKey</span>) {"],
+ [206, " resetKey(<span class=\"sym-5331 sym\">firstKey</span>, <span class=\"sym-5348 sym\">secondKey</span>, <span class=\"sym-5366 sym\">thirdKey</span>);"],
+ [207, " <span class=\"k\">return </span><span class=\"sym-5555 sym\">doClear</span>();"],
+ [208, " }"],
+ [209, ""],
+ [210, " <span class=\"k\">public </span><span class=\"sym-1435 sym\">Cache</span><V> <span class=\"sym-5468 sym\">clear</span>(Object[] <span class=\"sym-5483 sym\">key</span>) {"],
+ [211, " resetKey(<span class=\"sym-5483 sym\">key</span>);"],
+ [212, " <span class=\"k\">return </span><span class=\"sym-5555 sym\">doClear</span>();"],
+ [213, " }"],
+ [214, ""],
+ [215, " <span class=\"k\">private </span><span class=\"sym-1435 sym\">Cache</span><V> <span class=\"sym-5555 sym\">doClear</span>() {"],
+ [216, " <span class=\"k\">try </span>{"],
+ [217, " <span class=\"sym-1007 sym\">Key</span> <span class=\"sym-5587 sym\">to</span> = <span class=\"k\">new </span><span class=\"sym-1007 sym\">Key</span>(<span class=\"sym-1522 sym\">exchange</span>.getKey());"],
+ [218, " <span class=\"sym-5587 sym\">to</span>.append(<span class=\"sym-1007 sym\">Key</span>.AFTER);"],
+ [219, " <span class=\"sym-1522 sym\">exchange</span>.removeKeyRange(<span class=\"sym-1522 sym\">exchange</span>.getKey(), <span class=\"sym-5587 sym\">to</span>);"],
+ [220, " <span class=\"k\">return </span><span class=\"k\">this</span>;"],
+ [221, " } <span class=\"k\">catch </span>(Exception <span class=\"sym-5744 sym\">e</span>) {"],
+ [222, " <span class=\"k\">throw </span><span class=\"k\">new </span>IllegalStateException(<span class=\"s\">\"Fail to clear values from cache \" </span>+ <span class=\"sym-1491 sym\">name</span>, <span class=\"sym-5744 sym\">e</span>);"],
+ [223, " }"],
+ [224, " }"],
+ [225, ""],
+ [226, " <span class=\"cppd\">/**</span>"],
+ [227, "<span class=\"cppd\"> * Clears the default as well as all group caches.</span>"],
+ [228, "<span class=\"cppd\"> */</span>"],
+ [229, " <span class=\"k\">public </span><span class=\"k\">void </span><span class=\"sym-5924 sym\">clear</span>() {"],
+ [230, " <span class=\"k\">try </span>{"],
+ [231, " <span class=\"sym-1522 sym\">exchange</span>.clear();"],
+ [232, " <span class=\"sym-1522 sym\">exchange</span>.removeAll();"],
+ [233, " } <span class=\"k\">catch </span>(Exception <span class=\"sym-6019 sym\">e</span>) {"],
+ [234, " <span class=\"k\">throw </span><span class=\"k\">new </span>IllegalStateException(<span class=\"s\">\"Fail to clear cache\"</span>, <span class=\"sym-6019 sym\">e</span>);"],
+ [235, " }"],
+ [236, " }"],
+ [237, ""],
+ [238, " <span class=\"cppd\">/**</span>"],
+ [239, "<span class=\"cppd\"> * Returns the set of cache keys associated with this group.</span>"],
+ [240, "<span class=\"cppd\"> * TODO implement a lazy-loading equivalent with Iterator/Iterable</span>"],
+ [241, "<span class=\"cppd\"> *</span>"],
+ [242, "<span class=\"cppd\"> * @param group The group.</span>"],
+ [243, "<span class=\"cppd\"> * @return The set of cache keys for this group.</span>"],
+ [244, "<span class=\"cppd\"> */</span>"],
+ [245, " <span class=\"a\">@SuppressWarnings</span>(<span class=\"s\">\"rawtypes\"</span>)"],
+ [246, " <span class=\"k\">public </span><span class=\"sym-1305 sym\">Set</span> <span class=\"sym-6374 sym\">keySet</span>(Object <span class=\"sym-6388 sym\">key</span>) {"],
+ [247, " <span class=\"k\">try </span>{"],
+ [248, " <span class=\"sym-1305 sym\">Set</span><Object> <span class=\"sym-6423 sym\">keys</span> = <span class=\"sym-949 sym\">Sets</span>.newLinkedHashSet();"],
+ [249, " <span class=\"sym-1522 sym\">exchange</span>.clear();"],
+ [250, " <span class=\"sym-976 sym\">Exchange</span> <span class=\"sym-6494 sym\">iteratorExchange</span> = <span class=\"k\">new </span><span class=\"sym-976 sym\">Exchange</span>(<span class=\"sym-1522 sym\">exchange</span>);"],
+ [251, " <span class=\"sym-6494 sym\">iteratorExchange</span>.append(<span class=\"sym-6388 sym\">key</span>);"],
+ [252, " <span class=\"sym-6494 sym\">iteratorExchange</span>.append(<span class=\"sym-1007 sym\">Key</span>.BEFORE);"],
+ [253, " <span class=\"k\">while </span>(<span class=\"sym-6494 sym\">iteratorExchange</span>.next(<span class=\"k\">false</span>)) {"],
+ [254, " <span class=\"sym-6423 sym\">keys</span>.add(<span class=\"sym-6494 sym\">iteratorExchange</span>.getKey().indexTo(-<span class=\"c\">1</span>).decode());"],
+ [255, " }"],
+ [256, " <span class=\"k\">return </span><span class=\"sym-6423 sym\">keys</span>;"],
+ [257, " } <span class=\"k\">catch </span>(Exception <span class=\"sym-6777 sym\">e</span>) {"],
+ [258, " <span class=\"k\">throw </span><span class=\"k\">new </span>IllegalStateException(<span class=\"s\">\"Fail to get keys from cache \" </span>+ <span class=\"sym-1491 sym\">name</span>, <span class=\"sym-6777 sym\">e</span>);"],
+ [259, " }"],
+ [260, " }"],
+ [261, ""],
+ [262, " <span class=\"a\">@SuppressWarnings</span>(<span class=\"s\">\"rawtypes\"</span>)"],
+ [263, " <span class=\"k\">public </span><span class=\"sym-1305 sym\">Set</span> <span class=\"sym-6919 sym\">keySet</span>(Object <span class=\"sym-6933 sym\">firstKey</span>, Object <span class=\"sym-6950 sym\">secondKey</span>) {"],
+ [264, " <span class=\"k\">try </span>{"],
+ [265, " <span class=\"sym-1305 sym\">Set</span><Object> <span class=\"sym-6991 sym\">keys</span> = <span class=\"sym-949 sym\">Sets</span>.newLinkedHashSet();"],
+ [266, " <span class=\"sym-1522 sym\">exchange</span>.clear();"],
+ [267, " <span class=\"sym-976 sym\">Exchange</span> <span class=\"sym-7062 sym\">iteratorExchange</span> = <span class=\"k\">new </span><span class=\"sym-976 sym\">Exchange</span>(<span class=\"sym-1522 sym\">exchange</span>);"],
+ [268, " <span class=\"sym-7062 sym\">iteratorExchange</span>.append(<span class=\"sym-6933 sym\">firstKey</span>);"],
+ [269, " <span class=\"sym-7062 sym\">iteratorExchange</span>.append(<span class=\"sym-6950 sym\">secondKey</span>);"],
+ [270, " <span class=\"sym-7062 sym\">iteratorExchange</span>.append(<span class=\"sym-1007 sym\">Key</span>.BEFORE);"],
+ [271, " <span class=\"k\">while </span>(<span class=\"sym-7062 sym\">iteratorExchange</span>.next(<span class=\"k\">false</span>)) {"],
+ [272, " <span class=\"sym-6991 sym\">keys</span>.add(<span class=\"sym-7062 sym\">iteratorExchange</span>.getKey().indexTo(-<span class=\"c\">1</span>).decode());"],
+ [273, " }"],
+ [274, " <span class=\"k\">return </span><span class=\"sym-6991 sym\">keys</span>;"],
+ [275, " } <span class=\"k\">catch </span>(Exception <span class=\"sym-7392 sym\">e</span>) {"],
+ [276, " <span class=\"k\">throw </span><span class=\"k\">new </span>IllegalStateException(<span class=\"s\">\"Fail to get keys from cache \" </span>+ <span class=\"sym-1491 sym\">name</span>, <span class=\"sym-7392 sym\">e</span>);"],
+ [277, " }"],
+ [278, " }"],
+ [279, ""],
+ [280, " <span class=\"cppd\">/**</span>"],
+ [281, "<span class=\"cppd\"> * Returns the set of keys associated with this cache.</span>"],
+ [282, "<span class=\"cppd\"> *</span>"],
+ [283, "<span class=\"cppd\"> * @return The set containing the keys for this cache.</span>"],
+ [284, "<span class=\"cppd\"> */</span>"],
+ [285, " <span class=\"k\">public </span><span class=\"sym-1305 sym\">Set</span><Object> <span class=\"sym-7641 sym\">keySet</span>() {"],
+ [286, " <span class=\"k\">try </span>{"],
+ [287, " <span class=\"sym-1305 sym\">Set</span><Object> <span class=\"sym-7680 sym\">keys</span> = <span class=\"sym-949 sym\">Sets</span>.newLinkedHashSet();"],
+ [288, " <span class=\"sym-1522 sym\">exchange</span>.clear();"],
+ [289, " <span class=\"sym-976 sym\">Exchange</span> <span class=\"sym-7751 sym\">iteratorExchange</span> = <span class=\"k\">new </span><span class=\"sym-976 sym\">Exchange</span>(<span class=\"sym-1522 sym\">exchange</span>);"],
+ [290, " <span class=\"sym-7751 sym\">iteratorExchange</span>.append(<span class=\"sym-1007 sym\">Key</span>.BEFORE);"],
+ [291, " <span class=\"k\">while </span>(<span class=\"sym-7751 sym\">iteratorExchange</span>.next(<span class=\"k\">false</span>)) {"],
+ [292, " <span class=\"sym-7680 sym\">keys</span>.add(<span class=\"sym-7751 sym\">iteratorExchange</span>.getKey().indexTo(-<span class=\"c\">1</span>).decode());"],
+ [293, " }"],
+ [294, " <span class=\"k\">return </span><span class=\"sym-7680 sym\">keys</span>;"],
+ [295, " } <span class=\"k\">catch </span>(Exception <span class=\"sym-7998 sym\">e</span>) {"],
+ [296, " <span class=\"k\">throw </span><span class=\"k\">new </span>IllegalStateException(<span class=\"s\">\"Fail to get keys from cache \" </span>+ <span class=\"sym-1491 sym\">name</span>, <span class=\"sym-7998 sym\">e</span>);"],
+ [297, " }"],
+ [298, " }"],
+ [299, ""],
+ [300, " <span class=\"cppd\">/**</span>"],
+ [301, "<span class=\"cppd\"> * Lazy-loading values for given keys</span>"],
+ [302, "<span class=\"cppd\"> */</span>"],
+ [303, " <span class=\"k\">public </span>Iterable<V> <span class=\"sym-8168 sym\">values</span>(Object <span class=\"sym-8182 sym\">firstKey</span>, Object <span class=\"sym-8199 sym\">secondKey</span>) {"],
+ [304, " <span class=\"k\">try </span>{"],
+ [305, " <span class=\"sym-1522 sym\">exchange</span>.clear();"],
+ [306, " <span class=\"sym-1522 sym\">exchange</span>.append(<span class=\"sym-8182 sym\">firstKey</span>).append(<span class=\"sym-8199 sym\">secondKey</span>).append(<span class=\"sym-1007 sym\">Key</span>.BEFORE);"],
+ [307, " <span class=\"sym-976 sym\">Exchange</span> <span class=\"sym-8331 sym\">iteratorExchange</span> = <span class=\"k\">new </span><span class=\"sym-976 sym\">Exchange</span>(<span class=\"sym-1522 sym\">exchange</span>);"],
+ [308, " <span class=\"sym-1033 sym\">KeyFilter</span> <span class=\"sym-8390 sym\">filter</span> = <span class=\"k\">new </span><span class=\"sym-1033 sym\">KeyFilter</span>().append(<span class=\"sym-1033 sym\">KeyFilter</span>.simpleTerm(<span class=\"sym-8182 sym\">firstKey</span>)).append(<span class=\"sym-1033 sym\">KeyFilter</span>.simpleTerm(<span class=\"sym-8199 sym\">secondKey</span>));"],
+ [309, " <span class=\"k\">return </span><span class=\"k\">new </span><span class=\"sym-10646 sym\">ValueIterable</span><V>(<span class=\"sym-8331 sym\">iteratorExchange</span>, <span class=\"sym-8390 sym\">filter</span>);"],
+ [310, " } <span class=\"k\">catch </span>(Exception <span class=\"sym-8579 sym\">e</span>) {"],
+ [311, " <span class=\"k\">throw </span><span class=\"sym-8659 sym\">failToGetValues</span>(<span class=\"sym-8579 sym\">e</span>);"],
+ [312, " }"],
+ [313, " }"],
+ [314, ""],
+ [315, " <span class=\"k\">private </span>IllegalStateException <span class=\"sym-8659 sym\">failToGetValues</span>(Exception <span class=\"sym-8685 sym\">e</span>) {"],
+ [316, " <span class=\"k\">return </span><span class=\"k\">new </span>IllegalStateException(<span class=\"s\">\"Fail to get values from cache \" </span>+ <span class=\"sym-1491 sym\">name</span>, <span class=\"sym-8685 sym\">e</span>);"],
+ [317, " }"],
+ [318, ""],
+ [319, " <span class=\"cppd\">/**</span>"],
+ [320, "<span class=\"cppd\"> * Lazy-loading values for a given key</span>"],
+ [321, "<span class=\"cppd\"> */</span>"],
+ [322, " <span class=\"k\">public </span>Iterable<V> <span class=\"sym-8851 sym\">values</span>(Object <span class=\"sym-8865 sym\">firstKey</span>) {"],
+ [323, " <span class=\"k\">try </span>{"],
+ [324, " <span class=\"sym-1522 sym\">exchange</span>.clear();"],
+ [325, " <span class=\"sym-1522 sym\">exchange</span>.append(<span class=\"sym-8865 sym\">firstKey</span>).append(<span class=\"sym-1007 sym\">Key</span>.BEFORE);"],
+ [326, " <span class=\"sym-976 sym\">Exchange</span> <span class=\"sym-8978 sym\">iteratorExchange</span> = <span class=\"k\">new </span><span class=\"sym-976 sym\">Exchange</span>(<span class=\"sym-1522 sym\">exchange</span>);"],
+ [327, " <span class=\"sym-1033 sym\">KeyFilter</span> <span class=\"sym-9037 sym\">filter</span> = <span class=\"k\">new </span><span class=\"sym-1033 sym\">KeyFilter</span>().append(<span class=\"sym-1033 sym\">KeyFilter</span>.simpleTerm(<span class=\"sym-8865 sym\">firstKey</span>));"],
+ [328, " <span class=\"k\">return </span><span class=\"k\">new </span><span class=\"sym-10646 sym\">ValueIterable</span><V>(<span class=\"sym-8978 sym\">iteratorExchange</span>, <span class=\"sym-9037 sym\">filter</span>);"],
+ [329, " } <span class=\"k\">catch </span>(Exception <span class=\"sym-9186 sym\">e</span>) {"],
+ [330, " <span class=\"k\">throw </span><span class=\"sym-8659 sym\">failToGetValues</span>(<span class=\"sym-9186 sym\">e</span>);"],
+ [331, " }"],
+ [332, " }"],
+ [333, ""],
+ [334, " <span class=\"cppd\">/**</span>"],
+ [335, "<span class=\"cppd\"> * Lazy-loading values</span>"],
+ [336, "<span class=\"cppd\"> */</span>"],
+ [337, " <span class=\"k\">public </span>Iterable<V> <span class=\"sym-9292 sym\">values</span>() {"],
+ [338, " <span class=\"k\">try </span>{"],
+ [339, " <span class=\"sym-1522 sym\">exchange</span>.clear().append(<span class=\"sym-1007 sym\">Key</span>.BEFORE);"],
+ [340, " <span class=\"sym-976 sym\">Exchange</span> <span class=\"sym-9371 sym\">iteratorExchange</span> = <span class=\"k\">new </span><span class=\"sym-976 sym\">Exchange</span>(<span class=\"sym-1522 sym\">exchange</span>);"],
+ [341, " <span class=\"sym-1033 sym\">KeyFilter</span> <span class=\"sym-9430 sym\">filter</span> = <span class=\"k\">new </span><span class=\"sym-1033 sym\">KeyFilter</span>().append(<span class=\"sym-1033 sym\">KeyFilter</span>.ALL);"],
+ [342, " <span class=\"k\">return </span><span class=\"k\">new </span><span class=\"sym-10646 sym\">ValueIterable</span><V>(<span class=\"sym-9371 sym\">iteratorExchange</span>, <span class=\"sym-9430 sym\">filter</span>);"],
+ [343, " } <span class=\"k\">catch </span>(Exception <span class=\"sym-9562 sym\">e</span>) {"],
+ [344, " <span class=\"k\">throw </span><span class=\"sym-8659 sym\">failToGetValues</span>(<span class=\"sym-9562 sym\">e</span>);"],
+ [345, " }"],
+ [346, " }"],
+ [347, ""],
+ [348, " <span class=\"k\">public </span>Iterable<<span class=\"sym-13607 sym\">Entry</span><V>> <span class=\"sym-9638 sym\">entries</span>() {"],
+ [349, " <span class=\"sym-1522 sym\">exchange</span>.clear().to(<span class=\"sym-1007 sym\">Key</span>.BEFORE);"],
+ [350, " <span class=\"sym-1033 sym\">KeyFilter</span> <span class=\"sym-9701 sym\">filter</span> = <span class=\"k\">new </span><span class=\"sym-1033 sym\">KeyFilter</span>().append(<span class=\"sym-1033 sym\">KeyFilter</span>.ALL);"],
+ [351, " <span class=\"k\">return </span><span class=\"k\">new </span><span class=\"sym-11992 sym\">EntryIterable</span><V>(<span class=\"k\">new </span><span class=\"sym-976 sym\">Exchange</span>(<span class=\"sym-1522 sym\">exchange</span>), <span class=\"sym-9701 sym\">filter</span>);"],
+ [352, " }"],
+ [353, ""],
+ [354, " <span class=\"k\">public </span>Iterable<<span class=\"sym-13607 sym\">Entry</span><V>> <span class=\"sym-9847 sym\">entries</span>(Object <span class=\"sym-9862 sym\">firstKey</span>) {"],
+ [355, " <span class=\"sym-1522 sym\">exchange</span>.clear().append(<span class=\"sym-9862 sym\">firstKey</span>).append(<span class=\"sym-1007 sym\">Key</span>.BEFORE);"],
+ [356, " <span class=\"sym-1033 sym\">KeyFilter</span> <span class=\"sym-9946 sym\">filter</span> = <span class=\"k\">new </span><span class=\"sym-1033 sym\">KeyFilter</span>().append(<span class=\"sym-1033 sym\">KeyFilter</span>.simpleTerm(<span class=\"sym-9862 sym\">firstKey</span>));"],
+ [357, " <span class=\"k\">return </span><span class=\"k\">new </span><span class=\"sym-11992 sym\">EntryIterable</span><V>(<span class=\"k\">new </span><span class=\"sym-976 sym\">Exchange</span>(<span class=\"sym-1522 sym\">exchange</span>), <span class=\"sym-9946 sym\">filter</span>);"],
+ [358, " }"],
+ [359, ""],
+ [360, " <span class=\"k\">private </span><span class=\"k\">void </span><span class=\"sym-10096 sym\">resetKey</span>(Object <span class=\"sym-10112 sym\">key</span>) {"],
+ [361, " <span class=\"sym-1522 sym\">exchange</span>.clear();"],
+ [362, " <span class=\"sym-1522 sym\">exchange</span>.append(<span class=\"sym-10112 sym\">key</span>);"],
+ [363, " }"],
+ [364, ""],
+ [365, " <span class=\"k\">private </span><span class=\"k\">void </span><span class=\"sym-10187 sym\">resetKey</span>(Object <span class=\"sym-10203 sym\">first</span>, Object <span class=\"sym-10217 sym\">second</span>) {"],
+ [366, " <span class=\"sym-1522 sym\">exchange</span>.clear();"],
+ [367, " <span class=\"sym-1522 sym\">exchange</span>.append(<span class=\"sym-10203 sym\">first</span>).append(<span class=\"sym-10217 sym\">second</span>);"],
+ [368, " }"],
+ [369, ""],
+ [370, " <span class=\"k\">private </span><span class=\"k\">void </span><span class=\"sym-10312 sym\">resetKey</span>(Object <span class=\"sym-10328 sym\">first</span>, Object <span class=\"sym-10342 sym\">second</span>, Object <span class=\"sym-10357 sym\">third</span>) {"],
+ [371, " <span class=\"sym-1522 sym\">exchange</span>.clear();"],
+ [372, " <span class=\"sym-1522 sym\">exchange</span>.append(<span class=\"sym-10328 sym\">first</span>).append(<span class=\"sym-10342 sym\">second</span>).append(<span class=\"sym-10357 sym\">third</span>);"],
+ [373, " }"],
+ [374, ""],
+ [375, " <span class=\"k\">private </span><span class=\"k\">void </span><span class=\"sym-10465 sym\">resetKey</span>(Object[] <span class=\"sym-10483 sym\">keys</span>) {"],
+ [376, " <span class=\"sym-1522 sym\">exchange</span>.clear();"],
+ [377, " <span class=\"k\">for </span>(Object <span class=\"sym-10529 sym\">o</span> : <span class=\"sym-10483 sym\">keys</span>) {"],
+ [378, " <span class=\"sym-1522 sym\">exchange</span>.append(<span class=\"sym-10529 sym\">o</span>);"],
+ [379, " }"],
+ [380, " }"],
+ [381, ""],
+ [382, " <span class=\"cppd\">//</span>"],
+ [383, " <span class=\"cppd\">// LAZY ITERATORS AND ITERABLES</span>"],
+ [384, " <span class=\"cppd\">//</span>"],
+ [385, ""],
+ [386, " <span class=\"k\">private </span><span class=\"k\">static </span><span class=\"k\">class </span><span class=\"sym-10646 sym\">ValueIterable</span><T <span class=\"k\">extends </span>Serializable> <span class=\"k\">implements </span>Iterable<T> {"],
+ [387, " <span class=\"k\">private </span><span class=\"k\">final </span><span class=\"sym-1237 sym\">Iterator</span><T> <span class=\"sym-10739 sym\">iterator</span>;"],
+ [388, ""],
+ [389, " <span class=\"k\">private </span><span class=\"sym-10762 sym\">ValueIterable</span>(<span class=\"sym-976 sym\">Exchange</span> <span class=\"sym-10785 sym\">exchange</span>, <span class=\"sym-1033 sym\">KeyFilter</span> <span class=\"sym-10805 sym\">keyFilter</span>) {"],
+ [390, " <span class=\"k\">this</span>.<span class=\"sym-10739 sym\">iterator</span> = <span class=\"k\">new </span><span class=\"sym-10997 sym\">ValueIterator</span><T>(<span class=\"sym-10785 sym\">exchange</span>, <span class=\"sym-10805 sym\">keyFilter</span>);"],
+ [391, " }"],
+ [392, ""],
+ [393, " <span class=\"a\">@Override</span>"],
+ [394, "<span class=\"a\"> </span><span class=\"k\">public </span><span class=\"sym-1237 sym\">Iterator</span><T> <span class=\"sym-10927 sym\">iterator</span>() {"],
+ [395, " <span class=\"k\">return </span><span class=\"sym-10739 sym\">iterator</span>;"],
+ [396, " }"],
+ [397, " }"],
+ [398, ""],
+ [399, " <span class=\"k\">private </span><span class=\"k\">static </span><span class=\"k\">class </span><span class=\"sym-10997 sym\">ValueIterator</span><T <span class=\"k\">extends </span>Serializable> <span class=\"k\">implements </span><span class=\"sym-1237 sym\">Iterator</span><T> {"],
+ [400, " <span class=\"k\">private </span><span class=\"k\">final </span><span class=\"sym-976 sym\">Exchange</span> <span class=\"sym-11087 sym\">exchange</span>;"],
+ [401, " <span class=\"k\">private </span><span class=\"k\">final </span><span class=\"sym-1033 sym\">KeyFilter</span> <span class=\"sym-11125 sym\">keyFilter</span>;"],
+ [402, ""],
+ [403, " <span class=\"k\">private </span><span class=\"sym-11149 sym\">ValueIterator</span>(<span class=\"sym-976 sym\">Exchange</span> <span class=\"sym-11172 sym\">exchange</span>, <span class=\"sym-1033 sym\">KeyFilter</span> <span class=\"sym-11192 sym\">keyFilter</span>) {"],
+ [404, " <span class=\"k\">this</span>.<span class=\"sym-11087 sym\">exchange</span> = <span class=\"sym-11172 sym\">exchange</span>;"],
+ [405, " <span class=\"k\">this</span>.<span class=\"sym-11125 sym\">keyFilter</span> = <span class=\"sym-11192 sym\">keyFilter</span>;"],
+ [406, " }"],
+ [407, ""],
+ [408, " <span class=\"a\">@Override</span>"],
+ [409, "<span class=\"a\"> </span><span class=\"k\">public </span><span class=\"k\">boolean </span><span class=\"sym-11311 sym\">hasNext</span>() {"],
+ [410, " <span class=\"k\">try </span>{"],
+ [411, " <span class=\"k\">return </span><span class=\"sym-11087 sym\">exchange</span>.hasNext(<span class=\"sym-11125 sym\">keyFilter</span>);"],
+ [412, " } <span class=\"k\">catch </span>(<span class=\"sym-1075 sym\">PersistitException</span> <span class=\"sym-11413 sym\">e</span>) {"],
+ [413, " <span class=\"k\">throw </span><span class=\"k\">new </span>IllegalStateException(<span class=\"sym-11413 sym\">e</span>);"],
+ [414, " }"],
+ [415, " }"],
+ [416, ""],
+ [417, " <span class=\"a\">@SuppressWarnings</span>(<span class=\"s\">\"unchecked\"</span>)"],
+ [418, " <span class=\"a\">@Override</span>"],
+ [419, "<span class=\"a\"> </span><span class=\"k\">public </span>T <span class=\"sym-11539 sym\">next</span>() {"],
+ [420, " <span class=\"k\">try </span>{"],
+ [421, " <span class=\"sym-11087 sym\">exchange</span>.next(<span class=\"sym-11125 sym\">keyFilter</span>);"],
+ [422, " } <span class=\"k\">catch </span>(<span class=\"sym-1075 sym\">PersistitException</span> <span class=\"sym-11628 sym\">e</span>) {"],
+ [423, " <span class=\"k\">throw </span><span class=\"k\">new </span>IllegalStateException(<span class=\"sym-11628 sym\">e</span>);"],
+ [424, " }"],
+ [425, " <span class=\"k\">if </span>(<span class=\"sym-11087 sym\">exchange</span>.getValue().isDefined()) {"],
+ [426, " <span class=\"k\">return </span>(T) <span class=\"sym-11087 sym\">exchange</span>.getValue().get();"],
+ [427, " }"],
+ [428, " <span class=\"k\">throw </span><span class=\"k\">new </span><span class=\"sym-1264 sym\">NoSuchElementException</span>();"],
+ [429, " }"],
+ [430, ""],
+ [431, " <span class=\"a\">@Override</span>"],
+ [432, "<span class=\"a\"> </span><span class=\"k\">public </span><span class=\"k\">void </span><span class=\"sym-11863 sym\">remove</span>() {"],
+ [433, " <span class=\"k\">throw </span><span class=\"k\">new </span>UnsupportedOperationException(<span class=\"s\">\"Removing an item is not supported\"</span>);"],
+ [434, " }"],
+ [435, " }"],
+ [436, ""],
+ [437, " <span class=\"k\">private </span><span class=\"k\">static </span><span class=\"k\">class </span><span class=\"sym-11992 sym\">EntryIterable</span><T <span class=\"k\">extends </span>Serializable> <span class=\"k\">implements </span>Iterable<<span class=\"sym-13607 sym\">Entry</span><T>> {"],
+ [438, " <span class=\"k\">private </span><span class=\"k\">final </span><span class=\"sym-12339 sym\">EntryIterator</span><T> <span class=\"sym-12097 sym\">it</span>;"],
+ [439, ""],
+ [440, " <span class=\"k\">private </span><span class=\"sym-12114 sym\">EntryIterable</span>(<span class=\"sym-976 sym\">Exchange</span> <span class=\"sym-12137 sym\">exchange</span>, <span class=\"sym-1033 sym\">KeyFilter</span> <span class=\"sym-12157 sym\">keyFilter</span>) {"],
+ [441, " <span class=\"sym-12097 sym\">it</span> = <span class=\"k\">new </span><span class=\"sym-12339 sym\">EntryIterator</span><T>(<span class=\"sym-12137 sym\">exchange</span>, <span class=\"sym-12157 sym\">keyFilter</span>);"],
+ [442, " }"],
+ [443, ""],
+ [444, " <span class=\"a\">@Override</span>"],
+ [445, "<span class=\"a\"> </span><span class=\"k\">public </span><span class=\"sym-1237 sym\">Iterator</span><<span class=\"sym-13607 sym\">Entry</span><T>> <span class=\"sym-12275 sym\">iterator</span>() {"],
+ [446, " <span class=\"k\">return </span><span class=\"sym-12097 sym\">it</span>;"],
+ [447, " }"],
+ [448, " }"],
+ [449, ""],
+ [450, " <span class=\"k\">private </span><span class=\"k\">static </span><span class=\"k\">class </span><span class=\"sym-12339 sym\">EntryIterator</span><T <span class=\"k\">extends </span>Serializable> <span class=\"k\">implements </span><span class=\"sym-1237 sym\">Iterator</span><<span class=\"sym-13607 sym\">Entry</span><T>> {"],
+ [451, " <span class=\"k\">private </span><span class=\"k\">final </span><span class=\"sym-976 sym\">Exchange</span> <span class=\"sym-12436 sym\">exchange</span>;"],
+ [452, " <span class=\"k\">private </span><span class=\"k\">final </span><span class=\"sym-1033 sym\">KeyFilter</span> <span class=\"sym-12474 sym\">keyFilter</span>;"],
+ [453, ""],
+ [454, " <span class=\"k\">private </span><span class=\"sym-12498 sym\">EntryIterator</span>(<span class=\"sym-976 sym\">Exchange</span> <span class=\"sym-12521 sym\">exchange</span>, <span class=\"sym-1033 sym\">KeyFilter</span> <span class=\"sym-12541 sym\">keyFilter</span>) {"],
+ [455, " <span class=\"k\">this</span>.<span class=\"sym-12436 sym\">exchange</span> = <span class=\"sym-12521 sym\">exchange</span>;"],
+ [456, " <span class=\"k\">this</span>.<span class=\"sym-12474 sym\">keyFilter</span> = <span class=\"sym-12541 sym\">keyFilter</span>;"],
+ [457, " }"],
+ [458, ""],
+ [459, " <span class=\"a\">@Override</span>"],
+ [460, "<span class=\"a\"> </span><span class=\"k\">public </span><span class=\"k\">boolean </span><span class=\"sym-12660 sym\">hasNext</span>() {"],
+ [461, " <span class=\"k\">try </span>{"],
+ [462, " <span class=\"k\">return </span><span class=\"sym-12436 sym\">exchange</span>.hasNext(<span class=\"sym-12474 sym\">keyFilter</span>);"],
+ [463, " } <span class=\"k\">catch </span>(<span class=\"sym-1075 sym\">PersistitException</span> <span class=\"sym-12762 sym\">e</span>) {"],
+ [464, " <span class=\"k\">throw </span><span class=\"k\">new </span>IllegalStateException(<span class=\"sym-12762 sym\">e</span>);"],
+ [465, " }"],
+ [466, " }"],
+ [467, ""],
+ [468, " <span class=\"a\">@SuppressWarnings</span>(<span class=\"s\">\"unchecked\"</span>)"],
+ [469, " <span class=\"a\">@Override</span>"],
+ [470, "<span class=\"a\"> </span><span class=\"k\">public </span><span class=\"sym-13607 sym\">Entry</span><T> <span class=\"sym-12895 sym\">next</span>() {"],
+ [471, " <span class=\"k\">try </span>{"],
+ [472, " <span class=\"sym-12436 sym\">exchange</span>.next(<span class=\"sym-12474 sym\">keyFilter</span>);"],
+ [473, " } <span class=\"k\">catch </span>(<span class=\"sym-1075 sym\">PersistitException</span> <span class=\"sym-12984 sym\">e</span>) {"],
+ [474, " <span class=\"k\">throw </span><span class=\"k\">new </span>IllegalStateException(<span class=\"sym-12984 sym\">e</span>);"],
+ [475, " }"],
+ [476, " <span class=\"k\">if </span>(<span class=\"sym-12436 sym\">exchange</span>.getValue().isDefined()) {"],
+ [477, " T <span class=\"sym-13096 sym\">value</span> = (T) <span class=\"sym-12436 sym\">exchange</span>.getValue().get();"],
+ [478, " <span class=\"sym-1007 sym\">Key</span> <span class=\"sym-13147 sym\">key</span> = <span class=\"sym-12436 sym\">exchange</span>.getKey();"],
+ [479, " Object[] <span class=\"sym-13189 sym\">array</span> = <span class=\"k\">new </span>Object[<span class=\"sym-13147 sym\">key</span>.getDepth()];"],
+ [480, " <span class=\"k\">for </span>(<span class=\"k\">int </span><span class=\"sym-13242 sym\">i</span> = <span class=\"c\">0</span>; <span class=\"sym-13242 sym\">i</span> < <span class=\"sym-13147 sym\">key</span>.getDepth(); <span class=\"sym-13242 sym\">i</span>++) {"],
+ [481, " <span class=\"sym-13189 sym\">array</span>[<span class=\"sym-13242 sym\">i</span>] = <span class=\"sym-13147 sym\">key</span>.indexTo(<span class=\"sym-13242 sym\">i</span> - <span class=\"sym-13147 sym\">key</span>.getDepth()).decode();"],
+ [482, " }"],
+ [483, " <span class=\"k\">return </span><span class=\"k\">new </span><span class=\"sym-13607 sym\">Entry</span><T>(<span class=\"sym-13189 sym\">array</span>, <span class=\"sym-13096 sym\">value</span>);"],
+ [484, " }"],
+ [485, " <span class=\"k\">throw </span><span class=\"k\">new </span><span class=\"sym-1264 sym\">NoSuchElementException</span>();"],
+ [486, " }"],
+ [487, ""],
+ [488, " <span class=\"a\">@Override</span>"],
+ [489, "<span class=\"a\"> </span><span class=\"k\">public </span><span class=\"k\">void </span><span class=\"sym-13479 sym\">remove</span>() {"],
+ [490, " <span class=\"k\">throw </span><span class=\"k\">new </span>UnsupportedOperationException(<span class=\"s\">\"Removing an item is not supported\"</span>);"],
+ [491, " }"],
+ [492, " }"],
+ [493, ""],
+ [494, " <span class=\"k\">public </span><span class=\"k\">static </span><span class=\"k\">class </span><span class=\"sym-13607 sym\">Entry</span><V <span class=\"k\">extends </span>Serializable> {"],
+ [495, " <span class=\"k\">private </span><span class=\"k\">final </span>Object[] <span class=\"sym-13666 sym\">key</span>;"],
+ [496, " <span class=\"k\">private </span><span class=\"k\">final </span>V <span class=\"sym-13691 sym\">value</span>;"],
+ [497, ""],
+ [498, " <span class=\"sym-13703 sym\">Entry</span>(Object[] <span class=\"sym-13718 sym\">key</span>, V <span class=\"sym-13725 sym\">value</span>) {"],
+ [499, " <span class=\"k\">this</span>.<span class=\"sym-13666 sym\">key</span> = <span class=\"sym-13718 sym\">key</span>;"],
+ [500, " <span class=\"k\">this</span>.<span class=\"sym-13691 sym\">value</span> = <span class=\"sym-13725 sym\">value</span>;"],
+ [501, " }"],
+ [502, ""],
+ [503, " <span class=\"k\">public </span>Object[] <span class=\"sym-13809 sym\">key</span>() {"],
+ [504, " <span class=\"k\">return </span><span class=\"sym-13666 sym\">key</span>;"],
+ [505, " }"],
+ [506, ""],
+ [507, " <span class=\"a\">@<span class=\"sym-1176 sym\">CheckForNull</span></span>"],
+ [508, "<span class=\"a\"> </span><span class=\"k\">public </span>V <span class=\"sym-13873 sym\">value</span>() {"],
+ [509, " <span class=\"k\">return </span><span class=\"sym-13691 sym\">value</span>;"],
+ [510, " }"],
+ [511, ""],
+ [512, " <span class=\"a\">@Override</span>"],
+ [513, "<span class=\"a\"> </span><span class=\"k\">public </span>String <span class=\"sym-13942 sym\">toString</span>() {"],
+ [514, " <span class=\"k\">return </span><span class=\"sym-1134 sym\">ToStringBuilder</span>.reflectionToString(<span class=\"k\">this</span>);"],
+ [515, " }"],
+ [516, " }"],
+ [517, ""],
+ [518, "}"],
+ [519, ""]
+]}
--- /dev/null
+{"tests": [
+ {
+ "name": "should_update_existing_issue",
+ "status": "OK",
+ "durationInMs": 293,
+ "_ref": "1"
+ },
+ {
+ "name": "testDistributionMeasure",
+ "status": "OK",
+ "durationInMs": 148,
+ "_ref": "2"
+ },
+ {
+ "name": "one_part_key",
+ "status": "OK",
+ "durationInMs": 96,
+ "_ref": "3"
+ },
+ {
+ "name": "testIssueExclusion",
+ "status": "OK",
+ "durationInMs": 305,
+ "_ref": "4"
+ },
+ {
+ "name": "should_add_measure_with_same_metric",
+ "status": "OK",
+ "durationInMs": 141,
+ "_ref": "5"
+ },
+ {
+ "name": "should_create_cache",
+ "status": "OK",
+ "durationInMs": 81,
+ "_ref": "6"
+ },
+ {
+ "name": "scanProjectWithMixedSourcesAndTests",
+ "status": "OK",
+ "durationInMs": 239,
+ "_ref": "7"
+ },
+ {
+ "name": "remove_versus_clear",
+ "status": "OK",
+ "durationInMs": 111,
+ "_ref": "3"
+ },
+ {
+ "name": "should_persist_component_data",
+ "status": "OK",
+ "durationInMs": 132,
+ "_ref": "8"
+ },
+ {
+ "name": "scanProjectWithSourceDir",
+ "status": "OK",
+ "durationInMs": 212,
+ "_ref": "7"
+ },
+ {
+ "name": "should_add_measure_with_too_big_data_for_persistit",
+ "status": "OK",
+ "durationInMs": 336,
+ "_ref": "5"
+ },
+ {
+ "name": "failForDuplicateInputFile",
+ "status": "OK",
+ "durationInMs": 127,
+ "_ref": "7"
+ },
+ {
+ "name": "should_not_create_cache_twice",
+ "status": "OK",
+ "durationInMs": 101,
+ "_ref": "6"
+ },
+ {
+ "name": "should_get_and_set_data",
+ "status": "OK",
+ "durationInMs": 190,
+ "_ref": "9"
+ },
+ {
+ "name": "should_add_input_file",
+ "status": "OK",
+ "durationInMs": 122,
+ "_ref": "10"
+ },
+ {
+ "name": "scanTempProject",
+ "status": "OK",
+ "durationInMs": 345,
+ "_ref": "4"
+ },
+ {
+ "name": "should_get_measures",
+ "status": "OK",
+ "durationInMs": 114,
+ "_ref": "5"
+ },
+ {
+ "name": "test_key_being_prefix_of_another_key",
+ "status": "OK",
+ "durationInMs": 94,
+ "_ref": "3"
+ },
+ {
+ "name": "should_add_measure_with_big_data",
+ "status": "OK",
+ "durationInMs": 242,
+ "_ref": "5"
+ },
+ {
+ "name": "should_get_all_issues",
+ "status": "OK",
+ "durationInMs": 104,
+ "_ref": "1"
+ },
+ {
+ "name": "should_add_measure",
+ "status": "OK",
+ "durationInMs": 117,
+ "_ref": "5"
+ },
+ {
+ "name": "computeMeasuresOnSampleProject",
+ "status": "OK",
+ "durationInMs": 315,
+ "_ref": "2"
+ },
+ {
+ "name": "test_measure_coder",
+ "status": "OK",
+ "durationInMs": 110,
+ "_ref": "5"
+ },
+ {
+ "name": "should_add_measure_with_too_big_data_for_persistit_pre_patch",
+ "status": "OK",
+ "durationInMs": 821,
+ "_ref": "5"
+ },
+ {
+ "name": "three_parts_key",
+ "status": "OK",
+ "durationInMs": 122,
+ "_ref": "3"
+ },
+ {
+ "name": "two_parts_key",
+ "status": "OK",
+ "durationInMs": 118,
+ "_ref": "3"
+ },
+ {
+ "name": "should_add_new_issue",
+ "status": "OK",
+ "durationInMs": 95,
+ "_ref": "1"
+ },
+ {
+ "name": "empty_cache",
+ "status": "OK",
+ "durationInMs": 104,
+ "_ref": "3"
+ },
+ {
+ "name": "scanProjectWithTestDir",
+ "status": "OK",
+ "durationInMs": 322,
+ "_ref": "7"
+ },
+ {
+ "name": "scanSampleProject",
+ "status": "OK",
+ "durationInMs": 184,
+ "_ref": "4"
+ },
+ {
+ "name": "computeMeasuresOnTempProject",
+ "status": "OK",
+ "durationInMs": 274,
+ "_ref": "2"
+ },
+ {
+ "name": "should_get_and_set_string_data",
+ "status": "OK",
+ "durationInMs": 95,
+ "_ref": "9"
+ }
+], "files": {
+ "3": {
+ "key": "org.codehaus.sonar:sonar-batch:src/test/java/org/sonar/batch/index/CacheTest.java",
+ "longName": "src/test/java/org/sonar/batch/index/CacheTest.java"
+ },
+ "1": {
+ "key": "org.codehaus.sonar:sonar-batch:src/test/java/org/sonar/batch/issue/IssueCacheTest.java",
+ "longName": "src/test/java/org/sonar/batch/issue/IssueCacheTest.java"
+ },
+ "4": {
+ "key": "org.codehaus.sonar:sonar-batch:src/test/java/org/sonar/batch/mediumtest/issues/IssuesMediumTest.java",
+ "longName": "src/test/java/org/sonar/batch/mediumtest/issues/IssuesMediumTest.java"
+ },
+ "2": {
+ "key": "org.codehaus.sonar:sonar-batch:src/test/java/org/sonar/batch/mediumtest/measures/MeasuresMediumTest.java",
+ "longName": "src/test/java/org/sonar/batch/mediumtest/measures/MeasuresMediumTest.java"
+ },
+ "8": {
+ "key": "org.codehaus.sonar:sonar-batch:src/test/java/org/sonar/batch/index/ComponentDataPersisterTest.java",
+ "longName": "src/test/java/org/sonar/batch/index/ComponentDataPersisterTest.java"
+ },
+ "9": {
+ "key": "org.codehaus.sonar:sonar-batch:src/test/java/org/sonar/batch/index/ComponentDataCacheTest.java",
+ "longName": "src/test/java/org/sonar/batch/index/ComponentDataCacheTest.java"
+ },
+ "10": {
+ "key": "org.codehaus.sonar:sonar-batch:src/test/java/org/sonar/batch/scan/filesystem/InputFileCacheTest.java",
+ "longName": "src/test/java/org/sonar/batch/scan/filesystem/InputFileCacheTest.java"
+ },
+ "7": {
+ "key": "org.codehaus.sonar:sonar-batch:src/test/java/org/sonar/batch/mediumtest/fs/FileSystemMediumTest.java",
+ "longName": "src/test/java/org/sonar/batch/mediumtest/fs/FileSystemMediumTest.java"
+ },
+ "5": {
+ "key": "org.codehaus.sonar:sonar-batch:src/test/java/org/sonar/batch/scan/measure/MeasureCacheTest.java",
+ "longName": "src/test/java/org/sonar/batch/scan/measure/MeasureCacheTest.java"
+ },
+ "6": {
+ "key": "org.codehaus.sonar:sonar-batch:src/test/java/org/sonar/batch/index/CachesTest.java",
+ "longName": "src/test/java/org/sonar/batch/index/CachesTest.java"
+ }
+}}
--- /dev/null
+{
+ "uuid": "12345",
+ "key": "org.codehaus.sonar:sonar-batch:src/main/java/org/sonar/batch/index/CacheTest.java",
+ "path": "src/test/java/org/sonar/batch/index/CacheTest.java",
+ "name": "CacheTest.java",
+ "longName": "src/test/java/org/sonar/batch/index/CacheTest.java",
+ "q": "UTS",
+ "subProject": "org.codehaus.sonar:sonar-batch",
+ "subProjectName": "SonarQube :: Batch",
+ "project": "org.codehaus.sonar:sonar",
+ "projectName": "SonarQube",
+ "fav": false,
+ "canMarkAsFavourite": true,
+ "canCreateManualIssue": true,
+ "measures": {
+ "tests": "6"
+ }
+}
--- /dev/null
+{"sources": [
+ {
+ "line": 1,
+ "code": "/*",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "108dc916996e3075eb21c6ae1bbc7c9a24f09ab0",
+ "scmDate": "2013-04-16T13:24:54+0200"
+ },
+ {
+ "line": 2,
+ "code": " * SonarQube, open source software quality management tool.",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b1436788cfc71b23cc3e3c15400a6c630c914bec",
+ "scmDate": "2013-04-21T11:58:14+0200"
+ },
+ {
+ "line": 3,
+ "code": " * Copyright (C) 2008-2014 SonarSource",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "57ae3026c36ae3b0b71756d6161124b1ae594c53",
+ "scmDate": "2014-03-11T17:52:41+0100"
+ },
+ {
+ "line": 4,
+ "code": " * mailto:contact AT sonarsource DOT com",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "108dc916996e3075eb21c6ae1bbc7c9a24f09ab0",
+ "scmDate": "2013-04-16T13:24:54+0200"
+ },
+ {
+ "line": 5,
+ "code": " *",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "108dc916996e3075eb21c6ae1bbc7c9a24f09ab0",
+ "scmDate": "2013-04-16T13:24:54+0200"
+ },
+ {
+ "line": 6,
+ "code": " * SonarQube is free software; you can redistribute it and/or",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b1436788cfc71b23cc3e3c15400a6c630c914bec",
+ "scmDate": "2013-04-21T11:58:14+0200"
+ },
+ {
+ "line": 7,
+ "code": " * modify it under the terms of the GNU Lesser General Public",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "108dc916996e3075eb21c6ae1bbc7c9a24f09ab0",
+ "scmDate": "2013-04-16T13:24:54+0200"
+ },
+ {
+ "line": 8,
+ "code": " * License as published by the Free Software Foundation; either",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "108dc916996e3075eb21c6ae1bbc7c9a24f09ab0",
+ "scmDate": "2013-04-16T13:24:54+0200"
+ },
+ {
+ "line": 9,
+ "code": " * version 3 of the License, or (at your option) any later version.",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "108dc916996e3075eb21c6ae1bbc7c9a24f09ab0",
+ "scmDate": "2013-04-16T13:24:54+0200"
+ },
+ {
+ "line": 10,
+ "code": " *",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "108dc916996e3075eb21c6ae1bbc7c9a24f09ab0",
+ "scmDate": "2013-04-16T13:24:54+0200"
+ },
+ {
+ "line": 11,
+ "code": " * SonarQube is distributed in the hope that it will be useful,",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b1436788cfc71b23cc3e3c15400a6c630c914bec",
+ "scmDate": "2013-04-21T11:58:14+0200"
+ },
+ {
+ "line": 12,
+ "code": " * but WITHOUT ANY WARRANTY; without even the implied warranty of",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "108dc916996e3075eb21c6ae1bbc7c9a24f09ab0",
+ "scmDate": "2013-04-16T13:24:54+0200"
+ },
+ {
+ "line": 13,
+ "code": " * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "108dc916996e3075eb21c6ae1bbc7c9a24f09ab0",
+ "scmDate": "2013-04-16T13:24:54+0200"
+ },
+ {
+ "line": 14,
+ "code": " * Lesser General Public License for more details.",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "108dc916996e3075eb21c6ae1bbc7c9a24f09ab0",
+ "scmDate": "2013-04-16T13:24:54+0200"
+ },
+ {
+ "line": 15,
+ "code": " *",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "108dc916996e3075eb21c6ae1bbc7c9a24f09ab0",
+ "scmDate": "2013-04-16T13:24:54+0200"
+ },
+ {
+ "line": 16,
+ "code": " * You should have received a copy of the GNU Lesser General Public License",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "ce63bd4c293fe7a1fa066d73860bbaf4e1f5a608",
+ "scmDate": "2013-04-22T09:37:03+0200"
+ },
+ {
+ "line": 17,
+ "code": " * along with this program; if not, write to the Free Software Foundation,",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "ce63bd4c293fe7a1fa066d73860bbaf4e1f5a608",
+ "scmDate": "2013-04-22T09:37:03+0200"
+ },
+ {
+ "line": 18,
+ "code": " * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "ce63bd4c293fe7a1fa066d73860bbaf4e1f5a608",
+ "scmDate": "2013-04-22T09:37:03+0200"
+ },
+ {
+ "line": 19,
+ "code": " */",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "108dc916996e3075eb21c6ae1bbc7c9a24f09ab0",
+ "scmDate": "2013-04-16T13:24:54+0200"
+ },
+ {
+ "line": 20,
+ "code": "package org.sonar.batch.index;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "108dc916996e3075eb21c6ae1bbc7c9a24f09ab0",
+ "scmDate": "2013-04-16T13:24:54+0200"
+ },
+ {
+ "line": 21,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "108dc916996e3075eb21c6ae1bbc7c9a24f09ab0",
+ "scmDate": "2013-04-16T13:24:54+0200"
+ },
+ {
+ "line": 22,
+ "code": "import com.google.common.collect.Iterables;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 23,
+ "code": "import org.junit.After;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 24,
+ "code": "import org.junit.Before;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 25,
+ "code": "import org.junit.Rule;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 26,
+ "code": "import org.junit.Test;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "108dc916996e3075eb21c6ae1bbc7c9a24f09ab0",
+ "scmDate": "2013-04-16T13:24:54+0200"
+ },
+ {
+ "line": 27,
+ "code": "import org.junit.rules.TemporaryFolder;",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "18a4c15b060d1b56f08826bf6006d08eaf2625ec",
+ "scmDate": "2013-10-15T17:14:44+0200"
+ },
+ {
+ "line": 28,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "108dc916996e3075eb21c6ae1bbc7c9a24f09ab0",
+ "scmDate": "2013-04-16T13:24:54+0200"
+ },
+ {
+ "line": 29,
+ "code": "import static org.fest.assertions.Assertions.assertThat;",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 30,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "108dc916996e3075eb21c6ae1bbc7c9a24f09ab0",
+ "scmDate": "2013-04-16T13:24:54+0200"
+ },
+ {
+ "line": 31,
+ "code": "public class CacheTest {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 32,
+ "code": "",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "18a4c15b060d1b56f08826bf6006d08eaf2625ec",
+ "scmDate": "2013-10-15T17:14:44+0200"
+ },
+ {
+ "line": 33,
+ "code": " @Rule",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 34,
+ "code": " public TemporaryFolder temp = new TemporaryFolder();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 35,
+ "code": "",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "18a4c15b060d1b56f08826bf6006d08eaf2625ec",
+ "scmDate": "2013-10-15T17:14:44+0200"
+ },
+ {
+ "line": 36,
+ "code": " Caches caches;",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "18a4c15b060d1b56f08826bf6006d08eaf2625ec",
+ "scmDate": "2013-10-15T17:14:44+0200"
+ },
+ {
+ "line": 37,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 38,
+ "code": " @Before",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 39,
+ "code": " public void start() throws Exception {",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "18a4c15b060d1b56f08826bf6006d08eaf2625ec",
+ "scmDate": "2013-10-15T17:14:44+0200"
+ },
+ {
+ "line": 40,
+ "code": " caches = CachesTest.createCacheOnTemp(temp);",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "18a4c15b060d1b56f08826bf6006d08eaf2625ec",
+ "scmDate": "2013-10-15T17:14:44+0200"
+ },
+ {
+ "line": 41,
+ "code": " caches.start();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 42,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "108dc916996e3075eb21c6ae1bbc7c9a24f09ab0",
+ "scmDate": "2013-04-16T13:24:54+0200"
+ },
+ {
+ "line": 43,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "108dc916996e3075eb21c6ae1bbc7c9a24f09ab0",
+ "scmDate": "2013-04-16T13:24:54+0200"
+ },
+ {
+ "line": 44,
+ "code": " @After",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 45,
+ "code": " public void stop() {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 46,
+ "code": " caches.stop();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 47,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 48,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 49,
+ "code": " @Test",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 50,
+ "code": " public void one_part_key() throws Exception {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 51,
+ "code": " Cache<String> cache = caches.createCache(\"capitals\");",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 52,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 53,
+ "code": " assertThat(cache.get(\"france\")).isNull();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 54,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 55,
+ "code": " cache.put(\"france\", \"paris\");",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 56,
+ "code": " cache.put(\"italy\", \"rome\");",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 57,
+ "code": " assertThat(cache.get(\"france\")).isEqualTo(\"paris\");",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 58,
+ "code": " assertThat(cache.keySet()).containsOnly(\"france\", \"italy\");",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 59,
+ "code": " assertThat(cache.keySet(\"france\")).isEmpty();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 60,
+ "code": " assertThat(cache.values()).containsOnly(\"paris\", \"rome\");",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 61,
+ "code": " assertThat(cache.containsKey(\"france\")).isTrue();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 62,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 63,
+ "code": " Cache.Entry[] entries = Iterables.toArray(cache.entries(), Cache.Entry.class);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "db81d934752174207268c49658963ba98665794b",
+ "scmDate": "2014-02-20T07:35:27+0100"
+ },
+ {
+ "line": 64,
+ "code": " assertThat(entries).hasSize(2);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 65,
+ "code": " assertThat(entries[0].key()[0]).isEqualTo(\"france\");",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 66,
+ "code": " assertThat(entries[0].value()).isEqualTo(\"paris\");",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 67,
+ "code": " assertThat(entries[1].key()[0]).isEqualTo(\"italy\");",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 68,
+ "code": " assertThat(entries[1].value()).isEqualTo(\"rome\");",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 69,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 70,
+ "code": " cache.remove(\"france\");",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 71,
+ "code": " assertThat(cache.get(\"france\")).isNull();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 72,
+ "code": " assertThat(cache.get(\"italy\")).isEqualTo(\"rome\");",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 73,
+ "code": " assertThat(cache.keySet()).containsOnly(\"italy\");",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 74,
+ "code": " assertThat(cache.keySet(\"france\")).isEmpty();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 75,
+ "code": " assertThat(cache.containsKey(\"france\")).isFalse();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 76,
+ "code": " assertThat(cache.containsKey(\"italy\")).isTrue();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 77,
+ "code": " assertThat(cache.values()).containsOnly(\"rome\");",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 78,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 79,
+ "code": " cache.clear();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 80,
+ "code": " assertThat(cache.values()).isEmpty();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 81,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 82,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 83,
+ "code": " @Test",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 84,
+ "code": " public void test_key_being_prefix_of_another_key() throws Exception {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "2a37a23b0ff74cd69a3a4c9053f3a2331b234097",
+ "scmDate": "2013-05-31T12:42:59+0200"
+ },
+ {
+ "line": 85,
+ "code": " Cache<String> cache = caches.createCache(\"components\");",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 86,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "2a37a23b0ff74cd69a3a4c9053f3a2331b234097",
+ "scmDate": "2013-05-31T12:42:59+0200"
+ },
+ {
+ "line": 87,
+ "code": " cache.put(\"struts-el:org.apache.strutsel.taglib.html.ELButtonTag\", \"the Tag\");",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "2a37a23b0ff74cd69a3a4c9053f3a2331b234097",
+ "scmDate": "2013-05-31T12:42:59+0200"
+ },
+ {
+ "line": 88,
+ "code": " cache.put(\"struts-el:org.apache.strutsel.taglib.html.ELButtonTagBeanInfo\", \"the BeanInfo\");",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "2a37a23b0ff74cd69a3a4c9053f3a2331b234097",
+ "scmDate": "2013-05-31T12:42:59+0200"
+ },
+ {
+ "line": 89,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "2a37a23b0ff74cd69a3a4c9053f3a2331b234097",
+ "scmDate": "2013-05-31T12:42:59+0200"
+ },
+ {
+ "line": 90,
+ "code": " assertThat(cache.get(\"struts-el:org.apache.strutsel.taglib.html.ELButtonTag\")).isEqualTo(\"the Tag\");",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "2a37a23b0ff74cd69a3a4c9053f3a2331b234097",
+ "scmDate": "2013-05-31T12:42:59+0200"
+ },
+ {
+ "line": 91,
+ "code": " assertThat(cache.get(\"struts-el:org.apache.strutsel.taglib.html.ELButtonTagBeanInfo\")).isEqualTo(\"the BeanInfo\");",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "2a37a23b0ff74cd69a3a4c9053f3a2331b234097",
+ "scmDate": "2013-05-31T12:42:59+0200"
+ },
+ {
+ "line": 92,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "2a37a23b0ff74cd69a3a4c9053f3a2331b234097",
+ "scmDate": "2013-05-31T12:42:59+0200"
+ },
+ {
+ "line": 93,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "2a37a23b0ff74cd69a3a4c9053f3a2331b234097",
+ "scmDate": "2013-05-31T12:42:59+0200"
+ },
+ {
+ "line": 94,
+ "code": " @Test",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "2a37a23b0ff74cd69a3a4c9053f3a2331b234097",
+ "scmDate": "2013-05-31T12:42:59+0200"
+ },
+ {
+ "line": 95,
+ "code": " public void two_parts_key() throws Exception {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 96,
+ "code": " Cache<String> cache = caches.createCache(\"capitals\");",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 97,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 98,
+ "code": " assertThat(cache.get(\"europe\", \"france\")).isNull();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 99,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 100,
+ "code": " cache.put(\"europe\", \"france\", \"paris\");",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 101,
+ "code": " cache.put(\"europe\", \"italy\", \"rome\");",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 102,
+ "code": " cache.put(\"asia\", \"china\", \"pekin\");",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 103,
+ "code": " assertThat(cache.get(\"europe\")).isNull();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 104,
+ "code": " assertThat(cache.get(\"europe\", \"france\")).isEqualTo(\"paris\");",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 105,
+ "code": " assertThat(cache.get(\"europe\", \"italy\")).isEqualTo(\"rome\");",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 106,
+ "code": " assertThat(cache.get(\"europe\")).isNull();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 107,
+ "code": " assertThat(cache.keySet(\"europe\")).containsOnly(\"france\", \"italy\");",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 108,
+ "code": " assertThat(cache.keySet()).containsOnly(\"europe\", \"asia\");",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 109,
+ "code": " assertThat(cache.containsKey(\"europe\")).isFalse();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 110,
+ "code": " assertThat(cache.containsKey(\"europe\", \"france\")).isTrue();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 111,
+ "code": " assertThat(cache.containsKey(\"europe\", \"spain\")).isFalse();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 112,
+ "code": " assertThat(cache.values()).containsOnly(\"paris\", \"rome\", \"pekin\");",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 113,
+ "code": " assertThat(cache.values(\"america\")).isEmpty();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 114,
+ "code": " assertThat(cache.values(\"europe\")).containsOnly(\"paris\", \"rome\");",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 115,
+ "code": " assertThat(cache.values(\"oceania\")).isEmpty();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 116,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 117,
+ "code": " Cache.Entry[] allEntries = Iterables.toArray(cache.entries(), Cache.Entry.class);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "db81d934752174207268c49658963ba98665794b",
+ "scmDate": "2014-02-20T07:35:27+0100"
+ },
+ {
+ "line": 118,
+ "code": " assertThat(allEntries).hasSize(3);",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 119,
+ "code": " assertThat(allEntries[0].key()).isEqualTo(new String[] {\"asia\", \"china\"});",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 120,
+ "code": " assertThat(allEntries[0].value()).isEqualTo(\"pekin\");",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 121,
+ "code": " assertThat(allEntries[1].key()).isEqualTo(new String[] {\"europe\", \"france\"});",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 122,
+ "code": " assertThat(allEntries[1].value()).isEqualTo(\"paris\");",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 123,
+ "code": " assertThat(allEntries[2].key()).isEqualTo(new String[] {\"europe\", \"italy\"});",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 124,
+ "code": " assertThat(allEntries[2].value()).isEqualTo(\"rome\");",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 125,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 126,
+ "code": " Cache.Entry[] subEntries = Iterables.toArray(cache.entries(\"europe\"), Cache.Entry.class);",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 127,
+ "code": " assertThat(subEntries).hasSize(2);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 128,
+ "code": " assertThat(subEntries[0].key()).isEqualTo(new String[] {\"europe\", \"france\"});",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 129,
+ "code": " assertThat(subEntries[0].value()).isEqualTo(\"paris\");",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 130,
+ "code": " assertThat(subEntries[1].key()).isEqualTo(new String[] {\"europe\", \"italy\"});",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 131,
+ "code": " assertThat(subEntries[1].value()).isEqualTo(\"rome\");",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 132,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 133,
+ "code": " cache.remove(\"europe\", \"france\");",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 134,
+ "code": " assertThat(cache.values()).containsOnly(\"rome\", \"pekin\");",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 135,
+ "code": " assertThat(cache.get(\"europe\", \"france\")).isNull();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 136,
+ "code": " assertThat(cache.get(\"europe\", \"italy\")).isEqualTo(\"rome\");",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 137,
+ "code": " assertThat(cache.containsKey(\"europe\", \"france\")).isFalse();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 138,
+ "code": " assertThat(cache.keySet(\"europe\")).containsOnly(\"italy\");",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 139,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 140,
+ "code": " cache.clear(\"america\");",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 141,
+ "code": " assertThat(cache.keySet()).containsOnly(\"europe\", \"asia\");",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 142,
+ "code": " cache.clear();",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 143,
+ "code": " assertThat(cache.keySet()).isEmpty();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 144,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 145,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 146,
+ "code": " @Test",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 147,
+ "code": " public void three_parts_key() throws Exception {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 148,
+ "code": " Cache<String> cache = caches.createCache(\"places\");",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 149,
+ "code": " assertThat(cache.get(\"europe\", \"france\", \"paris\")).isNull();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 150,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 151,
+ "code": " cache.put(\"europe\", \"france\", \"paris\", \"eiffel tower\");",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 152,
+ "code": " cache.put(\"europe\", \"france\", \"annecy\", \"lake\");",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 153,
+ "code": " cache.put(\"europe\", \"france\", \"poitiers\", \"notre dame\");",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 154,
+ "code": " cache.put(\"europe\", \"italy\", \"rome\", \"colosseum\");",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 155,
+ "code": " cache.put(\"europe2\", \"ukrania\", \"kiev\", \"dunno\");",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 156,
+ "code": " cache.put(\"asia\", \"china\", \"pekin\", \"great wall\");",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 157,
+ "code": " cache.put(\"america\", \"us\", \"new york\", \"empire state building\");",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 158,
+ "code": " assertThat(cache.get(\"europe\")).isNull();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 159,
+ "code": " assertThat(cache.get(\"europe\", \"france\")).isNull();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 160,
+ "code": " assertThat(cache.get(\"europe\", \"france\", \"paris\")).isEqualTo(\"eiffel tower\");",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 161,
+ "code": " assertThat(cache.get(\"europe\", \"france\", \"annecy\")).isEqualTo(\"lake\");",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 162,
+ "code": " assertThat(cache.get(\"europe\", \"italy\", \"rome\")).isEqualTo(\"colosseum\");",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 163,
+ "code": " assertThat(cache.keySet()).containsOnly(\"europe\", \"asia\", \"america\", \"europe2\");",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 164,
+ "code": " assertThat(cache.keySet(\"europe\")).containsOnly(\"france\", \"italy\");",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 165,
+ "code": " assertThat(cache.keySet(\"europe\", \"france\")).containsOnly(\"annecy\", \"paris\", \"poitiers\");",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 166,
+ "code": " assertThat(cache.containsKey(\"europe\")).isFalse();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 167,
+ "code": " assertThat(cache.containsKey(\"europe\", \"france\")).isFalse();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 168,
+ "code": " assertThat(cache.containsKey(\"europe\", \"france\", \"annecy\")).isTrue();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 169,
+ "code": " assertThat(cache.containsKey(\"europe\", \"france\", \"biarritz\")).isFalse();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 170,
+ "code": " assertThat(cache.values()).containsOnly(\"eiffel tower\", \"lake\", \"colosseum\", \"notre dame\", \"great wall\", \"empire state building\", \"dunno\");",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 171,
+ "code": " assertThat(cache.values(\"europe\")).containsOnly(\"eiffel tower\", \"lake\", \"colosseum\", \"notre dame\");",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 172,
+ "code": " assertThat(cache.values(\"europe\", \"france\")).containsOnly(\"eiffel tower\", \"lake\", \"notre dame\");",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 173,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 174,
+ "code": " Cache.Entry[] allEntries = Iterables.toArray(cache.entries(), Cache.Entry.class);",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "db81d934752174207268c49658963ba98665794b",
+ "scmDate": "2014-02-20T07:35:27+0100"
+ },
+ {
+ "line": 175,
+ "code": " assertThat(allEntries).hasSize(7);",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 176,
+ "code": " assertThat(allEntries[0].key()).isEqualTo(new String[] {\"america\", \"us\", \"new york\"});",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 177,
+ "code": " assertThat(allEntries[0].value()).isEqualTo(\"empire state building\");",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 178,
+ "code": " assertThat(allEntries[1].key()).isEqualTo(new String[] {\"asia\", \"china\", \"pekin\"});",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 179,
+ "code": " assertThat(allEntries[1].value()).isEqualTo(\"great wall\");",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 180,
+ "code": " assertThat(allEntries[2].key()).isEqualTo(new String[] {\"europe\", \"france\", \"annecy\"});",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 181,
+ "code": " assertThat(allEntries[2].value()).isEqualTo(\"lake\");",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 182,
+ "code": " assertThat(allEntries[3].key()).isEqualTo(new String[] {\"europe\", \"france\", \"paris\"});",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 183,
+ "code": " assertThat(allEntries[3].value()).isEqualTo(\"eiffel tower\");",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 184,
+ "code": " assertThat(allEntries[4].key()).isEqualTo(new String[] {\"europe\", \"france\", \"poitiers\"});",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 185,
+ "code": " assertThat(allEntries[4].value()).isEqualTo(\"notre dame\");",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 186,
+ "code": " assertThat(allEntries[5].key()).isEqualTo(new String[] {\"europe\", \"italy\", \"rome\"});",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 187,
+ "code": " assertThat(allEntries[5].value()).isEqualTo(\"colosseum\");",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 188,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 189,
+ "code": " Cache.Entry[] subEntries = Iterables.toArray(cache.entries(\"europe\"), Cache.Entry.class);",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 190,
+ "code": " assertThat(subEntries).hasSize(4);",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 191,
+ "code": " assertThat(subEntries[0].key()).isEqualTo(new String[] {\"europe\", \"france\", \"annecy\"});",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 192,
+ "code": " assertThat(subEntries[0].value()).isEqualTo(\"lake\");",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 193,
+ "code": " assertThat(subEntries[1].key()).isEqualTo(new String[] {\"europe\", \"france\", \"paris\"});",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 194,
+ "code": " assertThat(subEntries[1].value()).isEqualTo(\"eiffel tower\");",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 195,
+ "code": " assertThat(subEntries[2].key()).isEqualTo(new String[] {\"europe\", \"france\", \"poitiers\"});",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 196,
+ "code": " assertThat(subEntries[2].value()).isEqualTo(\"notre dame\");",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 197,
+ "code": " assertThat(subEntries[3].key()).isEqualTo(new String[] {\"europe\", \"italy\", \"rome\"});",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 198,
+ "code": " assertThat(subEntries[3].value()).isEqualTo(\"colosseum\");",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 199,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 200,
+ "code": " cache.remove(\"europe\", \"france\", \"annecy\");",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 201,
+ "code": " assertThat(cache.values()).containsOnly(\"eiffel tower\", \"colosseum\", \"notre dame\", \"great wall\", \"empire state building\", \"dunno\");",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 202,
+ "code": " assertThat(cache.values(\"europe\")).containsOnly(\"eiffel tower\", \"colosseum\", \"notre dame\");",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 203,
+ "code": " assertThat(cache.values(\"europe\", \"france\")).containsOnly(\"eiffel tower\", \"notre dame\");",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 204,
+ "code": " assertThat(cache.get(\"europe\", \"france\", \"annecy\")).isNull();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 205,
+ "code": " assertThat(cache.get(\"europe\", \"italy\", \"rome\")).isEqualTo(\"colosseum\");",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 206,
+ "code": " assertThat(cache.containsKey(\"europe\", \"france\")).isFalse();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 207,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 208,
+ "code": " cache.clear(\"europe\", \"italy\");",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 209,
+ "code": " assertThat(cache.values()).containsOnly(\"eiffel tower\", \"notre dame\", \"great wall\", \"empire state building\", \"dunno\");",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 210,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 211,
+ "code": " cache.clear(\"europe\");",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 212,
+ "code": " assertThat(cache.values()).containsOnly(\"great wall\", \"empire state building\", \"dunno\");",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 213,
+ "code": "",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 214,
+ "code": " cache.clear();",
+ "scmAuthor": "julien.henry@sonarsource.com",
+ "scmRevision": "cc071cc29e8c4d4592282313a3ca2ec376fd7f71",
+ "scmDate": "2014-05-01T00:00:12+0200"
+ },
+ {
+ "line": 215,
+ "code": " assertThat(cache.values()).isEmpty();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 216,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 217,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 218,
+ "code": " @Test",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 219,
+ "code": " public void remove_versus_clear() throws Exception {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 220,
+ "code": " Cache<String> cache = caches.createCache(\"capitals\");",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 221,
+ "code": " cache.put(\"europe\", \"france\", \"paris\");",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 222,
+ "code": " cache.put(\"europe\", \"italy\", \"rome\");",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 223,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 224,
+ "code": " // remove(\"europe\") does not remove sub-keys",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 225,
+ "code": " cache.remove(\"europe\");",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 226,
+ "code": " assertThat(cache.values()).containsOnly(\"paris\", \"rome\");",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 227,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 228,
+ "code": " // clear(\"europe\") removes sub-keys",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 229,
+ "code": " cache.clear(\"europe\");",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 230,
+ "code": " assertThat(cache.values()).isEmpty();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 231,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 232,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 233,
+ "code": " @Test",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 234,
+ "code": " public void empty_cache() throws Exception {",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 235,
+ "code": " Cache<String> cache = caches.createCache(\"empty\");",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 236,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 237,
+ "code": " assertThat(cache.get(\"foo\")).isNull();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 238,
+ "code": " assertThat(cache.get(\"foo\", \"bar\")).isNull();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 239,
+ "code": " assertThat(cache.get(\"foo\", \"bar\", \"baz\")).isNull();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 240,
+ "code": " assertThat(cache.keySet()).isEmpty();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 241,
+ "code": " assertThat(cache.keySet(\"foo\")).isEmpty();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 242,
+ "code": " assertThat(cache.containsKey(\"foo\")).isFalse();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 243,
+ "code": " assertThat(cache.containsKey(\"foo\", \"bar\")).isFalse();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 244,
+ "code": " assertThat(cache.containsKey(\"foo\", \"bar\", \"baz\")).isFalse();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 245,
+ "code": " assertThat(cache.values()).isEmpty();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 246,
+ "code": " assertThat(cache.values(\"foo\")).isEmpty();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 247,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 248,
+ "code": " // do not fail",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 249,
+ "code": " cache.remove(\"foo\");",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 250,
+ "code": " cache.remove(\"foo\", \"bar\");",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 251,
+ "code": " cache.remove(\"foo\", \"bar\", \"baz\");",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 252,
+ "code": " cache.clear(\"foo\");",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 253,
+ "code": " cache.clear(\"foo\", \"bar\");",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 254,
+ "code": " cache.clear(\"foo\", \"bar\", \"baz\");",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "e486fe02a0a38d3d9fb70690f7870c77e2265254",
+ "scmDate": "2014-02-20T07:23:08+0100"
+ },
+ {
+ "line": 255,
+ "code": " cache.clear();",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "26edff10d133e29e7013f803e7ef0d69ff593aeb",
+ "scmDate": "2013-04-16T17:26:34+0200"
+ },
+ {
+ "line": 256,
+ "code": " }",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "b5eb47872b34aa9d017dca62abfe49b2fd7af61b",
+ "scmDate": "2013-04-17T10:35:23+0200"
+ },
+ {
+ "line": 257,
+ "code": "}",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "108dc916996e3075eb21c6ae1bbc7c9a24f09ab0",
+ "scmDate": "2013-04-16T13:24:54+0200"
+ },
+ {
+ "line": 258,
+ "code": "",
+ "scmAuthor": "simon.brandhof@gmail.com",
+ "scmRevision": "108dc916996e3075eb21c6ae1bbc7c9a24f09ab0",
+ "scmDate": "2013-04-16T13:24:54+0200"
+ }
+]}
--- /dev/null
+{"tests": [
+ {
+ "name": "two_parts_key",
+ "status": "OK",
+ "durationInMs": 324,
+ "coveredLines": 0
+ },
+ {
+ "name": "remove_versus_clear",
+ "status": "OK",
+ "durationInMs": 81,
+ "coveredLines": 0
+ },
+ {
+ "name": "three_parts_key",
+ "status": "OK",
+ "durationInMs": 93,
+ "coveredLines": 0
+ },
+ {
+ "name": "test_key_being_prefix_of_another_key",
+ "status": "OK",
+ "durationInMs": 89,
+ "coveredLines": 0
+ },
+ {
+ "name": "one_part_key",
+ "status": "OK",
+ "durationInMs": 91,
+ "coveredLines": 0
+ },
+ {
+ "name": "empty_cache",
+ "status": "OK",
+ "durationInMs": 88,
+ "coveredLines": 0
+ }
+]}
--- /dev/null
+[
+ {
+ "id": 258,
+ "key": "org.codehaus.sonar:sonar-core",
+ "name": "SonarQube :: Core",
+ "scope": "PRJ",
+ "qualifier": "BRC",
+ "date": "2014-07-09T23:19:45+0600",
+ "creationDate": null,
+ "lname": "SonarQube :: Core",
+ "version": "4.5-SNAPSHOT",
+ "description": "Core components shared to batch and server",
+ "msr": [
+ {
+ "key": "coverage",
+ "val": 83.3,
+ "frmt_val": "83.3%"
+ },
+ {
+ "key": "ncloc",
+ "val": 17854.0,
+ "frmt_val": "17,854"
+ }
+ ]
+ },
+ {
+ "id": 17221,
+ "key": "org.codehaus.sonar:sonar-home",
+ "name": "SonarQube :: Home",
+ "scope": "PRJ",
+ "qualifier": "BRC",
+ "date": "2014-07-09T23:19:45+0600",
+ "creationDate": "2013-02-08T22:22:38+0600",
+ "lname": "SonarQube :: Home",
+ "version": "4.5-SNAPSHOT",
+ "description": "Access the user home directory that contains cache of files",
+ "msr": [
+ {
+ "key": "coverage",
+ "val": 75.1,
+ "frmt_val": "75.1%"
+ },
+ {
+ "key": "ncloc",
+ "val": 280.0,
+ "frmt_val": "280"
+ }
+ ]
+ },
+ {
+ "id": 2867,
+ "key": "org.codehaus.sonar:sonar-batch-maven-compat",
+ "name": "SonarQube :: Batch Maven Compat",
+ "scope": "PRJ",
+ "qualifier": "BRC",
+ "date": "2014-07-09T23:19:45+0600",
+ "creationDate": null,
+ "lname": "SonarQube :: Batch Maven Compat",
+ "version": "4.5-SNAPSHOT",
+ "description": "Compatibility layer, which provides MavenProject for non-Maven environments."
+ },
+ {
+ "id": 2871,
+ "key": "org.codehaus.sonar:sonar-maven3-plugin",
+ "name": "SonarQube :: Maven3 Plugin",
+ "scope": "PRJ",
+ "qualifier": "BRC",
+ "date": "2014-07-09T23:19:45+0600",
+ "creationDate": null,
+ "lname": "SonarQube :: Maven3 Plugin",
+ "version": "4.5-SNAPSHOT",
+ "description": "Open source platform for continuous inspection of code quality"
+ },
+ {
+ "id": 2872,
+ "key": "org.codehaus.sonar:sonar-server",
+ "name": "SonarQube :: Server",
+ "scope": "PRJ",
+ "qualifier": "BRC",
+ "date": "2014-07-09T23:19:45+0600",
+ "creationDate": null,
+ "lname": "SonarQube :: Server",
+ "version": "4.5-SNAPSHOT",
+ "description": "Open source platform for continuous inspection of code quality",
+ "msr": [
+ {
+ "key": "coverage",
+ "val": 87.8,
+ "frmt_val": "87.8%"
+ },
+ {
+ "key": "ncloc",
+ "val": 35987.0,
+ "frmt_val": "35,987"
+ }
+ ]
+ },
+ {
+ "id": 1227,
+ "key": "org.codehaus.sonar:sonar-ws-client",
+ "name": "SonarQube :: Web Service Client",
+ "scope": "PRJ",
+ "qualifier": "BRC",
+ "date": "2014-07-09T23:19:45+0600",
+ "creationDate": null,
+ "lname": "SonarQube :: Web Service Client",
+ "version": "4.5-SNAPSHOT",
+ "description": "Java Client Library for SonarQube Web Services",
+ "msr": [
+ {
+ "key": "coverage",
+ "val": 77.2,
+ "frmt_val": "77.2%"
+ },
+ {
+ "key": "ncloc",
+ "val": 6393.0,
+ "frmt_val": "6,393"
+ }
+ ]
+ },
+ {
+ "id": 1627,
+ "key": "org.codehaus.sonar.plugins:sonar-dbcleaner-plugin",
+ "name": "SonarQube :: Plugins :: Database Cleaner",
+ "scope": "PRJ",
+ "qualifier": "BRC",
+ "date": "2014-07-09T23:19:45+0600",
+ "creationDate": null,
+ "lname": "SonarQube :: Plugins :: Database Cleaner",
+ "version": "4.5-SNAPSHOT",
+ "description": "Optimizes database performances by removing old and useless data.",
+ "msr": [
+ {
+ "key": "coverage",
+ "val": 80.8,
+ "frmt_val": "80.8%"
+ },
+ {
+ "key": "ncloc",
+ "val": 397.0,
+ "frmt_val": "397"
+ }
+ ]
+ },
+ {
+ "id": 2881,
+ "key": "org.codehaus.sonar.plugins:sonar-design-plugin",
+ "name": "SonarQube :: Plugins :: Design",
+ "scope": "PRJ",
+ "qualifier": "BRC",
+ "date": "2014-07-09T23:19:45+0600",
+ "creationDate": null,
+ "lname": "SonarQube :: Plugins :: Design",
+ "version": "4.5-SNAPSHOT",
+ "description": "Open source platform for continuous inspection of code quality",
+ "msr": [
+ {
+ "key": "coverage",
+ "val": 28.4,
+ "frmt_val": "28.4%"
+ },
+ {
+ "key": "ncloc",
+ "val": 359.0,
+ "frmt_val": "359"
+ }
+ ]
+ },
+ {
+ "id": 2882,
+ "key": "org.codehaus.sonar.plugins:sonar-l10n-en-plugin",
+ "name": "SonarQube :: Plugins :: English Pack",
+ "scope": "PRJ",
+ "qualifier": "BRC",
+ "date": "2014-07-09T23:19:45+0600",
+ "creationDate": null,
+ "lname": "SonarQube :: Plugins :: English Pack",
+ "version": "4.5-SNAPSHOT",
+ "description": "Open source platform for continuous inspection of code quality",
+ "msr": [
+ {
+ "key": "coverage",
+ "val": 100.0,
+ "frmt_val": "100.0%"
+ },
+ {
+ "key": "ncloc",
+ "val": 9.0,
+ "frmt_val": "9"
+ }
+ ]
+ },
+ {
+ "id": 25120,
+ "key": "org.codehaus.sonar.plugins:sonar-xoo-plugin",
+ "name": "SonarQube :: Plugins :: Xoo",
+ "scope": "PRJ",
+ "qualifier": "BRC",
+ "date": "2014-07-09T23:19:45+0600",
+ "creationDate": "2014-01-17T16:38:52+0600",
+ "lname": "SonarQube :: Plugins :: Xoo",
+ "version": "4.5-SNAPSHOT",
+ "description": "Sample of plugin to document and test available APIs",
+ "msr": [
+ {
+ "key": "coverage",
+ "val": 50.0,
+ "frmt_val": "50.0%"
+ },
+ {
+ "key": "ncloc",
+ "val": 86.0,
+ "frmt_val": "86"
+ }
+ ]
+ },
+ {
+ "id": 2866,
+ "key": "org.codehaus.sonar:sonar-application",
+ "name": "SonarQube :: Application",
+ "scope": "PRJ",
+ "qualifier": "BRC",
+ "date": "2014-07-09T23:19:45+0600",
+ "creationDate": null,
+ "lname": "SonarQube :: Application",
+ "version": "4.5-SNAPSHOT",
+ "description": "Package the standalone distribution",
+ "msr": [
+ {
+ "key": "coverage",
+ "val": 90.2,
+ "frmt_val": "90.2%"
+ },
+ {
+ "key": "ncloc",
+ "val": 610.0,
+ "frmt_val": "610"
+ }
+ ]
+ },
+ {
+ "id": 33484,
+ "key": "org.codehaus.sonar:sonar-process",
+ "name": "SonarQube :: Process",
+ "scope": "PRJ",
+ "qualifier": "BRC",
+ "date": "2014-07-09T23:19:45+0600",
+ "creationDate": "2014-07-08T17:17:01+0600",
+ "lname": "SonarQube :: Process",
+ "version": "4.5-SNAPSHOT",
+ "description": "Open source platform for continuous inspection of code quality",
+ "msr": [
+ {
+ "key": "coverage",
+ "val": 68.9,
+ "frmt_val": "68.9%"
+ },
+ {
+ "key": "ncloc",
+ "val": 409.0,
+ "frmt_val": "409"
+ }
+ ]
+ },
+ {
+ "id": 33505,
+ "key": "org.codehaus.sonar:sonar-search",
+ "name": "SonarQube :: Search",
+ "scope": "PRJ",
+ "qualifier": "BRC",
+ "date": "2014-07-09T23:19:45+0600",
+ "creationDate": "2014-07-09T23:19:46+0600",
+ "lname": "SonarQube :: Search",
+ "version": "4.5-SNAPSHOT",
+ "description": "Open source platform for continuous inspection of code quality",
+ "msr": [
+ {
+ "key": "coverage",
+ "val": 24.2,
+ "frmt_val": "24.2%"
+ },
+ {
+ "key": "ncloc",
+ "val": 226.0,
+ "frmt_val": "226"
+ }
+ ]
+ },
+ {
+ "id": 1624,
+ "key": "org.codehaus.sonar:sonar-batch",
+ "name": "SonarQube :: Batch",
+ "scope": "PRJ",
+ "qualifier": "BRC",
+ "date": "2014-07-09T23:19:45+0600",
+ "creationDate": null,
+ "lname": "SonarQube :: Batch",
+ "version": "4.5-SNAPSHOT",
+ "description": "Open source platform for continuous inspection of code quality",
+ "msr": [
+ {
+ "key": "coverage",
+ "val": 76.7,
+ "frmt_val": "76.7%"
+ },
+ {
+ "key": "ncloc",
+ "val": 15301.0,
+ "frmt_val": "15,301"
+ }
+ ]
+ },
+ {
+ "id": 17,
+ "key": "org.codehaus.sonar:sonar-check-api",
+ "name": "SonarQube :: Check API",
+ "scope": "PRJ",
+ "qualifier": "BRC",
+ "date": "2014-07-09T23:19:45+0600",
+ "creationDate": null,
+ "lname": "SonarQube :: Check API",
+ "version": "4.5-SNAPSHOT",
+ "description": "Check API",
+ "msr": [
+ {
+ "key": "ncloc",
+ "val": 57.0,
+ "frmt_val": "57"
+ }
+ ]
+ },
+ {
+ "id": 18,
+ "key": "org.codehaus.sonar:sonar-colorizer",
+ "name": "SonarQube :: Code Colorizer",
+ "scope": "PRJ",
+ "qualifier": "BRC",
+ "date": "2014-07-09T23:19:45+0600",
+ "creationDate": null,
+ "lname": "SonarQube :: Code Colorizer",
+ "version": "4.5-SNAPSHOT",
+ "description": "Code syntax highlighter",
+ "msr": [
+ {
+ "key": "coverage",
+ "val": 89.2,
+ "frmt_val": "89.2%"
+ },
+ {
+ "key": "ncloc",
+ "val": 784.0,
+ "frmt_val": "784"
+ }
+ ]
+ },
+ {
+ "id": 1625,
+ "key": "org.codehaus.sonar:sonar-deprecated",
+ "name": "SonarQube :: Deprecated",
+ "scope": "PRJ",
+ "qualifier": "BRC",
+ "date": "2014-07-09T23:19:45+0600",
+ "creationDate": null,
+ "lname": "SonarQube :: Deprecated",
+ "version": "4.5-SNAPSHOT",
+ "description": "Open source platform for continuous inspection of code quality",
+ "msr": [
+ {
+ "key": "coverage",
+ "val": 52.0,
+ "frmt_val": "52.0%"
+ },
+ {
+ "key": "ncloc",
+ "val": 1375.0,
+ "frmt_val": "1,375"
+ }
+ ]
+ },
+ {
+ "id": 20,
+ "key": "org.codehaus.sonar:sonar-duplications",
+ "name": "SonarQube :: Duplications",
+ "scope": "PRJ",
+ "qualifier": "BRC",
+ "date": "2014-07-09T23:19:45+0600",
+ "creationDate": null,
+ "lname": "SonarQube :: Duplications",
+ "version": "4.5-SNAPSHOT",
+ "description": "Detect duplicated code",
+ "msr": [
+ {
+ "key": "coverage",
+ "val": 85.1,
+ "frmt_val": "85.1%"
+ },
+ {
+ "key": "ncloc",
+ "val": 2693.0,
+ "frmt_val": "2,693"
+ }
+ ]
+ },
+ {
+ "id": 21,
+ "key": "org.codehaus.sonar:sonar-graph",
+ "name": "SonarQube :: Graph",
+ "scope": "PRJ",
+ "qualifier": "BRC",
+ "date": "2014-07-09T23:19:45+0600",
+ "creationDate": null,
+ "lname": "SonarQube :: Graph",
+ "version": "4.5-SNAPSHOT",
+ "description": "Open source platform for continuous inspection of code quality",
+ "msr": [
+ {
+ "key": "coverage",
+ "val": 93.0,
+ "frmt_val": "93.0%"
+ },
+ {
+ "key": "ncloc",
+ "val": 997.0,
+ "frmt_val": "997"
+ }
+ ]
+ },
+ {
+ "id": 1626,
+ "key": "org.codehaus.sonar:sonar-java-api",
+ "name": "SonarQube :: Java API",
+ "scope": "PRJ",
+ "qualifier": "BRC",
+ "date": "2014-07-09T23:19:45+0600",
+ "creationDate": null,
+ "lname": "SonarQube :: Java API",
+ "version": "4.5-SNAPSHOT",
+ "description": "Open source platform for continuous inspection of code quality",
+ "msr": [
+ {
+ "key": "coverage",
+ "val": 60.9,
+ "frmt_val": "60.9%"
+ },
+ {
+ "key": "ncloc",
+ "val": 265.0,
+ "frmt_val": "265"
+ }
+ ]
+ },
+ {
+ "id": 2869,
+ "key": "org.codehaus.sonar:sonar-markdown",
+ "name": "SonarQube :: Markdown",
+ "scope": "PRJ",
+ "qualifier": "BRC",
+ "date": "2014-07-09T23:19:45+0600",
+ "creationDate": null,
+ "lname": "SonarQube :: Markdown",
+ "version": "4.5-SNAPSHOT",
+ "description": "Open source platform for continuous inspection of code quality",
+ "msr": [
+ {
+ "key": "coverage",
+ "val": 95.5,
+ "frmt_val": "95.5%"
+ },
+ {
+ "key": "ncloc",
+ "val": 340.0,
+ "frmt_val": "340"
+ }
+ ]
+ },
+ {
+ "id": 2870,
+ "key": "org.codehaus.sonar:sonar-maven-plugin",
+ "name": "SonarQube :: Maven2 Plugin",
+ "scope": "PRJ",
+ "qualifier": "BRC",
+ "date": "2014-07-09T23:19:45+0600",
+ "creationDate": null,
+ "lname": "SonarQube :: Maven2 Plugin",
+ "version": "4.5-SNAPSHOT",
+ "description": "Open source platform for continuous inspection of code quality",
+ "msr": [
+ {
+ "key": "coverage",
+ "val": 16.9,
+ "frmt_val": "16.9%"
+ },
+ {
+ "key": "ncloc",
+ "val": 122.0,
+ "frmt_val": "122"
+ }
+ ]
+ },
+ {
+ "id": 16,
+ "key": "org.codehaus.sonar:sonar-plugin-api",
+ "name": "SonarQube :: Plugin API",
+ "scope": "PRJ",
+ "qualifier": "BRC",
+ "date": "2014-07-09T23:19:45+0600",
+ "creationDate": null,
+ "lname": "SonarQube :: Plugin API",
+ "version": "4.5-SNAPSHOT",
+ "description": "Open source platform for continuous inspection of code quality",
+ "msr": [
+ {
+ "key": "coverage",
+ "val": 71.8,
+ "frmt_val": "71.8%"
+ },
+ {
+ "key": "ncloc",
+ "val": 22421.0,
+ "frmt_val": "22,421"
+ }
+ ]
+ },
+ {
+ "id": 251,
+ "key": "org.codehaus.sonar:sonar-testing-harness",
+ "name": "SonarQube :: Testing Harness",
+ "scope": "PRJ",
+ "qualifier": "BRC",
+ "date": "2014-07-09T23:19:45+0600",
+ "creationDate": null,
+ "lname": "SonarQube :: Testing Harness",
+ "version": "4.5-SNAPSHOT",
+ "description": "Open source platform for continuous inspection of code quality",
+ "msr": [
+ {
+ "key": "ncloc",
+ "val": 265.0,
+ "frmt_val": "265"
+ }
+ ]
+ },
+ {
+ "id": 2873,
+ "key": "org.codehaus.sonar.plugins:sonar-core-plugin",
+ "name": "SonarQube :: Plugins :: Core",
+ "scope": "PRJ",
+ "qualifier": "BRC",
+ "date": "2014-07-09T23:19:45+0600",
+ "creationDate": null,
+ "lname": "SonarQube :: Plugins :: Core",
+ "version": "4.5-SNAPSHOT",
+ "description": "Open source platform for continuous inspection of code quality",
+ "msr": [
+ {
+ "key": "coverage",
+ "val": 86.4,
+ "frmt_val": "86.4%"
+ },
+ {
+ "key": "ncloc",
+ "val": 4904.0,
+ "frmt_val": "4,904"
+ }
+ ]
+ },
+ {
+ "id": 2879,
+ "key": "org.codehaus.sonar.plugins:sonar-cpd-plugin",
+ "name": "SonarQube :: Plugins :: CPD",
+ "scope": "PRJ",
+ "qualifier": "BRC",
+ "date": "2014-07-09T23:19:45+0600",
+ "creationDate": null,
+ "lname": "SonarQube :: Plugins :: CPD",
+ "version": "4.5-SNAPSHOT",
+ "description": "Find duplicated source code within project.",
+ "msr": [
+ {
+ "key": "coverage",
+ "val": 42.6,
+ "frmt_val": "42.6%"
+ },
+ {
+ "key": "ncloc",
+ "val": 722.0,
+ "frmt_val": "722"
+ }
+ ]
+ },
+ {
+ "id": 2883,
+ "key": "org.codehaus.sonar.plugins:sonar-email-notifications-plugin",
+ "name": "SonarQube :: Plugins :: Email Notifications",
+ "scope": "PRJ",
+ "qualifier": "BRC",
+ "date": "2014-07-09T23:19:45+0600",
+ "creationDate": null,
+ "lname": "SonarQube :: Plugins :: Email Notifications",
+ "version": "4.5-SNAPSHOT",
+ "description": "Email Notifications",
+ "msr": [
+ {
+ "key": "coverage",
+ "val": 80.6,
+ "frmt_val": "80.6%"
+ },
+ {
+ "key": "ncloc",
+ "val": 267.0,
+ "frmt_val": "267"
+ }
+ ]
+ }
+]
--- /dev/null
+{"metrics": {
+ "coverage": {
+ "name": "Coverage",
+ "type": "PERCENT",
+ "direction": 1,
+ "worstValue": 0.0,
+ "bestValue": 100.0
+ },
+ "ncloc": {
+ "name": "Lines of code",
+ "type": "INT",
+ "direction": -1
+ }
+}, "components": [
+ {
+ "key": "org.codehaus.sonar:sonar",
+ "name": "SonarQube",
+ "longName": "SonarQube",
+ "qualifier": "TRK",
+ "measures": {
+ "coverage": {
+ "val": 80.4,
+ "fval": "80.4%"
+ },
+ "ncloc": {
+ "val": 113123.0,
+ "fval": "113,123"
+ }
+ }
+ },
+ {
+ "key": "org.codehaus.sonar:sonar-persistit",
+ "name": "sonar-persistit",
+ "longName": "sonar-persistit",
+ "qualifier": "TRK",
+ "measures": {
+ "ncloc": {
+ "val": 45330.0,
+ "fval": "45,330"
+ }
+ }
+ },
+ {
+ "key": "com.sonarsource.cpp:cpp",
+ "name": "SonarSource :: CPP",
+ "longName": "SonarSource :: CPP",
+ "qualifier": "TRK",
+ "measures": {
+ "coverage": {
+ "val": 90.4,
+ "fval": "90.4%"
+ },
+ "ncloc": {
+ "val": 31250.0,
+ "fval": "31,250"
+ }
+ }
+ },
+ {
+ "key": "org.codehaus.sonar-plugins.java:java",
+ "name": "SonarQube Java",
+ "longName": "SonarQube Java",
+ "qualifier": "TRK",
+ "measures": {
+ "coverage": {
+ "val": 90.1,
+ "fval": "90.1%"
+ },
+ "ncloc": {
+ "val": 22588.0,
+ "fval": "22,588"
+ }
+ }
+ },
+ {
+ "key": "com.sonarsource.cobol:cobol",
+ "name": "SonarSource :: Cobol",
+ "longName": "SonarSource :: Cobol",
+ "qualifier": "TRK",
+ "measures": {
+ "coverage": {
+ "val": 83.5,
+ "fval": "83.5%"
+ },
+ "ncloc": {
+ "val": 20879.0,
+ "fval": "20,879"
+ }
+ }
+ },
+ {
+ "key": "com.sonarsource.plsql:plsql",
+ "name": "SonarSource :: PL/SQL",
+ "longName": "SonarSource :: PL/SQL",
+ "qualifier": "TRK",
+ "measures": {
+ "coverage": {
+ "val": 96.6,
+ "fval": "96.6%"
+ },
+ "ncloc": {
+ "val": 12110.0,
+ "fval": "12,110"
+ }
+ }
+ },
+ {
+ "key": "org.codehaus.sonar.sslr:sslr",
+ "name": "SonarSource :: Language Recognizer",
+ "longName": "SonarSource :: Language Recognizer",
+ "qualifier": "TRK",
+ "measures": {
+ "coverage": {
+ "val": 80.3,
+ "fval": "80.3%"
+ },
+ "ncloc": {
+ "val": 8698.0,
+ "fval": "8,698"
+ }
+ }
+ },
+ {
+ "key": "org.codehaus.sonar-ide.eclipse:eclipse-parent",
+ "name": "SonarQube Integration for Eclipse (parent)",
+ "longName": "SonarQube Integration for Eclipse (parent)",
+ "qualifier": "TRK",
+ "measures": {
+ "coverage": {
+ "val": 17.2,
+ "fval": "17.2%"
+ },
+ "ncloc": {
+ "val": 7924.0,
+ "fval": "7,924"
+ }
+ }
+ },
+ {
+ "key": "org.codehaus.sonar-plugins.php:parent",
+ "name": "PHP",
+ "longName": "PHP",
+ "qualifier": "TRK",
+ "measures": {
+ "coverage": {
+ "val": 94.9,
+ "fval": "94.9%"
+ },
+ "ncloc": {
+ "val": 7134.0,
+ "fval": "7,134"
+ }
+ }
+ },
+ {
+ "key": "org.codehaus.sonar-plugins.javascript:javascript",
+ "name": "JavaScript",
+ "longName": "JavaScript",
+ "qualifier": "TRK",
+ "measures": {
+ "coverage": {
+ "val": 94.0,
+ "fval": "94.0%"
+ },
+ "ncloc": {
+ "val": 6820.0,
+ "fval": "6,820"
+ }
+ }
+ },
+ {
+ "key": "com.maif.sonar:maif-cobol-plugin",
+ "name": "MAIF :: Cobol plugin",
+ "longName": "MAIF :: Cobol plugin",
+ "qualifier": "TRK",
+ "measures": {
+ "coverage": {
+ "val": 91.6,
+ "fval": "91.6%"
+ },
+ "ncloc": {
+ "val": 6684.0,
+ "fval": "6,684"
+ }
+ }
+ },
+ {
+ "key": "com.sonarsource.vbnet:vbnet",
+ "name": "SonarSource :: Visual Basic .NET",
+ "longName": "SonarSource :: Visual Basic .NET",
+ "qualifier": "TRK",
+ "measures": {
+ "coverage": {
+ "val": 94.3,
+ "fval": "94.3%"
+ },
+ "ncloc": {
+ "val": 6416.0,
+ "fval": "6,416"
+ }
+ }
+ },
+ {
+ "key": "com.sonarsource.orchestrator:orchestrator-parent",
+ "name": "SonarSource :: Orchestrator :: Parent",
+ "longName": "SonarSource :: Orchestrator :: Parent",
+ "qualifier": "TRK",
+ "measures": {
+ "coverage": {
+ "val": 76.1,
+ "fval": "76.1%"
+ },
+ "ncloc": {
+ "val": 5815.0,
+ "fval": "5,815"
+ }
+ }
+ },
+ {
+ "key": "org.codehaus.sonar-plugins.flex:flex",
+ "name": "Flex",
+ "longName": "Flex",
+ "qualifier": "TRK",
+ "measures": {
+ "coverage": {
+ "val": 93.1,
+ "fval": "93.1%"
+ },
+ "ncloc": {
+ "val": 5401.0,
+ "fval": "5,401"
+ }
+ }
+ },
+ {
+ "key": "org.codehaus.sonar-plugins.dotnet.csharp:sonar-csharp-squid",
+ "name": "SonarQube C# Plugin",
+ "longName": "SonarQube C# Plugin",
+ "qualifier": "TRK",
+ "measures": {
+ "coverage": {
+ "val": 90.3,
+ "fval": "90.3%"
+ },
+ "ncloc": {
+ "val": 4930.0,
+ "fval": "4,930"
+ }
+ }
+ },
+ {
+ "key": "com.sonarsource.rpg:rpg",
+ "name": "SonarSource :: RPG",
+ "longName": "SonarSource :: RPG",
+ "qualifier": "TRK",
+ "measures": {
+ "coverage": {
+ "val": 92.7,
+ "fval": "92.7%"
+ },
+ "ncloc": {
+ "val": 4235.0,
+ "fval": "4,235"
+ }
+ }
+ },
+ {
+ "key": "com.sonarsource.plugins.vb:vb",
+ "name": "SonarSource :: Visual Basic",
+ "longName": "SonarSource :: Visual Basic",
+ "qualifier": "TRK",
+ "measures": {
+ "coverage": {
+ "val": 96.1,
+ "fval": "96.1%"
+ },
+ "ncloc": {
+ "val": 4190.0,
+ "fval": "4,190"
+ }
+ }
+ },
+ {
+ "key": "org.codehaus.sonar-plugins.erlang:erlang",
+ "name": "Erlang",
+ "longName": "Erlang",
+ "qualifier": "TRK",
+ "measures": {
+ "coverage": {
+ "val": 88.6,
+ "fval": "88.6%"
+ },
+ "ncloc": {
+ "val": 3843.0,
+ "fval": "3,843"
+ }
+ }
+ },
+ {
+ "key": "org.codehaus.sonar-plugins:sonar-web-plugin",
+ "name": "SonarQube Web Plugin",
+ "longName": "SonarQube Web Plugin",
+ "qualifier": "TRK",
+ "measures": {
+ "coverage": {
+ "val": 94.4,
+ "fval": "94.4%"
+ },
+ "ncloc": {
+ "val": 3816.0,
+ "fval": "3,816"
+ }
+ }
+ },
+ {
+ "key": "org.codehaus.sonar-plugins.python:python",
+ "name": "Python",
+ "longName": "Python",
+ "qualifier": "TRK",
+ "measures": {
+ "coverage": {
+ "val": 91.5,
+ "fval": "91.5%"
+ },
+ "ncloc": {
+ "val": 3631.0,
+ "fval": "3,631"
+ }
+ }
+ },
+ {
+ "key": "com.sonarsource.abap:abap",
+ "name": "SonarSource :: ABAP",
+ "longName": "SonarSource :: ABAP",
+ "qualifier": "TRK",
+ "measures": {
+ "coverage": {
+ "val": 95.1,
+ "fval": "95.1%"
+ },
+ "ncloc": {
+ "val": 3603.0,
+ "fval": "3,603"
+ }
+ }
+ },
+ {
+ "key": "com.sonarsource.pli:pli",
+ "name": "SonarSource :: PL/I",
+ "longName": "SonarSource :: PL/I",
+ "qualifier": "TRK",
+ "measures": {
+ "coverage": {
+ "val": 95.7,
+ "fval": "95.7%"
+ },
+ "ncloc": {
+ "val": 3387.0,
+ "fval": "3,387"
+ }
+ }
+ },
+ {
+ "key": "org.codehaus.sonar.sslr-squid-bridge:sslr-squid-bridge",
+ "name": "SonarSource :: Language Recognizer :: Squid Bridge",
+ "longName": "SonarSource :: Language Recognizer :: Squid Bridge",
+ "qualifier": "TRK",
+ "measures": {
+ "coverage": {
+ "val": 85.2,
+ "fval": "85.2%"
+ },
+ "ncloc": {
+ "val": 3250.0,
+ "fval": "3,250"
+ }
+ }
+ },
+ {
+ "key": "org.codehaus.sonar:sonar-update-center",
+ "name": "Sonar :: Update Center",
+ "longName": "Sonar :: Update Center",
+ "qualifier": "TRK",
+ "measures": {
+ "coverage": {
+ "val": 89.0,
+ "fval": "89.0%"
+ },
+ "ncloc": {
+ "val": 3192.0,
+ "fval": "3,192"
+ }
+ }
+ },
+ {
+ "key": "com.sonarsource.infra:jobs-creator",
+ "name": "Infra Jenkins Job Creator",
+ "longName": "Infra Jenkins Job Creator",
+ "qualifier": "TRK",
+ "measures": {
+ "coverage": {
+ "val": 50.6,
+ "fval": "50.6%"
+ },
+ "ncloc": {
+ "val": 2757.0,
+ "fval": "2,757"
+ }
+ }
+ },
+ {
+ "key": "com.sonarsource:sonar-dev-cockpit-plugin",
+ "name": "SonarSource :: Developer Cockpit",
+ "longName": "SonarSource :: Developer Cockpit",
+ "qualifier": "TRK",
+ "measures": {
+ "coverage": {
+ "val": 92.7,
+ "fval": "92.7%"
+ },
+ "ncloc": {
+ "val": 2692.0,
+ "fval": "2,692"
+ }
+ }
+ },
+ {
+ "key": "org.codehaus.sonar-ide.intellij:sonar-intellij-plugin",
+ "name": "SonarQube Integration for IntelliJ",
+ "longName": "SonarQube Integration for IntelliJ",
+ "qualifier": "TRK",
+ "measures": {
+ "coverage": {
+ "val": 0.2,
+ "fval": "0.2%"
+ },
+ "ncloc": {
+ "val": 2679.0,
+ "fval": "2,679"
+ }
+ }
+ },
+ {
+ "key": "com.sonarsource.views:sonar-views-plugin",
+ "name": "SonarSource :: Views",
+ "longName": "SonarSource :: Views",
+ "qualifier": "TRK",
+ "measures": {
+ "coverage": {
+ "val": 94.6,
+ "fval": "94.6%"
+ },
+ "ncloc": {
+ "val": 2630.0,
+ "fval": "2,630"
+ }
+ }
+ },
+ {
+ "key": "org.codehaus.sonar-plugins.css:css",
+ "name": "CSS",
+ "longName": "CSS",
+ "qualifier": "TRK",
+ "measures": {
+ "coverage": {
+ "val": 81.9,
+ "fval": "81.9%"
+ },
+ "ncloc": {
+ "val": 2485.0,
+ "fval": "2,485"
+ }
+ }
+ },
+ {
+ "key": "org.codehaus.sonar-plugins.xml:xml",
+ "name": "XML",
+ "longName": "XML",
+ "qualifier": "TRK",
+ "measures": {
+ "coverage": {
+ "val": 83.8,
+ "fval": "83.8%"
+ },
+ "ncloc": {
+ "val": 2122.0,
+ "fval": "2,122"
+ }
+ }
+ }
+], "maxResultsReached": false, "paging": {
+ "page": 1,
+ "pages": 3,
+ "pageSize": 30,
+ "total": 73
+}}
--- /dev/null
+/*
+ * SonarQube, open source software quality management tool.
+ * Copyright (C) 2008-2014 SonarSource
+ * mailto:contact AT sonarsource DOT com
+ *
+ * SonarQube 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.
+ *
+ * SonarQube 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.
+ */
+/* globals casper: false, exports: false */
+
+var fs = require('fs');
+
+var getPort = function () {
+ return casper.cli.options.port;
+};
+
+var BASE_URL = 'http://localhost:' + getPort() + '/pages/',
+ BASE_ROOT_URL = 'http://localhost:' + getPort(),
+ WINDOW_WIDTH = 1200,
+ WINDOW_HEIGHT = 800;
+
+
+exports.initMessages = function () {
+ if (casper.cli.options.verbose) {
+ // Dump log messages
+ casper.removeAllListeners('remote.message');
+ casper.on('remote.message', function (message) {
+ this.echo('Log: ' + message, 'LOG');
+ });
+
+ // Dump uncaught errors
+ casper.removeAllListeners('page.error');
+ casper.on('page.error', function (msg) {
+ this.echo('Error: ' + msg, 'ERROR');
+ });
+ }
+};
+
+
+exports.changeWorkingDirectory = function (dir) {
+ var commandLineArgs = require('system').args;
+ // Since Casper has control, the invoked script is deep in the argument stack
+ // commandLineArgs = casper/bin/bootstrap.js,--casper-path=.../casperjs,--cli,--test,[file(s) under test],[options]
+ var currentFile = commandLineArgs[4];
+ var curFilePath = fs.absolute(currentFile).split(fs.separator);
+ if (curFilePath.length > 1) {
+ curFilePath.pop(); // test name
+ curFilePath.pop(); // "js" dir
+ curFilePath.push('json');
+ curFilePath.push(dir);
+ fs.changeWorkingDirectory(curFilePath.join(fs.separator));
+ }
+};
+
+
+exports.configureCasper = function () {
+ casper.options.waitTimeout = 30000;
+};
+
+
+exports.testName = function () {
+ var head = Array.prototype.slice.call(arguments, 0);
+ return function () {
+ var tail = Array.prototype.slice.call(arguments, 0),
+ body = head.concat(tail);
+ return body.join(' :: ');
+ };
+};
+
+
+var mockRequest = function (url, response, options) {
+ return casper.evaluate(function (url, response, options) {
+ return jQuery.mockjax(_.extend({ url: url, responseText: response}, options));
+ }, url, response, options || {});
+};
+exports.mockRequest = mockRequest;
+
+
+exports.mockRequestFromFile = function (url, fileName, options) {
+ var response = fs.read(fileName);
+ return mockRequest(url, response, options);
+};
+
+
+exports.clearRequestMocks = function () {
+ casper.evaluate(function() {
+ jQuery.mockjaxClear();
+ });
+};
+
+
+exports.clearRequestMock = function (mockId) {
+ casper.evaluate(function(mockId) {
+ jQuery.mockjaxClear(mockId);
+ }, mockId);
+};
+
+
+function patchWithTimestamp(url) {
+ var t = Date.now(),
+ hashStart = url.indexOf('#'),
+ hash = hashStart !== -1 ? url.substr(hashStart) : '',
+ base = hashStart !== -1 ? url.substr(0, hashStart) : url;
+ return base + '?' + t + hash;
+}
+
+
+exports.buildUrl = function (urlTail) {
+ return patchWithTimestamp(BASE_URL + urlTail);
+};
+
+
+exports.buildRootUrl = function (urlTail) {
+ return patchWithTimestamp(BASE_ROOT_URL + urlTail);
+};
+
+
+exports.setDefaultViewport = function () {
+ casper.viewport(WINDOW_WIDTH, WINDOW_HEIGHT);
+};
+
+
+exports.capture = function (fileName) {
+ if (!fileName) {
+ fileName = 'screenshot.png';
+ }
+ casper.capture(fileName, { top: 0, left: 0, width: WINDOW_WIDTH, height: WINDOW_HEIGHT });
+};
+
+
+exports.waitForElementCount = function (selector, count, callback) {
+ return casper.waitFor(function () {
+ return casper.evaluate(function (selector, count) {
+ return document.querySelectorAll(selector).length === count;
+ }, selector, count);
+ }, callback);
+};
+
+exports.assertLinkHref = function assertElementCount(selector, href, message) {
+ var linkHref = this.casper.evaluate(function(selector) {
+ return document.querySelector(selector);
+ }, selector);
+ return this.assert(elementCount === count, message, {
+ type: "assertElementCount",
+ standard: f('%d element%s matching selector "%s" found',
+ count,
+ count > 1 ? 's' : '',
+ selector),
+ values: {
+ selector: selector,
+ expected: count,
+ obtained: elementCount
+ }
+ });
+};
+
+
+exports.sendCoverage = function () {
+ return casper.evaluate(function () {
+ console.log(Object.keys(window.__coverage__));
+ jQuery.ajax({
+ type: 'POST',
+ url: '/coverage/client',
+ data: JSON.stringify(window.__coverage__),
+ processData: false,
+ contentType: 'application/json; charset=UTF-8'
+ });
+ });
+};
--- /dev/null
+var express = require('express'),
+ path = require('path'),
+ errorhandler = require('errorhandler'),
+ serveStatic = require('serve-static'),
+ im = require('istanbul-middleware');
+
+var staticPath = path.join(__dirname, '../main/webapp');
+im.hookLoader(staticPath);
+
+var app = express();
+
+app.set('views', __dirname + '/views');
+app.set('view engine', 'jade');
+
+app.use(errorhandler({ dumpExceptions: true, showStack: true }));
+
+app.use(im.createClientHandler(staticPath));
+app.use('/coverage', im.createHandler());
+app.use('/', serveStatic(staticPath));
+
+app.get('/pages/:page', function (req, res) {
+ res.render(req.param('page'));
+});
+
+// Get the port from environment variables
+var port = process.env.PORT || 8000;
+
+app.listen(port);
+
+console.log('Server running on port %d', port);
--- /dev/null
+/*
+ * SonarQube, open source software quality management tool.
+ * Copyright (C) 2008-2014 SonarSource
+ * mailto:contact AT sonarsource DOT com
+ *
+ * SonarQube 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.
+ *
+ * SonarQube 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.
+ */
+var express = require('express'),
+ path = require('path'),
+ errorhandler = require('errorhandler'),
+ serveStatic = require('serve-static');
+
+var staticPath = path.join(__dirname, '../main/webapp');
+
+var app = express();
+
+app.set('views', __dirname + '/views');
+app.set('view engine', 'jade');
+
+app.use(errorhandler({ dumpExceptions: true, showStack: true }));
+
+app.use('/', serveStatic(staticPath));
+
+app.get('/pages/:page', function (req, res) {
+ res.render(req.param('page'));
+});
+
+// Get the port from environment variables
+var port = process.env.PORT || 8000;
+
+app.listen(port);
+
+console.log('Server running on port %d', port);
--- /dev/null
+extends layouts/main
+
+block header
+ script(src='../js/require.js')
+ script.
+ window.waitForMocks('/js/coding-rules/app.js');
+
+block body
+ #content
+ .coding-rules.search-navigator
--- /dev/null
+extends layouts/main
+
+block header
+ script(src='../js/require.js')
+ script.
+ window.waitForMocks('/js/design/app.js');
+
+block body
+ #container
+ #project-design: i.spinner
+
+ script.
+ window.resourceKey = 'com.maif.sonar:maif-cobol-plugin';
--- /dev/null
+extends layouts/main
+
+block header
+ script(src='../js/require.js')
+ script.
+ window.waitForMocks('/js/issues/app-new.js');
+
+block body
+ #content
+ .issues.search-navigator
--- /dev/null
+html
+ head
+ meta(http-equiv='Content-Type', content='text/html; charset=UTF-8')
+ link(href='/css/sonar.css', rel='stylesheet', media='all')
+
+ script(src='/js/translate.js')
+ script(src='/js/third-party/jquery.js')
+ script(src='/js/third-party/jquery-ui.js')
+ script(src='/js/third-party/d3.js')
+ script(src='/js/third-party/latinize.js')
+ script(src='/js/third-party/underscore.js')
+ script(src='/js/third-party/backbone.js')
+ script(src='/js/third-party/backbone.marionette.js')
+ script(src='/js/third-party/handlebars.js')
+ script(src='/js/third-party/underscore.js')
+ script(src='/js/third-party/select2.js')
+ script(src='/js/third-party/keymaster.js')
+ script(src='/js/third-party/moment.js')
+ script(src='/js/third-party/numeral.js')
+ script(src='/js/third-party/numeral-languages.js')
+ script(src='/js/third-party/bootstrap/tooltip.js')
+ script(src='/js/third-party/bootstrap/dropdown.js')
+ script(src='/js/select2-jquery-ui-fix.js')
+ script(src='/js/widgets/base.js')
+ script(src='/js/widgets/widget.js')
+ script(src='/js/widgets/bubble-chart.js')
+ script(src='/js/widgets/timeline.js')
+ script(src='/js/widgets/stack-area.js')
+ script(src='/js/widgets/pie-chart.js')
+ script(src='/js/widgets/histogram.js')
+ script(src='/js/widgets/word-cloud.js')
+ script(src='/js/widgets/tag-cloud.js')
+ script(src='/js/widgets/treemap.js')
+ script(src='/js/graphics/pie-chart.js')
+ script(src='/js/graphics/timeline.js')
+ script(src='/js/graphics/barchart.js')
+ script(src='/js/sortable.js')
+ script(src='/js/common/inputs.js')
+ script(src='/js/common/dialogs.js')
+ script(src='/js/common/processes.js')
+ script(src='/js/common/jquery-isolated-scroll.js')
+ script(src='/js/common/handlebars-extensions.js')
+ script(src='/js/application.js')
+ script(src='/js/csv.js')
+ script(src='/js/dashboard.js')
+ script(src='/js/recent-history.js')
+
+ script(src='/js/third-party/jquery.mockjax.js')
+ script.
+ var baseUrl = '';
+ var $j = jQuery.noConflict();
+ window.suppressTranslationWarnings = true;
+ jQuery.mockjaxSettings.contentType = 'text/json';
+ jQuery.mockjaxSettings.responseTime = 50;
+ $j(document).ready(function () { $j('.open-modal').modal(); });
+ window.waitForMocks = function (app) {
+ var x = setInterval(function () {
+ jQuery.get('/api/l10n/index').done(function () {
+ clearInterval(x);
+ require([app]);
+ });
+ }, 500);
+ }
+ block header
+ body
+ #body
+ block body
--- /dev/null
+extends layouts/main
+
+block header
+ script(src='../js/require.js')
+ script.
+ window.waitForMocks('/js/quality-gate/app.js');
+
+block body
+ #content
+ .search-navigator#quality-gates
--- /dev/null
+extends layouts/main
+
+block header
+ script(src='../js/require.js')
+ script.
+ window.waitForMocks('/js/source-viewer/app.js');
+
+block body
+ #source-viewer
+
+ script.
+ window.file = {
+ uuid: '',
+ key: ''
+ };
--- /dev/null
+extends layouts/main
+
+block body
+ #container