Example usage for java.util HashMap size

List of usage examples for java.util HashMap size

Introduction

In this page you can find the example usage for java.util HashMap size.

Prototype

int size

To view the source code for java.util HashMap size.

Click Source Link

Document

The number of key-value mappings contained in this map.

Usage

From source file:edu.utexas.cs.tactex.utils.ChargeEstimatorDefault.java

@Override
public HashMap<CustomerInfo, HashMap<TariffSpecification, Double>> estimateRelevantTariffCharges(
        List<TariffSpecification> tariffSpecs,
        HashMap<CustomerInfo, HashMap<TariffSpecification, BrokerUtils.ShiftedEnergyData>> customer2ShiftedEnergy) {

    // Assumption: ignoring regulation charges in tariff evaluation helper
    HashMap<CustomerInfo, HashMap<TariffSpecification, Double>> estimatedCharges = new HashMap<CustomerInfo, HashMap<TariffSpecification, Double>>();
    for (CustomerInfo customerInfo : customer2ShiftedEnergy.keySet()) {
        // create entry for customer
        HashMap<TariffSpecification, Double> tariffEvaluations = new HashMap<TariffSpecification, Double>();
        // scan tariffs and evaluate them 
        for (TariffSpecification spec : tariffSpecs) {
            if (customerInfo.getPowerType().canUse(spec.getPowerType())) {
                double charge = estimateCharge(
                        customer2ShiftedEnergy.get(customerInfo).get(spec).getShiftedEnergy(), spec);
                Double inconvenienceFactor = customer2ShiftedEnergy.get(customerInfo).get(spec)
                        .getInconvenienceFactor();
                double evaluation = charge + inconvenienceFactor;
                log.debug("inconv charge=" + charge + " inconvenienceFactor=" + inconvenienceFactor
                        + " evaluation=" + evaluation /*+ " ratio=" + evaluation/charge*/);
                tariffEvaluations.put(spec, evaluation);
            }// w w  w .  j  a  v  a  2s  .  com
        }

        if (tariffEvaluations.size() > 0) {
            estimatedCharges.put(customerInfo, tariffEvaluations);
        }
    }
    return estimatedCharges;
}

From source file:au.org.ala.biocache.web.AssertionController.java

/**
 * Adds a bulk list of assertions.//from  w  w w  . j ava 2 s.  c om
 * 
 * This method expects certain request params to be provided
 * apiKey
 * userId
 * userDisplayName
 * assertions - a json list of assertion maps to be applied.
 * 
 * @param request
 * @param response
 * @throws Exception
 */
@RequestMapping(value = "/bulk/assertions/add", method = RequestMethod.POST)
public void addBulkAssertions(HttpServletRequest request, HttpServletResponse response) throws Exception {
    ObjectMapper om = new ObjectMapper();
    try {
        String json = request.getParameter("assertions");
        String userId = request.getParameter("userId");
        String userDisplayName = request.getParameter("userDisplayName");
        String apiKey = request.getParameter("apiKey");
        //check to see that the assertions have come from a valid source before adding
        if (shouldPerformOperation(apiKey, response)) {
            List<java.util.Map<String, String>> assertions = om.readValue(json,
                    new TypeReference<List<java.util.Map<String, String>>>() {
                    });
            logger.debug("The assertions in a list of maps: " + assertions);
            java.util.HashMap<String, QualityAssertion> qas = new java.util.HashMap<String, QualityAssertion>(
                    assertions.size());
            for (java.util.Map<String, String> assertion : assertions) {
                String code = assertion.get("code");
                String comment = assertion.get("comment");
                String recordUuid = assertion.get("recordUuid");
                QualityAssertion qa = au.org.ala.biocache.model.QualityAssertion.apply(Integer.parseInt(code));
                qa.setComment(comment);
                qa.setUserId(userId);
                qa.setUserDisplayName(userDisplayName);
                qas.put(recordUuid, qa);
            }
            if (qas.size() > 0) {
                //add the qas in bulk
                Store.addUserAssertions(qas);
            }
        }
    } catch (Exception e) {
        logger.error(e.getMessage(), e);
        response.sendError(HttpURLConnection.HTTP_BAD_REQUEST);
    }
}

From source file:com.google.gwt.emultest.java.util.IdentityHashMapTest.java

