public void export(DbSession dbSession, QProfileDto profile, String exporterKey, Writer writer) { ProfileExporter exporter = findExporter(exporterKey); exporter.exportProfile(wrap(dbSession, profile), writer); }
private ProfileExporter findExporter(String exporterKey) { for (ProfileExporter e : exporters) { if (exporterKey.equals(e.getKey())) { return e; } } throw new NotFoundException("Unknown quality profile exporter: " + exporterKey); }
@Test public void testSupportedRepositories() { ProfileExporter exporter = new ProfileExporter("all", "All") { @Override public void exportProfile(RulesProfile profile, Writer writer) { } }; exporter.setSupportedLanguages("java", "php"); assertThat(exporter.getSupportedLanguages().length, is(2)); assertThat(exporter.getSupportedLanguages()[0], is("java")); assertThat(exporter.getSupportedLanguages()[1], is("php")); }
@Override public void handle(Request request, Response response) throws Exception { try (JsonWriter json = response.newJsonWriter()) { json.beginObject().name("exporters").beginArray(); for (ProfileExporter exporter : exporters) { json.beginObject() .prop("key", exporter.getKey()) .prop("name", exporter.getName()); json.name("languages").beginArray(); for (String language : exporter.getSupportedLanguages()) { json.value(language); } json.endArray().endObject(); } json.endArray().endObject(); } }
public List<ProfileExporter> exportersForLanguage(String language) { List<ProfileExporter> result = new ArrayList<>(); for (ProfileExporter exporter : exporters) { if (exporter.getSupportedLanguages() == null || exporter.getSupportedLanguages().length == 0 || ArrayUtils.contains(exporter.getSupportedLanguages(), language)) { result.add(exporter); } } return result; }
public String mimeType(String exporterKey) { ProfileExporter exporter = findExporter(exporterKey); return exporter.getMimeType(); }
@Override public void handle(Request request, Response response) throws Exception { try (JsonWriter json = response.newJsonWriter()) { json.beginObject().name("exporters").beginArray(); for (ProfileExporter exporter : exporters) { json.beginObject() .prop("key", exporter.getKey()) .prop("name", exporter.getName()); json.name("languages").beginArray(); for (String language : exporter.getSupportedLanguages()) { json.value(language); } json.endArray().endObject(); } json.endArray().endObject(); } }
public List<ProfileExporter> exportersForLanguage(String language) { List<ProfileExporter> result = new ArrayList<>(); for (ProfileExporter exporter : exporters) { if (exporter.getSupportedLanguages() == null || exporter.getSupportedLanguages().length == 0 || ArrayUtils.contains(exporter.getSupportedLanguages(), language)) { result.add(exporter); } } return result; }
public String mimeType(String exporterKey) { ProfileExporter exporter = findExporter(exporterKey); return exporter.getMimeType(); }
@Test public void supportAllRepositories() { ProfileExporter exporter = new ProfileExporter("all", "All") { @Override public void exportProfile(RulesProfile profile, Writer writer) { } }; assertThat(exporter.getSupportedLanguages().length, is(0)); exporter.setSupportedLanguages(); assertThat(exporter.getSupportedLanguages().length, is(0)); } }
private ProfileExporter findExporter(String exporterKey) { for (ProfileExporter e : exporters) { if (exporterKey.equals(e.getKey())) { return e; } } throw new NotFoundException("Unknown quality profile exporter: " + exporterKey); }
protected File getRuleset(AbstractPhpPluginConfiguration configuration, RulesProfile profile, ProfileExporter exporter) { File workingDir = configuration.createWorkingDirectory(); File ruleset = null; try { ruleset = File.createTempFile(RULESET_PREFIX, XML_SUFFIX, workingDir); Writer writer = new FileWriter(ruleset); exporter.exportProfile(profile, writer); } catch (IOException e) { String msg = "Error while creating temporary ruleset from profile: " + profile + " to file : " + ruleset + " in dir " + workingDir; LOG.error(msg); } return ruleset.length() > 0 ? ruleset : null; }
private boolean isToolEnableInProfile() { boolean result = !rulesProfile.getActiveRulesByRepository(profileExporter.getKey()).isEmpty(); if (!result) { LOG.warn("/!\\ SKIP " + getToolName() + " analysis: no rule defined for " + getToolName() + " in the \"{}\" profile.", rulesProfile.getName()); } return result; } }
public void export(DbSession dbSession, QProfileDto profile, String exporterKey, Writer writer) { ProfileExporter exporter = findExporter(exporterKey); exporter.exportProfile(wrap(dbSession, profile), writer); }