<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <title>Irian</title>
  <link rel="alternate" href="http://www.irian.at/en/blog/-/blogs/rss" />
  <subtitle>Irian</subtitle>
  <entry>
    <title>JSF 2.2 - New namespaces</title>
    <link rel="alternate" href="http://www.irian.at/en/blog/-/blogs/jsf-2-2-new-namespaces" />
    <author>
      <name>Michael Kurz</name>
    </author>
    <id>http://www.irian.at/en/blog/-/blogs/jsf-2-2-new-namespaces</id>
    <updated>2013-05-16T13:22:32Z</updated>
    <published>2013-05-16T13:12:43Z</published>
    <summary type="html">&lt;p&gt;
	&lt;a href="http://jsflive.wordpress.com" target="_blank"&gt;JSFlive&lt;/a&gt;&amp;nbsp;published a new post in the&amp;nbsp;&lt;a href="http://jsflive.wordpress.com/category/jsf-2-2/" target="_blank" title="JSFlive JSF 2.2 series"&gt;series on JSF 2.2&lt;/a&gt;&amp;nbsp;about new namespaces in JSF 2.2. The post&amp;nbsp;&lt;a href="http://jsflive.wordpress.com/2013/05/16/jsf22-namespaces/" target="_blank" title="JSF 2.2: New namespaces"&gt;JSF 2.2: New namespaces&lt;/a&gt; shows the new namespaces for config files and taglibs.&lt;/p&gt;</summary>
    <dc:creator>Michael Kurz</dc:creator>
    <dc:date>2013-05-16T13:12:43Z</dc:date>
  </entry>
  <entry>
    <title>CONFESS_2013</title>
    <link rel="alternate" href="http://www.irian.at/en/blog/-/blogs/confess_2013" />
    <author>
      <name>Isabella Wohnhas</name>
    </author>
    <id>http://www.irian.at/en/blog/-/blogs/confess_2013</id>
    <updated>2013-04-24T09:34:34Z</updated>
    <published>2013-04-24T09:17:46Z</published>
    <summary type="html">&lt;p&gt;
	From April 3 - 5, the sixth annual &lt;strong&gt;CON&lt;/strong&gt;ference&lt;strong&gt; F&lt;/strong&gt;or &lt;strong&gt;E&lt;/strong&gt;nterprise &lt;strong&gt;S&lt;/strong&gt;oftware &lt;strong&gt;S&lt;/strong&gt;olutions was held at the Congress Centre in Vienna.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;
	Organized by IRIAN and the EJUG Austria, over 200 attendees from all over the world gathered to watch sessions, do workshops and exchange their knowledge.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;
	This year, the three main topics of the conference were:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;
		Enterprise Software Developent&amp;nbsp;&lt;/li&gt;
	&lt;li&gt;
		Mobile Computing&amp;nbsp;&lt;/li&gt;
	&lt;li&gt;
		Big Data&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
	Some of the talks featured speakers like Jon Brisbin, Heinz Kabutz, Juergen Hoeller and Axel Fontaine.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;
	We also held a raffle, where attendees had the chance to win 3 Raspberry Pis, which was very well-received.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;
	We can happily say that the conference was a huge success and that we are looking forward to next years&amp;#39;.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;
	Thanks to everyone who participated and helped to make it as interesting as possible.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;
	the CONFESS_2013 team&amp;nbsp;&lt;/p&gt;
