/* Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. */ /** * Example of beanshell script to be used as input for the * BSFAnnotator * @author Olivier Terrier * @version 1.0 */ import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.regex.Pattern; import org.apache.uima.UimaContext; import org.apache.uima.analysis_component.JCasAnnotator_ImplBase; import org.apache.uima.analysis_engine.AnalysisEngineProcessException; import org.apache.uima.resource.ResourceInitializationException; import org.apache.uima.jcas.JCas; import org.apache.uima.jcas.cas.StringArray; import org.apache.uima.jcas.tcas.Annotation; import org.apache.uima.annotator.bsf.types.Firstname; import org.apache.uima.annotator.bsf.types.Nickname; import org.apache.uima.annotator.bsf.types.Token; /** * Initialisation of global variables */ String scriptName; HashMap nicknames; /** * Invokes this annotator's analysis logic. This annotator will access the * data in the JCas and add new data to the JCas. * * @param jcas * contains the document to be analyzed and may contain other * metadata about that document. * @param rs * a list of output types and features that this annotator should * produce. */ public void process(JCas jcas) throws AnalysisEngineProcessException { // iterates on the existing token that have been created by the previous // annotators ArrayList annots = new ArrayList(); ArrayList tokens = new ArrayList(); Iterator tokenIt = jcas.getAnnotationIndex(Token.type).iterator(); while (tokenIt.hasNext()) { Token token = (Token)tokenIt.next(); tokens.add(token); String name = token.getCoveredText(); if (nicknames.containsKey(name)) { ArrayList names = (ArrayList)nicknames.get(name); // is it a real firstname ? if (names.isEmpty()) { Firstname annot = new Firstname(jcas, token.getStart(), token.getEnd()); annots.add(annot); } else { // it's a nickname Nickname annot = new Nickname(jcas, token.getStart(), token.getEnd()); StringArray strarray = new StringArray(jcas, names.size()); for (int i=0; i < names.size(); i++) { strarray.set(i, (String)names.get(i)); } annot.setFirstnames(strarray); annots.add(annot); } } } for (Iterator it = annots.iterator(); it.hasNext();) { ((Annotation)it.next()).addToIndexes(); } for (Iterator it = tokens.iterator(); it.hasNext();) { ((Annotation)it.next()).removeFromIndexes(); } } /** * Performs any startup tasks required by this annotator. The Analysis * Engine calls this method only once, just after an Annotator has been * instantiated. * * @param aContext * Provides access to external resources that may be used by this * annotator. This includes configuration parameters, logging and * instrumentation services, and access to external analysis * resources. */ public void initialize(UimaContext aContext) throws ResourceInitializationException { // List of Firstnames => Nickname String[] name_list = { "Aaron,Erin", "Aaron,Ron", "Aaron,Ronnie", "Abel,Ab", "Abel,Abe", "Abel,Eb", "Abel,Ebbie", "Abiel,Ab", "Abigail,Abby", "Abigail,Gail", "Abigail,Nabby", "Abner,Ab", "Abraham,Ab", "Abraham,Abe", "Abram,Ab", "Adaline,Ada", "Adaline,Addy", "Adaline,Delia", "Adaline,Dell", "Adaline,Lena", "Adelaide,Addy", "Adelaide,Adele", "Adelaide,Dell", "Adelaide,Della", "Adelaide,Heidi", "Adeline,Ada", "Adeline,Addy", "Adeline,Delia", "Adeline,Dell", "Adeline,Lena", "Adelphia,Addy", "Adelphia,Adele", "Adelphia,Dell", "Adelphia,Delphia", "Adelphia,Philly", "Agatha,Aggy", "Agnes,Aggy", "Agnes,Inez", "Agnes,Nessa", "Aileen,Allie", "Aileen,Lena", "Alan,Al", "Albert,Al", "Albert,Bert", "Alberta,Allie", "Alberta,Bert", "Alberta,Bertie", "Aldo,Al", "Aldrich,Rich", "Aldrich,Riche", "Alexander,Al", "Alexander,Alex", "Alexander,Sandy", "Alexandra,Alex", "Alexandra,Alla", "Alexandra,Sandra", "Alexandra,Sandy", "Alfonse,Al", "Alfred,Al", "Alfred,Fred", "Alfred,Freddy", "Alfreda,Alfy", "Alfreda,Freda", "Alfreda,Freddy", "Alfreda,Frieda", "Alice,Allie", "Alice,Elsie", "Alice,Lisa", "Alicia,Allie", "Alicia,Elsie", "Alicia,Lisa", "Allan,Al", "Allen,Al", "Allisandra,Allie", "Almena,Allie", "Almena,Mena", "Alonzo,Al", "Alonzo,Lon", "Alonzo,Lonzo", "Amanda,Manda", "Amanda,Mandy", "Amelia,Amy", "Amelia,Emily", "Amelia,Mel", "Amelia,Millie", "Anderson,Andy", "Andrew,Andy", "Andrew,Drew", "Ann,Annie", "Ann,Nan", "Ann,Nana", "Ann,Nancy", "Ann,Nanny", "Anne,Annie", "Anne,Nan", "Anne,Nana", "Anne,Nancy", "Anne,Nanny", "Anthony,Tony", "Antoinette,Ann", "Antoinette,Netta", "Antoinette,Tony", "Antonia,Ann", "Antonia,Netta", "Antonia,Tony", "Arabella,Ara", "Arabella,Arry", "Arabella,Bella", "Arabella,Belle", "Arabelle,Ara", "Arabelle,Arry", "Arabelle,Bella", "Arabelle,Belle", "Archibald,Archie", "Arlene,Arly", "Arlene,Lena", "Armena,Arry", "Armena,Mena", "Arthur,Art", "Asahel,Asa", "Asaph,Asa", "Asenath,Assene", "Asenath,Natty", "Asenath,Sene", "August,Gus", "Augusta,Aggy", "Augusta,Gatsy", "Augusta,Gussie", "Augusta,Tina", "Augustina,Aggy", "Augustina,Gatsy", "Augustina,Gussie", "Augustina,Tina", "Augustine,August", "Augustine,Austin", "Augustine,Gus", "Augustus,August", "Augustus,Austin", "Augustus,Gus", "Azariah,Aze", "Azariah,Riah", "Barbara,Bab", "Barbara,Babs", "Barbara,Barby", "Barbara,Bobbie", "Barnabas,Barney", "Bartholomew,Bart", "Bartholomew,Bartel", "Bartholomew,Bat", "Bartholomew,Mees", "Bartholomew,Meus", "Beatrice,Bea", "Beatrice,Trisha", "Beatrice,Trix", "Beatrice,Trixie", "Belinda,Belle", "Belinda,Linda", "Benedict,Ben", "Benedict,Bennie", "Benjamin,Ben", "Benjamin,Benjy", "Benjamin,Bennie", "Benjamin,Jamie", "Bernard,Barney", "Bernard,Berney", "Bernard,Bernie", "Bertha,Bert", "Bertha,Bertie", "Bertha,Birdie", "Bill,Fred", "Billy,Fred", "Bradford,Brad", "Bradford,Ford", "Bridget,Biddie", "Bridget,Biddy", "Bridget,Bridgie", "Bridget,Bridie", "Broderick,Brady", "Broderick,Brody", "Broderick,Rick", "Broderick,Ricky", "Calvin,Cal", "Calvin,Vin", "Calvin,Vinny", "Cameron,Cam", "Cameron,Ron", "Cameron,Ronny", "Camille,Cammie", "Camille,Millie", "Carol,Carrie", "Carol,Cassie", "Carol,Lynn", "CarolAnn,Carol", "CarolAnn,Carole", "Caroline,Carol", "Caroline,Carole", "Caroline,Carrie", "Caroline,Cassie", "Caroline,Lynn", "Carolyn,Carrie", "Carolyn,Cassie", "Carolyn,Lynn", "Casey,K.C.", "Cassandra,Cassie", "Cassandra,Sandra", "Cassandra,Sandy", "Catherine,Cassie", "Catherine,Cathy", "Catherine,Kathy", "Catherine,Katy", "Catherine,Kay", "Catherine,Kit", "Catherine,Kittie", "Catherine,Lena", "Catherine,Trina", "Cathleen,Cassie", "Cathleen,Cathy", "Cathleen,Kathy", "Cathleen,Katy", "Cathleen,Kay", "Cathleen,Kit", "Cathleen,Kittie", "Cathleen,Lena", "Cathleen,Trina", "Cecilia,Celia", "Cecilia,Cissy", "Cedric,Ced", "Cedric,Rick", "Cedric,Ricky", "Charles,Carl", "Charles,Charlie", "Charles,Chick", "Charles,Chuck", "Charlotte,Char", "Charlotte,Lotta", "Charlotte,Lottie", "Charlotte,Sherry", "Chauncey,Chan", "Chester,Chet", "Christa,Chris", "Christian,Chris", "Christian,Kit", "Christiana,Ann", "Christiana,Chris", "Christiana,Christy", "Christiana,Crissy", "Christiana,Kris", "Christiana,Kristy", "Christiana,Tina", "Christina,Chris", "Christina,Christy", "Christina,Crissy", "Christina,Kris", "Christina,Kristy", "Christina,Tina", "Christine,Chris", "Christine,Chrissy", "Christine,Crissy", "Christine,Kris", "Christine,Kristy", "Christine,Tina", "Christopher,Chris", "Christopher,Kit", "Clarence,Clair", "Clarence,Clare", "Clarinda,Clara", "Clarissa,Cissy", "Clarissa,Clara", "Clement,Clem", "Clifford,Cliff", "Clifford,Ford", "Clifton,Cliff", "Clifton,Tony", "Columbus,Clum", "Conrad,Con", "Conrad,Conny", "Constance,Connie", "Cordelia,Cordy", "Cordelia,Delia", "Cornelia,Cornie", "Cornelia,Corny", "Cornelia,Nelia", "Cornelia,Nelle", "Cornelia,Nelly", "Cornelius,Con", "Cornelius,Conny", "Cornelius,Corny", "Cornelius,Niel", "Courtney,Court", "Courtney,Curt", "Curtis,Curt", "Cynthia,Cindy", "Cynthia,Cintha", "Cyrenius,Cene", "Cyrenius,Cy", "Cyrenius,Renius", "Cyrenius,Serene", "Cyrenius,Swene", "Dal,Dahl", "Dalton,Dahl", "Daniel,Dan", "Daniel,Danny", "Darlene,Darry", "Darlene,Lena", "David,Dave", "David,Davey", "David,Day", "Debora,Deb", "Debora,Debbie", "Debora,Debby", "Deborah,Deb", "Deborah,Debbie", "Deborah,Debby", "Debra,Deb", "Debra,Debbie", "Delbert,Bert", "Delbert,Del", "Deliverance,Della", "Deliverance,Delly", "Deliverance,Dilly", "Delores,Dee", "Delores,Dell", "Delores,Della", "Delores,Lola", "Delores,Lolly", "Dennis,Denny", "Dennison,Denny", "Derrick,Eric", "Derrick,Rick", "Derrick,Ricky", "Dicey,Dicie", "Domenic,Dom", "Dominic,Dom", "Donald,Don", "Donald,Donnie", "Donald,Donny", "Donald,Dony", "Dorcus,Darkey", "Dorothy,Dolly", "Dorothy,Dortha", "Dorothy,Dot", "Dorothy,Dotty", "Ebenezer,Eb", "Ebenezer,Ebbie", "Ebenezer,Eben", "Edgar,Ed", "Edgar,Eddie", "Edgar,Eddy", "Edith,Edie", "Edith,Edye", "Edmond,Ed", "Edmond,Eddie", "Edmond,Eddy", "Edmund,Ed", "Edmund,Eddie", "Edmund,Eddy", "Edmund,Ned", "Edmund,Ted", "Eduardo,Ed", "Eduardo,Eddie", "Eduardo,Eddy", "Edward,Ed", "Edward,Eddie", "Edward,Eddy", "Edward,Ned", "Edward,Ted", "Edward,Teddy", "Edwin,Ed", "Edwin,Eddie", "Edwin,Eddy", "Edwin,Ned", "Edwin,Win", "Edyth,Edie", "Edyth,Edye", "Edythe,Edie", "Edythe,Edye", "Elbert,Albert", "Eleanor,Elaine", "Eleanor,Ellen", "Eleanor,Ellie", "Eleanor,Lanna", "Eleanor,Lenora", "Eleanor,Nelly", "Eleanor,Nora", "Eleazer,Lazar", "Elias,Eli", "Elias,Lee", "Elias,Lias", "Elijah,Eli", "Elijah,Lige", "Eliphalet,Left", "Elisha,Eli", "Elisha,Lish", "Elizabeth,Bess", "Elizabeth,Bessie", "Elizabeth,Beth", "Elizabeth,Betsy", "Elizabeth,Betty", "Elizabeth,Eliza", "Elizabeth,Lib", "Elizabeth,Libby", "Elizabeth,Lisa", "Elizabeth,Liz", "Elizabeth,Liza", "Elizabeth,Lizzie", "Ellswood,Elsey", "Elmira,Ellie", "Elmira,Elly", "Elmira,Mira", "Elouise,Louise", "Elsie,Elsey", "Elswood,Elsey", "Elwood,Woody", "Elze,Elsey", "Emanuel,Manny", "Emanuel,Manuel", "Emeline,Em", "Emeline,Emily", "Emeline,Emma", "Emeline,Emmy", "Emeline,Milly", "Emily,Emma", "Emily,Emmy", "Emily,Millie", "Epaphroditius,Dite", "Epaphroditius,Ditus", "Epaphroditius,Dyce", "Epaphroditius,Dyche", "Epaphroditius,Eppa", "Ephraim,Eph", "Eric,Rick", "Eric,Ricky", "Ernest,Ernie", "Estella,Essy", "Estella,Stella", "Estelle,Essy", "Estelle,Stella", "Eugene,Gene", "Evaline,Eva", "Evaline,Eve", "Evaline,Lena", "Ezekiel,Ez", "Ezekiel,Zeke", "Ezra,Ez", "Faith,Fay", "Feltie,Felty", "Ferdinand,Ferdie", "Ferdinand,Fred", "Ferdinand,Freddie", "Ferdinand,Freddy", "Fidelia,Delia", "Florence,Flo", "Florence,Flora", "Florence,Flossy", "Frances,Cissy", "Frances,Fanny", "Frances,Fran", "Frances,Francie", "Frances,Frankie", "Frances,Frannie", "Frances,Franniey", "Frances,Sis", "Francine,Fran", "Francine,Francie", "Francine,Frannie", "Francine,Franniey", "Francis,Fran", "Francis,Frank", "Francis,Frankie", "Franklin,Fran", "Franklin,Frank", "Franklind,Frank", "Frederick,Fred", "Frederick,Freddie", "Frederick,Freddy", "Frederick,Fritz", "Fredericka,Freda", "Fredericka,Freddy", "Fredericka,Frieda", "Fredericka,Ricka", "Frieda,Fred", "Frieda,Freddie", "Frieda,Freddy", "Gabriel,Gabby", "Gabriel,Gabe", "Gabriella,Ella", "Gabriella,Gabby", "Gabrielle,Ella", "Gabrielle,Gabby", "Genevieve,Eve", "Genevieve,Jean", "Genevieve,Jenny", "Geoffrey,Geoff", "Geoffrey,Jeff", "Gerald,Gerry", "Gerald,Jerry", "Geraldine,Dina", "Geraldine,Gerrie", "Geraldine,Gerry", "Geraldine,Jerry", "Gertrude,Gert", "Gertrude,Gertie", "Gertrude,Trudy", "Gilbert,Bert", "Gilbert,Gil", "Gilbert,Wilber", "Gwendolyn,Gwen", "Gwendolyn,Wendy", "Hannah,Anna", "Hannah,Nan", "Hannah,Nanny", "Harold,Hal", "Harold,Harry", "Harriet,Hattie", "Helen,Ella", "Helen,Ellen", "Helen,Ellie", "Helen,Lena", "Helene,Ella", "Helene,Ellen", "Helene,Ellie", "Helene,Lena", "Heloise,Eloise", "Heloise,Elouise", "Heloise,Lois", "Henrietta,Etta", "Henrietta,Etty", "Henrietta,Hank", "Henrietta,Nettie", "Henrietta,Retta", "Henry,Hal", "Henry,Hank", "Henry,Harry", "Hephsibah,Hipsie", "Hepsibah,Hipsie", "Herbert,Bert", "Herbert,Herb", "Hermione,Hermie", "Hester,Esther", "Hester,Hessy", "Hester,Hetty", "Hezekiah,Hez", "Hezekiah,Hy", "Hezekiah,Kiah", "Hiram,Hy", "Hopkins,Hop", "Hopkins,Hopp", "Horace,Horry", "Hubert,Bert", "Hubert,Hub", "Hubert,Hugh", "Ignatius,Iggy", "Ignatius,Nace", "Ignatius,Nate", "Ignatius,Natius", "Irene,Rena", "Irving,Irv", "Isaac,Ike", "Isaac,Zeke", "Isabel,Bell", "Isabel,Bella", "Isabel,Belle", "Isabel,Ib", "Isabel,Issy", "Isabel,Nib", "Isabel,Nibby", "Isabel,Tibbie", "Isabella,Bella", "Isabella,Belle", "Isabella,Ib", "Isabella,Issy", "Isabella,Nib", "Isabella,Nibby", "Isabella,Tibbie", "Isabelle,Bella", "Isabelle,Belle", "Isabelle,Ib", "Isabelle,Issy", "Isabelle,Nib", "Isabelle,Nibby", "Isabelle,Tibbie", "Isadora,Dora", "Isadora,Issy", "Isidore,Izzy", "Jacob,Jaap", "Jacob,Jake", "Jacob,Jay", "Jacobus,Jacob", "James,Jamie", "James,Jem", "James,Jim", "James,Jimmie", "James,Jimmy", "Jane,Janie", "Jane,Jean", "Jane,Jennie", "Jane,Jessie", "Janet,Jan", "Janet,Jessie", "Janice,Jan", "Jean,Jane", "Jean,Jeannie", "Jeanette,Janet", "Jeanette,Jean", "Jeanette,Jessie", "Jeanette,Nettie", "Jeanne,Jane", "Jeanne,Jeannie", "Jedidiah,Jed", "Jefferson,Jeff", "Jefferson,Sonny", "Jeffrey,Geoff", "Jeffrey,Jeff", "Jehiel,Hiel", "Jemima,Mima", "Jennifer,Jennie", "Jeremiah,Jereme", "Jeremiah,Jerry", "Jessica,Jessie", "Joan,Jo", "Joan,Nonie", "Joann,Jo", "Joanna,Hannah", "Joanna,Jo", "Joanna,Joan", "Joanna,Jody", "Joanne,Jo", "Johanna,Jo", "Johannah,Hannah", "Johannah,Joan", "Johannah,Jody", "Johannah,Nonie", "John,Jack", "John,Jock", "John,Johnny", "Jon,John", "Jon,Nathan", "Jonathan,John", "Jonathan,Nathan", "Joseph,Jody", "Joseph,Joe", "Joseph,Joey", "Joseph,Jos", "Josephine,Fina", "Josephine,Jo", "Josephine,Jody", "Josephine,Joey", "Josephine,Josey", "Joshua,Jos", "Joshua,Josh", "Josiah,Jos", "Joyce,Joy", "Juanita,Nettie", "Juanita,Nita", "Judson,Jud", "Judson,Sonny", "Julia,Jill", "Julia,Julie", "Julian,Jule", "Julias,Jule", "Junior,JR", "Junior,June", "Junior,Junie", "Kasey,K.C.", "Katelin,Kate", "Katelin,Kay", "Katelin,Kaye", "Katelyn,Kate", "Katelyn,Kay", "Katelyn,Kaye", "Katherine,Cassie", "Katherine,Cathy", "Katherine,Kate", "Katherine,Kathy", "Katherine,Katy", "Katherine,Kay", "Katherine,Kaye", "Katherine,Kit", "Katherine,Kittie", "Katherine,Lena", "Katherine,Trina", "Kathleen,Cassie", "Kathleen,Cathy", "Kathleen,Kathy", "Kathleen,Katy", "Kathleen,Kay", "Kathleen,Kit", "Kathleen,Kittie", "Kathleen,Lena", "Kathleen,Trina", "Kathryn,Kathy", "Kendall,Ken", "Kendall,Kenny", "Kenneth,Ken", "Kenneth,Kendrick", "Kenneth,Kenny", "Kent,Ken", "Kent,Kendrick", "Kent,Kenny", "Keziah,Kizza", "Keziah,Kizzie", "Kimberley,Kim", "Kimberly,Kim", "Kingsley,King", "Kingston,King", "Kristen,Chris", "Kristin,Chris", "Kristine,Chris", "Kristine,Christy", "Kristine,Crissy", "Kristine,Kris", "Kristine,Kristy", "Kristine,Tina", "Kristy,Chris", "Lafayette,Fate", "Lafayette,Laffie", "Lamont,Monty", "Laurence,Larry", "Laurence,Lon", "Laurence,Lonny", "Laurence,Lorne", "Laurence,Lorry", "Lavina,Ina", "Lavina,Vina", "Lavina,Viney", "Lavinia,Ina", "Lavinia,Vina", "Lavinia,Viney", "Lawrence,Larry", "Lawrence,Lon", "Lawrence,Lonny", "Lawrence,Lorne", "Lawrence,Lorry", "LeRoy,L.R.", "LeRoy,Lee", "LeRoy,Roy", "Lemuel,Lem", "Lenora,Lee", "Lenora,Nora", "Leonard,Len", "Leonard,Lenny", "Leonard,Leo", "Leonard,Leon", "Leonard,Lineau", "Leslie,Les", "Lester,Les", "Letitia,Lettice", "Letitia,Lettie", "Letitia,Tish", "Letitia,Titia", "Levi,Lee", "Lidia,Lyddy", "Lillah,Lil", "Lillah,Lilly", "Lillah,Lily", "Lillah,Lolly", "Lillian,Lil", "Lillian,Lilly", "Lillian,Lolly", "Lincoln,Link", "Linda,Lindy", "Linda,Lynn", "Lisa,Alice", "Lisa,Melissa", "Lois,Louise", "Lorenzo,Loren", "Loretta,Etta", "Loretta,Lorrie", "Loretta,Retta", "Lorraine,Lorrie", "Louisa,Eliza", "Louisa,Lois", "Louisa,Lou", "Louise,Eliza", "Louise,Lois", "Louise,Lou", "Lucas,Luke", "Lucias,Luke", "Lucille,Cille", "Lucille,Lou", "Lucille,Lu", "Lucille,Lucy", "Lucinda,Cindy", "Lucinda,Lou", "Lucinda,Lu", "Lucinda,Lucy", "Luella,Ella", "Luella,Lu", "Luella,Lula", "Luther,Luke", "Lydia,Lyddy", "Lyndon,Lindy", "Lyndon,Lynn", "Madeline,Lena", "Madeline,Maddy", "Madeline,Madge", "Madeline,Magda", "Madeline,Maggie", "Magdelina,Lena", "Magdelina,Madge", "Magdelina,Magda", "Mahala,Hallie", "Marcus,Mark", "Margaret,Daisy", "Margaret,Gretta", "Margaret,Madge", "Margaret,Maggie", "Margaret,Maggy", "Margaret,Marge", "Margaret,Margery", "Margaret,Margie", "Margaret,Margy", "Margaret,Meg", "Margaret,Midge", "Margaret,Peg", "Margaret,Peggy", "Margaret,Rita", "Margaretta,Daisy", "Margaretta,Gretta", "Margaretta,Madge", "Margaretta,Maggie", "Margaretta,Marge", "Margaretta,Margery", "Margaretta,Margie", "Margaretta,Meg", "Margaretta,Midge", "Margaretta,Peg", "Margaretta,Peggy", "Margaretta,Rita", "Marjorie,Margie", "Marjorie,Margy", "Martha,Marty", "Martha,Mat", "Martha,Mattie", "Martha,Patsy", "Martha,Patty", "Martin,Marty", "Martina,Tina", "Marvin,Marv", "Mary,Mae", "Mary,Mamie", "Mary,Mitzi", "Mary,Molly", "Mary,Polly", "Matilda,Matty", "Matilda,Maud", "Matilda,Tilly", "Matthew,Matt", "Matthew,Mattie", "Matthew,Matty", "Matthew,Thias", "Matthew,Thys", "Matthias,Matt", "Matthias,Thias", "Matthias,Thys", "Maurice,Morey", "Mehitabel,Hetty", "Mehitabel,Hitty", "Mehitabel,Mabel", "Mehitabel,Mitty", "Melinda,Linda", "Melinda,Lindy", "Melinda,Lynn", "Melinda,Mel", "Melinda,Mindy", "Melissa,Lisa", "Melissa,Lissa", "Melissa,Mel", "Melissa,Milly", "Melissa,Missy", "Mervyn,Merv", "Michael,Micah", "Michael,Mick", "Michael,Micky", "Michael,Mike", "Michelle,Mickey", "Mildred,Milly", "Millicent,Milly", "Millicent,Missy", "Minerva,Minnie", "Miranda,Mandy", "Miranda,Mira", "Miranda,Randy", "Miriam,Mimi", "Miriam,Mitzi", "Mitchell,Mitch", "Montgomery,Gum", "Montgomery,Monty", "Morris,Morey", "Nancy,Ann", "Nancy,Nan", "Napoleon,Leon", "Napoleon,Nap", "Napoleon,Nappy", "Natalie,Natty", "Natalie,Nettie", "Nathan,Nat", "Nathan,Nate", "Nathaniel,Nat", "Nathaniel,Nate", "Nathaniel,Nathan", "Nathaniel,Natty", "Nathaniel,Than", "Nicholas,Claas", "Nicholas,Claes", "Nicholas,Nick", "Norbert,Bert", "Norbert,Norby", "Obadiah,Diah", "Obadiah,Dyer", "Obadiah,Obed", "Obadiah,Obie", "Olive,Livia", "Olive,Nollie", "Olive,Ollie", "Oliver,Ollie", "Olivia,Livia", "Olivia,Nollie", "Olivia,Ollie", "Oswald,Ossy", "Oswald,Ozzy", "Oswald,Waldo", "Pamela,Pam", "Parmelia,Amelia", "Parmelia,Melia", "Parmelia,Milly", "Patience,Pat", "Patience,Patty", "Patricia,Pat", "Patricia,Patsy", "Patricia,Patty", "Patricia,Tricia", "Patrick,Paddy", "Patrick,Pat", "Patrick,Pate", "Patrick,Patsy", "Patrick,Peter", "Paula,Lina", "Paula,Polly", "Paulina,Lina", "Paulina,Polly", "Pelegrine,Perry", "Penelope,Penny", "Percival,Percy", "Peter,Pate", "Peter,Pete", "Philetus,Leet", "Philetus,Phil", "Philinda,Linda", "Philinda,Lindy", "Philinda,Lynn", "Philip,Phil", "Phillip,Phil", "Prescott,Pres", "Prescott,Scott", "Prescott,Scotty", "Priscilla,Cilla", "Priscilla,Cissy", "Priscilla,Prissy", "Prudence,Prudy", "Prudence,Prue", "Rachel,Shelly", "Rafaela,Rafa", "Randolph,Dolph", "Randolph,Randy", "Raphael,Ralph", "Raymond,Ray", "Rebecca,Becca", "Rebecca,Beck", "Rebecca,Becky", "Rebecca,Reba", "Regina,Gina", "Regina,Reggie", "Reginald,Naldo", "Reginald,Reg", "Reginald,Reggie", "Reginald,Renny", "Relief,Leafa", "Reuben,Rube", "Ricardo,Rick", "Ricardo,Ricky", "Richard,Dick", "Richard,Dickie", "Richard,Dickon", "Richard,Dicky", "Richard,Rich", "Richard,Rick", "Richard,Ricky", "Robert,Bob", "Robert,Bobby", "Robert,Dob", "Robert,Dobbin", "Robert,Hob", "Robert,Hobkin", "Robert,Rob", "Roberta,Bert", "Roberta,Bertie", "Roberta,Birdie", "Roberta,Bobbie", "Roberta,Robbie", "Rodger,Bobby", "Rodger,Hodge", "Rodger,Robby", "Rodger,Robin", "Rodger,Rod", "Rodger,Roge", "Rodger,Rupert", "Roger,Bobby", "Roger,Hodge", "Roger,Robby", "Roger,Robin", "Roger,Rod", "Roger,Roge", "Roger,Rupert", "Roland,Lanny", "Roland,Orlando", "Roland,Rollo", "Roland,Rolly", "Ronald,Naldo", "Ronald,Ron", "Ronald,Ronny", "Rosabel,Belle", "Rosabel,Rosa", "Rosabel,Rose", "Rosabel,Roz", "Rosabella,Belle", "Rosabella,Rosa", "Rosabella,Rose", "Rosabella,Roz", "Rosalinda,Linda", "Rosalinda,Rosa", "Rosalinda,Rose", "Rosalinda,Roz", "Rosalyn,Linda", "Rosalyn,Rosa", "Rosalyn,Rose", "Rosalyn,Roz", "Roseann,Ann", "Roseann,Rose", "Roseann,Rosie", "Roseann,Roz", "Roseanna,Ann", "Roseanna,Rose", "Roseanna,Rosie", "Roseanna,Roz", "Roseanne,Ann", "Roxanna,Ann", "Roxanna,Rose", "Roxanna,Roxie", "Roxanne,Ann", "Roxanne,Rose", "Roxanne,Roxie", "Rudolph,Dolph", "Rudolph,Olph", "Rudolph,Rolf", "Rudolph,Rudy", "Rudolphus,Dolph", "Rudolphus,Olph", "Rudolphus,Rolf", "Rudolphus,Rudy", "Russell,Russ", "Russell,Rusty", "Sabrina,Brina", "Samuel,Sam", "Samuel,Sammy", "Sandra,Cassandra", "Sandra,Sandy", "Sarah,Sadie", "Sarah,Sally", "Serena,Rena", "Seymour,Morey", "Seymour,See", "Shelton,Shel", "Shelton,Shelly", "Shelton,Tony", "Sheridan,Dan", "Sheridan,Danny", "Sheridan,Sher", "Shirley,Lee", "Shirley,Sherry", "Shirley,Shirl", "Sidney,Sid", "Sidney,Syd", "Silas,Si", "Simeon,Si", "Simeon,Sion", "Simon,Si", "Simon,Sion", "Smith,Smitty", "Solomon,Sal", "Solomon,Salmon", "Solomon,Saul", "Solomon,Sol", "Solomon,Solly", "Solomon,Zolly", "Sophia,Sophie", "Stephan,Steve", "Stephen,Steph", "Stephen,Steve", "Steven,Steph", "Steven,Steve", "Stuart,Stu", "Submit,Mitty", "Sullivan,Sully", "Sullivan,Van", "Susan,Hannah", "Susan,Sue", "Susan,Sukey", "Susan,Susie", "Susan,Suzie", "Susannah,Hannah", "Susannah,Sue", "Susannah,Sukey", "Susannah,Susie", "Sylvester,Si", "Sylvester,Sly", "Sylvester,Sy", "Sylvester,Syl", "Sylvester,Vessie", "Sylvester,Vester", "Sylvester,Vet", "Tabitha,Tabby", "Terence,Terry", "Teresa,Terry", "Thaddeus,Thad", "Theodore,Ted", "Theodore,Teddy", "Theodore,Theo", "Theresa,Terry", "Theresa,Tess", "Theresa,Tessa", "Theresa,Tessie", "Theresa,Thirza", "Theresa,Thursa", "Theresa,Tracy", "Thom,Tom", "Thom,Tommy", "Thomas,Thom", "Thomas,Tom", "Thomas,Tommy", "Timothy,Tim", "Timothy,Timmy", "Tobias,Bias", "Tobias,Toby", "Tryphena,Phena", "Uriah,Riah", "Valentine,Felty", "Valeri,Val", "Valerie,Val", "Vanessa,Essa", "Vanessa,Nessa", "Vanessa,Vanna", "Veronica,Franky", "Veronica,Frony", "Veronica,Ron", "Veronica,Ronie", "Veronica,Ronna", "Veronica,Ronnie", "Veronica,Vonnie", "Victor,Vic", "Victoria,Torie", "Victoria,Tory", "Victoria,Vic", "Victoria,Vicki", "Victoria,Vicky", "Vincent,Vic", "Vincent,Vin", "Vincent,Vince", "Vincent,Vinnie", "Vincent,Vinny", "Vincenzo,Vic", "Vincenzo,Vin", "Vincenzo,Vinnie", "Vincenzo,Vinny", "Vinson,Vinny", "Virginia,Ginger", "Virginia,Ginny", "Virginia,Jane", "Virginia,Jennie", "Virginia,Virgy", "Wallace,Wally", "Walter,Wally", "Walter,Walt", "Washington,Wash", "Wilber,Bert", "Wilber,Will", "Wilbur,Willie", "Wilbur,Willy", "Wilfred,Fred", "Wilfred,Will", "Wilfred,Willie", "Wilhelmina,Mina", "Wilhelmina,Minnie", "Wilhelmina,Willie", "Wilhelmina,Wilma", "Will,Fred", "William,Bela", "William,Bell", "William,Bill", "William,Billy", "William,Will", "William,Willie", "William,Willy", "Willie,Fred", "Wilson,Will", "Wilson,Willie", "Wilson,Willy", "Winfield,Field", "Winfield,Win", "Winfield,Winny", "Winifred,Freddie", "Winifred,Winnet", "Winifred,Winnie", "Winnifred,Fred", "Winnifred,Freddie", "Winnifred,Freddy", "Winnifred,Winnie", "Winnifred,Winny", "Woodrow,Drew", "Woodrow,Wood", "Woodrow,Woody", "Yvonne,Vonna", "Zachariah,Zach", "Zachariah,Zachy", "Zachariah,Zeke", "Zebedee,Zeb", "Zedediah,Diah", "Zedediah,Dyer", "Zedediah,Zed", "Zephaniah,Zeph" }; String source = (String) aContext.getConfigParameterValue("SourceFile"); nicknames = new HashMap(); ArrayList nicks = null; for (int i=0; i < name_list.length; i++) { String name2nick = name_list[i]; String[] names = name2nick.split(","); if (!nicknames.containsKey(names[0])) { nicknames.put(names[0], new ArrayList()); } if (!nicknames.containsKey(names[1])) { nicknames.put(names[1], new ArrayList()); } ((List)(nicknames.get(names[1]))).add(names[0]); } }