import org.sonar.db.component.ComponentMapper;
import org.sonar.db.component.FilePathWithHashDto;
import org.sonar.db.component.UuidWithProjectUuidDto;
-import org.sonar.server.es.SearchOptions;
import static com.google.common.collect.Maps.newHashMapWithExpectedSize;
return mapper(session).selectProjectsFromView("%." + viewUuid + ".%", projectViewUuid);
}
- public List<ComponentDto> selectProvisionedProjects(DbSession session, SearchOptions searchOptions, @Nullable String query) {
+ public List<ComponentDto> selectProvisionedProjects(DbSession session, int offset, int limit, @Nullable String query) {
Map<String, String> parameters = newHashMapWithExpectedSize(2);
addProjectQualifier(parameters);
addPartialQueryParameterIfNotNull(parameters, query);
- return mapper(session).selectProvisionedProjects(parameters, new RowBounds(searchOptions.getOffset(), searchOptions.getLimit()));
+ return mapper(session).selectProvisionedProjects(parameters, new RowBounds(offset, limit));
}
public int countProvisionedProjects(DbSession session, @Nullable String query) {
return mapper(session).countProvisionedProjects(parameters);
}
- public List<ComponentDto> selectGhostProjects(DbSession session, @Nullable String query, SearchOptions options) {
+ public List<ComponentDto> selectGhostProjects(DbSession session, int offset, int limit, @Nullable String query) {
Map<String, String> parameters = newHashMapWithExpectedSize(2);
addProjectQualifier(parameters);
addPartialQueryParameterIfNotNull(parameters, query);
- return mapper(session).selectGhostProjects(parameters, new RowBounds(options.getOffset(), options.getLimit()));
+ return mapper(session).selectGhostProjects(parameters, new RowBounds(offset, limit));
}
public long countGhostProjects(DbSession session, @Nullable String query) {
package org.sonar.server.project.ws;
import com.google.common.io.Resources;
+import java.util.Date;
+import java.util.List;
+import java.util.Set;
+import javax.annotation.Nullable;
import org.sonar.api.server.ws.Request;
import org.sonar.api.server.ws.Response;
import org.sonar.api.server.ws.WebService;
import org.sonar.api.server.ws.WebService.Param;
import org.sonar.api.utils.text.JsonWriter;
import org.sonar.api.web.UserRole;
-import org.sonar.db.component.ComponentDto;
import org.sonar.db.DbSession;
import org.sonar.db.MyBatis;
+import org.sonar.db.component.ComponentDto;
import org.sonar.server.db.DbClient;
import org.sonar.server.es.SearchOptions;
import org.sonar.server.user.UserSession;
-import javax.annotation.Nullable;
-
-import java.util.Date;
-import java.util.List;
-import java.util.Set;
-
import static com.google.common.collect.Sets.newHashSet;
public class GhostsAction implements ProjectsWsAction {
try {
long nbOfProjects = dbClient.componentDao().countGhostProjects(dbSession, query);
- List<ComponentDto> projects = dbClient.componentDao().selectGhostProjects(dbSession, query, searchOptions);
+ List<ComponentDto> projects = dbClient.componentDao().selectGhostProjects(dbSession, searchOptions.getOffset(), searchOptions.getLimit(), query);
JsonWriter json = response.newJsonWriter().beginObject();
writeProjects(json, projects, desiredFields);
searchOptions.writeJson(json, nbOfProjects);
package org.sonar.server.project.ws;
import com.google.common.io.Resources;
+import java.util.Date;
+import java.util.List;
+import java.util.Set;
import org.sonar.api.server.ws.Request;
import org.sonar.api.server.ws.Response;
import org.sonar.api.server.ws.WebService;
import org.sonar.api.server.ws.WebService.Param;
import org.sonar.api.utils.text.JsonWriter;
-import org.sonar.db.component.ComponentDto;
import org.sonar.core.permission.GlobalPermissions;
import org.sonar.db.DbSession;
import org.sonar.db.MyBatis;
+import org.sonar.db.component.ComponentDto;
import org.sonar.server.db.DbClient;
import org.sonar.server.es.SearchOptions;
import org.sonar.server.user.UserSession;
-import java.util.Date;
-import java.util.List;
-import java.util.Set;
-
import static com.google.common.collect.Sets.newHashSet;
public class ProvisionedAction implements ProjectsWsAction {
DbSession dbSession = dbClient.openSession(false);
try {
- List<ComponentDto> projects = dbClient.componentDao().selectProvisionedProjects(dbSession, options, query);
+ List<ComponentDto> projects = dbClient.componentDao().selectProvisionedProjects(dbSession, options.getOffset(), options.getLimit(), query);
int nbOfProjects = dbClient.componentDao().countProvisionedProjects(dbSession, query);
JsonWriter json = response.newJsonWriter().beginObject();
writeProjects(projects, json, desiredFields);
import org.sonar.db.DbTester;
import org.sonar.db.component.ComponentDto;
import org.sonar.db.component.FilePathWithHashDto;
-import org.sonar.server.es.SearchOptions;
import org.sonar.test.DbTests;
import static com.google.common.collect.Lists.newArrayList;
public void select_provisioned_projects() {
db.prepareDbUnit(getClass(), "select_provisioned_projects.xml");
- List<ComponentDto> result = sut.selectProvisionedProjects(db.getSession(), new SearchOptions(), null);
+ List<ComponentDto> result = sut.selectProvisionedProjects(db.getSession(), 0, 10, null);
ComponentDto project = result.get(0);
assertThat(result).hasSize(1);
public void select_ghost_projects() {
db.prepareDbUnit(getClass(), "select_ghost_projects.xml");
- List<ComponentDto> result = sut.selectGhostProjects(db.getSession(), null, new SearchOptions());
+ List<ComponentDto> result = sut.selectGhostProjects(db.getSession(), 0, 10, null);
assertThat(result).hasSize(1);
assertThat(result.get(0).key()).isEqualTo("org.ghost.project");
@Rule
public DbTester db = DbTester.create(System2.INSTANCE);
+
@Rule
public UserSessionRule userSessionRule = UserSessionRule.standalone();
WsTester ws;
@Rule
public DbTester db = DbTester.create(System2.INSTANCE);
+
@Rule
public UserSessionRule userSessionRule = UserSessionRule.standalone();
+
@Rule
public ExpectedException expectedException = ExpectedException.none();