public void testEntrySetEntrySetterNonString() {
    HashMap hashMap = new HashMap();
    Integer key = 1;/*from   ww w.j av a2  s .c  o m*/
    hashMap.put(key, 2);
    Set entrySet = hashMap.entrySet();
    Entry entry = (Entry) entrySet.iterator().next();

    entry.setValue(3);
    assertEquals(3, hashMap.get(key));

    hashMap.put(key, 4);
    assertEquals(4, entry.getValue());

    assertEquals(1, hashMap.size());
}

From source file:it.baywaylabs.jumpersumo.utility.Finder.java

public Integer[] checkConsecutive(String[] key, HashMap<String, int[]> map, List<Integer> a, List<Integer> b) {
    Set<Integer> check = new HashSet<Integer>();

    if (key.length > 0 && map.size() > 0) {
        for (int i = 0; i < key.length; i++) {
            int index = -1;
            if (i + 1 < key.length && map.get(key[i + 1]) != null) {
                index = map.get(key[i + 1]).length - 1;
            }//from w  ww  .j a v  a2s  . c  o  m
            for (int j = map.get(key[i]).length - 1; j >= 0; j--) {
                if (i + 1 < key.length && index >= 0) {
                    if (map.get(key[i])[j] + key[i].length() + 1 == map.get(key[i + 1])[index]) {
                        // check.add(map.get(key[0])[map.get(key[0]).length-1]);
                        check.add(map.get(key[0])[j]);

                        // aggiorno i due array di appoggio a e b
                        Log.e(TAG, "Dovrei aggiungere ad A: " + map.get(key[i])[j] + " ed a B: "
                                + ((map.get(key[i + 1])[index] + key[i + 1].length()) - map.get(key[i])[j]));
                        a.add(map.get(key[i])[j]);
                        b.add((map.get(key[i + 1])[index] + key[i + 1].length()) - map.get(key[i])[j]);

                        index--;
                    }
                }
            }
        }
    }

    if (!check.isEmpty()) {
        return check.toArray(new Integer[check.size()]);
        // return ArrayUtils.toPrimitive((Integer[]) check.toArray());
    }

    return null;
}

From source file:gsn.wrappers.general.CSVHandler.java

public DataField[] getDataFields() {
    HashMap<String, String> fields = new HashMap<String, String>();
    for (int i = 0; i < getFields().length; i++) {
        String field = getFields()[i];
        String type = getFormats()[i];
        if (isTimeStampFormat(type)) {
            //GSN doesn't support timestamp data type, all timestamp values are supposed to be bigint.
            fields.put(field, "bigint");
        } else if (type.equalsIgnoreCase("numeric"))
            fields.put(field, "numeric");
        else if (type.equalsIgnoreCase("bigint"))
            fields.put(field, "bigint");
        else/*w  w  w  .j  ava  2  s .c o  m*/
            fields.put(field, "string");
    }
    DataField[] toReturn = new DataField[fields.size()];
    int i = 0;
    for (String key : fields.keySet())
        toReturn[i++] = new DataField(key, fields.get(key));
    return toReturn;
}

From source file:eu.sisob.uma.extractors.adhoc.email.EmailExtractor.java

/**
 *
 * @param input_file/*from  w ww  .  j  a v  a 2s. c  o  m*/
 * @param data_dir
 * @param output_file
 * @param norepeat_output_file
 * @param notfound_output_file
 * @param notfound_norepeat_output_file
 * @param filters
 * @param error_sw
 */
