What should be in a source control commit message for a single file add?
Reason: The reason for the file should be in a comment in a file so it would be a duplicate to also include in the commit message.
File add: Already part of the commit
on Jul 15, 2013
Could java.util.concurrent.lock.Lock use a static list of all threads that have locks and ThreadLocal locks lists to know about all in use locks and then check for incorrect order when lock() is called.
Check the ThreadLocal list and if there are no other locks then proceed.
Else if there are other locks then look through other threads to determine if any have any of the same...
on Jul 15, 2013
The Browser Binding with a CMIS Repository
By Florian Müller, Jay Brown, and Jeff Potts, authors of
CMIS and Apache Chemistry in Action
A big part of the CMIS specification describes how the CMIS domain model is mapped to the bytes that are transferred. These mappings are called bindings. CMIS 1.0 defines two bindings, the Web Services...
on Jul 2, 2013
Pig from a Bird's Eyeview
by M. Tim Jones, author of Pig in Action
Today, we are being inundated with data. So much so, that IBM estimates that in 2012, 2.5 quintillion bytes of information are generated every day. That's a million trillion bytes of data, more data than we can fathom and considerably more than we can easily process. Online, every web-page we visit, every link we click, every...
on May 20, 2013
Expression Language (EL) was first introduced as part of JSTL 1.0, was then moved JSP 2.0 and was unified with JSF 1.2 in JSP 2.1. In Java EE 7, EL is a new separate JSR, JSR 341. Many new features are introduced in EL 3.0.
This blog shows how to use new following new features of EL 3.0:
Lambda expression (section 1.20 of EL 3.0 spec)
The new operator ; to separate...
on Jul 1, 2013
Asynchronous operation was introduced in Servlet 3.0. ServletRequest#startAsync is used to put the request into asynchronous mode. A thread need to be created implicitly or explicitly (see here for an example).
Servlet 3.1, JSR 340 includes clarifications in asynchronous area. Besides Servlet 3,1, Concurreny Utilities for Java EE 1.0, JSR 236 is introduced in Java EE 7. JSR 236 provides a...
on Jun 6, 2013
Update: In Servlet 3.0, the behavior of using response is undefined after invoking #complete or #dispatch. In Servlet 3.1, it is clarified that AsyncContext#getResponse will throw IllegalStateException. The blog has been updated for this.
Asynchronous operation is supported in Servlet 3.0. I have discussed startAsync in my previous blog, startAsync in Servlet 3.0. In this blog, I will discuss...
on May 14, 2013
Update: Invoke WebConnection#close when there is an error.
Servlet 3.1 Specification (JSR 340) is almost ready for the release. One of the new features is the support for protocol upgrade.
HTTP protocol upgrade was introduced in HTTP 1.1 (RFC 2616):
The Upgrade general-header allows the client to specify what additional communication protocols it supports and would like to use if the server...
on May 7, 2013
How did you first get into developing / coding?
My first encounter with a computer was in 1987 during a physics class. This particular one (a Commodore C64) went immediately to my Xmas wish list. When I teared away the gift wrapping, I found the datasette broken. A datasette was a tape drive using audio cassettes for storage – without it, there were no chance to play any of the bundled games;...
on Jun 24, 2013
We thought we'd get to know a little more about the author!
I would say that a JS noob should use MVC, just because it’s widely spread pattern used across different programming languages. I think they would enjoy...
on Jun 14, 2013
Over the last few years we've been busily writing the latest and greatest version of Magnolia. After all of this focus on new and (we hope) great, it seemed like time to focuse on something old and great.
If you are old enough to remember the ZX Spectrum, the Commodore 64 or their various competitors, or if you like any kind of games, please keep on reading.
You might have heard of the qaop...
on Jun 19, 2013
Using Throws and Throw Statements in Java
By Mala Gupta, author of OCP Java SE 7 Programmer II Certification Guide
In this article, based on chapter 1 of OCP Java SE 7 Programmer II Certification Guide, author Mala Gupta explains how to define methods that throw exceptions, the different combinations of defining overriding methods, and when the overridden or overriding methods...
on Jun 13, 2013
Test Driven Development (TDD) has become a cornerstone of modern software craftsmanship. Behaviour Driven Development (BDD) takes it to the next level; it provides easier to use and a more readable syntax as well as many other improvements. If you haven't used Test Driven Development before, start with BDD, you will reap the benefits much faster.
This book is a hands-on introduction on BDD. Using...
on Jun 12, 2013
by Samuel M. Breed, author of Backbone.js in Action
on Jun 6, 2013
Web Forms is one of the exciting new features of the recently released BPM 22.214.171.124. To really embrace the power of Web Forms, one must understand Forms Rules, which can give your forms dynamic behavior, such as showing a field or calculating a sum total. In this example, I'm going to show you how to use Form Rules to dynamically populate a dropdown (or list).
Step 1: Create the Web Form
on May 3, 2013
HTML5 brings new opportunities – for developers and for attackers.
Here you will see two examples of how an attacker could abuse HTML5 and how you as a developer could prevent this (or not).
These are only two of many new or improved attacks on web clients. I chose them for two reasons: the first is a new attack, first described in December 2011 and not widely known to developers. The second...
on Jun 4, 2013
Servlet 3.1 Specification (JSR 340) and Java Authorization Contract for Containers (JSR 115) MR3 are almost ready for release. Besides "*", the role-name "**" is introduced in the above two specifications.
In a nutshell, "*" means any role defined in web.xml and "**" means any authenticated user.
Prior to Servlet 3.1, web containers use proprietary mechanisms to add security-constraints for any...
on Apr 19, 2013
Web Services and XML
By default, all connections to the Oracle Cloud are encrypted:
Browsers automatically import the necessary certificates, however, trying to access these services from a Java client, you will not be so successful. Take this Java Client:
import com.sun.jersey.api.client.Client;import com.sun.jersey.api.client.WebResource;import com.sun.jersey.api.client.config.ClientConfig;import com....
on May 2, 2013
In this blog entry I outline the steps necessary to deploy JAX-RS (JSR 311) RESTful web services to the Oracle Cloud. We'll be using Jersey, which is the reference implementation for JAX-RS, and JDeveloper, which is my primary Java IDE.
Step 1. Create a Jersey Library in JDeveloper
Download the latest version of jersey-bundle.jar, which at the time of this writing is version 1.17.1.
on Apr 30, 2013