Archive for November, 2009

GraniteDS Projects with IntelliJ IDEA 9

Monday, November 30th, 2009

GraniteDS technology allows to create enterprise web applications with Flex at client side and Java at server side. With IntelliJ IDEA you can develop GraniteDS projects with complete coding assistance both for Flex and Java, compile, deploy, run, and debug both client and server side in just few clicks!

Let’s create an IntelliJ IDEA project for Hello World example from GraniteDS developer guide. You may configure a project yourself or download it here
(more…)

New ActionScript/Flex Refactoring: Push Members Down

Wednesday, November 25th, 2009

In addition to other refactorings, Maia also has this useful refactoring: push members down the classes hierarchy.

Again, let’s try it on a simple example.

(more…)

Attend Skills Matter Conferences with 25% Discount

Friday, November 20th, 2009

Skills Matter, Europe’s leading Open Source and Agile event organiser, has scheduled some exciting conferences in London, UK.

Since JetBrains is good friends with Skills Matter, our community members enjoy 25% off regular ticket price. And by JetBrains community members, we mean all of you!

To qualify for this special community discount, please quote SM1745-623015-J6B in the Promo Code field when registering for a conference.

Specifically, IntelliJ IDEA users may be interested in attending the following conferences:

  • Droidcon (1 day), December 2nd — for Android developers. Register now.
    Speakers include Carl-Gustaf Harroch, Kevin McDonagh, and Andreas Reuterberg.
  • Groovy & Grails eXchange (2 days), December 9 & 10 — for Groovy and Grails developers. Register now.
    Speakers include Russ Miles, Guillaume LaForge, Russel Winder, Hans Dockter, Burt Beckwith, Venkat Subramaniam, Dierk Koenig, and Graeme Rocher.
  • Open Source in Finance eXchange (1 day), December 15th — for J2EE architects and developers of high performance, scalable systems in financial services. Register now.
    Speakers include Alan Hardy, Rob Davies, Angelo Corsaro, David Vincent, and Alex McGuire.

Other upcoming Skills Matter conferences include:

Follow conference news on http://twitter.com/skillsmatter

JPA 2.0 Typesafe Criteria API and Annotation Processing Howto

Thursday, November 19th, 2009

Maia build subsystem now recognizes Java Annotation Processors. Most of JPA 2.0 implementations are expected to make use of the Pluggable Annotation Processing API to automatically generate static metamodel classes. Here is a list of steps required to generate JPA 2.0 metamodel and keep it up-to-date with Hibernate Static Metamodel Generator. For the simplicity in this sample project the processor jar file is added to the module dependencies.

  • Enable annotation processing
  • Select Obtain processors from project classpath option
  • Add a processor class name to the Processors list
  • Add a module with annotated classes to the list of modules to process
  • To output generated classes to a generated directory under module content root, set Generated Sources Directory Name to generated. Note that this directory will not be set as a source root automatically.

Now, Annotation processors will be run every time you invoke Make or Compile. Besides, there is a special menu item Process Annotations that does exactly what its name says. In this sample project I have added the generated directory to project sources to get completion in JPA 2.0 Typesafe Criteria API calls. Enjoy, Comment.

IntelliJ IDEA PSI Viewer

Thursday, November 19th, 2009

If you’re an IntelliJ IDEA plugin developer, you’re surely going to enjoy IntelliJ IDEA PSI Viewer (Tools -> View PSI Structure), which displays internal structure of various files, as they’re interpreted by IntelliJ IDEA. If you’re implementing a new language support, or trying to add some cool new features to what’s already supported — this viewer is what you’re gonna need a lot.

As you see, PSI Viewer is made up of of tree parts:

  • An editor with file content
  • PSI structure view with parent-child tree of its elements
  • Area that displays references of element selected in PSI structure view.

Note that references marked as red resolve to null.

Available since build 92.35

CDI (JSR-299) Run with me…

Thursday, November 19th, 2009

Contexts and Dependency Injection (JSR-299) support in Maia has been significantly improved.

  • Reworked tool window:

  • New code inspections:
    • Injection points inconsistency. Detects Injection Points with ambiguous and unsatisfied dependencies
    • @Typed annotation errors.

    • Unproxyable bean types inconsistency.

    • And more:
  • Improved Rename refactoring for @Named beans
  • Better navigation to @Typed beans
  • Enhanced dependencies diagram, and more.

Unwrap code constructs in JavaScript / ActionScript

Wednesday, November 18th, 2009

Sometimes when you are editing JavaScript/ActionScript code, you need to remove, say, an enclosing if statement without touching a current code block.

In Maia you can just invoke Unwrap/Remove action (Control+Shift+Delete in Windows keymap), which allows to precisely select which construct to unwrap:

Voila! The edited code block is unwrapped and in place!

BTW, this handy action works in XML/HTML/JSP files, where it removes enclosing tags.

Enjoy developing with pleasure!

Surprising Update: IntelliJ IDEA 8.1.4

Friday, November 13th, 2009

While IntelliJ IDEA 9 aka Maia is knocking on the door, our development team just released a fresh update to IntelliJ IDEA 8 — v8.1.4.

Read release notes, download a copy for your platform, and don’t forget — our Free Upgrade Program is still running!

Web Beans (JSR-299): Dependency Injection Diagram

Thursday, November 12th, 2009

Maia gives you an easy way of analyzing Web Bean class dependencies — just invoke a pop-up menu on any class in your editor. (more…)

New ActionScript/Flex Refactoring: Pull Members Up

Wednesday, November 11th, 2009

Today we’re continuing our series of posts about new ActionScript/Flex refactorings that you can find in the latest Maia EAP, with presentation of this new aid: pull class members up the classes hierarchy.

Let’s have look at this simple example. (more…)