public static void extract_emails(File input_file, File data_dir, File output_file, File norepeat_output_file,
        File notfound_output_file, File notfound_norepeat_output_file, List<String> filters,
        StringWriter error_sw) {
    CSVReader reader = null;
    try {
        reader = new CSVReader(new FileReader(input_file), CSV_SEPARATOR);
    } catch (FileNotFoundException ex) {
        Logger.getRootLogger().error("Error reading " + input_file.getName() + " - " + ex.toString());
    }

    int idStaffIdentifier = -1;
    int idName = -1;
    int idFirstName = -1;
    int idLastName = -1;
    int idInitials = -1;
    int idUnitOfAssessment_Description = -1;
    int idInstitutionName = -1;
    int idWebAddress = -1;
    int idResearchGroupDescription = -1;
    int idResearcherWebAddress = -1;
    int idResearcherWebAddressType = -1;
    int idResearcherWebAddressExt = -1;
    int idScoreUrl = -1;

    String filter_literal = "(";
    for (String filter : filters) {
        filter_literal += filter + ",";
    }
    filter_literal += ")";

    String[] nextLine;
    try {
        if ((nextLine = reader.readNext()) != null) {
            //Locate indexes            
            //Locate indexes                        
            for (int i = 0; i < nextLine.length; i++) {
                String column_name = nextLine[i];
                if (column_name.equals(FileFormatConversor.CSV_COL_ID))
                    idStaffIdentifier = i;
                else if (column_name.equals(FileFormatConversor.CSV_COL_NAME))
                    idName = i;
                else if (column_name.equals(FileFormatConversor.CSV_COL_FIRSTNAME))
                    idFirstName = i;
                else if (column_name.equals(FileFormatConversor.CSV_COL_LASTNAME))
                    idLastName = i;
                else if (column_name.equals(FileFormatConversor.CSV_COL_INITIALS))
                    idInitials = i;
                else if (column_name.equals(FileFormatConversor.CSV_COL_SUBJECT))
                    idUnitOfAssessment_Description = i;
                else if (column_name.equals(FileFormatConversor.CSV_COL_INSTITUTION_NAME))
                    idInstitutionName = i;
                else if (column_name.equals(FileFormatConversor.CSV_COL_INSTITUTION_URL))
                    idWebAddress = i;
                else if (column_name.equals(FileFormatConversor.CSV_COL_RESEARCHER_PAGE_URL))
                    idResearcherWebAddress = i;
                else if (column_name.equals(FileFormatConversor.CSV_COL_RESEARCHER_PAGE_TYPE))
                    idResearcherWebAddressType = i;
                else if (column_name.equals(FileFormatConversor.CSV_COL_RESEARCHER_PAGE_EXT))
                    idResearcherWebAddressExt = i;
                else if (column_name.equals(FileFormatConversor.CSV_COL_SCORE_URL))
                    idScoreUrl = i;
            }
        }
    } catch (Exception ex) {
        String error_msg = "Error reading headers of " + input_file.getName();
        Logger.getRootLogger().error(error_msg + " - " + ex.toString());
        if (error_sw != null)
            error_sw.append(error_msg + "\r\n");

        return;
    }

    if (idResearcherWebAddress != -1 && idStaffIdentifier != -1 && idLastName != -1 && idInitials != -1) {
        //if(!test_only_output)
        {
            try {
                String header = "";
                header += "\"" + FileFormatConversor.CSV_COL_ID + "\"" + CSV_SEPARATOR;
                header += "\"" + FileFormatConversor.CSV_COL_LASTNAME + "\"" + CSV_SEPARATOR;
                header += "\"" + FileFormatConversor.CSV_COL_INITIALS + "\"" + CSV_SEPARATOR;
                if (idFirstName != -1)
                    header += "\"" + FileFormatConversor.CSV_COL_INITIALS + "\"" + CSV_SEPARATOR;
                if (idName != -1)
                    header += "\"" + FileFormatConversor.CSV_COL_NAME + "\"" + CSV_SEPARATOR;
                header += "\"" + FileFormatConversor.CSV_COL_EMAIL + "\"" + CSV_SEPARATOR;
                if (idInstitutionName != -1)
                    header += "\"" + FileFormatConversor.CSV_COL_INSTITUTION_NAME + "\"" + CSV_SEPARATOR;
                if (idWebAddress != -1)
                    header += "\"" + FileFormatConversor.CSV_COL_INSTITUTION_URL + "\"" + CSV_SEPARATOR;
                header += "\"" + FileFormatConversor.CSV_COL_RESEARCHER_PAGE_URL + "\"" + CSV_SEPARATOR;
                if (idResearcherWebAddressExt != -1)
                    header += "\"" + FileFormatConversor.CSV_COL_RESEARCHER_PAGE_EXT + "\"" + CSV_SEPARATOR;
                if (idResearcherWebAddressType != -1)
                    header += "\"" + FileFormatConversor.CSV_COL_RESEARCHER_PAGE_TYPE + "\"" + CSV_SEPARATOR;
                if (idScoreUrl != -1)
                    header += "\"" + FileFormatConversor.CSV_COL_SCORE_URL + "\"" + CSV_SEPARATOR;
                header += "\"" + FileFormatConversor.CSV_COL_SCORE_EMAIL + "\"";
                header += "\r\n";
                FileUtils.write(output_file, header, "UTF-8", false);

                header = "";
                header += "\"" + FileFormatConversor.CSV_COL_ID + "\"" + CSV_SEPARATOR;
                header += "\"" + FileFormatConversor.CSV_COL_LASTNAME + "\"" + CSV_SEPARATOR;
                header += "\"" + FileFormatConversor.CSV_COL_INITIALS + "\"" + CSV_SEPARATOR;
                if (idFirstName != -1)
                    header += "\"" + FileFormatConversor.CSV_COL_INITIALS + "\"" + CSV_SEPARATOR;
                if (idName != -1)
                    header += "\"" + FileFormatConversor.CSV_COL_NAME + "\"" + CSV_SEPARATOR;
                if (idInstitutionName != -1)
                    header += "\"" + FileFormatConversor.CSV_COL_INSTITUTION_NAME + "\"" + CSV_SEPARATOR;
                if (idWebAddress != -1)
                    header += "\"" + FileFormatConversor.CSV_COL_INSTITUTION_URL + "\"" + CSV_SEPARATOR;
                header += "\"" + FileFormatConversor.CSV_COL_RESEARCHER_PAGE_URL + "\"" + CSV_SEPARATOR;
                if (idResearcherWebAddressExt != -1)
                    header += "\"" + FileFormatConversor.CSV_COL_RESEARCHER_PAGE_EXT + "\"" + CSV_SEPARATOR;
                if (idResearcherWebAddressType != -1)
                    header += "\"" + FileFormatConversor.CSV_COL_RESEARCHER_PAGE_TYPE + "\"" + CSV_SEPARATOR;
                if (idScoreUrl != -1)
                    header += "\"" + FileFormatConversor.CSV_COL_SCORE_URL + "\"";
                header += "\r\n";

                FileUtils.write(notfound_output_file, header, "UTF-8", false);

            } catch (IOException ex) {
                Logger.getLogger("root").error(ex.toString());
                error_sw.append("Error creating output files\r\n");
            }
        }

        try {
            //if(!test_only_output)
            {
                Pattern p1 = Pattern.compile("([a-zA-Z0-9#._-]+)+");

                while ((nextLine = reader.readNext()) != null) {
                    nextLine[idLastName] = nextLine[idLastName].replaceAll("[^a-zA-Z]", " ").toLowerCase();
                    nextLine[idInitials] = nextLine[idInitials].replaceAll("[^a-zA-Z]", " ").toLowerCase();
                    if (idFirstName != -1)
                        nextLine[idFirstName] = nextLine[idFirstName].replaceAll("[^a-zA-Z]", " ")
                                .toLowerCase();
                    if (idName != -1)
                        nextLine[idName] = nextLine[idName].replaceAll("[^a-zA-Z]", " ").toLowerCase();

                    String content = "";
                    String researcher_page_url = nextLine[idResearcherWebAddress];
                    Logger.getLogger("root").info("Go with " + researcher_page_url);
                    if (p1.matcher(researcher_page_url).matches()) {

                        File f = new File(data_dir, researcher_page_url);

                        if (researcher_page_url.endsWith(".doc") || researcher_page_url.endsWith(".docx")) {

                            Logger.getLogger("root")
                                    .error("The document " + researcher_page_url + " could not loaded");
                            error_sw.append("The document " + researcher_page_url + " could not loaded");

                        } else if (researcher_page_url.endsWith(".pdf")) {

                            PDFParser parser = null;
                            PDFTextStripper pdfStripper = null;
                            PDDocument pdDoc = null;
                            COSDocument cosDoc = null;

                            try {
                                parser = new PDFParser(new FileInputStream(f));
                            } catch (IOException e) {
                                Logger.getLogger("root").error(e.toString());
                                error_sw.append("Unable to open PDF called " + researcher_page_url);
                            }

                            if (parser != null) {
                                try {
                                    parser.parse();
                                    cosDoc = parser.getDocument();
                                    pdfStripper = new PDFTextStripper();
                                    pdDoc = new PDDocument(cosDoc);
                                    pdfStripper.setStartPage(1);
                                    pdfStripper.setEndPage(2);
                                    content = pdfStripper.getText(pdDoc);
                                } catch (Exception e) {
                                    Logger.getLogger("root").error(e.toString());
                                    error_sw.append("An exception occured in parsing the PDF Document.");
                                } finally {
                                    try {
                                        if (cosDoc != null)
                                            cosDoc.close();
                                        if (pdDoc != null)
                                            pdDoc.close();
                                    } catch (Exception e) {
                                        Logger.getLogger("root").error(e.toString());
                                    }
                                }
                            }
                        }

                    } else {

                        try {
                            Logger.getRootLogger().info("Reading " + researcher_page_url);

                            File temp;

                            temp = File.createTempFile("temp-file-name", ".tmp");
                            URL fetched_url = Downloader.fetchURL(researcher_page_url);
                            FileUtils.copyURLToFile(fetched_url, temp);
                            long sizeInBytes = temp.length();
                            long sizeInMb = sizeInBytes / (1024 * 1024);
                            if (sizeInMb > 100) {
                                content = "";
                            } else {
                                content = FileUtils.readFileToString(temp);
                                temp.delete();
                            }

                        } catch (Exception ex) {
                            Logger.getLogger("root").error("" + researcher_page_url + " could not loaded", ex);
                            error_sw.append("" + researcher_page_url + " could not loaded");
                            content = "";
                        } catch (java.lang.OutOfMemoryError ex2) {
                            Logger.getLogger("root").error(
                                    researcher_page_url + " could not loaded (Jsoup OutOfMemoryError)", ex2);
                            error_sw.append("" + researcher_page_url + " could not loaded");
                            content = "";
                        }

                    }

                    if (!content.equals("")) {

                        //final String RE_MAIL = "([\\w\\-]([\\.\\w])+[\\w]+@([\\w\\-]+\\.)+[A-Za-z]{2,4})";
                        final String RE_MAIL = "([\\w\\-]([\\.\\w]){1,16}[\\w]{1,16}@([\\w\\-]{1,16}\\.){1,16}[A-Za-z]{2,4})";
                        Pattern p = Pattern.compile(RE_MAIL);
                        Matcher m = p.matcher(content);
                        List<String> emails = new ArrayList<String>();
                        while (m.find()) {
                            String email = m.group(1);

                            if (!emails.contains(email)) {
                                // Apply filter
                                boolean pass = true;
                                if (filters.size() > 0) {
                                    pass = false;
                                    for (String filter : filters) {

                                        String filter2 = filter.replace("*", ".*?");
                                        Pattern pattern = Pattern.compile(filter2);
                                        if (pattern.matcher(email).matches()) {
                                            pass = true;
                                            break;
                                        } else {

                                        }
                                    }
                                }

                                if (pass) {
                                    Logger.getRootLogger().info(researcher_page_url + " => " + email
                                            + " PASS FILTER! " + filter_literal);
                                    emails.add(email);
                                } else {
                                    Logger.getRootLogger().info(researcher_page_url + " => " + email
                                            + " REFUSE BY FILTER! " + filter_literal);
                                }
                            }
                        }

                        if (emails.size() < MAX_MAIL_PER_PAGE) {
                            for (String email : emails) {

                                String score_email = "";
                                String lastname = nextLine[idLastName];
                                if (lastname.length() > 5)
                                    lastname = lastname.substring(0, 6);

                                if (email.toLowerCase().contains(lastname)) {
                                    score_email = "A";
                                } else {
                                    int temp_id = idFirstName;
                                    if (temp_id == -1)
                                        temp_id = idInitials;

                                    if (!nextLine[idInitials].trim().equals("")) {

                                        String firstname = nextLine[temp_id].split(" ")[0];
                                        if (firstname.length() > 5)
                                            firstname = firstname.substring(0, 5);
                                        if (firstname.length() > 1) {
                                            if (email.toLowerCase().contains(firstname)) {
                                                score_email = "A";
                                            }
                                        }
                                    }

                                    if (score_email.equals("")) {
                                        String initials = "";

                                        String[] arr = nextLine[temp_id].split(" ");
                                        for (int i = 0; i < arr.length; i++) {
                                            if (arr[i].length() > 0)
                                                initials += arr[i].charAt(0);
                                        }
                                        initials += nextLine[idLastName].charAt(0);

                                        if (email.toLowerCase().contains(initials)) {
                                            score_email = "B";
                                        } else {
                                            score_email = "Z";
                                        }
                                    }

                                }

                                String result = "";
                                result += "\"" + nextLine[idStaffIdentifier] + "\"" + CSV_SEPARATOR;
                                result += "\"" + nextLine[idLastName] + "\"" + CSV_SEPARATOR;
                                result += "\"" + nextLine[idInitials] + "\"" + CSV_SEPARATOR;
                                if (idFirstName != -1)
                                    result += "\"" + nextLine[idFirstName] + "\"" + CSV_SEPARATOR;
                                if (idName != -1)
                                    result += "\"" + nextLine[idName] + "\"" + CSV_SEPARATOR;
                                result += "\"" + email + "\"" + CSV_SEPARATOR;
                                if (idInstitutionName != -1)
                                    result += "\"" + nextLine[idInstitutionName] + "\"" + CSV_SEPARATOR;
                                if (idWebAddress != -1)
                                    result += "\"" + nextLine[idWebAddress] + "\"" + CSV_SEPARATOR;
                                result += "\"" + nextLine[idResearcherWebAddress] + "\"" + CSV_SEPARATOR;
                                if (idResearcherWebAddressExt != -1)
                                    result += "\"" + nextLine[idResearcherWebAddressExt] + "\"" + CSV_SEPARATOR;
                                if (idResearcherWebAddressType != -1)
                                    result += "\"" + nextLine[idResearcherWebAddressType] + "\""
                                            + CSV_SEPARATOR;
                                if (idScoreUrl != -1)
                                    result += "\"" + nextLine[idScoreUrl] + "\"" + CSV_SEPARATOR;
                                result += "\"" + score_email + "\"";

                                result += "\r\n";

                                try {
                                    FileUtils.write(output_file, result, "UTF-8", true);
                                } catch (IOException ex) {
                                    Logger.getLogger("root").error(ex.toString());
                                }
                            }
                        } else {
                            content = "";
                        }

                        if (emails.size() == 0)
                            content = "";
                    }

                    if (content == "") {

                        String result = "";
                        result += "\"" + nextLine[idStaffIdentifier] + "\"" + CSV_SEPARATOR;
                        result += "\"" + nextLine[idLastName] + "\"" + CSV_SEPARATOR;
                        result += "\"" + nextLine[idInitials] + "\"" + CSV_SEPARATOR;
                        if (idFirstName != -1)
                            result += "\"" + nextLine[idFirstName] + "\"" + CSV_SEPARATOR;
                        if (idName != -1)
                            result += "\"" + nextLine[idName] + "\"" + CSV_SEPARATOR;
                        if (idInstitutionName != -1)
                            result += "\"" + nextLine[idInstitutionName] + "\"" + CSV_SEPARATOR;
                        if (idWebAddress != -1)
                            result += "\"" + nextLine[idWebAddress] + "\"" + CSV_SEPARATOR;
                        result += "\"" + nextLine[idResearcherWebAddress] + "\"" + CSV_SEPARATOR;
                        if (idResearcherWebAddressExt != -1)
                            result += "\"" + nextLine[idResearcherWebAddressExt] + "\"" + CSV_SEPARATOR;
                        if (idResearcherWebAddressType != -1)
                            result += "\"" + nextLine[idResearcherWebAddressType] + "\"" + CSV_SEPARATOR;
                        if (idScoreUrl != -1)
                            result += "\"" + nextLine[idScoreUrl] + "\"";

                        result += "\r\n";

                        try {
                            FileUtils.write(notfound_output_file, result, "UTF-8", true);
                        } catch (IOException ex) {
                            Logger.getLogger("root").error(ex.toString());
                        }
                    }
                }

                reader.close();
            }

            Logger.getLogger("root").info("Applying deduplication algoritm - Counting duplications");

            boolean finish = false;
            String alternate_filename_1 = "file1";
            String alternate_filename_2 = "file2";

            File alternate_file_s = new File(output_file.getParentFile(), alternate_filename_1);
            File alternate_file_d = new File(output_file.getParentFile(), alternate_filename_2);

            FileUtils.copyFile(output_file, alternate_file_s);

            //FileUtils.write(output_file_wor_notfound, "", "UTF-8", false);
            FileUtils.write(norepeat_output_file, "", "UTF-8", false);

            while (!finish) {
                reader = null;
                try {
                    reader = new CSVReader(new FileReader(alternate_file_s), CSV_SEPARATOR);
                } catch (FileNotFoundException ex) {
                    Logger.getRootLogger()
                            .error("Error reading " + input_file.getName() + " - " + ex.toString());
                }

                HashMap<String, Integer> count_dictionary = new HashMap<String, Integer>();
                int idEmail = 3;
                if (idFirstName != -1)
                    idEmail++;
                if (idName != -1)
                    idEmail++;

                try {
                    FileUtils.write(alternate_file_d, "", "UTF-8", false);
                } catch (IOException ex) {
                    Logger.getLogger("root").error(ex.toString());
                }
                finish = true;
                while ((nextLine = reader.readNext()) != null) {
                    Integer count = 1;
                    if (count_dictionary.containsKey(nextLine[idEmail].toString()))
                        count = count_dictionary.get(nextLine[idEmail].toString());
                    else {
                        if (count_dictionary.size() < max_in_mem) {
                            count_dictionary.put(nextLine[idEmail].toString(), count + 1);
                        } else {
                            try {
                                for (int i = 0; i < nextLine.length; i++)
                                    nextLine[i] = "\"" + nextLine[i] + "\"";
                                FileUtils.write(alternate_file_d,
                                        StringUtil.join(Arrays.asList(nextLine), String.valueOf(CSV_SEPARATOR))
                                                + "\r\n",
                                        "UTF-8", true);
                                finish = false;
                            } catch (IOException ex) {
                                Logger.getLogger("root").error(ex.toString());
                            }
                        }
                    }
                }

                reader.close();

                Logger.getLogger("root").info("Applying deduplication algoritm - Removing duplications");

                reader = null;
                try {
                    reader = new CSVReader(new FileReader(alternate_file_s), CSV_SEPARATOR);
                } catch (FileNotFoundException ex) {
                    Logger.getRootLogger()
                            .error("Error reading " + input_file.getName() + " - " + ex.toString());
                }

                String previous_id = "%previous%";
                String previous_email = "%previous_email%";
                List<String[]> cache = new ArrayList<String[]>();

                while ((nextLine = reader.readNext()) != null) {
                    String id = nextLine[idStaffIdentifier].toString();

                    if (previous_id.equals(id)) {
                        cache.add(nextLine);
                        previous_id = id;
                    } else {
                        //Process
                        String[] winner_line = null;
                        String max_score = "Z";
                        for (String[] act_line : cache) {
                            String act_score = "Z";
                            try {
                                act_score = act_line[act_line.length - 1];
                            } catch (Exception ex) {
                            }

                            String email = act_line[idEmail].toString();

                            if (count_dictionary.containsKey(email) && count_dictionary.get(email) > 0) {
                                if (max_score.compareTo(act_score) > 0 && !act_score.equals("")) {
                                    winner_line = act_line;
                                    max_score = act_score;
                                }

                                count_dictionary.put(email, 0);
                            }
                        }

                        if (winner_line != null) {
                            try {
                                for (int i = 0; i < winner_line.length; i++)
                                    winner_line[i] = "\"" + winner_line[i] + "\"";
                                FileUtils.write(norepeat_output_file,
                                        StringUtil.join(Arrays.asList(winner_line),
                                                String.valueOf(CSV_SEPARATOR)) + "\r\n",
                                        "UTF-8", true);
                            } catch (IOException ex) {
                                Logger.getLogger("root").error(ex.toString());
                            }

                        } else {
                            //                            try {
                            //                                FileUtils.write(output_file_wor_notfound, StringUtil.join(Arrays.asList(winner_line), String.valueOf(CSV_SEPARATOR)) + "\r\n", "UTF-8", true);
                            //                            } catch (IOException ex) {
                            //                                Logger.getLogger("root").error(ex.toString());
                            //                            }
                        }

                        cache.clear();

                        cache.add(nextLine);

                        previous_id = id;
                    }

                }

                //Process
                if (cache.size() > 0) {
                    String[] winner_line = null;
                    String max_score = "Z";
                    for (String[] act_line : cache) {
                        String act_score = "Z";
                        try {
                            act_score = (act_line[act_line.length - 1]);
                        } catch (Exception ex) {
                        }
                        String email = act_line[idEmail];
                        if (count_dictionary.containsKey(email) && count_dictionary.get(email) > 0) {
                            if (max_score.compareTo(act_score) > 0 && !act_score.equals("")) {
                                winner_line = act_line;
                                max_score = act_score;
                            }

                            count_dictionary.put(email, 0);
                        }
                    }

                    if (winner_line != null) {

                        try {
                            for (int i = 0; i < winner_line.length; i++)
                                winner_line[i] = "\"" + winner_line[i] + "\"";
                            FileUtils.write(norepeat_output_file,
                                    StringUtil.join(Arrays.asList(winner_line), String.valueOf(CSV_SEPARATOR))
                                            + "\r\n",
                                    "UTF-8", true);
                        } catch (IOException ex) {
                            Logger.getLogger("root").error(ex.toString());
                        }
                    } else {
                        //                        try {
                        //                            FileUtils.write(output_file_wor_notfound, StringUtil.join(Arrays.asList(winner_line), String.valueOf(CSV_SEPARATOR)) + "\r\n", "UTF-8", true);
                        //                        } catch (IOException ex) {
                        //                            Logger.getLogger("root").error(ex.toString());
                        //                        }
                    }
                }

                reader.close();

                //
                if (!finish) {
                    FileUtils.copyFile(alternate_file_d, alternate_file_s);
                    alternate_file_s = new File(output_file.getParentFile(), alternate_filename_1);
                    alternate_file_d = new File(output_file.getParentFile(), alternate_filename_2);
                }
            }

            FileUtils.forceDelete(alternate_file_s);
            FileUtils.forceDelete(alternate_file_d);

            Logger.getLogger("root").info("Applying deduplication algoritm - Finish");

        } catch (Exception ex) {
            String error_msg = "Error extracting emails from extractor " + input_file.getName();
            Logger.getRootLogger().error(error_msg + " - " + ex.toString());
            if (error_sw != null)
                error_sw.append(error_msg + "\r\n");
            return;
        }
    }
}

