use of org.activityinfo.shared.command.result.AdminEntityResult in project activityinfo by bedatadriven.
the class AdminEntityProxy method load.
@Override
protected void load(Object loadConfig, final AsyncCallback<ListResult<AdminEntityDTO>> callback) {
GetAdminEntities query = new GetAdminEntities(levelId);
query.setParentId(parentId);
dispatcher.execute(query, new AsyncCallback<AdminEntityResult>() {
@Override
public void onFailure(Throwable caught) {
callback.onFailure(caught);
}
@Override
public void onSuccess(AdminEntityResult result) {
callback.onSuccess(result);
}
});
}
use of org.activityinfo.shared.command.result.AdminEntityResult in project activityinfo by bedatadriven.
the class GetAdminEntitiesHandler method execute.
@Override
public void execute(GetAdminEntities cmd, ExecutionContext context, final AsyncCallback<AdminEntityResult> callback) {
SqlQuery query = SqlQuery.select("AdminEntity.adminEntityId", "AdminEntity.name", "AdminEntity.adminLevelId", "AdminEntity.adminEntityParentId", "x1", "y1", "x2", "y2").from(Tables.ADMIN_ENTITY, "AdminEntity").whereTrue("not AdminEntity.deleted");
if (CollectionUtil.isNotEmpty(cmd.getCountryIds())) {
query.leftJoin(Tables.ADMIN_LEVEL, "AdminLevel").on("AdminLevel.AdminLevelId=AdminEntity.AdminLevelId");
query.where("AdminLevel.CountryId").in(cmd.getCountryIds());
if (cmd.getParentId() == null && cmd.getLevelId() == null) {
query.where("AdminLevel.ParentId is null");
}
query.orderBy("AdminLevel.CountryId");
}
query.orderBy("AdminEntity.name");
if (cmd.getLevelId() != null) {
query.where("AdminEntity.AdminLevelId").equalTo(cmd.getLevelId());
}
if (cmd.getParentId() != null) {
query.where("AdminEntity.AdminEntityParentId").equalTo(cmd.getParentId());
}
if (cmd.getFilter() != null && cmd.getFilter().isRestricted(DimensionType.Activity)) {
SqlQuery subQuery = SqlQuery.select("link.AdminEntityId").from(Tables.SITE, "site").leftJoin(Tables.LOCATION, "Location").on("Location.LocationId = site.LocationId").leftJoin(Tables.LOCATION_ADMIN_LINK, "link").on("link.LocationId = Location.LocationId").where("site.ActivityId").in(cmd.getFilter().getRestrictions(DimensionType.Activity));
query.where("AdminEntity.AdminEntityId").in(subQuery);
}
if (cmd.getFilter() != null && cmd.getFilter().isRestricted(DimensionType.AdminLevel)) {
if (cmd.getLevelId() == null) {
query.where("AdminEntityId").in(cmd.getFilter().getRestrictions(DimensionType.AdminLevel));
} else {
SqlQuery subQuery = SqlQuery.select("adminEntityId").from(Tables.ADMIN_ENTITY, "AdminEntity").where("AdminLevelId").equalTo(cmd.getLevelId()).where("AdminEntityId").in(cmd.getFilter().getRestrictions(DimensionType.AdminLevel));
query.where("AdminEntity.AdminEntityId").in(subQuery);
}
}
query.execute(context.getTransaction(), new SqlResultCallback() {
@Override
public void onSuccess(SqlTransaction tx, SqlResultSet results) {
final List<AdminEntityDTO> entities = new ArrayList<AdminEntityDTO>();
for (SqlResultSetRow row : results.getRows()) {
entities.add(toEntity(row));
}
callback.onSuccess(new AdminEntityResult(entities));
}
});
}
use of org.activityinfo.shared.command.result.AdminEntityResult in project activityinfo by bedatadriven.
the class GetAdminEntitiesHandlerTest method testChildQuery.
@Test
public void testChildQuery() throws Exception {
GetAdminEntities cmd = new GetAdminEntities(2, 2);
AdminEntityResult result = execute(cmd);
assertThat(result.getData().size(), equalTo(3));
AdminEntityDTO kalehe = result.getData().get(0);
assertThat(kalehe.getName(), equalTo("Kalehe"));
assertThat(kalehe.getBounds(), is(not(nullValue())));
assertThat(kalehe.getBounds().getMinLon(), equalTo(-44d));
assertThat(kalehe.getBounds().getMinLat(), equalTo(-22d));
assertThat(kalehe.getBounds().getMaxLon(), equalTo(33.5d));
assertThat(kalehe.getBounds().getMaxLat(), equalTo(40d));
}
use of org.activityinfo.shared.command.result.AdminEntityResult in project activityinfo by bedatadriven.
the class GetAdminEntitiesHandlerTest method testSiteQuery.
@Test
public void testSiteQuery() throws Exception {
GetAdminEntities cmd = new GetAdminEntities();
cmd.setLevelId(1);
cmd.setFilter(Filter.filter().onActivity(2));
AdminEntityResult result = execute(cmd);
assertThat(result.getData().size(), equalTo(2));
}
use of org.activityinfo.shared.command.result.AdminEntityResult in project activityinfo by bedatadriven.
the class GetAdminEntitiesHandlerTest method testRootLevelQuery.
@Test
public void testRootLevelQuery() throws Exception {
GetAdminEntities cmd = new GetAdminEntities(PROVINCE);
AdminEntityResult result = execute(cmd);
assertThat(result.getData().size(), equalTo(4));
}
Aggregations