Author Archive

PostgreSQL Dialect Support

Thursday, September 24th, 2009

Maia release is closing in, and yet we have not run out of useful features to announce. Next EAP brings you a long-awaited support of PostgreSQL dialect. Just as with all others, you can set it at project, folder, or individual file levels either via Project Settings section of Settings dialog, or by invoking a quick-fix on any error marker inside of an .sql file with Alt+Enter shortcut.

Enabling Implicit Context Variables Resolution in Template Files

Thursday, August 6th, 2009

Because almost any template file has external references to context variables (and we’ll eventually find their declarations in code rendering that file), we need to introduce declarations for such implicit variables. IntelliJ IDEA helps us to do this in familiar comment-based way: @vtlvariable comment declares name, type and optional scope file for implicit variables; variable type is inferred from method and #foreach usages. Let’s have a look at the latter variant.
(more…)

Enabling Template Files and Velocimacros Resolution

Wednesday, August 5th, 2009

As you probably know, there’s something special about developing applications with template languages (e.g. Velocity and Freemarker): lack of compile-time information prevents from resolving references to included files and library macros. But this is not a problem anymore — IntelliJ IDEA can help you with the use of specially crafted comments.

Let’s have a look at an example module: a.vm file includes b.vm file via velocity.properties file (i. e. relative paths contained in file.resource.loader.path property).

Press Alt+Enter on an unresolved file reference in a.vm and select a module-wide velocity.properties file declaration (looks most appropriate for a single file).

IntelliJ IDEA finds or creates an implicitly included file (any *.vm file that begins with #* @implicitly included *#) and inserts a @velocityproperties comment into it. Then you can select a velocity.properties file from a list of suitable ones found by IntelliJ IDEA.

The comment itself is quite simple:

#* @velocityproperties path=”<RELATIVE PATH TO VELOCITY PROPERTIES FILE>” runtime_root=”<RELATIVE PATH TO RUNTIME ROOT DIRECTORY>” *#
Base for these relative paths is a folder containing file with comment (in this case, velocity_implicit.vm).

Derby SQL Dialect Support

Wednesday, May 27th, 2009

Maia brings you the support of Apache Derby SQL dialect. Just as with all others, you can set it at project, folder and individual file levels either via Project Settings section of Settings dialog:
Or by invoking a quick-fix on any error marker inside of an .sql file with Alt+Enter shortcut:

Tapestry Support in Maia

Wednesday, May 27th, 2009

Maia provides comprehensive support for Apache Tapestry, the Web application framework. The first EAP features the Tapestry support essentials that include:

  • Standard way to enable the technology for a module.
  • Simple facet for quick configuration
  • Navigation from Tapestry related tag names/attributes to corresponding Tapestry entities.
  • Navigation between the template and the class of a component, a page or a mixin
  • Actions to create components, pages or mixins in proper location.
  • Standard Colors&Fonts setting page for Tapestry-related tag names and attributes.

Also, a Tapestry-enabled module is created with all required package structure and web.xml content: