use of com.bedatadriven.rebar.sql.client.query.SqlQuery in project activityinfo by bedatadriven.
the class LocationUpdateBuilder method linkAdminEntities.
private void linkAdminEntities() throws JSONException {
SqlQuery query = SqlQuery.select().appendColumn("K.AdminEntityId").appendColumn("K.LocationId").from(Tables.LOCATION, "L").innerJoin(Tables.LOCATION_ADMIN_LINK, "K").on("L.LocationId=K.LocationId").where("L.locationTypeId").equalTo(locationType.getId()).where("L.version").greaterThan(localVersion);
batch.insert().into(Tables.LOCATION_ADMIN_LINK).from(query).execute(em);
}
use of com.bedatadriven.rebar.sql.client.query.SqlQuery in project activityinfo by bedatadriven.
the class LocationUpdateBuilder method queryChanged.
private void queryChanged() {
SqlQuery query = SqlQuery.select().appendColumn("LocationId").appendColumn("Name").appendColumn("Axe").appendColumn("X").appendColumn("Y").appendColumn("LocationTypeId").appendColumn("workflowStatusId").from(Tables.LOCATION).where("locationTypeId").equalTo(locationType.getId()).where("version").greaterThan(localVersion);
batch.insert().into(Tables.LOCATION).from(query).execute(em);
}
use of com.bedatadriven.rebar.sql.client.query.SqlQuery in project activityinfo by bedatadriven.
the class GetReportModelHandler method loadMetadataAndCallback.
private void loadMetadataAndCallback(final GetReportModel cmd, final ExecutionContext context, final ReportDTO reportDTO, final AsyncCallback<ReportDTO> callback) {
final int userId = context.getUser().getId();
SqlQuery mySubscriptions = SqlQuery.selectAll().from("reportsubscription").where("userId").equalTo(userId);
SqlQuery myDatabases = SqlQuery.selectSingle("d.databaseid").from("userdatabase", "d").leftJoin(SqlQuery.selectAll().from(Tables.USER_PERMISSION, "UserPermission").where("UserPermission.UserId").equalTo(userId), "p").on("p.DatabaseId = d.DatabaseId").where("d.ownerUserId").equalTo(userId).or("p.AllowView").equalTo(1);
SqlQuery.select().appendColumn("r.reportTemplateId", "reportId").appendColumn("r.title", "title").appendColumn("r.ownerUserId", "ownerUserId").appendColumn("o.name", "ownerName").appendColumn("s.dashboard", "dashboard").appendColumn("s.emaildelivery", "emaildelivery").appendColumn("s.emailday", "emailday").appendColumn(SqlQuery.selectSingle("max(defaultDashboard)").from("reportvisibility", "v").where("v.databaseId").in(myDatabases).whereTrue("v.reportid = r.reportTemplateId"), "defaultDashboard").from("reporttemplate", "r").leftJoin("userlogin o").on("o.userid = r.ownerUserId").leftJoin(mySubscriptions, "s").on("r.reportTemplateId = s.reportId").where("r.ownerUserId").equalTo(userId).where("r.reportTemplateId").equalTo(cmd.getReportId()).execute(context.getTransaction(), new SqlResultCallback() {
@Override
public void onSuccess(final SqlTransaction tx, final SqlResultSet results) {
List<ReportMetadataDTO> dtos = Lists.newArrayList();
for (SqlResultSetRow row : results.getRows()) {
ReportMetadataDTO dto = new ReportMetadataDTO();
dto.setId(row.getInt("reportId"));
dto.setAmOwner(row.getInt("ownerUserId") == userId);
dto.setOwnerName(row.getString("ownerName"));
dto.setTitle(row.getString("title"));
dto.setEditAllowed(dto.getAmOwner());
if (!row.isNull("emaildelivery")) {
dto.setEmailDelivery(EmailDelivery.valueOf(row.getString("emaildelivery")));
}
if (row.isNull("emailday")) {
dto.setDay(1);
} else {
dto.setDay(row.getInt("emailday"));
}
if (row.isNull("dashboard")) {
// inherited from database-wide visibility
dto.setDashboard(!row.isNull("defaultDashboard") && row.getBoolean("defaultDashboard"));
} else {
dto.setDashboard(row.getBoolean("dashboard"));
}
dtos.add(dto);
}
if (dtos.size() == 0) {
ReportMetadataDTO dummy = new ReportMetadataDTO();
dummy.setId(cmd.getReportId());
dtos.add(dummy);
}
// there should be only one result
reportDTO.setReportMetadataDTO(dtos.get(0));
// exit handler with both the report and metadata objects
// filled
memcache(cmd, reportDTO);
callback.onSuccess(reportDTO);
}
});
}
Aggregations