&lt;p&gt;
	&lt;a href="https://2013.con-fess.com/" target="_blank"&gt;https://2013.con-fess.com/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
	&lt;img alt="" src="http://24.media.tumblr.com/79bcaec4716b42eb2b4ef7f925ff909e/tumblr_mlr6ivzQcc1s9c4fxo1_1280.jpg" style="width: 500px; height: 375px;" /&gt;&lt;/p&gt;</summary>
    <dc:creator>Isabella Wohnhas</dc:creator>
    <dc:date>2013-04-24T09:17:46Z</dc:date>
  </entry>
  <entry>
    <title>JSF 2.2 - File upload with inputFile component</title>
    <link rel="alternate" href="http://www.irian.at/en/blog/-/blogs/jsf-2-2-file-upload-with-inputfile-component" />
    <author>
      <name>Michael Kurz</name>
    </author>
    <id>http://www.irian.at/en/blog/-/blogs/jsf-2-2-file-upload-with-inputfile-component</id>
    <updated>2013-04-24T06:09:47Z</updated>
    <published>2013-04-24T05:41:50Z</published>
    <summary type="html">&lt;p&gt;
	&lt;a href="http://jsflive.wordpress.com" target="_blank"&gt;JSFlive&lt;/a&gt;&amp;nbsp;published a new post in the&amp;nbsp;&lt;a href="http://jsflive.wordpress.com/category/jsf-2-2/" target="_blank" title="JSFlive JSF 2.2 series"&gt;series on JSF 2.2&lt;/a&gt;&amp;nbsp;about a feature anticipated for a long time: the JSF file upload component&amp;nbsp;&lt;code&gt;h:inputFile&lt;/code&gt;. The post&amp;nbsp;&lt;a href="http://jsflive.wordpress.com/2013/04/23/jsf22-file-upload/" target="_blank" title="JSF 2.2: File upload with h:inputFile"&gt;JSF 2.2: File upload with h:inputFile&lt;/a&gt;shows how the file upload works with JSF 2.2 - even with Ajax.&lt;/p&gt;</summary>
    <dc:creator>Michael Kurz</dc:creator>
    <dc:date>2013-04-24T05:41:50Z</dc:date>
  </entry>
  <entry>
    <title>JSF 2.2 - Empty composite component attributes</title>
    <link rel="alternate" href="http://www.irian.at/en/blog/-/blogs/jsf-2-2-empty-composite-component-attributes" />
    <author>
      <name>Michael Kurz</name>
    </author>
    <id>http://www.irian.at/en/blog/-/blogs/jsf-2-2-empty-composite-component-attributes</id>
    <updated>2013-04-24T06:09:32Z</updated>
    <published>2013-04-24T05:38:17Z</published>
    <summary type="html">&lt;p&gt;
	&lt;a href="http://jsflive.wordpress.com" target="_blank"&gt;JSFlive&lt;/a&gt;&amp;nbsp;published a new post in the&amp;nbsp;&lt;a href="http://jsflive.wordpress.com/category/jsf-2-2/" target="_blank" title="JSFlive JSF 2.2 series"&gt;series on JSF 2.2 features&lt;/a&gt;&amp;nbsp;about empty composite component attributes. The post &lt;a href="http://jsflive.wordpress.com/2013/04/08/jsf22-empty-cc-attrs/" target="_blank" title="JSF 2.2: Empty composite component attributes"&gt;JSF 2.2: Empty composite component attributes&lt;/a&gt; shows that JSF 2.2 solves an annoying problem that can occur with composite component attributes that evaluate to null.&lt;/p&gt;</summary>
    <dc:creator>Michael Kurz</dc:creator>
    <dc:date>2013-04-24T05:38:17Z</dc:date>
  </entry>
  <entry>
    <title>JSF 2.2 - Composite components in taglibs</title>
    <link rel="alternate" href="http://www.irian.at/en/blog/-/blogs/jsf-2-2-composite-components-in-taglibs" />
    <author>
      <name>Michael Kurz</name>
    </author>
    <id>http://www.irian.at/en/blog/-/blogs/jsf-2-2-composite-components-in-taglibs</id>
    <updated>2013-04-24T06:09:08Z</updated>
    <published>2013-04-24T05:29:22Z</published>
    <summary type="html">&lt;p&gt;
	&lt;a href="http://jsflive.wordpress.com" target="_blank"&gt;JSFlive&lt;/a&gt;&amp;nbsp;published a new post in the&amp;nbsp;&lt;a href="http://jsflive.wordpress.com/category/jsf-2-2/" target="_blank" title="JSFlive JSF 2.2 series"&gt;series on JSF 2.2 features&lt;/a&gt;&amp;nbsp;about composite components in custom tag libraries. The post&amp;nbsp;&lt;a href="http://jsflive.wordpress.com/2013/04/06/jsf22-cc-taglib/" target="_blank" title="JSF 2.2: Composite components in taglibs"&gt;JSF 2.2: Composite components in taglibs&lt;/a&gt;&amp;nbsp;shows how JSF 2.2 makes adding composite components to custom tag libs more flexible. It is now possible to add tags for specific composite components. Even if they come from different resource libraries.&lt;/p&gt;</summary>
    <dc:creator>Michael Kurz</dc:creator>
    <dc:date>2013-04-24T05:29:22Z</dc:date>
  </entry>
  <entry>
    <title>JSF 2.2 - Configurable resource directory</title>
    <link rel="alternate" href="http://www.irian.at/en/blog/-/blogs/jsf-2-2-configurable-resource-directory" />
    <author>
      <name>Michael Kurz</name>
    </author>
    <id>http://www.irian.at/en/blog/-/blogs/jsf-2-2-configurable-resource-directory</id>
    <updated>2013-04-24T06:10:51Z</updated>
    <published>2013-04-23T21:03:11Z</published>
    <summary type="html">&lt;p&gt;
	&lt;a href="http://jsflive.wordpress.com" target="_blank"&gt;JSFlive&lt;/a&gt;&amp;nbsp;published a new post in the&amp;nbsp;&lt;a href="http://jsflive.wordpress.com/category/jsf-2-2/" target="_blank" title="JSFlive JSF 2.2 series"&gt;series on JSF 2.2 features&lt;/a&gt;&amp;nbsp;about the configuration of the resource directory. The post&amp;nbsp;&lt;a href="http://jsflive.wordpress.com/2013/04/01/jsf22-config-resource-dir/" target="_blank" title="JSF 2.2: Configurable resource directory"&gt;JSF 2.2: Configurable resource directory&lt;/a&gt;&amp;nbsp;shows how the directory used for JSF resource lookup in the web application can be changed.&lt;/p&gt;</summary>
    <dc:creator>Michael Kurz</dc:creator>
    <dc:date>2013-04-23T21:03:11Z</dc:date>
  </entry>
  <entry>
    <title>JSF 2.2 - CollectionDataModel</title>
    <link rel="alternate" href="http://www.irian.at/en/blog/-/blogs/jsf-2-2-collectiondatamodel" />
    <author>
      <name>Michael Kurz</name>
    </author>
    <id>http://www.irian.at/en/blog/-/blogs/jsf-2-2-collectiondatamodel</id>
    <updated>2013-04-24T06:11:02Z</updated>
    <published>2013-03-30T17:49:28Z</published>
    <summary type="html">&lt;p&gt;
	&lt;a href="http://jsflive.wordpress.com" target="_blank"&gt;JSFlive&lt;/a&gt; published a new post in the &lt;a href="http://jsflive.wordpress.com/category/jsf-2-2/" target="_blank" title="JSFlive JSF 2.2 series"&gt;series on JSF 2.2 features&lt;/a&gt; about the CollectionDataModel. The post &lt;a href="http://jsflive.wordpress.com/2013/03/30/jsf22-collectiondatamodel/" target="_blank" title="JSF 2.2: CollectionDataModel"&gt;JSF 2.2: CollectionDataModel&lt;/a&gt; shows this long awaited feature that allows the usage of java.util.Collection with JSF data tables.&lt;/p&gt;</summary>
    <dc:creator>Michael Kurz</dc:creator>
    <dc:date>2013-03-30T17:49:28Z</dc:date>
  </entry>
  <entry>
    <title>JSF 2.2 - View actions</title>
    <link rel="alternate" href="http://www.irian.at/en/blog/-/blogs/jsf-2-2-view-actions" />
    <author>
      <name>Michael Kurz</name>
    </author>
    <id>http://www.irian.at/en/blog/-/blogs/jsf-2-2-view-actions</id>
    <updated>2013-03-30T17:44:33Z</updated>
    <published>2013-03-30T17:26:46Z</published>
    <summary type="html">&lt;p&gt;
	&lt;a ref="http://jsflive.wordpress.com" target="_blank"&gt;JSFlive&lt;/a&gt; started a new &lt;a href="http://jsflive.wordpress.com/category/jsf-2-2/" target="_blank" title="JSFlive JSF 2.2 series"&gt;series on JSF 2.2 features&lt;/a&gt;. The &lt;a href="http://jsflive.wordpress.com/2013/03/22/jsf22-view-actions/" target="_blank" title="JSF 2.2: View actions"&gt;first post in this series&lt;/a&gt; presents view actions, a feature missing since JSF 2.0 to execute actions on initial GET requests (and postbacks).&lt;/p&gt;</summary>
    <dc:creator>Michael Kurz</dc:creator>
    <dc:date>2013-03-30T17:26:46Z</dc:date>
  </entry>
  <entry>
    <title>JSF@Work 1.2</title>
    <link rel="alternate" href="http://www.irian.at/en/blog/-/blogs/jsf-work-1-2" />
    <author>
      <name>Michael Kurz</name>
    </author>
    <id>http://www.irian.at/en/blog/-/blogs/jsf-work-1-2</id>
    <updated>2013-02-28T13:36:18Z</updated>
    <published>2013-02-28T13:33:03Z</published>
    <summary type="html">&lt;p&gt;
	IRIAN released version 1.2 of the JavaServer Faces (JSF) online documentation "JSF@Work". This version features new content about CDI, MyFaces CODI, PrimeFaces 3.5 and lots of other enhancements and improvements. The tutorial contains a complete list of changes.&lt;/p&gt;
