How can you create a custom validator and use it? See below!
Creating the custom validator class
package customvalidator;import javax.faces.application.FacesMessage;import javax.faces.component.UIComponent;import javax.faces.context.FacesContext;import javax.faces.validator.FacesValidator;import javax.faces.validator.Validator;import javax.faces.validator.ValidatorException;@FacesValidator(value...
on Nov 11, 2013
Jersey 2.4.1 has been released! See the release notes for more information. Or download it from here.
on Nov 9, 2013
Wondering how you programmatically create a flow and use it?
1. Create the Java annotated flow
2. Create the pages
package flow;import java.io.Serializable;import javax.enterprise.inject.Produces;import javax.faces.flow.Flow;import javax.faces.flow.builder.FlowBuilder;import javax.faces.flow.builder.FlowBuilderParameter;import javax.faces.flow.builder.FlowDefinition;public class EnterFlow...
on Nov 8, 2013
When I posted JSF Tip #32 - Override a JSF renderer Twitter user @john_waterwood asked me how you would define a new tag for an existing component and the overridden renderer. Well it is fairly easy, see the 2 steps below!
1. Create your renderer
2. Register it
Creating your renderer
package org.glassfish.jsf.overrideRenderer;import java.io.IOException;import javax.faces.component.UIComponent;...
on Nov 7, 2013
In a previous blog entry I blogged about stateless JSF before, this time I will include the entire page so you can see how silly simple it actually is. And you can also go directly to Subversion to get the sample there.
The entirely stateless page
<?xml version='1.0' encoding='UTF-8'?><!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml...
on Nov 6, 2013
Say you have a problem with how a particular component renders and you want to do it a bit different. Well in JSF that is not a problem there is a hook-in that you can use to override how a renderer does it rendering. The sample below shows you how to do it.
You will have to do 2 things.
1. Register your own renderer for a given renderer type
2. Implement your own renderer.
First lets make sure...
on Nov 5, 2013
If you read the blog entry about migrating to @Named annotation you might wonder how you would migrate your @ManagedProperty annotations.
Since CDI is a specification on its own, it does not deal with JSF specific artifacts. However with very little work you can have a very similar setup.
First we define our own custom annotation @ManagedProperty
package test.managedproperty;import java.lang....
on Nov 1, 2013
See the release notes for what was fixed. If you want to download it, see this page for more information.
on Oct 31, 2013
One of the newer features introduced in JAX-RS 2.0 is the support for validating resource classes with Bean Validation
Bean Validation support comes in Jersey 2.x by adding jersey-bean-validation module to the class-path.
The following sample shows how to use Bean Validation with JAX-RS 2.0. I show how to define a custom constraint which will validate any Enum class.
Additionally I will show...
on Oct 30, 2013
Since Mojarra is available as a standalone JAR you can opt to update your Glassfish installation with a newer version. How would you do that? Well it is simple.
Make sure your Glassfish container is not running
Grab the latest JAR from http://repo1.maven.org/maven2/org/glassfish/javax.faces/
Replace the javax.faces.jar in the modules directory of your Glassfish directory with the downloaded JAR...
on Oct 29, 2013
Sometimes when you are working with JSF you might need to understand what is happening beneath the covers. It could be because you think a component is misbehaving and you want to make sure that is the case before you file a bug. To facilitate this you can turn the logging up and in Mojarra there are several loggers that you can use.
The following is a non-exhaustive list:
on Oct 28, 2013
If you are having a problem with your JPA queries and you are trying to understand what SQL queries it actually sends below the covers you can configure the JPA runtime to show the actual SQL statements it sends over. How? Well for EclipseLink you would add the following to your persistence.xml file.
<property name="eclipselink.logging.level" value="FINEST"/>...
on Oct 27, 2013
Developing RESTful Services with JAX-RS 2.0, WebSockets, and JSON is the new book which Masoud Kalali and I have worked on and recently published.
As the technology landscape moves focus towards smaller devices, the need for building scalable, flexible, lightweight, and real-time communications-based applications grows.
HTML 5 and Java EE 7 provide a new synthesis of technologies that...
on Oct 18, 2013
I’ve been talking about JSF 2.2 new features out on the conference trail for quite a while now. I usually talk about the big three: Flows, Resource Library Contracts, and HTML5 Friendly Markup. This blog entry talks about another, mostly behind-the-scenes, feature: ClientWindow. I introduce the concept of ClientWindow and give a simple example illustrating one solution to a common web...
on Oct 7, 2013
What happens if you configure a Hadoop-centric scalable big data infrastructure running on the Amazon EC2 cloud, that's programmed to perform some very basic processing on delimited ASCII data records (about 30 characters in each record), and you feed it a single data record? How quickly do you think that massively powerful system would process that teensy, trivial input data set? Milliseconds?...
on Sep 26, 2013
Last week I posted a blog entry where I urged people to join the JCP process to further JavaEE. In this blog entry I will list ways you can participate with a specification that could be part of the next JavaEE release (note the table below lists the specifications that were part of JavaEE 7).
JavaEE spec tracker
on Nov 10, 2013
My JavaOne 2013: Wrapup
This blog entry summarizes my session participation at JavaOne 2013. I plan to update this entry with links to the content on Parleys.com as it becomes available.
Sessions I Attended
In general, speaking more than listening is a very bad way to live. I find this holds true at conferences as well. Here are the sessions I attended. I attended eight and presented six, so I...
on Oct 1, 2013
Java User Groups
a little discussion in a television series here that i am the speaker. the topic is Java. The host, TV Excelence, said any update for Java and why Java is silence now.
I said there are Java worlds which use Java but we cannot said it is Java, but use Java.
1. BigData with Hadoop under Apache , is a new ecosystem that based on Java.
2. Smartphone/Gadget with Android under Google with Apache...
on Oct 19, 2013
Silicon Valley Code Camp is one of the best known secrets and one of the best organized conferences in the Bay Area.
I have the pleasure to speak at this conference for the past two years and am amazed at its growing popularity.
Here are some statistics for this year
4500 registrations and registration was closed
The Code Camp consists of these points:
By and for the developer...
on Oct 6, 2013
Java Web Services and XML
I will be presenting the following sessions at Silicon Valley Code Camp 2013. For those in the Bay Area, Silicon Valley Code Camp is on Oct 5,6 2013 in Foothill College, Los Altos. It is a very well organized conference by the developers for the developers. This year has 232 sessions and 4500 registrations and am always amazed at the way Peter Kellner and his team pull this off!
These are my...
on Oct 2, 2013