private JobHolder createNewJobHolderWithDelayUntil(Params params, long delayUntil) { JobHolder jobHolder = createNewJobHolder(params); getDelayUntilNsField(jobHolder).set(delayUntil); return jobHolder; }
@Test public void testPriorityWithDelayedJobs() throws Exception { JobQueue jobQueue = createNewJobQueue(); JobHolder delayedPriority_5 = createNewJobHolder(new Params(5)); org.fest.reflect.field.Invoker<Long> delayUntilField = getDelayUntilNsField(delayedPriority_5); delayUntilField.set(mockTimer.nanoTime() - 1000); JobHolder delayedPriority_2 = createNewJobHolder(new Params(2)); delayUntilField = getDelayUntilNsField(delayedPriority_2); delayUntilField.set(mockTimer.nanoTime() - 500); JobHolder nonDelayedPriority_6 = createNewJobHolder(new Params(6)); JobHolder nonDelayedPriority_3 = createNewJobHolder(new Params(3)); JobHolder nonDelayedPriority_2 = createNewJobHolder(new Params(2)); jobQueue.insert(delayedPriority_5); jobQueue.insert(delayedPriority_2); jobQueue.insert(nonDelayedPriority_6); jobQueue.insert(nonDelayedPriority_2); jobQueue.insert(nonDelayedPriority_3); TestConstraint constraint = new TestConstraint(mockTimer); int lastPriority = Integer.MAX_VALUE; for (int i = 0; i < 5; i++) { JobHolder next = jobQueue.nextJobAndIncRunCount(constraint); assertThat("next job should not be null", next, notNullValue()); assertThat("next job's priority should be lower then previous for job " + i, next.getPriority() <= lastPriority, is(true)); lastPriority = next.getPriority(); } }
@SuppressWarnings("unchecked") T field = (T) Proxy.newProxyInstance(decorator.getClass().getClassLoader(), array(expectedType), handler); set(field); return DecoratedInvoker.newInvoker(target, decorator, expectedType, this, handler);
@SuppressWarnings("unchecked") T field = (T) Proxy.newProxyInstance(decorator.getClass().getClassLoader(), array(expectedType), handler); set(field); return DecoratedInvoker.newInvoker(target, decorator, expectedType, this, handler);