&lt;p&gt;
	JSF@Work is available (currently only in german language) at: &lt;a href="http://jsfatwork.irian.at/" target="_blank"&gt;http://jsfatwork.irian.at&lt;/a&gt;.&lt;/p&gt;</summary>
    <dc:creator>Michael Kurz</dc:creator>
    <dc:date>2013-02-28T13:33:03Z</dc:date>
  </entry>
  <entry>
    <title>TomEE and Maven</title>
    <link rel="alternate" href="http://www.irian.at/en/blog/-/blogs/tomee-and-maven" />
    <author>
      <name>Werner Punz</name>
    </author>
    <id>http://www.irian.at/en/blog/-/blogs/tomee-and-maven</id>
    <updated>2012-11-27T10:08:29Z</updated>
    <published>2012-11-27T10:04:05Z</published>
    <summary type="html">&lt;p&gt;
	Following article, shows how to use Apache TomEE in conjunction with Apache Maven.&lt;/p&gt;
&lt;p&gt;
	Apache TomEE is a lightweight JEE Web Profile enterprise server wich allows you to use CDI JSF EJB etc... within a simple WAR file.&lt;/p&gt;
&lt;p&gt;
	The blog walks you through a small hello world project which touches all three layers of a typical enterprise application.&lt;/p&gt;
&lt;p&gt;
	&lt;u&gt;&lt;a href="http://werpublogs.blogspot.co.at/2012/11/tomee-and-maven.html"&gt;On to the article&lt;/a&gt;&lt;/u&gt;&lt;/p&gt;</summary>
    <dc:creator>Werner Punz</dc:creator>
    <dc:date>2012-11-27T10:04:05Z</dc:date>
  </entry>
  <entry>
    <title>Weblets 1.2 and Weblets 1.3</title>
    <link rel="alternate" href="http://www.irian.at/en/blog/-/blogs/weblets-1-2-and-weblets-1-3" />
    <author>
      <name>Werner Punz</name>
    </author>
    <id>http://www.irian.at/en/blog/-/blogs/weblets-1-2-and-weblets-1-3</id>
    <updated>2012-11-26T12:51:44Z</updated>
    <published>2012-11-26T12:48:15Z</published>
    <summary type="html">&lt;p&gt;
	Weblets is an opensource resource loading library for web applications under the Apache 2.0 license.&lt;/p&gt;
