Java Code Examples for java.util.ListIterator#hasPrevious()
The following examples show how to use
java.util.ListIterator#hasPrevious() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: SyncModelOperationHandler.java From wildfly-core with GNU Lesser General Public License v2.1 | 6 votes |
List<ModelNode> getReverseList() { //This is the opposite order. Due to how the steps get added, once run we will do them in the following order: // extension removes, extension adds, non-extension composite // The non-extension composite in turn will do removes first, and then adds final List<ModelNode> result = new ArrayList<>(); final ModelNode nonExtensionComposite = Util.createEmptyOperation(COMPOSITE, PathAddress.EMPTY_ADDRESS); final ModelNode nonExtensionSteps = nonExtensionComposite.get(STEPS).setEmptyList(); final ListIterator<ModelNode> it = nonExtensionRemoves.listIterator(nonExtensionRemoves.size()); while (it.hasPrevious()) { nonExtensionSteps.add(it.previous()); } for (ModelNode op : nonExtensionAdds) { nonExtensionSteps.add(op); } if (nonExtensionSteps.asList().size() > 0) { result.add(nonExtensionComposite); } result.addAll(extensionAdds); result.addAll(extensionRemoves); return result; }
Example 2
Source File: CompositeResourceFactory_impl.java From uima-uimaj with Apache License 2.0 | 6 votes |
/** * @see org.apache.uima.ResourceFactory#produceResource(java.lang.Class, * org.apache.uima.resource.ResourceSpecifier, java.util.Map) */ public Resource produceResource(Class<? extends Resource> aResourceClass, ResourceSpecifier aSpecifier, Map<String, Object> aAdditionalParams) throws ResourceInitializationException { // check for factories registered for this resource specifier type // (most recently registered first) ListIterator<Registration> it = mRegisteredFactories.listIterator(mRegisteredFactories.size()); Resource result = null; while (it.hasPrevious()) { Registration reg = it.previous(); if (reg.resourceSpecifierInterface.isAssignableFrom(aSpecifier.getClass())) { result = reg.factory.produceResource(aResourceClass, aSpecifier, aAdditionalParams); if (result != null) { return result; } } } return null; }
Example 3
Source File: Traverser.java From glowroot with Apache License 2.0 | 6 votes |
@SuppressWarnings("unchecked") public void traverse() throws E { while (!stack.isEmpty()) { Object popped = stack.pop(); if (popped == ALREADY_TRAVERSED_MARKER) { revisitAfterChildren((T) stack.pop()); depth--; continue; } T unprocessed = (T) popped; List<T> childNodes = visit(unprocessed, depth); if (childNodes.isEmpty()) { // optimization for no children revisitAfterChildren(unprocessed); } else { stack.push(unprocessed); stack.push(ALREADY_TRAVERSED_MARKER); ListIterator<T> i = childNodes.listIterator(childNodes.size()); while (i.hasPrevious()) { stack.push(i.previous()); } depth++; } } }
Example 4
Source File: CompositeReactPackage.java From react-native-GPay with MIT License | 6 votes |
/** {@inheritDoc} */ @Override public @Nullable ViewManager createViewManager( ReactApplicationContext reactContext, String viewManagerName) { ListIterator<ReactPackage> iterator = mChildReactPackages.listIterator(mChildReactPackages.size()); while (iterator.hasPrevious()) { ReactPackage reactPackage = iterator.previous(); if (reactPackage instanceof ViewManagerOnDemandReactPackage) { ViewManager viewManager = ((ViewManagerOnDemandReactPackage) reactPackage) .createViewManager(reactContext, viewManagerName); if (viewManager != null) { return viewManager; } } } return null; }
Example 5
Source File: SessionRecorder.java From ShootOFF with GNU General Public License v3.0 | 6 votes |
private void collapseTargetEvents(String cameraName, EventType type, Target target) { final ListIterator<Event> it = getCameraEvents(cameraName).listIterator(getCameraEvents(cameraName).size()); while (it.hasPrevious()) { final Event e = it.previous(); if (e.getType() != EventType.TARGET_RESIZED && e.getType() != EventType.TARGET_MOVED) { break; } if (e.getType() == type) { if (type == EventType.TARGET_RESIZED && ((TargetResizedEvent) e).getTargetIndex() == target.getTargetIndex()) { it.remove(); } else if (type == EventType.TARGET_MOVED && ((TargetMovedEvent) e).getTargetIndex() == target.getTargetIndex()) { it.remove(); } } } }
Example 6
Source File: RetryProcessAction.java From multiapps-controller with Apache License 2.0 | 5 votes |
@Override protected void executeActualProcessAction(String user, String superProcessInstanceId) { List<String> subProcessIds = getActiveExecutionIds(superProcessInstanceId); ListIterator<String> subProcessesIdsIterator = subProcessIds.listIterator(subProcessIds.size()); updateUserIfNecessary(user, superProcessInstanceId); while (subProcessesIdsIterator.hasPrevious()) { String subProcessId = subProcessesIdsIterator.previous(); retryProcess(subProcessId); } historicOperationEventPersister.add(superProcessInstanceId, EventType.RETRIED); }
Example 7
Source File: BridgeImpl.java From activemq-artemis with Apache License 2.0 | 5 votes |
private void cancelRefs() { LinkedList<MessageReference> list = new LinkedList<>(); synchronized (refs) { list.addAll(refs.values()); refs.clear(); } if (logger.isTraceEnabled()) { logger.trace("BridgeImpl::cancelRefs cancelling " + list.size() + " references"); } if (logger.isTraceEnabled() && list.isEmpty()) { logger.trace("didn't have any references to cancel on bridge " + this); return; } ListIterator<MessageReference> listIterator = list.listIterator(list.size()); Queue refqueue; long timeBase = System.currentTimeMillis(); while (listIterator.hasPrevious()) { MessageReference ref = listIterator.previous(); if (logger.isTraceEnabled()) { logger.trace("BridgeImpl::cancelRefs Cancelling reference " + ref + " on bridge " + this); } refqueue = ref.getQueue(); try { refqueue.cancel(ref, timeBase, false); } catch (Exception e) { // There isn't much we can do besides log an error ActiveMQServerLogger.LOGGER.errorCancellingRefOnBridge(e, ref); } } }
Example 8
Source File: CodeShrinkVisitor.java From jadx with Apache License 2.0 | 5 votes |
private static void shrinkBlock(MethodNode mth, BlockNode block) { if (block.getInstructions().isEmpty()) { return; } InsnList insnList = new InsnList(block.getInstructions()); int insnCount = insnList.size(); List<ArgsInfo> argsList = new ArrayList<>(insnCount); for (int i = 0; i < insnCount; i++) { argsList.add(new ArgsInfo(insnList.get(i), argsList, i)); } List<WrapInfo> wrapList = new ArrayList<>(); for (ArgsInfo argsInfo : argsList) { List<RegisterArg> args = argsInfo.getArgs(); if (!args.isEmpty()) { ListIterator<RegisterArg> it = args.listIterator(args.size()); while (it.hasPrevious()) { RegisterArg arg = it.previous(); checkInline(mth, block, insnList, wrapList, argsInfo, arg); } } } if (!wrapList.isEmpty()) { for (WrapInfo wrapInfo : wrapList) { inline(mth, wrapInfo.getArg(), wrapInfo.getInsn(), block); } } }
Example 9
Source File: DefaultKeyboardFocusManager.java From jdk8u-jdk with GNU General Public License v2.0 | 5 votes |
/** * Releases for normal dispatching to the current focus owner all * KeyEvents which were enqueued because of a call to * <code>enqueueKeyEvents</code> with the same timestamp and Component. * If the given timestamp is less than zero, the outstanding enqueue * request for the given Component with the <b>oldest</b> timestamp (if * any) should be cancelled. * * @param after the timestamp specified in the call to * <code>enqueueKeyEvents</code>, or any value < 0 * @param untilFocused the Component specified in the call to * <code>enqueueKeyEvents</code> * @see #enqueueKeyEvents * @see #discardKeyEvents */ protected synchronized void dequeueKeyEvents(long after, Component untilFocused) { if (untilFocused == null) { return; } if (focusLog.isLoggable(PlatformLogger.Level.FINER)) { focusLog.finer("Dequeue at {0} for {1}", after, untilFocused); } TypeAheadMarker marker; ListIterator<TypeAheadMarker> iter = typeAheadMarkers.listIterator ((after >= 0) ? typeAheadMarkers.size() : 0); if (after < 0) { while (iter.hasNext()) { marker = iter.next(); if (marker.untilFocused == untilFocused) { iter.remove(); return; } } } else { while (iter.hasPrevious()) { marker = iter.previous(); if (marker.untilFocused == untilFocused && marker.after == after) { iter.remove(); return; } } } }
Example 10
Source File: DefaultSolrHighlighter.java From lucene-solr with Apache License 2.0 | 5 votes |
@Override public boolean incrementToken() throws IOException { while (!done && queue.size() < windowSize) { if (!input.incrementToken()) { done = true; break; } // reverse iterating for better efficiency since we know the // list is already sorted, and most token start offsets will be too. ListIterator<OrderedToken> iter = queue.listIterator(queue.size()); while (iter.hasPrevious()) { if (offsetAtt.startOffset() >= iter.previous().startOffset) { // insertion will be before what next() would return (what // we just compared against), so move back one so the insertion // will be after. iter.next(); break; } } OrderedToken ot = new OrderedToken(); ot.state = captureState(); ot.startOffset = offsetAtt.startOffset(); iter.add(ot); } if (queue.isEmpty()) { return false; } else { restoreState(queue.removeFirst().state); return true; } }
Example 11
Source File: SeoCatalogUrlWorker.java From scipio-erp with Apache License 2.0 | 5 votes |
/** * Last index of, with starting index (inclusive - .get(startIndex) is compared - like String interface). */ static <T> int lastIndexOf(List<T> list, T object, int startIndex) { ListIterator<T> it = list.listIterator(startIndex + 1); while(it.hasPrevious()) { if (object.equals(it.previous())) { return it.nextIndex(); } } return -1; }
Example 12
Source File: BrokenView.java From BrokenView with MIT License | 5 votes |
@Override protected void onDraw(Canvas canvas) { ListIterator<BrokenAnimator> iterator = animList.listIterator(animList.size()); while(iterator.hasPrevious()) { iterator.previous().draw(canvas); } }
Example 13
Source File: BranchHistoryWidgetModel.java From DotCi with MIT License | 5 votes |
public OffsetBuild<T> getNextBuildToFetch(final Iterable<T> builds, final HistoryWidget.Adapter<? super T> adapter) { final ArrayList<T> list = Lists.newArrayList(builds); if (!list.isEmpty()) { final ListIterator<T> listIterator = list.listIterator(list.size()); while (listIterator.hasPrevious()) { final T record = listIterator.previous(); if (adapter.isBuilding(record)) return new OffsetBuild<>(record, 0); } return new OffsetBuild(list.get(0), 1); } return new OffsetBuild<>(null, 0); }
Example 14
Source File: StackTraceSnapshotBuilder.java From netbeans with Apache License 2.0 | 5 votes |
private void addMethodEntries(int threadId, List<StackTraceElement> elements, long timestamp, long threadtimestamp, boolean asRoot) throws IllegalStateException { boolean inRoot = false; ListIterator<StackTraceElement> reverseIt = elements.listIterator(elements.size()); while(reverseIt.hasPrevious()) { StackTraceElement element = reverseIt.previous(); MethodInfo mi = new MethodInfo(element); Integer mId = methodInfoMap.get(mi); if (mId == null) { mId = registerNewMethodInfo(mi); if (status != null) { String method = mi.methodName; int index = method.indexOf('('); if (index > 0) { method = method.substring(0,index); } status.updateInstrMethodsInfo(mi.className,0,method,mi.signature); } } if (asRoot && !inRoot) { inRoot = true; ccgb.methodEntry(mId.intValue(), threadId, CPUCallGraphBuilder.METHODTYPE_ROOT, timestamp, threadtimestamp, null, null); } else { ccgb.methodEntry(mId.intValue(), threadId, CPUCallGraphBuilder.METHODTYPE_NORMAL, timestamp, threadtimestamp, null, null); } } }
Example 15
Source File: XDripViewer.java From xDrip-Experimental with GNU General Public License v3.0 | 5 votes |
private void readCalData(String baseUrl, String key) { NsRestApiReader nsRestApiReader = new NsRestApiReader(); Long LastReportedTime = 0L; Calibration lastCalibration = Calibration.last(); if(lastCalibration != null) { LastReportedTime = (long)lastCalibration.timestamp; } Log.e(TAG, "readCalData LastReportedTime = " + LastReportedTime); List<NightscoutMbg> nightscoutMbgs = nsRestApiReader.readCalDataFromNs(baseUrl, key, LastReportedTime, 10 ); if(nightscoutMbgs == null) { Log.e(TAG, "readCalDataFromNs returned null"); return; } ListIterator<NightscoutMbg> li = nightscoutMbgs.listIterator(nightscoutMbgs.size()); long lastInserted = 0; while(li.hasPrevious()) { NightscoutMbg nightscoutMbg = li.previous(); Log.e(TAG, "NightscoutMbg " + nightscoutMbg.mbg + " " + nightscoutMbg.date); if(nightscoutMbg.date < lastInserted) { Log.e(TAG, "not inserting calibratoin, since order is wrong. "); continue; } verifyViewerNightscoutMode(mContext, nightscoutMbg); Calibration.createUpdate(nightscoutMbg.xDrip_sensor_uuid, nightscoutMbg.mbg, nightscoutMbg.date, nightscoutMbg.xDrip_intercept, nightscoutMbg.xDrip_slope, nightscoutMbg.xDrip_estimate_raw_at_time_of_calibration, nightscoutMbg.xDrip_slope_confidence , nightscoutMbg.xDrip_sensor_confidence, nightscoutMbg.xDrip_raw_timestamp); lastInserted = nightscoutMbg.date; } }
Example 16
Source File: FallbackJSBundleLoader.java From react-native-GPay with MIT License | 5 votes |
/** * @param loaders Loaders for the sources to try, in descending order of * preference. */ public FallbackJSBundleLoader(List<JSBundleLoader> loaders) { mLoaders = new Stack(); ListIterator<JSBundleLoader> it = loaders.listIterator(loaders.size()); while (it.hasPrevious()) { mLoaders.push(it.previous()); } }
Example 17
Source File: UiScrollableParser.java From appium-uiautomator2-server with Apache License 2.0 | 5 votes |
@Override public UiSelector parse() throws UiSelectorSyntaxException, UiObjectNotFoundException { resetCurrentIndex(); UiObject self = consumeConstructor(); List<Object> results = new ArrayList<>(); while (hasMoreDataToParse()) { consumePeriod(); Object result = consumeMethodCall(); if (result == null) { continue; } results.add(result); if (result instanceof UiScrollable) { setTarget((UiScrollable) result); } } ListIterator<Object> resultsIterator = results.listIterator(results.size()); while (resultsIterator.hasPrevious()) { Object item = resultsIterator.previous(); if (item instanceof UiObject) { // assign the result to the last method in the chain // that returns UiObject uiSelector = ((UiObject) item).getSelector(); break; } } if (uiSelector == null && self != null) { // if none of the methods in the chain return UiObject instance // the assign the result to self instance uiSelector = self.getSelector(); } if (uiSelector == null) { throw new UiSelectorSyntaxException(expression.toString(), "At least one method called on a UiScrollable object must return an UiObject instance"); } return uiSelector; }
Example 18
Source File: StackCreationWaiter.java From testgrid with Apache License 2.0 | 4 votes |
@Override public Boolean call() throws Exception { //Stack details DescribeStacksRequest describeStacksRequest = new DescribeStacksRequest().withStackName(stackName); DescribeStacksResult describeStacksResult = cloudFormation.describeStacks(describeStacksRequest); final List<Stack> stacks = describeStacksResult.getStacks(); if (stacks.size() > 1 || stacks.isEmpty()) { String stackNames = stacks.stream().map(Stack::getStackName).collect(Collectors.joining(", ")); final String msg = "More than one stack found or stack list is empty for the stack name: " + stackName + ": " + stackNames; logger.error(msg); throw new IllegalStateException(msg); } Stack stack = stacks.get(0); StackStatus stackStatus = StackStatus.fromValue(stack.getStackStatus()); // Event details of the stack DescribeStackEventsRequest describeStackEventsRequest = new DescribeStackEventsRequest() .withStackName(stackName); DescribeStackEventsResult describeStackEventsResult = cloudFormation. describeStackEvents(describeStackEventsRequest); //Print a log of the current state of the resources StringBuilder stringBuilder = new StringBuilder(); final List<StackEvent> originalStackEvents = describeStackEventsResult.getStackEvents(); final List<StackEvent> newStackEvents = new ArrayList<>(originalStackEvents); newStackEvents.removeAll(prevStackEvents); ListIterator<StackEvent> li = newStackEvents.listIterator(newStackEvents.size()); while (li.hasPrevious()) { StackEvent stackEvent = li.previous(); stringBuilder.append(StringUtil.concatStrings( "Status: ", stackEvent.getResourceStatus(), ", ")); stringBuilder.append(StringUtil.concatStrings( "Resource Type: ", stackEvent.getResourceType(), ", ")); stringBuilder.append(StringUtil.concatStrings( "Logical ID: ", stackEvent.getLogicalResourceId(), ", ")); stringBuilder.append(StringUtil.concatStrings( "Status Reason: ", Optional.ofNullable(stackEvent.getResourceStatusReason()).orElse("-"))); stringBuilder.append("\n"); } logger.info(StringUtil.concatStrings("\n", stringBuilder.toString())); prevStackEvents = originalStackEvents; //Determine the steps to execute based on the status of the stack switch (stackStatus) { case CREATE_COMPLETE: return true; case CREATE_IN_PROGRESS: break; default: throw new TestGridInfrastructureException(StringUtil.concatStrings( "Stack creation transitioned to ", stackStatus.toString(), " state.")); } return false; }
Example 19
Source File: Bookshelf.java From ProgrammingIITutorialQuestions with Apache License 2.0 | 4 votes |
public void printRightToLeft() { ListIterator<Book> it = contents.listIterator(contents.size()); while (it.hasPrevious()) { System.out.println(it.previous()); } }
Example 20
Source File: TimeController.java From android_9.0.0_r45 with Apache License 2.0 | 4 votes |
/** * Check if the job has a timing constraint, and if so determine where to insert it in our * list. */ @Override public void maybeStartTrackingJobLocked(JobStatus job, JobStatus lastJob) { if (job.hasTimingDelayConstraint() || job.hasDeadlineConstraint()) { maybeStopTrackingJobLocked(job, null, false); // First: check the constraints now, because if they are already satisfied // then there is no need to track it. This gives us a fast path for a common // pattern of having a job with a 0 deadline constraint ("run immediately"). // Unlike most controllers, once one of our constraints has been satisfied, it // will never be unsatisfied (our time base can not go backwards). final long nowElapsedMillis = sElapsedRealtimeClock.millis(); if (job.hasDeadlineConstraint() && evaluateDeadlineConstraint(job, nowElapsedMillis)) { return; } else if (job.hasTimingDelayConstraint() && evaluateTimingDelayConstraint(job, nowElapsedMillis)) { if (!job.hasDeadlineConstraint()) { // If it doesn't have a deadline, we'll never have to touch it again. return; } } boolean isInsert = false; ListIterator<JobStatus> it = mTrackedJobs.listIterator(mTrackedJobs.size()); while (it.hasPrevious()) { JobStatus ts = it.previous(); if (ts.getLatestRunTimeElapsed() < job.getLatestRunTimeElapsed()) { // Insert isInsert = true; break; } } if (isInsert) { it.next(); } it.add(job); job.setTrackingController(JobStatus.TRACKING_TIME); maybeUpdateAlarmsLocked( job.hasTimingDelayConstraint() ? job.getEarliestRunTime() : Long.MAX_VALUE, job.hasDeadlineConstraint() ? job.getLatestRunTimeElapsed() : Long.MAX_VALUE, deriveWorkSource(job.getSourceUid(), job.getSourcePackageName())); } }