12/19/2010

rdiff-backup browser

Project Amateras released rdiff-backup browser at Nov. 18, 2010.

rdiff-backup browser is a web application to browse backup histories of rdiff-backup. It is written in Java and works on the Java application server such as Apache Tomcat.

10/05/2010

Mirage 1.0.5 is now available!

Mirage is a simple SQL centric database access library. See the following URL to know about Mirage:

Here is the list of changes in Mirage 1.0.5:

  • Add new methods to SqlManager for batch insert/update/delete entities:
    • SqlManager#insertBatch()
    • SqlManager#updateBatch()
    • SqlManager#deleteBatch()
  • BugFix: NullPointerException which is caused in conversion from NULL column value to java.util.Date.
  • Possible to specify @In, @Out, @InOut, @ResultSet for setter / getter method.
  • Add new annotations @Table, @Column. These annotation are used to specify table and column name.
  • Entity Generation Tool (Experimental). See the EntityGen Javadoc to know how to use it.

In addition, Apache Click example is updated to use Apache Click 2.2.0 and Mirage 1.0.5. You can get it from the download page.

I wish that Mirage helps your development. Enjoy!

10/01/2010

Java Standard EL Functions 1.1.1 is available!

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

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 list of new features in this release:

  • New functions to print message to JSP by log level
  • New functions to test whether log level is enabled

You can print message if the log log level is enabled using functions such as log:printDebug().

${log:printDebug('DEBUG level is enabled.')}

And also you can test whether log level is enabled using log:isDebugEnabled().

<c:if test="${log:isDebugEnabled()}">
  DEBUG level is enabled.
</c:if>

Please see the TLDDoc to know details of available functions.

9/28/2010

Mailing list for Mirage is now available!

Mailing list for Mirage is now available.

You can subscribe this list at the following page:
http://lists.sourceforge.jp/mailman/listinfo/amateras-mirage

And Mirage 1.0.5 which contains some new features such as batch updating and entity generation tool and also new click-mirage-examples would be released soon!

9/04/2010

Mirage 1.0.4 Released!

Mirage 1.0.4 is now available!

Mirage is a simple SQL centric database access library. See the following URL to know about Mirage:

Here is the list of changes in Mirage 1.0.4:

  • JavaSE 5 support (Mirage 1.0.3 and before work with only JavaSE 6)
  • BugFix: Map which contains null properties causes NullPointerException in SqlManager#executeUpdate()
  • BugFix: When the column value is NULL then Mirage sets the default value of primitive types to entity wrapper type properties.
  • Add new methods to SqlManager for direct sql execution:
    • SqlManager#getResultListBySql()
    • SqlManager#getSingleResultBySql()
    • SqlManager#iterateBySql()
    • SqlManager#executeUpdatySql()

I wish that Mirage helps your development. Enjoy!

7/20/2010

ClickIDE 2.2.0.0 is now available!

ClickIDE 2.2.0.0 is now available!

ClickIDE is an Eclipse plug-in for the developing Click web applications.

This version supports Apache Click 2.2.0 and fixed some issues.

Details about ClickIDE:
http://click.apache.org/docs/click-ide.html
Download page:
http://click.apache.org/docs/click-ide-downloads.html

Enjoy Click!

7/05/2010

EclipseHTMLEditor 2.0.7 Released!

Project Amateras released EclipseHTMLEditor 2.0.7 at 05 July 2010.

EclipseHTMLEditor is an Eclipse plug-in which provides HTML, XML, JSP, JavaScript, CSS and DTD editor.

The main topic of this release is improvement of JavaScript editor. Enhanced JavaScript parser provides many new features for code completion, hyperlink and the outline view.

Here is a list of new features in this release.

  • JavaScript editor improvenemnt
    • Code completion was greatly improved
    • jQuery code completion
    • Quick Outline (CTRL + O)
    • JsDoc support
    • Selected word highlighting
  • XPath search dialog is available in the HTML editor
  • Configurable HTML/JSP formatter
  • Synchronization of the caret offset and outline view selection in HTML, XML, JSP and JavaScript editor