&lt;p&gt;
	Following &lt;u&gt;&lt;a href="http://werpublogs.blogspot.co.at/2012/11/weblets-12-and-weblets-13.html"&gt;Article&lt;/a&gt;&lt;/u&gt; describes the features of the new Weblets 1.2 release and the upcoming Weblets 1.3 release.&lt;/p&gt;</summary>
    <dc:creator>Werner Punz</dc:creator>
    <dc:date>2012-11-26T12:48:15Z</dc:date>
  </entry>
  <entry>
    <title>Marrying JSF and Scala part 4, Apache MyFaces Ext-Scripting</title>
    <link rel="alternate" href="http://www.irian.at/en/blog/-/blogs/marrying-jsf-and-scala-part-4-apache-myfaces-ext-scripting" />
    <author>
      <name>Werner Punz</name>
    </author>
    <id>http://www.irian.at/en/blog/-/blogs/marrying-jsf-and-scala-part-4-apache-myfaces-ext-scripting</id>
    <updated>2012-11-11T17:34:08Z</updated>
    <published>2012-11-08T13:54:03Z</published>
    <summary type="html">&lt;p&gt;
	In parts &lt;u&gt;&lt;a href="http://werpublogs.blogspot.co.at/2011/07/marrying-jsf-with-scala-part1.html"&gt;1&lt;/a&gt;&lt;/u&gt; &lt;u&gt;&lt;a href="http://werpublogs.blogspot.co.at/2011/07/marrying-jsf-with-scala-part2.html"&gt;2&lt;/a&gt;&lt;/u&gt; and &lt;u&gt;&lt;a href="http://www.irian.at/en/blog/-/blogs/marrying-jsf-and-scala-part-3-custom-components-in-scala"&gt;3&lt;/a&gt;&lt;/u&gt; we have had a look at various implementation aspects, on how to enable Scala and Apache MyFaces.&lt;br /&gt;
	&lt;u&gt;&lt;a href="http://werpublogs.blogspot.co.at/2012/11/marrying-scala-with-apache-myfaces-part.html"&gt;Part 4&lt;/a&gt;&lt;/u&gt; introduces a framework which allows a zero restart configuration for JSF artifacts programmed in Scala...&lt;/p&gt;</summary>
    <dc:creator>Werner Punz</dc:creator>
    <dc:date>2012-11-08T13:54:03Z</dc:date>
  </entry>
  <entry>
    <title>Apache MyFaces Ext-Scripting and Apache TomEE</title>
    <link rel="alternate" href="http://www.irian.at/en/blog/-/blogs/apache-myfaces-ext-scripting-and-apache-tomee" />
    <author>
      <name>Werner Punz</name>
    </author>
    <id>http://www.irian.at/en/blog/-/blogs/apache-myfaces-ext-scripting-and-apache-tomee</id>
    <updated>2012-11-11T17:33:30Z</updated>
    <published>2012-11-08T11:58:41Z</published>
    <summary type="html">&lt;p&gt;
	&lt;u&gt;&lt;strong&gt;&lt;a href="http://werpublogs.blogspot.co.at/2012/11/ext-script-and-tomee.html"&gt;Following article&lt;/a&gt;&lt;/strong&gt;&lt;/u&gt; shows how to enable Apache MyFaces Ext-Scripting under Apache TomEE.&lt;/p&gt;
&lt;p&gt;
	&lt;u&gt;&lt;a href="http://myfaces.apache.org/extensions/scripting/index.html"&gt;Apache MyFaces Ext-Scripting&lt;/a&gt;&lt;/u&gt; is a MyFaces extension framework which allows dynamic Scripting under Java, Groovy, Scala and soon JRuby. While &lt;u&gt;&lt;a href="http://tomee.apache.org/"&gt;Apache TomEE&lt;/a&gt; &lt;/u&gt;is a full JEE web profile running under Apache Tomcat.&lt;/p&gt;</summary>
    <dc:creator>Werner Punz</dc:creator>
    <dc:date>2012-11-08T11:58:41Z</dc:date>
  </entry>
  <entry>
    <title>JSF@Work 1.1</title>
    <link rel="alternate" href="http://www.irian.at/en/blog/-/blogs/jsf-work-1-1" />
    <author>
      <name>Michael Kurz</name>
    </author>
    <id>http://www.irian.at/en/blog/-/blogs/jsf-work-1-1</id>
    <updated>2012-09-18T13:05:50Z</updated>
    <published>2012-09-18T13:05:01Z</published>
    <summary type="html">&lt;p&gt;IRIAN released version 1.1 of the JavaServer Faces (JSF) online documentation "JSF@Work". This
version features new content about JSF 2.1, system events, ajax and composite components and lots
of other enhancements and improvements. Additionally, all examples were updated to JSF 2.1 and
Servlet 3.0 and will now be started with Jetty 8. The tutorial contains a complete list of changes.&lt;/p&gt;

