snapshots_conditions << 'projects.qualifier in (:qualifiers)'
end
+ if params['language']
+ snapshots_conditions << 'projects.language in (:language)'
+ snapshots_values[:language]=params['language'].split(',')
+ end
+
snapshots_including_resource=Snapshot.find(:all, :conditions => [snapshots_conditions.join(' AND '), snapshots_values], :include => 'project')
# ---------- APPLY SECURITY - remove unauthorized resources - only if no selected resource
private String[] rules;
private String[] ruleSeverities;
private String[] characteristicKeys;
+ private String[] languages;
private String model;
private boolean excludeRules = true;
private boolean excludeRuleSeverities = true;
return this;
}
+ public String[] getLanguages() {
+ return languages;
+ }
+
+ public ResourceQuery setLanguages(String... languages) {
+ this.languages = languages;
+ return this;
+ }
+
/**
* @deprecated since 2.5 See http://jira.codehaus.org/browse/SONAR-2007
*/
appendUrlParameter(url, "includetrends", includeTrends);
appendUrlParameter(url, "model", model);
appendUrlParameter(url, "characteristics", characteristicKeys);
+ appendUrlParameter(url, "languages", languages);
appendUrlParameter(url, "verbose", verbose);
return url.toString();
}
*/
package org.sonar.wsclient.services;
+import org.junit.Test;
+
import static org.hamcrest.Matchers.is;
import static org.hamcrest.core.IsNull.nullValue;
import static org.junit.Assert.assertThat;
-import org.junit.Test;
-
public class ResourceQueryTest extends QueryTestCase {
@Test
assertThat(query.isVerbose(), is(false));
}
+ @Test
+ public void resourceByLanguages() {
+ ResourceQuery query = new ResourceQuery("org.foo:bar").setLanguages("java,php");
+ assertThat(query.getUrl(), is("/api/resources?resource=org.foo%3Abar&languages=java%2Cphp&verbose=false&"));
+ assertThat(query.getResourceKeyOrId(), is("org.foo:bar"));
+ }
+
@Test
public void measures() {
ResourceQuery query = new ResourceQuery();