From source file:com.google.gwt.emultest.java.util.IdentityHashMapTest.java

public void testEntrySetEntrySetterString() {
    HashMap hashMap = new HashMap();
    String key = "A";
    hashMap.put(key, "B");
    Set entrySet = hashMap.entrySet();
    Entry entry = (Entry) entrySet.iterator().next();

    entry.setValue("C");
    assertEquals("C", hashMap.get(key));

    hashMap.put(key, "D");
    assertEquals("D", entry.getValue());

    assertEquals(1, hashMap.size());
}

From source file:com.jaeksoft.searchlib.crawler.file.process.CrawlFileThread.java

private FileInstanceAbstract[] checkDirectory(FileInstanceAbstract fileInstance)
        throws SearchLibException, URISyntaxException, IOException {

    // Load directory from Index
    HashMap<String, FileInfo> indexFileMap = new HashMap<String, FileInfo>();
    fileManager.getFileInfoList(fileInstance.getURI(), indexFileMap);

    boolean withSubDir = filePathItem.isWithSubDir();

    // If the filePathItem does not support subdir
    if (!withSubDir)
        for (FileInfo fileInfo : indexFileMap.values())
            if (fileInfo.getFileType() == FileTypeEnum.directory)
                smartDelete(crawlQueue, fileInfo);

    // Remove existing files from the map
    FileInstanceAbstract[] files = withSubDir ? fileInstance.listFilesAndDirectories()
            : fileInstance.listFilesOnly();
    if (files != null)
        for (FileInstanceAbstract file : files)
            indexFileMap.remove(file.getURI().toASCIIString());

    // The file that remain in the map can be removed
    if (indexFileMap.size() > 0)
        for (FileInfo fileInfo : indexFileMap.values())
            smartDelete(crawlQueue, fileInfo);

    return files;
}

