String query = "SELECT id FROM report WHERE (status & " + Report.Status.ISSUEZILLA_TRANSFER.intValue() + ") <> 0";
l = em.createNativeQuery(query).getResultList();
}
for (Iterator<Integer> it = l.iterator(); it.hasNext();) {
Integer id = it.next();
Report report = em.find(Report.class, id);
boolean changed = false;
if (!report.isInIssuezilla()) {
Integer bugId = reverseMap.get(report.getId());
if (bugId != null) {
report.setIssueId(bugId, SynchronizeIssues.class);
changed = true;
SYNCHRONIZATION_LOGGER.log(Level.INFO, "setting bugId {0} for report id {1}", new Object[]{bugId.toString(), id.toString()});
}
}
if (report.getIssueId() != null || reportsToClean.contains(report.getId())) {
report.setIssuezillaTransfer(false);
changed = true;
reportsToClean.remove(report.getId());
SYNCHRONIZATION_LOGGER.log(Level.INFO, "cleaning in transfer for report id {0}", id.toString());
} else {
reportsToClean.add(report.getId());
}
if (changed) {
em.merge(report);
}
}