Ignore:
Timestamp:
2012-05-22T13:01:04+12:00 (12 years ago)
Author:
sjm84
Message:

Fixing Greenstone 3's use (or lack thereof) of generics, this was done automatically so we may want to change it over time. This change will also auto-format any files that have not already been formatted.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • main/trunk/greenstone3/src/java/org/greenstone/gsdl3/action/DocumentAction.java

    r25355 r25635  
    3535import java.util.HashSet;
    3636import java.io.File;
     37import java.io.Serializable;
    3738
    3839import org.apache.log4j.*;
     
    9091        Element request = (Element) GSXML.getChildByTagName(message, GSXML.REQUEST_ELEM);
    9192        Element cgi_paramList = (Element) GSXML.getChildByTagName(request, GSXML.PARAM_ELEM + GSXML.LIST_MODIFIER);
    92         HashMap params = GSXML.extractParams(cgi_paramList, false);
     93        HashMap<String, Serializable> params = GSXML.extractParams(cgi_paramList, false);
    9394
    9495        // just in case there are some that need to get passed to the services
     
    360361        // Create a parameter list to specify the required metadata information
    361362
    362         HashSet meta_names = new HashSet();
     363        HashSet<String> meta_names = new HashSet<String>();
    363364        meta_names.add("Title"); // the default
    364365        if (format_elem != null)
     
    722723        // do the query again to get term info
    723724        Element cgi_param_list = (Element) GSXML.getChildByTagName(request, GSXML.PARAM_ELEM + GSXML.LIST_MODIFIER);
    724         HashMap params = GSXML.extractParams(cgi_param_list, false);
     725        HashMap<String, Serializable> params = GSXML.extractParams(cgi_param_list, false);
    725726
    726727        HashMap previous_params = (HashMap) params.get("p");
     
    767768        Element metadata_list = (Element) GSXML.getNodeByPath(mr_query_response, metadata_path);
    768769
    769         HashSet query_term_variants = new HashSet();
     770        HashSet<String> query_term_variants = new HashSet<String>();
    770771        NodeList equivalent_terms_nodelist = query_term_list_element.getElementsByTagName("equivTermList");
    771772        if (equivalent_terms_nodelist == null || equivalent_terms_nodelist.getLength() == 0)
     
    809810        }
    810811
    811         ArrayList phrase_query_term_variants_hierarchy = new ArrayList();
     812        ArrayList<ArrayList<HashSet<String>>> phrase_query_term_variants_hierarchy = new ArrayList<ArrayList<HashSet<String>>>();
    812813
    813814        Element query_element = GSXML.getNamedElement(metadata_list, GSXML.METADATA_ELEM, GSXML.NAME_ATT, "query");
    814815        String performed_query = GSXML.getNodeText(query_element) + " ";
    815816
    816         ArrayList phrase_query_p_term_variants_list = new ArrayList();
     817        ArrayList<HashSet<String>> phrase_query_p_term_variants_list = new ArrayList<HashSet<String>>();
    817818        int term_start = 0;
    818819        boolean in_term = false;
     
    840841                {
    841842
    842                     HashSet phrase_query_p_term_x_variants = new HashSet();
     843                    HashSet<String> phrase_query_p_term_x_variants = new HashSet<String>();
    843844
    844845                    NodeList term_equivalent_terms_nodelist = term_element.getElementsByTagName("equivTermList");
     
    879880                    {
    880881                        phrase_query_term_variants_hierarchy.add(phrase_query_p_term_variants_list);
    881                         phrase_query_p_term_variants_list = new ArrayList();
     882                        phrase_query_p_term_variants_list = new ArrayList<HashSet<String>>();
    882883                    }
    883884                }
     
    898899                }
    899900
    900                 phrase_query_p_term_variants_list = new ArrayList();
     901                phrase_query_p_term_variants_list = new ArrayList<HashSet<String>>();
    901902            }
    902903        }
     
    908909     * Highlights query terms in a piece of text.
    909910     */
    910     private Element highlightQueryTermsInternal(String content, HashSet query_term_variants, ArrayList phrase_query_term_variants_hierarchy)
     911    private Element highlightQueryTermsInternal(String content, HashSet<String> query_term_variants, ArrayList<ArrayList<HashSet<String>>> phrase_query_term_variants_hierarchy)
    911912    {
    912913        // Convert the content string to an array of characters for speed
     
    915916
    916917        // Now skim through the content, identifying word matches
    917         ArrayList word_matches = new ArrayList();
     918        ArrayList<WordMatch> word_matches = new ArrayList<WordMatch>();
    918919        int word_start = 0;
    919920        boolean in_word = false;
     
    978979        }
    979980
    980         ArrayList highlight_start_positions = new ArrayList();
    981         ArrayList highlight_end_positions = new ArrayList();
     981        ArrayList<Integer> highlight_start_positions = new ArrayList<Integer>();
     982        ArrayList<Integer> highlight_end_positions = new ArrayList<Integer>();
    982983
    983984        // Deal with phrases now
    984         ArrayList partial_phrase_matches = new ArrayList();
     985        ArrayList<PartialPhraseMatch> partial_phrase_matches = new ArrayList<PartialPhraseMatch>();
    985986        for (int i = 0; i < word_matches.size(); i++)
    986987        {
    987             WordMatch word_match = (WordMatch) word_matches.get(i);
     988            WordMatch word_match = word_matches.get(i);
    988989
    989990            // See if any partial phrase matches are extended by this word
     
    992993                for (int j = partial_phrase_matches.size() - 1; j >= 0; j--)
    993994                {
    994                     PartialPhraseMatch partial_phrase_match = (PartialPhraseMatch) partial_phrase_matches.remove(j);
    995                     ArrayList phrase_query_p_term_variants_list = (ArrayList) phrase_query_term_variants_hierarchy.get(partial_phrase_match.query_phrase_number);
     995                    PartialPhraseMatch partial_phrase_match = partial_phrase_matches.remove(j);
     996                    ArrayList phrase_query_p_term_variants_list = phrase_query_term_variants_hierarchy.get(partial_phrase_match.query_phrase_number);
    996997                    HashSet phrase_query_p_term_x_variants = (HashSet) phrase_query_p_term_variants_list.get(partial_phrase_match.num_words_matched);
    997998                    if (phrase_query_p_term_x_variants.contains(word_match.word))
     
    10061007                            {
    10071008                                int last_highlight_index = highlight_end_positions.size() - 1;
    1008                                 int last_highlight_end = ((Integer) highlight_end_positions.get(last_highlight_index)).intValue();
     1009                                int last_highlight_end = highlight_end_positions.get(last_highlight_index).intValue();
    10091010                                if (last_highlight_end > partial_phrase_match.start_position)
    10101011                                {
    10111012                                    // There is an overlap, so remove the previous phrase match
    1012                                     int last_highlight_start = ((Integer) highlight_start_positions.remove(last_highlight_index)).intValue();
     1013                                    int last_highlight_start = highlight_start_positions.remove(last_highlight_index).intValue();
    10131014                                    highlight_end_positions.remove(last_highlight_index);
    10141015                                    partial_phrase_match.start_position = last_highlight_start;
     
    10351036            for (int p = 0; p < phrase_query_term_variants_hierarchy.size(); p++)
    10361037            {
    1037                 ArrayList phrase_query_p_term_variants_list = (ArrayList) phrase_query_term_variants_hierarchy.get(p);
     1038                ArrayList phrase_query_p_term_variants_list = phrase_query_term_variants_hierarchy.get(p);
    10381039                HashSet phrase_query_p_term_1_variants = (HashSet) phrase_query_p_term_variants_list.get(0);
    10391040                if (phrase_query_p_term_1_variants.contains(word_match.word))
     
    10601061        for (int i = 0; i < highlight_start_positions.size(); i++)
    10611062        {
    1062             int highlight_start = ((Integer) highlight_start_positions.get(i)).intValue();
    1063             int highlight_end = ((Integer) highlight_end_positions.get(i)).intValue();
     1063            int highlight_start = highlight_start_positions.get(i).intValue();
     1064            int highlight_end = highlight_end_positions.get(i).intValue();
    10641065
    10651066            // Print anything before the highlight range
Note: See TracChangeset for help on using the changeset viewer.