Example usage for java.util List lastIndexOf

List of usage examples for java.util List lastIndexOf

Introduction

In this page you can find the example usage for java.util List lastIndexOf.

Prototype

int lastIndexOf(Object o);

Source Link

Document

Returns the index of the last occurrence of the specified element in this list, or -1 if this list does not contain the element.

Usage

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);
            }
        }
    }
}