&lt;p&gt;JSF@Work is available (currently only in german language) at:
&lt;a href="http://jsfatwork.irian.at" target="_blank"&gt;http://jsfatwork.irian.at&lt;/a&gt;.&lt;/p&gt;</summary>
    <dc:creator>Michael Kurz</dc:creator>
    <dc:date>2012-09-18T13:05:01Z</dc:date>
  </entry>
  <entry>
    <title>Composite component pitfalls - Root component</title>
    <link rel="alternate" href="http://www.irian.at/en/blog/-/blogs/composite-component-pitfalls-root-component" />
    <author>
      <name>Michael Kurz</name>
    </author>
    <id>http://www.irian.at/en/blog/-/blogs/composite-component-pitfalls-root-component</id>
    <updated>2012-09-07T13:53:07Z</updated>
    <published>2012-09-07T13:51:24Z</published>
    <summary type="html">&lt;p&gt;
	&lt;a href="http://jsflive.wordpress.com" target="_blank"&gt;JSFlive&lt;/a&gt; published a second post in the composite component pitfalls series: &lt;a href="http://jsflive.wordpress.com/2012/09/07/cc-pitfalls-root-component/" target="_blank"&gt;Composite component pitfalls: Root component&lt;/a&gt; discusses cases where the composite component root component can lead to unexpected behavior.&lt;/p&gt;</summary>
    <dc:creator>Michael Kurz</dc:creator>
    <dc:date>2012-09-07T13:51:24Z</dc:date>
  </entry>
  <entry>
    <title>Composite component pitfalls - Empty attributes</title>
    <link rel="alternate" href="http://www.irian.at/en/blog/-/blogs/composite-component-pitfalls-empty-attributes" />
    <author>
      <name>Michael Kurz</name>
    </author>
    <id>http://www.irian.at/en/blog/-/blogs/composite-component-pitfalls-empty-attributes</id>
    <updated>2012-09-06T14:41:39Z</updated>
    <published>2012-09-06T14:30:48Z</published>
    <summary type="html">&lt;p&gt;
	&lt;a href="http://jsflive.wordpress.com" target="_blank"&gt;JSFlive&lt;/a&gt; starts a small series about JSF composite component pitfalls. While composite components really simplify the life of JSF developers in most cases they (still) have some minor quirks from time to time. The first post in this series &lt;a href="http://jsflive.wordpress.com/2012/09/06/cc-pitfalls-empty-attributes" target="_blank"&gt;Composite component pitfalls: Empty attributes&lt;/a&gt; discusses problems with composite component attributes whose value is null.&lt;/p&gt;</summary>
    <dc:creator>Michael Kurz</dc:creator>
    <dc:date>2012-09-06T14:30:48Z</dc:date>
  </entry>
  <entry>
    <title>Running JSF 2 on Jetty 8</title>
    <link rel="alternate" href="http://www.irian.at/en/blog/-/blogs/running-jsf-2-on-jetty-8" />
    <author>
      <name>Michael Kurz</name>
    </author>
    <id>http://www.irian.at/en/blog/-/blogs/running-jsf-2-on-jetty-8</id>
    <updated>2012-08-19T21:04:38Z</updated>
    <published>2012-08-19T21:00:30Z</published>
    <summary type="html">&lt;p&gt;
	JSFlive shows how to run JSF applications (MyFaces and Mojarra) on Jetty 8:&amp;nbsp;&lt;a href="http://jsflive.wordpress.com/2012/08/19/jsf-2-on-jetty-8/" target="_blank" title="Running JSF 2 on Jetty 8@JSFlive"&gt;http://jsflive.wordpress.com/2012/08/19/jsf-2-on-jetty-8/&lt;/a&gt;&lt;/p&gt;</summary>
    <dc:creator>Michael Kurz</dc:creator>
    <dc:date>2012-08-19T21:00:30Z</dc:date>
  </entry>
  <entry>
    <title>"CDI für Rich Clients" in Eclipse Magazin</title>
    <link rel="alternate" href="http://www.irian.at/en/blog/-/blogs/cdi-fur-rich-clients-in-eclipse-magazin" />
    <author>
      <name>Jakob Korherr</name>
    </author>
    <id>http://www.irian.at/en/blog/-/blogs/cdi-fur-rich-clients-in-eclipse-magazin</id>
    <updated>2012-05-17T17:56:33Z</updated>
    <published>2012-05-17T17:47:56Z</published>
    <summary type="html">&lt;p&gt;
	The current issue (&lt;a href="http://it-republik.de/jaxenter/eclipse-magazin-ausgaben/-000503.html" target="_blank"&gt;4.2012&lt;/a&gt;) of the german Eclipse Magazin (&lt;a href="http://eclipse-magazin.de" target="_blank"&gt;http://eclipse-magazin.de&lt;/a&gt;) includes the article &amp;ldquo;CDI f&amp;uuml;r Richt Clients&amp;rdquo; from Jakob Korherr (Software Engineer at IRIAN).&lt;/p&gt;
&lt;p&gt;
	This article explains how it was possible to integrate Apache OpenWebBeans (CDI implementation from Apache) and Apache MyFaces CODI in an existing Eclipse RCP project and how the project benefited from it.&lt;/p&gt;
&lt;p&gt;
	Here is the original blog post from Jakob: &lt;a href="http://www.jakobk.com/2012/05/cdi-fuer-rich-clients-in-eclipse-magazin/"&gt;http://www.jakobk.com/2012/05/cdi-fuer-rich-clients-in-eclipse-magazin/&lt;/a&gt;&lt;/p&gt;</summary>
    <dc:creator>Jakob Korherr</dc:creator>
    <dc:date>2012-05-17T17:47:56Z</dc:date>
  </entry>
  <entry>
    <title>Irian@JAX 2012</title>
    <link rel="alternate" href="http://www.irian.at/en/blog/-/blogs/irian-jax-2012" />
    <author>
      <name>Michael Kurz</name>
    </author>
    <id>http://www.irian.at/en/blog/-/blogs/irian-jax-2012</id>
    <updated>2012-04-19T10:06:50Z</updated>
    <published>2012-04-19T09:57:54Z</published>
    <summary type="html">&lt;p&gt;
	Irian will be at the &lt;a href="http://jax.de/2012/" target="_blank" title="JAX 2012"&gt;JAX 2012&lt;/a&gt; in Mainz. Michael Kurz will do the session &lt;a href="http://entwickler.com/konferenzen/ext_scripts/v2/php/sessions-popup.php?module=jax2012&amp;amp;id=20753" target="_blank" title="JSF 2 Kompositkomponenten im Einsatz (JAX 2012)"&gt;JSF 2 Kompositkomponenten im Einsatz&lt;/a&gt; on 19th April 2012.&lt;/p&gt;
&lt;p&gt;
	The &lt;a href="http://www.slideshare.net/michael_kurz/jsf2-compositecomponentsjax2012" target="_blank" title="Slides for JSF 2 Kompositkomponenten (JAX 2012)"&gt;slides&lt;/a&gt;&amp;nbsp;and &lt;a href="http://github.com/jsflive" name="JSFlive@GitHub" target="_blank"&gt;examples&lt;/a&gt; are available for download.&lt;/p&gt;</summary>
    <dc:creator>Michael Kurz</dc:creator>
    <dc:date>2012-04-19T09:57:54Z</dc:date>
  </entry>
  <entry>
    <title>Marrying JSF and Scala Part 3 - Custom Components in Scala</title>
    <link rel="alternate" href="http://www.irian.at/en/blog/-/blogs/marrying-jsf-and-scala-part-3-custom-components-in-scala" />
    <author>
      <name>Werner Punz</name>
    </author>
    <id>http://www.irian.at/en/blog/-/blogs/marrying-jsf-and-scala-part-3-custom-components-in-scala</id>
    <updated>2012-02-29T09:57:30Z</updated>
    <published>2012-02-29T07:34:17Z</published>
    <summary type="html">&lt;p&gt;
	&lt;span style="font-size: x-large;"&gt;&amp;nbsp;Marrying JSF and Scala part 3: Custom Components in Scala&lt;/span&gt;&lt;br /&gt;
	&lt;br /&gt;
	&lt;span style="font-size: large;"&gt;Introduction&lt;/span&gt;&lt;br /&gt;
	&lt;br /&gt;
	While JSF2.0 has simplified the component building a lot thanks to the&lt;br /&gt;
	composite components, there are still usecases when the classical component&lt;br /&gt;
	building tasks have to be performed.&lt;br /&gt;
	&lt;br /&gt;
	We showed in &lt;a href="http://www.irian.at/de/blog/-/blogs/marrying-scala-with-apache-myfaces" target="_new"&gt;part 1&lt;/a&gt; and &lt;a href="http://www.irian.at/de/blog/-/blogs/marrying-scala-with-apache-myfaces-part-2" target="_new"&gt;part 2 &lt;/a&gt;how to build the basic JSF artifacts in Scala we now are going to dive deeper into JSF by showing how to leverage Scala to build your own jsf custom component.&lt;br /&gt;
	&lt;br /&gt;
	In this article we combine various techniques of Scala for programming custom components.&lt;br /&gt;
	The case we are going to investigate is a simple hello world component.&lt;br /&gt;
	&lt;br /&gt;
	&lt;span style="font-size: large;"&gt;A custom component in Scala&lt;/span&gt;&lt;br /&gt;
	&lt;br /&gt;
	First we have a look at the component itself:&lt;br /&gt;
	&amp;nbsp;&lt;/p&gt;
&lt;div style="width: 600px"&gt;
&lt;script src="https://gist.github.com/1938944.js?file=component.scala"&gt;&lt;/script&gt;&lt;/div&gt;
&lt;p&gt;
	&lt;span style="font-size: x-small;"&gt;Code a) Custom component&lt;/span&gt;&lt;br /&gt;
	&lt;br /&gt;
	We have a simple component which exposes one additional attribute sayHello2. The component itself is a composite component with an xml template for rendering an performs some listener tasks.&lt;br /&gt;
	&lt;br /&gt;
	So far so good, however we use several things here which are of interest:&lt;br /&gt;
	&amp;nbsp;&lt;/p&gt;
