-
Using Groovy's AntBuilder to Zip and Unzip Files
Need to zip or unzip files? Let’s take a look at how Groovy solves this.
Read more… -
I Like My Method Pointers With Curry in Groovy
Invoking a method several times can easily be done in Java in a loop. But what if we have several methods that need to be executed several times? Since Java does not feature pointers to functions, we cannot pass functions around, and cannot create a generic method that takes a pointer to a method and executes it. This is where Groovy shines.
Read more… -
How to Ignore an Invalid SSL Certificate in Java
Sometimes during development it is useful to use a certificate whose CN (Common Name) does not match the host name in the URL, for example
Read more…localhost
. In these cases Java will throw anSSLHandshakeException
. How can we easily disable certificate checking forlocalhost
and other domains of our choosing? -
Creating Custom Intershop ISML Functions With CustomTag
In this post, I’ll look at leveraging Intershop’s
Read more…CustomTag
to create custom functionality in ISML templates. -
Java Stateful Sessions or How to Properly Send Cookies With Each Redirect Request
Sometimes you need to log in to some webpage programmatically. I ran into one of those pages where, when the login succeeds, you’re being redirected to another page, and then to another (something along the lines of ‘Please login’ -> ‘You are successfully logged in’ -> ‘Admin panel’). So I needed to write something that would store the cookies that come along with each response, and send those cookies out with each subsequent request. With
curl
, I would have used:$ curl --location --cookie-jar logincookie 'https://login.securepage.com'
So how can we emulate this behavior in Java?
Read more… -
Adding a File to the Root of Your Gradle Distribution
A while ago, I needed to write a program that retrieved some information from the database by using SQL queries located in files. I wanted to add a file that would contain the settings of the app, like the port, SID, login and password for the database, but also the location of those queries. The problem was I couldn’t add those settings to a file in the standard
Read more…src/groovy/resources
folder, because when creating a distribution with Gradle./gradlew distZip
the file would be part of the jar, and thus it would be difficult to modify the contents. I was basically after a run-control file, a settings file in the root of my distribution, that I could easily change on each run (if necessary).