List of usage examples for java.util List lastIndexOf
int lastIndexOf(Object o);
From source file:fr.inria.atlanmod.neoemf.map.datastore.estores.impl.DirectWriteMapResourceWithListsEStoreImpl.java
@Override public int lastIndexOf(InternalEObject object, EStructuralFeature feature, Object value) { PersistentEObject PersistentEObject = NeoEObjectAdapterFactoryImpl.getAdapter(object, PersistentEObject.class); @SuppressWarnings("unchecked") List<Object> list = (List<Object>) getFromMap(PersistentEObject, feature); if (list == null) { return -1; }/*from ww w. ja va 2 s.c o m*/ if (feature instanceof EAttribute) { return list.lastIndexOf(serializeToMapValue((EAttribute) feature, value)); } else { PersistentEObject childEObject = NeoEObjectAdapterFactoryImpl.getAdapter(value, PersistentEObject.class); return list.lastIndexOf(childEObject.id()); } }
From source file:org.cybercat.automation.components.SelectorBox.java
public void selectFromSelectorBoxContains(String value, boolean checkSelected) throws PageObjectException { Select selectBox = new Select(getElement()); try {//from w ww. jav a2s. com List<String> elementsText = getOptionsText(); for (String elementText : elementsText) { if (StringUtils.containsIgnoreCase(elementText, value)) { if (checkSelected) { String selected = getFirstSelectedValue(); if (StringUtils.equalsIgnoreCase(selected, value)) { LOG.info("Selected option equals to value to select: " + value); return; } } selectBox.selectByIndex(elementsText.lastIndexOf(elementText)); LOG.info("Component name:" + super.getName() + " selected value:" + elementText); return; } } } catch (Exception e) { throw new PageObjectException("Component name:" + super.getName() + " by path:" + super.getPath()[0], e); } }
From source file:hudson.plugins.plot.PlotReport.java
public List<List<String>> getTable(int i) { List<List<String>> tableData = new ArrayList<List<String>>(); Plot plot = getPlot(i);//from w w w .jav a 2 s. c o m // load existing csv file File plotFile = new File(project.getRootDir(), plot.getCsvFileName()); if (!plotFile.exists()) { return tableData; } CSVReader reader = null; try { reader = new CSVReader(new FileReader(plotFile)); // throw away 2 header lines reader.readNext(); reader.readNext(); // array containing header titles List<String> header = new ArrayList<String>(); header.add(Messages.Plot_Build() + " #"); tableData.add(header); String[] nextLine; while ((nextLine = reader.readNext()) != null) { String buildNumber = nextLine[2]; if (!plot.reportBuild(Integer.parseInt(buildNumber))) { continue; } String seriesLabel = nextLine[1]; // index of the column where the value should be located int index = header.lastIndexOf(seriesLabel); if (index <= 0) { // add header label index = header.size(); header.add(seriesLabel); } List<String> tableRow = null; for (int j = 1; j < tableData.size(); j++) { List<String> r = tableData.get(j); if (StringUtils.equals(r.get(0), buildNumber)) { // found table row corresponding to the build number tableRow = r; break; } } // table row corresponding to the build number not found if (tableRow == null) { // create table row with build number at first column tableRow = new ArrayList<String>(); tableRow.add(buildNumber); tableData.add(tableRow); } // set value at index column String value = nextLine[0]; if (index < tableRow.size()) { tableRow.set(index, value); } else { for (int j = tableRow.size(); j < index; j++) { tableRow.add(StringUtils.EMPTY); } tableRow.add(value); } } int lastColumn = tableData.get(0).size(); for (List<String> tableRow : tableData) { for (int j = tableRow.size(); j < lastColumn; j++) { tableRow.add(StringUtils.EMPTY); } } } catch (IOException ioe) { LOGGER.log(Level.SEVERE, "Exception reading csv file", ioe); // ignore } finally { if (reader != null) { try { reader.close(); } catch (IOException ignore) { // ignore } } } return tableData; }
From source file:org.kuali.kfs.module.ec.document.web.struts.CertificationReportAction.java
/** * find the given detail line from the given collection of detail lines and revert it *//*from w w w. ja v a2 s . com*/ protected void revertDetaiLine(List<EffortCertificationDetail> detailLines, EffortCertificationDetail lineToRevert) { int lineToRevertIndex = detailLines.lastIndexOf(lineToRevert); this.revertDetaiLine(detailLines, lineToRevertIndex); }
From source file:com.clustercontrol.agent.job.PublicKeyThread.java
/** * ?Authorized_key????<BR>//ww w. jav a2s . co m * * @param publicKey * @return true : ?false: */ private synchronized boolean deleteKey(String publicKey) { m_log.debug("delete key start"); if (SKIP_KEYFILE_UPDATE) { m_log.info("skipped deleting publicKey"); return true; } Charset charset = Charset.forName("UTF-8"); CharsetEncoder encoder = charset.newEncoder(); CharsetDecoder decoder = charset.newDecoder(); //??? String fileName = AgentProperties.getProperty(execUser.toLowerCase() + AUTHORIZED_KEY_PATH); if (fileName == null || fileName.length() == 0) return false; //File? File fi = new File(fileName); RandomAccessFile randomAccessFile = null; FileChannel channel = null; FileLock lock = null; boolean delete = false; try { //RandomAccessFile? randomAccessFile = new RandomAccessFile(fi, "rw"); //FileChannel? channel = randomAccessFile.getChannel(); // for (int i = 0; i < (FILELOCK_TIMEOUT / FILELOCK_WAIT); i++) { if (null != (lock = channel.tryLock())) { break; } m_log.info("waiting for locked file... [" + (i + 1) + "/" + (FILELOCK_TIMEOUT / FILELOCK_WAIT) + " : " + fileName + "]"); Thread.sleep(FILELOCK_WAIT); } if (null == lock) { m_log.warn("file locking timeout."); return false; } // (?) synchronized (authKeyLock) { //?? ByteBuffer buffer = ByteBuffer.allocate((int) channel.size()); //?? channel.read(buffer); // ???????????0? buffer.flip(); //?? String contents = decoder.decode(buffer).toString(); // ? m_log.debug("contents " + contents.length() + " : " + contents); //?? List<String> keyCheck = new ArrayList<String>(); StringTokenizer tokenizer = new StringTokenizer(contents, "\n"); while (tokenizer.hasMoreTokens()) { keyCheck.add(tokenizer.nextToken()); } //?????? int s = keyCheck.lastIndexOf(publicKey); if (s != -1) { // ? m_log.debug("remobe key : " + keyCheck.get(s)); keyCheck.remove(s); } //????? encoder.reset(); buffer.clear(); int i; if (keyCheck.size() > 0) { for (i = 0; i < keyCheck.size() - 1; i++) { encoder.encode(CharBuffer.wrap(keyCheck.get(i) + "\n"), buffer, false); } encoder.encode(CharBuffer.wrap(keyCheck.get(i)), buffer, true); } //??? buffer.flip(); channel.truncate(0); channel.position(0); channel.write(buffer); } delete = true; } catch (IOException e) { m_log.error(e.getMessage(), e); } catch (RuntimeException e) { m_log.error(e.getMessage(), e); } catch (InterruptedException e) { m_log.error(e.getMessage(), e); } finally { try { if (channel != null) { channel.close(); } if (randomAccessFile != null) { randomAccessFile.close(); } //? if (lock != null) { lock.release(); } } catch (Exception e) { } } return delete; }
From source file:org.ebayopensource.turmeric.eclipse.mavenapi.test.internal.collections.TestListUtil.java
/** * Test method for {@link org.ebayopensource.turmeric.eclipse.mavenapi.internal.collections.ListUtil#transformed(org.ebayopensource.turmeric.eclipse.mavenapi.internal.collections.Transformer, java.util.List)}. *//*from w ww . j a va 2 s . co m*/ @Test public void testTransformedTransformerOfTListOfQ() { List<String> collection = new ArrayList<String>(); collection.add("S3"); collection.add("Nvidia"); collection.add("ATI"); final Transformer<String> transformer = new Transformer<String>() { private static final long serialVersionUID = 1631027078150099602L; @Override public String transform(final Object input) { return ObjectUtils.toString(input).toLowerCase(); } }; List<String> list = ListUtil.transformed(transformer, collection); for (int i = 0; i < collection.size(); i++) { String expected = collection.get(i); String actual = list.get(i); Assert.assertNotSame(expected, actual); Assert.assertTrue(expected.equalsIgnoreCase(actual)); } String item = "3dfx"; list.add(item); Assert.assertTrue(list.contains(item)); list.remove(item); Assert.assertFalse(list.contains(item)); list.add(0, item); Assert.assertTrue(list.indexOf(item) == 0); Assert.assertTrue(list.lastIndexOf(item) == 0); list.remove(0); list.set(0, item); Assert.assertTrue(list.indexOf(item) == 0); Collection<String> data = new ArrayList<String>(2); data.add("Voodoo"); data.add("Radeon"); list.addAll(data); Assert.assertTrue(list.containsAll(data)); list.removeAll(data); Assert.assertFalse(list.containsAll(data)); list.addAll(0, data); list.retainAll(data); }
From source file:org.ebayopensource.turmeric.eclipse.utils.test.collections.TestListUtil.java
/** * Test method for {@link org.ebayopensource.turmeric.maveneclipseapi.internal.collections.ListUtil#transformed(org.ebayopensource.turmeric.maveneclipseapi.internal.collections.Transformer, java.util.List)}. *///ww w . j a va2s . co m @Test public void testTransformedTransformerOfTListOfQ() { List<String> collection = new ArrayList<String>(); collection.add("Arc' Terryx"); collection.add("Mountain Hardwear"); collection.add("Black Diamond"); final Transformer<String> transformer = new Transformer<String>() { private static final long serialVersionUID = 1631027078150099602L; @Override public String transform(final Object input) { return ObjectUtils.toString(input).toLowerCase(); } }; List<String> list = ListUtil.transformed(transformer, collection); for (int i = 0; i < collection.size(); i++) { String expected = collection.get(i); String actual = list.get(i); Assert.assertNotSame(expected, actual); Assert.assertTrue(expected.equalsIgnoreCase(actual)); } String item = "3dfx"; list.add(item); Assert.assertTrue(list.contains(item)); list.remove(item); Assert.assertFalse(list.contains(item)); list.add(0, item); Assert.assertTrue(list.indexOf(item) == 0); Assert.assertTrue(list.lastIndexOf(item) == 0); list.remove(0); list.set(0, item); Assert.assertTrue(list.indexOf(item) == 0); Collection<String> data = new ArrayList<String>(2); data.add("Voodoo"); data.add("Radeon"); list.addAll(data); Assert.assertTrue(list.containsAll(data)); list.removeAll(data); Assert.assertFalse(list.containsAll(data)); list.addAll(0, data); list.retainAll(data); }
From source file:com.celements.navigation.Navigation.java
private void generateLanguageMenu(INavigationBuilder navBuilder, XWikiContext context) { List<String> langs = WebUtils.getInstance().getAllowedLanguages(context); mainUlCssClasses += " language"; navBuilder.openLevel(mainUlCssClasses); for (String language : langs) { navBuilder.openMenuItemOut();// w ww . java 2 s. c om boolean isLastItem = (langs.lastIndexOf(language) == (langs.size() - 1)); navBuilder.appendMenuItemLink(language, "?language=" + language, getLanguageName(language, context), language.equals(getNavLanguage()), isLastItem, cmCssClass); navBuilder.closeMenuItemOut(); } navBuilder.closeLevel(); }
From source file:org.onebusaway.nyc.vehicle_tracking.impl.VehicleLocationSimulationServiceImpl.java
/** * This method samples runTrips that are active at the given time * //from w w w. j a v a 2 s. c o m * @param currentRunTrip * @param timestamp * @return */ private RunTripEntry sampleNearbyRunTrips(RunTripEntry currentRunTrip, long timestamp) { final List<RunTripEntry> activeRunTrips = _runService.getActiveRunTripEntriesForAgencyAndTime( currentRunTrip.getTripEntry().getId().getAgencyId(), timestamp); int bsize = activeRunTrips.size(); if (bsize < 1) { _log.warn("sampler: not enough runs to sample"); return null; } int currentIdx = activeRunTrips.lastIndexOf(currentRunTrip); if (currentIdx < 0) { activeRunTrips.add(currentRunTrip); currentIdx = activeRunTrips.lastIndexOf(currentRunTrip); bsize += 1; } final double[] probs = new double[bsize]; final double[] obs = new double[bsize]; for (int i = 0; i < bsize; ++i) { if (i == currentIdx) { // TODO Make this configurable, and explain probs[i] = 100 * bsize; } else { probs[i] = 1; } obs[i] = i; _log.debug(i + ": " + activeRunTrips.get(i)); } final DirichletGen rdg = new DirichletGen(streamArr, probs); rdg.nextPoint(probs); final DiscreteDistribution emd = new DiscreteDistribution(obs, probs, bsize); final double u = ung.nextDouble(); final int newIdx = (int) emd.inverseF(u); if (newIdx != currentIdx) _log.info(probs[newIdx] + ": sampled new idx=" + newIdx); return newIdx != currentIdx ? activeRunTrips.get(newIdx) : null; }
From source file:org.gbif.portal.web.controller.user.SessionHistoryInterceptor.java
/** * @see org.springframework.web.servlet.HandlerInterceptor#afterCompletion(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.lang.Object, java.lang.Exception) *///ww w.ja v a2 s . com @SuppressWarnings("unchecked") public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object object, Exception exception) throws Exception { //retrieve the page title from the request String pageTitle = (String) request.getAttribute(pageTitleRequestKey); pageTitle = QueryHelper.tidyValue(pageTitle); if (logger.isDebugEnabled() && StringUtils.isNotEmpty(pageTitle)) { logger.debug(pageTitle); } //if its not empty then it isn't an AJAX or tile request if (StringUtils.isNotEmpty(pageTitle)) { StringBuffer requestUrl = new StringBuffer(request.getRequestURL()); if (StringUtils.isNotEmpty(request.getQueryString())) { requestUrl.append('?'); requestUrl.append(request.getQueryString()); } //get the request URI for matching ignore patterns String requestURI = request.getRequestURI(); String contextPath = request.getContextPath(); requestURI = requestURI.replace(contextPath, ""); if (ignoreUrlPatterns == null || !ignoreUrlPatterns.contains(requestURI)) { //ignore if they've hit refresh List<KeyValueDTO> sessionHistory = (List<KeyValueDTO>) request.getSession() .getAttribute(sessionHistoryKey); if (sessionHistory == null) { sessionHistory = new LinkedList<KeyValueDTO>(); request.getSession().setAttribute(sessionHistoryKey, sessionHistory); } String fullRequestUrl = requestUrl.toString(); KeyValueDTO historyItem = new KeyValueDTO(fullRequestUrl, pageTitle); //ignore if they've hit refresh KeyValueDTO lastHistoryItem = null; if (!sessionHistory.isEmpty()) lastHistoryItem = sessionHistory.get(0); if (lastHistoryItem == null || !lastHistoryItem.equals(historyItem)) { if (logger.isDebugEnabled()) { logger.debug("Adding to history: " + historyItem); } sessionHistory.add(0, historyItem); } //if this item exists anywhere else remove it synchronized (sessionHistory) { int index = sessionHistory.lastIndexOf(historyItem); if (index > 0) { sessionHistory.remove(index); } if (browsePatterns != null) { if (!browsePatternsInitialised) { fullBrowsePatterns = new ArrayList<String>(); for (String browsePattern : browsePatterns) { //construct full url browsePattern = "http://" + request.getHeader("host") + request.getContextPath() + "/" + browsePattern; fullBrowsePatterns.add(browsePattern); } browsePatternsInitialised = true; } //remove any matching patterns KeyValueDTO toBeRemoved = null; for (String browsePattern : fullBrowsePatterns) { for (KeyValueDTO kv : sessionHistory) { if (kv.getKey().startsWith(browsePattern) && fullRequestUrl.startsWith(browsePattern)) { if (sessionHistory.indexOf(kv) > 0) { // logger.debug("Removing history item : "+kv.getKey()); toBeRemoved = kv; break; } } } if (toBeRemoved != null) break; } if (toBeRemoved != null) { sessionHistory.remove(toBeRemoved); } } } //remove the last item if it exceeds maximum if (sessionHistory.size() > maxSessionHistoryItems) { sessionHistory.remove(sessionHistory.size() - 1); } } } }