Пример #1
0
 @Override
 public void scheduled(IJobChangeEvent event) {
   if (fixedTheJob) return;
   Job job = event.getJob();
   if (job == null) return;
   Class<? extends Job> jobClazz = job.getClass();
   if (!job.isSystem()
       && jobClazz
           .getName()
           .equals("org.eclipse.egit.core.internal.indexdiff.IndexDiffCacheEntry$5")) {
     try {
       Field field = InternalJob.class.getDeclaredField("flags");
       field.setAccessible(true);
       field.set(
           job, ((Integer) field.get(job)).intValue() | 0x0100 /*InternalJob.M_SYSTEM*/);
       if (log.isInfoEnabled()) {
         log.info("Made job '" + job + "' a system job.");
       }
       fixedTheJob = true;
     } catch (Exception e) {
       log.error(e.getMessage(), e);
     }
   }
 }