Commit for 15-July-2013

Imported BrewEditDistance, as it is supposed to be better than
Levenshtein. However, it gives the same values, and thus is useless.

Edited some lines in Compare, tried to find other algorithms.
Added prepareFileAndAnalyze to Compare.java, it is going to be the main method used in expanding identifiers from diffed source code lines. It needs to be fixed, as it stops on new blank lines. Adding a compSci dictionary will be essential, as well as improving the english dictionary. Remember to analyze probabilities from all dictionaries, and to weigh the compSci and comment dictionaries higher.
-----
readyComments was added in Reader.java, it automatically creates a comment dictionary from a log file using both the logs and the comments. It needs to be improved, as it requires a line beginning with "diff" in order to not add random lines of code.
----
Brew and Liquidmetal are both algorithms that were attempted to be incorporated into Compare, but weren't. They, along with WordNet.java, are now in main.unused.
------
The Dijkstra.java class is an extension of the Dijkstra algorithm, and it may be used ONLY IF all other attempts to expand identifiers properly fails.
------
PracticeCompare.java is there for use later if Apache Lucene is incorporated.
17 July 2013

Removed unused txt files for WordNet
---------
Added new dictionaries: abbreviations and ComputerScience. They are both
unfinished, and Abbreviations has too many (some are proper words, or
are common acronyms like MSG = message which need to be removed).
CompSci.data only has to letter e, see Run.java for the website.
---------------
Added methods in Editor to prepare both new dictionaries, alphabetize
them, and remove the words that are in other ones (with abbreviations
being highest level, then dictionary, then compSci).
-------------
Added "GetFirstWord" in Reader.java to prepare dictionaries, as well as
added "Alphabetize" to Filter.java
-------------
Made compare in Compare.java return an object with both highest string
and highest averagePrecision. Edited prepareAndAnalyze, now checks if
word exists in comments.txt and weighs it higher than the ones in the
other dictionaries. Returns an object[] with highest weighted
averagePrecision and highest weighted string.
--------------
Still need to change the way compare() checks for highest value, if two
are the same in comments.txt it should favour the longer one. Keep
reviewing, finish the dictionaries, improve the precision.
18 July 2013

Main Changes:
1. Created new method in Editor that creates the dictionaries from an
"original file". It gets the words, puts them in their .data files,
strips the duplicates and 2 letter words, and removes the data that is
in the other .data files. It then copies this information to the
.dictionary files.
--------------
2. Improved Compare significantly. It now  has working analyzeAndPrepare
methods, which compare the file and/or the word to all dictionaries and
give back the best fitting word and it's precision in the form of a
List<Object>. Also added a whole bunch of comments.
------------
3. Reader.java - Added a parser for the diffs. Now gets the diffs, but
also doesn't quite give them to me the way I want. I'll need to work on
that. Improved readyComments a bit, though it sometimes still gives me
that one extra new line at the beginning that breaks my code. Started
commenting.
----------
4. Added a filter for compSci dictionary to remove all abbreviations
from it in Filter.java. Works pretty well, could probably be commented
and improved a little bit.
----------
5. Made all methods that returned lines return them in lowercase, as I
am no longer using any uppercase at all. The only thing that is ever
uppercase is the abbr.dictionary returned string.
19 July 2013
19 July 2013

Massive changes to project today. First off, renamed WordMap to ClassMap, as it makes more sense.

-----

Commented all classes so they will be legible by other people, and organized the methods in alphabetical order. put an @Deprecated sign in front of the unused methods that are either deletable or are currently unused but will be used later.

-----

Fixed most of the problems in Compare.java. The emptyList is mutable, so any references to it were actually also changing the list itself. I added local variables to the methods that are also called emptyList, but do not refer to the static instance on the class.
    Also, pretty much completely finished analyze() method for single strings. The prepareAndAnalyze method is now deprecated, because I now have a new task of working only with identifiers and not working with diff files.
    analyze() now checks all dictionaries, and if a value of < 85 is given it converts the given word to uppercase and compares it again with abbrDict. Plan is now to make a Map so I can change all those acronyms to their proper definitions. However, there are other things that must be checked before that, and they are written down in my book.

-----

Improved the preparation of the dictionaries in Editor. It still takes 40 seconds, but it only needs to be done once. Might remove the prepareAll method() and change all preparation from .data files to the .dict fiiles directly, as there is really no need for that middle step. It's still slow, but it will be improved over time.
    Finally, I finished the compSci dictionary. It needs to be filtered a tiny bit more, but it'll do.
22 July 2013 - Small changes

Renamed a method in Filter.java
------------
Removed all .data files and changed the Config files to the .dict ones.
e.g. compSci.data is no longer "compData", it is now "compDict". Done to
speed up dictionary filtration.
Merge pull request #1 from adanmoran/Work-Branch

Work branch