In the web projects, it is often useful to see quickly the version of the deployed application. A simple solution is to get it from Maven and display it in our page, in footer or a “about” page. The main idea is to use a property file as a JSF resource as we can use,… Continue reading Display Maven release number in JSF page
Tag: Java
Spring Security with JSF 2 and custom login form
Here, I am integrating Spring Security with JSF 2 using a custom login form. First, the maven dependencies for Spring-Security (I consider that the JSF project is already set-up, if it is not the case, you can check here): <properties> … <spring.security.version>3.2.4.RELEASE</spring.security.version> </properties> … <!– Spring-Security dependencies –> <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-core</artifactId> <version>${spring.security.version}</version> </dependency> <dependency> <groupId>org.springframework.security</groupId>… Continue reading Spring Security with JSF 2 and custom login form
Adding AOP using Spring
I need to add some behavior to my service beans each time I start a transaction. In fact, I am converting a 2-tiers application in a web application, and previously, the users are authenticated using a real Oracle account. This way, they were able to use some user variables, using a proxy user (I will… Continue reading Adding AOP using Spring
Persist list with MyBatis
As MyBatis is a basic ORM, when we need to persista list of objects, we have to implement it manually, but without any copy/paste between classes. For this purpose, I designed a generic merger which is responsible of that task. It has to go through a list of objects and determine: what is new and… Continue reading Persist list with MyBatis
Change web context using Maven
<packaging>war</packaging> <build> <plugins> <plugin> <artifactId>maven-war-plugin</artifactId> <version>2.1.1</version> <configuration> <packagingExcludes>WEB-INF/web.xml</packagingExcludes> <warName>exp-elec-web</warName> </configuration> </plugin> </plugins> </build>
Maven config for JSF2/RichFaces
Here is my Maven configuration for a JSF2/Richfaces project: <project xmlns=”http://maven.apache.org/POM/4.0.0″ xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xsi:schemaLocation=”http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd”> <modelVersion>4.0.0</modelVersion> <groupId>net.classnotfound</groupId> <artifactId>jsf</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>war</packaging> <name>jsf</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <org.apache.myfaces.version>2.2.0</org.apache.myfaces.version> <org.richfaces.version>4.3.5.Final</org.richfaces.version> </properties> <dependencies> <!– web container dependencies –> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.0.1</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <version>2.2</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.tomcat</groupId> <artifactId>tomcat-jasper</artifactId> <version>7.0.50</version> <scope>provided</scope> </dependency> <!– JSF dependencies –> <dependency>… Continue reading Maven config for JSF2/RichFaces
Starting of Spring context in web application
Using Spring in a web application, we need to load the context when the application starts. Fortunately, it can be done in a simple way, by adding the right listener in the application web.xml. Using Maven, you need to add the Spring-web dependency in your pom.xml: <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>4.0.0.RELEASE</version> <scope>compile</scope> </dependency> And in the… Continue reading Starting of Spring context in web application
Check Generic type
Using JMS which is not implemented with Generics, I decided to add some “genericity”. The problem is that, because of type erasure, I can’t use the simple instanceof operator, the solution I used is to pass the class of the Generic when I use it: import java.io.Serializable; public class Handler { public Handler() { super();… Continue reading Check Generic type
Define the Java version in Maven
Directly in the pom.xml (resource definition is also included): <?xml version=”1.0″ encoding=”UTF-8″?> <project xmlns=”http://maven.apache.org/POM/4.0.0″ xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xsi:schemaLocation=”http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd”> … <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version> <configuration> <source>1.7</source> <target>1.7</target> </configuration> </plugin> </plugins> <resources> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> <includes> <include>**/*</include> </includes> <excludes> <exclude>profiles/**</exclude> </excludes> </resource> <resource> <directory>src/main/resources/profiles/${profile.name}</directory> <includes> <include>*.properties</include> <include>*.xml</include> </includes> </resource> </resources> </build> </project>
Add datasource access in tests
In my web applications, the datasource is often defined in Tomcat (see here), when I execute my integration tests using JUnit, I don’t need Tomcat, but I need an access to the database, and to the Spring context too. My solution is to create an abstract test which provides me these features, I use: the… Continue reading Add datasource access in tests