&lt;div style="width: 600px; overflow-x: auto"&gt;
&lt;script src="https://gist.github.com/1938969.js?file=gistfile1.txt"&gt;&lt;/script&gt;&lt;/div&gt;
&lt;p&gt;
	&lt;span style="font-size: x-small;"&gt;Code b) Singleton &lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;
		A singleton object for static replacements and struct replacements&lt;/li&gt;
&lt;/ul&gt;
&lt;div style="width:600px; overflow-x:auto"&gt;
&lt;script src="https://gist.github.com/1938983.js?file=listenersfor.scala"&gt;&lt;/script&gt;&lt;/div&gt;
&lt;p&gt;
	&lt;span style="font-size: x-small;"&gt;Code c) Listeners Array &lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;
		A listeners array for combining multiple listeners&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;div style="width:600px; overflow-x:auto"&gt;
&lt;script src="https://gist.github.com/1939014.js?file=trait.scala"&gt;&lt;/script&gt;&lt;/div&gt;
&lt;p&gt;
	&lt;span style="font-size: x-small;"&gt;Code d) trait&amp;nbsp; &lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;
		a &lt;strong&gt;trait&lt;/strong&gt; instead of a &lt;strong&gt;utils&lt;/strong&gt; &lt;strong&gt;class&lt;/strong&gt; to combine common functionality of components&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;/ul&gt;
