Sunday, July 29, 2007

Creating your own ajax loading image

I found this useful for creating images for my AJAX loading ICONs http://www.ajaxload.info/

Enabling Expression Language (EL) in JSP

You can do it in two ways:

  • Enable it for whole application : Put following in web.xml

    <jsp-config>
    <jsp-property-group>
    <url-pattern>*.jsp</url-pattern>
    <el-ignored>false</el-ignored>
    </jsp-property-group>
    </jsp-config>

  • Enable it for just one JSP page : put following at top of your JSP Page
    <%@ page isELIgnored="false" %>
Make sure when you use the first option you use 2.4 schema or above. i. e. your root tag in web .xml looks something like this.

< web-app id="WebApp" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">

make sure you are using Jasper jars for JSP 2.0 or above.

Saturday, July 28, 2007

AndroMDA: Generating create/drop schema script with Maven 2

First of all I would recommend anyone who is using the anroMDA for first time to read
${application_root}/readme.txt file carefully. This helps understanding the generated schema.

If you read readme.txt, you will notice two tasks

  • mvn -f core/pom.xml andromdapp:schema -Dtasks=create --> generates the DDL create code and subsequently tells the database to create the schema for the entities

  • mvn -f core/pom.xml andromdapp:schema -Dtasks=drop --> generates the DDL drop code and subsequently tells the database to drop the schema for the entities

  • mvn -f core/pom.xml andromdapp:schema -Dtasks=drop,create
But wait, these target don't seem to work for me if i use maven-2 (mvn) with AndroMDA 3.2.
add following to the plugin configuration in core/pom.xml
<executescripts>false</executescripts>
<tasks>create</tasks>
<tasks>drop</tasks>
and now when you run the above targets, the create and drop DDLs are generated in the path specified by createOutputPath and dropOutputPath property.

The default location for generated scripts is ${application_root}/app/target/

Remote and Local EJB with AndroMDA

@andromda.ejb.viewType "both" isn't supported, that's the reason. If you want to use remote at all, then set it to "remote", most application servers (like JBoss) treat remote interfaces as local when they're in the same JVM anyway.

Understanding Java Security and permission

This is a must read for any java programmer, combined with this article on JavaWorld