This project has moved and is read-only. For the latest updates, please go here.

XanderCat OFE 1.1

Rating: No reviews yet
Downloads: 30
Change Set: 53e3b12476b3
Released: Feb 15, 2016
Updated: Feb 15, 2016 by scottcarnold
Dev status: Stable Help Icon

Recommended Download

application, 1402K, uploaded Feb 15, 2016 - 30 downloads

Release Notes

XanderCat OFE 1.1

Updates planned for this release took less time than anticipated. However, the updates are useful enough that I am releasing it as planned rather than adding more to it.

Changes Since the Last Release:
  • Allow matching on empty/null values (use match type EQUALS if trying to match an empty/null value; if using CSV filters, just leave match value blank).
  • Add built in Object Filter Engine support for more field types (added Date, Byte, Short, Long, Float, and Double)
  • Allow filtering on nested objects (e.g. can filter on field "address.zipCode")
  • Fixed compareTo on ScoredCandidate so comparable candidates with the same match score can be sorted in their natural order.
  • Description on filters set as required will now also show their assigned weight.
  • Updated example CPO Search application so that it includes example of filtering on date.

Release Contents:

Includes the XanderCatOFE jar which can be used in your own applications, as well as an example use of the Search Utility. The example will search Tesla Model S CPO inventory parsed from a downloaded copy of the HTML from

Getting Started:

  • Java version 1.7

Create a folder for the application and unzip the release file into that folder.

Optionally, you can customize the properties and filters, though the defaults should work fine for a quick first test run. Properties are stored in, and filters are stored in example-filters.txt.

To run the Tesla Model S CPO inventory search, start from the directory you unzipped XanderCatOFE into, and simply execute the batch file cposearch.bat. As it is currently configured, this will send the search results to a text file named cposearch-results.txt in the same directory.

Note that the application is a light-weight console application and does not at this time have a windowed user interface. Also, using the default configuration, a search result is only created if the search results change. If you want to verify that the application ran or check for errors, check the out.log file in the log folder. The application will write status information to this log on every run, regardless of how the search result notification is configured.


You can change the location of the various files and attributes through the file. Edit this file with a text editor.

As packaged, filters are loaded from the example-filters.txt file, input comes from the ev-cpo-20160211.htm file, and output is sent to file cposearch-results.txt. After the first run, a previous-results.dat file will appear in the folder, along with a new log folder that will contain the application log.

The location of all of these files can be changed through the main file.

The input file is an html file pulled from the website. You can get up-to-date input by visiting, and saving the page (HTML only) to your hard drive (in Firefox, go to File--> Save Page As --> and choose "Web Page, HTML Only" from the type drop down). Replace the previous ev-cpo-20160211.htm file or change the properties to point to the newly downloaded file.

When getting fresh input, if you are interested in this as more than just a demo, consider subscribing to the website. Doing so will give you access to more fields to filter on. When subscribed, the only thing different you have to do is log in before saving the page as HTML.

Getting fresh input should work so long as the page layout doesn't change significantly. The CPO search application can handle some minor changes in page layout, but larger changes could prevent the page parsing from working correctly. When this happens, you will need to obtain updated HTML parsers for the application.

You can optionally try configuring the application to send you an email of the search results. To do this, comment out the entries for the ConsoleResultDestination, and uncomment all the entries for the MailResultDestination. You will also need to configure the mail values for an email account. For example, if you wish to use a gmail account, set the properties as follows:
  • result.destination.mail.smtp.auth=true
  • result.destination.mail.smtp.starttls.enable=true
  • result.destination.mail.smtp.port=587
  • separated list of destination email addresses
  • result.destination.mail.from=email address for the gmail account
  • result.destination.mail.username=username for the gmail account
  • result.destination.mail.password=password for the gmail account

More information about configuring and running the CPO Search demo application are available in the Documentation on the CodePlex XanderCat OFE website (

Reviews for this release

No reviews yet for this release.