&lt;div style="width: 600px; overflow-x:auto"&gt;
&lt;script src="https://gist.github.com/1939006.js?file=match.scala"&gt;&lt;/script&gt;&lt;/div&gt;
&lt;p&gt;
	&lt;span style="font-size: x-small;"&gt;Code e) Type matches&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;
		matches for types to avoid instanceof cascades&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
	Lets dissect the code parts one by one:&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;b&gt;1) Object HelloWorld&lt;/b&gt;&lt;br /&gt;
	&lt;br /&gt;
	Scala does have neither static variables nor structs, instead of that it provides singletons as language construct.&lt;br /&gt;
	Static variables simply can be simulated by a singleton and a simple in class import:&lt;br /&gt;
	&amp;nbsp;&lt;/p&gt;
&lt;div style="width: 600px; overflow-x: auto"&gt;
&lt;script src="https://gist.github.com/1938969.js?file=gistfile1.txt"&gt;&lt;/script&gt;&lt;/div&gt;
&lt;p&gt;
	&lt;span style="font-size: x-small;"&gt;Code b) Singleton&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;nbsp;and then&lt;br /&gt;
	&amp;nbsp;&lt;/p&gt;
&lt;div style="width: 600px; overflow-x: auto"&gt;
&lt;script src="https://gist.github.com/1939021.js?file=import.scala"&gt;&lt;/script&gt;&lt;/div&gt;
&lt;p&gt;
	&amp;nbsp;&lt;span style="font-size: x-small;"&gt;Code f) import&lt;/span&gt;&lt;br /&gt;
	&lt;br /&gt;
	Allows you to import the instance variables and methods as semi native members.&lt;br /&gt;
	&amp;nbsp;&lt;/p&gt;
&lt;div style="width: 600px; overflow-x: auto"&gt;
&lt;script src="https://gist.github.com/1939041.js?file=logger.scala"&gt;&lt;/script&gt;&lt;/div&gt;
&lt;p&gt;
	&amp;nbsp;&lt;span style="font-size: x-small;"&gt;Code g) import usage&lt;/span&gt;&lt;br /&gt;
	&lt;br /&gt;
	&lt;b&gt;2) Annotation Arrays&lt;/b&gt;&lt;br /&gt;
	&amp;nbsp;&lt;/p&gt;
&lt;div style="width: 600px; overflow-x: auto"&gt;
&lt;script src="https://gist.github.com/1939066.js?file=listeners.java"&gt;&lt;/script&gt;&lt;/div&gt;
&lt;p&gt;
	&amp;nbsp;&lt;span style="font-size: x-small;"&gt;Code h) annotation array Scala&lt;/span&gt;&lt;br /&gt;
	&lt;br /&gt;
	is simply what would be in Java&lt;/p&gt;
&lt;div style="width: 600px; overflow-x: auto"&gt;
&lt;script src="https://gist.github.com/1939066.js?file=listeners.java"&gt;&lt;/script&gt;&lt;/div&gt;
&lt;p&gt;
	&amp;nbsp;&lt;span style="font-size: x-small;"&gt;Code i) annotation array Java&lt;/span&gt;&lt;br /&gt;
	&lt;br /&gt;
	Since this code transition is not quite obvious even within the Scala documentation, it is worth to be noted in this blog.&lt;br /&gt;
	&lt;br /&gt;
	&lt;b&gt;3) Traits&lt;/b&gt;&lt;br /&gt;
	&lt;br /&gt;
	The most interesting part is the traits part.&lt;br /&gt;
	First of all, what is a trait? To sum it up, a trait is an abstract class which can be multiply inherited sort of an interface with code. Now this opens quite a few possibilities:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;
		Common constraints can be isolated and shared among object instances without having to revert to singletons.&lt;/li&gt;
	&lt;li&gt;
		Traits can access &amp;quot;&lt;strong&gt;this&lt;/strong&gt;&amp;quot; and can call methods provided by the class as abstract members.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
	&lt;br /&gt;
	We reuse traits in this case to isolate common component behavior without having to introduce yet another helper class or an abstract base class.&lt;/p&gt;
&lt;p&gt;
	In fact we finally can share this referencing code among components with different base classes without&amp;nbsp;having to introduce our own inheritance hierarchy.&lt;br /&gt;
	&lt;br /&gt;
	The trait looks like following:&lt;br /&gt;
	&amp;nbsp;&lt;/p&gt;
&lt;div style="width: 600px; overflow-x: auto"&gt;
&lt;script src="https://gist.github.com/1939084.js?file=trait.scala"&gt;&lt;/script&gt;&lt;/div&gt;
&lt;p&gt;
	&amp;nbsp;&lt;span style="font-size: x-small;"&gt;Code j) Trait&lt;/span&gt;&lt;br /&gt;
	&lt;br /&gt;
	&lt;span style="font-size: small;"&gt;We use only a subset of this functionality namely &lt;b&gt;getAttr&lt;/b&gt; and &lt;b&gt;setAttr&lt;/b&gt;.&lt;/span&gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;nbsp;&lt;/p&gt;
