4/20/2010

Mirage: Simple SQL Centric DB Access Library

Today, I released Mirage ver 1.0.0.

Mirage is a simple SQL centric database access library. It has a following two features:

  • 2WaySQL
    The main feature of Mirage is 2WaySQL. This makes plain old SQL template, and it is executable using any SQL client tools because parameters and conditions are written as SQL comment.
  • SQL less Update
    Generally, update processing are simpler than search processing. However, especially, large INSERT SQL brings us the considerable pain. In the Mirage, you can insert / update / delete records using entity class (without SQL).

The main feature of Mirage is 2WaySQL. This makes plain old SQL template. See the following example:

SELECT * FROM BOOK
/*BEGIN*/
  WHERE
  /*IF author != null */
        AUTHOR = /*author*/'Naoki Takezoe'
  /*END*/
  /*IF minPrice != null */
    AND PRICE >= /*minPrice*/20
  /*END*/
  /*IF maxPrice != null */
    AND PRICE <= /*maxPrice*/100
  /*END*/
/*END*/
ORDER BY BOOK_ID ASC

Mirage processes this SQL template and executes it using PreparedStatement at runtime. And this SQL template is exacutable even it is on SQL client tools such as SQL*Plus(Oracle) or psql(PostgreSQL). So it makes easy to test SQL.

See details about Mirage at our web site. I would also talk about Mirage in this blog.

4/18/2010

Java Standard EL Functions 1.1.0 is available!

We released Java Standard EL Functions (JSEL) ver 1.1.0.

JSEL provides standard JSP-EL functions for web application development such as escaping HTML tags, URL encoding and formatting Date or Number. You can use it with many web frameworks which use JSP as view technologies.

Here is the example to JSEL usage:

<%@ taglib uri="http://amateras.sf.jp/functions" prefix="f" %>
...
<%-- Escape HTML tags --%>
${f:h(value)}
<%-- URL encode --%>
${f:u(value)}

JSEL provides many usable EL functions. Please check our web site to know details about JSEL.

2/27/2010

ClickIDE 2.1.0.0 Released

ClickIDE 2.1.0.0 is now available!

This version is the first release of ClickIDE from Apache Software Foundation and it supports Eclipse 3.5 and Apache Click 2.1.0.

You can download it from the following link:
http://www.apache.org/dyn/closer.cgi/click/clickide/2.1.0.0/clickide-2.1.0.0.zip

Enjoy Click!

9/21/2009

Doloto: JavaScript optimization tool

Doloto is an AJAX application optimization tool provided at Microsoft DevLabs.

It works as an local proxy server, and it profiles JavaScript in Ajax applications. After profiling, Doloto groups JavaScripy functions as clusters based on profiled data. And rewrite original JavaScript code to load functions on demand using XMLHttpRequest.

Doloto is very simple and easy to use. It makes lazy loading of JavaScript with no changes of your applications.

9/05/2009

Vilike: Open Source vi Plug-in for Eclipse

viPlugin for Eclipse is a major plug-in that provides vi like key binding for Eclipse. However it's not open source. We have to buy license to use it (15 Euro).

Today, I found an open source vi plug-in named Vilike. I tested this plug-in and felt it good.

You can get it from the download page.

  1. Download jp.gr.java_conf.mitonan.vilike_0.1.0.beta1.jar and put it into ECLIPSE_HOME/dropins.
  2. Restart Eclipse and choose ViLike Key Binding Scheme ad the key binding schema in the Eclipse preference dialog ([General] - [Keys]).

Try Vilike plug-in if you want to bring Eclispe key binding close to the vi editor!

8/24/2009

JSDT: JavaScript Debug Tool

JSDT(JavaScript Debug Tools) is a JavaScript debugger that supports multi web browser without any add-ons.

Existing JavaScript debugger such as Firebug works for only specific web browsers or requires special add-ons. However JSDT has no requirement. It supports IE, Firefox, Chrome, Safari, Opera and many other browsers.

It works as the HTTP proxy server and this proxy inserts JavaScript code for debug into original JavaScript code. Inserted code sends debug information to debugger using Ajax.

JSDT provides a Swing based stand-alone debugger and an Eclipse plug-in. We can choose them by our development style.

Now, JSDT has some problem to debug JavaScript which contains multi-byte characters. So the current version is not so practicable. However JSDT's debugging mechanism looks epoch-making. I'm looking forward to the future of JSDT!

7/26/2009

Utility to use JDO easily on Google App Engine

We can use JDO to access BigTable on Google App Engine for Java.

However JDO PersistenceManager and Query object are so complex. So I wrote an utility to use JDO easily. For example, you can search entities as follows instead of JDO Query object.

List entries = JdoUtil.from(Entry.class)
  .filter("userId == ?")
  .ordering("updateDate desc")
  .range(0, 20)
  .getResultList(userId); 

No need to cast result objects and Query#declareParameters() also.

I would like to provide this utility in the part of my NikoNiko Framework (NikoNiko means Smile in Japanese). NikoNiko Framework supports both standard JavaEE web development and Google App Engine for Java. It's small and lightweight. It would be suitable for the small web application development.