Please see the follow project poker-calculator-webapp.
Poker Calculator is a JSF Icefaces Portlet designed for Liferay. It supports Poker hand evaluation for up to seven players with known hole cards in Omaha, Omaha Hi/Lo and Texas Hold'em.
You can find a new running version of the webapp here: https://evolutionsoft.ch/
Poker Calculator is provided under the GPL-3.0 or later GPL versions license.
- FacesMessages Feedback about invalid user input stays as long as the page gets reloaded
- Redeploying a previously running portlet may need a Server Restart because of the shared libraries already loaded in another classpath
The distribution here is designed to run on linux like systems only. It provides prebuilt shared objects only for the used poker-eval C implementation. You may need to rebuild the C library poker-eval for your local or server system.
The provided .so libraries in /lib folder should work on a x64 like linux system.
The provided release packages require libpoker-eval.so and libpokerjni.so to be present under /opt/poker-calculator/lib/.
You can change the default library lookup path by rebuilding the Java sources with mvn. You can adapt library.properties under src/main/resources before the mvn build to use your custom library location.
The portlet is deployable without the native C libraries setup correctly. A calculation of given hands will not be possible before the libraries are loaded successfully.
Poker Calculator uses the poker-eval engine supporting even more Poker variations than implemented by Poker Calculator: (https://github.com/atinm/poker-eval)
I've found an old build of poker-eval providing pokersource.jar, libpoker-eval.so and libpokerjni.so on my PC. However I can't give the details to get the three artifacts from the source no more at the moment.
The frontend uses Icefaces 4.3 as JSF implementation.
The distributed war files in the releases here do not contain the pom.xml project version. This helps to get the same portlet context 'poker-calculator' for all versions and helps replacing an earlier deployed portlet war file.