See details here about new features.

Enjoy your development!

6/15/2010

Mirage 1.0.3 Released

Mirage 1.0.3 is now available!

Mirage is a simple SQL centric database access library. See the following URL to know about Mirage:

Here is the list of changes in this release:

  • Iteration search per a record using cursor.
  • Stored procedure / function support.
  • BugFix about SqlManager#insertEntity().

Please see also my past entries about new features in Mirage 1.0.3.

I wish that Mirage helps your development. Enjoy!

6/03/2010

Mirage supports stored procedure/function

The next version of Mirage will support stored procedure/function. We added new methods to call them to SqlManager in the SVN trunk.

Here is an example to call stored function in Mirage:

// Creates parameter object which give to stored function
GetCountParam param = new GetCountParam();
param.deptId = 1;
...
// Calls a stored function and get a result value.
Long count = sqlManager.call(Long.class, "get_emp_count", param);

Fields of the parameter class has annotation such as @In, @Out, @InOut and @ResultSet. These annotations mean parameter type.

If the function returns ResultSet, use SqlManager#callForList() instead of SqlManager#call().

Please wait for the next release of Mirage!

5/09/2010

Large results processing in Mirage

The next release of Mirage is 1.0.3. It contains some new features. Today, I write about iteration search which is one of them.

SqlManager#getResultList() creates all entity instances and returns a list which contains them. If SQL returns a large result, it causes OutOfMemory.

In these case, you should use SqlManager#iterate() instead of SqlManager#getResultList().

Integer result = sqlManager.iterate(
  Book.class,
  new IterationCallback<Book, Integer>() {

    private int result;

    @Override public Integer iterate(Book entity) {
      result = result + entity.price;
      return result;
    }

  },
  SQL_PREFIX + "SqlManagerImplTest_selectBooks.sql");

SqlManager#iterate() accepts IterationCallback and invoke it per record. The return value of SqlManager#iterate() is a last returned value from IterationCallback.

Iteration search would be available in Mirage 1.0.3.

5/08/2010

Mirage 1.0.2 Released!

Mirage 1.0.2 is now available!

Mirage is a simple SQL centric database access library. See the following URL to know about Mirage:

1.0.2 is a maintenance release. Here is the list of changes in this release:

  • Dependency to Spring Framework and Guice became optional.
  • Dependency to the pached OGNL changed to OGNL 2.7.3.
  • BugFix about BLOB support.

BLOB support in 1.0.1 does not work because it contains a serious bug. This bug was fixed in 1.0.2 and dependencies was reviewed and modified to minimum.

And also Mirage with Apache Click example is released. You can get it from the download page.

I wish that Mirage helps your development. Enjoy!

5/02/2010

Mirage and Apache Click Example

I started to make a sample application to use Mirage with Apache Click.

This sample application has not been completed yet. However you can checkout source code from the following URL using Subversion.

You can build a war file using Maven. Please execute following commands in command prompt.

$ svn co http://svn.sourceforge.jp/svnroot/amateras/mirage/trunk/mirage-click-example/
$ cd mirage-click-example
$ mvn package

Then you can find mirage-click-example.war in the /target directory.

Put it into the application server such as Tomcat and access http://localhost:8080/mirage-click-example/ using your browser.

Mirage 1.0.1 Released!

Mirage is a simple SQL centric database access library. Today, I've just released Mirage 1.0.1. It's already available.

See the following URL to know about Mirage:

Here is the list of new features in this release:

  • Use java.util.logging instead of slf4j / logback to remove them from dependency.
  • Simple example and documentation for Google Guice integration.
  • It's possible to specify a transient property by transient modifier instead of @Transient annotation.
  • Add new method SqlManager#findEntity(Class clazz, Object... id)
  • Add new method SqlManager#getCount(String sqlPath[, Object param])
  • ValueType interface to add custome value type support
  • BLOB support

Mirage is still not enough to use in complex systems. So we would improve it as much as possible soon.

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!