From source file:com.pari.nm.modules.jobs.PcbImportJob.java

@Override
public void statusUpdate(String msg, boolean msgType, int perComplete, Object... keys) {
    HashMap<String, String> msgMap = (HashMap<String, String>) keys[0];
    noOfVirtsAdded += msgMap.size();
    PcbImportJobStatus jobStatus = new PcbImportJobStatus(jobId, jobRunId, 99, msgMap, JobStatus.RUNNING,
            msgType ? JobStatus.MSG_INFO : JobStatus.MSG_ERROR);
    ClientSessionManager.getInstance().sendJobStatusMessages(jobId, jobStatus);
    logger.debug(jobStatus.toString());//from www  .  j a  v  a  2  s .co  m
}

From source file:gov.llnl.lc.smt.command.port.SmtPort.java

/**
 * Describe the method here/*  ww w .ja v  a 2 s .  co m*/
 *
 * @see     describe related java objects
 *
 * @param subCommandArg
 * @return
 ***********************************************************/
private HashMap<String, OSM_Port> getOSM_PortsByString(String subCommandArg) {
    // get all the ports, and return the ones with a matching string
    // in the node description, guid, etc.
    HashMap<String, OSM_Port> ports = getOSM_Ports();
    HashMap<String, OSM_Port> matchPorts = null;

    if ((ports != null) && ports.size() > 0) {
        matchPorts = new HashMap<String, OSM_Port>();

        for (OSM_Port port : ports.values()) {
            // if this port has this string anywhere, then add it to the map
            if (port.hasError()) {
                matchPorts.put(OSM_Fabric.getOSM_PortKey(port), port);
            }
        }
    }
    return matchPorts;
}