&lt;div style="width: 600px; overflow-x: auto"&gt;
&lt;script src="https://gist.github.com/1939093.js?file=getAttr.scala"&gt;&lt;/script&gt;&lt;/div&gt;
&lt;p&gt;
	&amp;nbsp;&lt;span style="font-size: x-small;"&gt;Code k) getAttr&lt;/span&gt;&lt;br /&gt;
	&lt;br /&gt;
	Here we can see clearly the this reference to the underlying component getAttributes&amp;nbsp;with&lt;/p&gt;
&lt;pre style="line-height: 125%; margin: 0;"&gt;
&lt;span style="color: green; font-weight: bold;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="line-height: 125%; margin: 0pt;"&gt;
&lt;span style="color: green; font-weight: bold;"&gt;def&lt;/span&gt; getAttributes&lt;span style="color: #303030;"&gt;()&lt;/span&gt;&lt;span style="color: green; font-weight: bold;"&gt;:&lt;/span&gt; &lt;span style="color: #303090; font-weight: bold;"&gt;java.util.Map&lt;/span&gt;&lt;span style="color: #303030;"&gt;[&lt;/span&gt;&lt;span style="color: #303090; font-weight: bold;"&gt;String&lt;/span&gt;, &lt;span style="color: #303090; font-weight: bold;"&gt;AnyRef&lt;/span&gt;&lt;span style="color: #303030;"&gt;]&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="line-height: 125%; margin: 0pt;"&gt;
&lt;span style="color: #303030;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;
	being defined only as interface, which has to be implemented by the component or one of its parents.&lt;br /&gt;
	&lt;br /&gt;
	&lt;b&gt;4) Match patterns&lt;/b&gt;&lt;br /&gt;
	&lt;br /&gt;
	Now an interesting language part in Scala is the extended matches. Not only you can match in Scala for values, also matches for types and patterns are allowed.&lt;br /&gt;
	We use the type matches to avoid instanceof if cascades:&lt;br /&gt;
	&amp;nbsp;&lt;/p&gt;
&lt;div style="width: 600px; overflow-x: auto"&gt;
&lt;script src="https://gist.github.com/1939097.js?file=match.scala"&gt;&lt;/script&gt;&lt;/div&gt;
&lt;p&gt;
	&amp;nbsp;&lt;span style="font-size: x-small;"&gt;Code l) match patterns&lt;/span&gt;&lt;br /&gt;
	&lt;br /&gt;
	&lt;span style="font-size: small;"&gt;The cases basically replace &lt;b&gt;if instanceof&lt;/b&gt; constructs here&lt;/span&gt;&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;span style="font-size: large;"&gt;&amp;nbsp;A renderer in Scala&lt;/span&gt;&lt;br /&gt;
	&lt;br /&gt;
	&lt;span style="font-size: small;"&gt;Now what if we want to write the renderer in Scala.&lt;br /&gt;
	Scala there can support us as well, it has XML support in the language baked in.&lt;br /&gt;
	Now lets have a look at the renderer (if not done in an xhtml template like it should be)&lt;/span&gt;&lt;br /&gt;
	&amp;nbsp;&lt;/p&gt;
&lt;div style="width: 600px; overflow-x: auto"&gt;
&lt;script src="https://gist.github.com/1939106.js?file=renderer.scala"&gt;&lt;/script&gt;&lt;/div&gt;
&lt;p&gt;
	&amp;nbsp;&lt;span style="font-size: x-small;"&gt;Code m) renderer&lt;/span&gt;&lt;br /&gt;
	&lt;br /&gt;
	Now the interesting part of this renderer is following code:&lt;/p&gt;
&lt;div style="width: 600px; overflow-x: auto;"&gt;
&lt;script src="https://gist.github.com/1939132.js?file=response.scala"&gt;&lt;/script&gt;&lt;/div&gt;
&lt;p&gt;
	&amp;nbsp;&lt;span style="font-size: x-small;"&gt;Code m) render part&lt;/span&gt;&lt;br /&gt;
	&lt;br /&gt;
	As we can see, we simply write the html directly constructs like &amp;nbsp;&amp;nbsp;&amp;nbsp; id={id} and {text} allow for inline templating.&lt;br /&gt;
	&lt;br /&gt;
	There are constraints to this approach&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;
		We cannot write out partial xml. The xml written always must be complete, hence we cannot simply write an open tag first, call a subclass and then close the tag&lt;/li&gt;
	&lt;li&gt;
		We do not use the startElement, endElement. The plus side is readability.&amp;nbsp;&lt;/li&gt;
	&lt;li&gt;
		In the end a composite component and its direct xhtml rendering should always be the first choice. Xhtml simply is the target platform in most cases why not use xhtml also for the component renderer part.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
	&lt;br /&gt;
	&lt;span style="font-size: large;"&gt;References&lt;/span&gt;&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;
		&lt;a href="http://www.irian.at/de/blog/-/blogs/marrying-scala-with-apache-myfaces" target="_new"&gt;Marrying JSF and Scala Part1&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;
		&lt;a href="http://www.irian.at/de/blog/-/blogs/marrying-scala-with-apache-myfaces-part-2" target="_new"&gt;Marrying JSF and Scala Part2&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;
		&lt;a href="http://jsfatwork.irian.at/book_de/introduction.html#%21idx:/custom_component.html:5" target="_new"&gt;Custom Components in JSF (German) &lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;
		&lt;a href="http://www.scala-lang.org/node/197" target="_new"&gt;Scala Documentation&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;</summary>
    <dc:creator>Werner Punz</dc:creator>
    <dc:date>2012-02-29T07:34:17Z</dc:date>
  </entry>
</feed>

