You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by im...@apache.org on 2007/08/21 21:44:38 UTC

svn commit: r568245 - in /myfaces/orchestra/trunk: ./ core15/ core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/guiBuilder/impl/jsf/ core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/guiBuilder/impl/myfaces/ examples/ sandbox/ sandbox...

Author: imario
Date: Tue Aug 21 12:44:37 2007
New Revision: 568245

URL: http://svn.apache.org/viewvc?rev=568245&view=rev
Log:
created sandbox module, moved class depending on tomahawk-sandbox into the new orchestra-sandbox.
now any -snapshot dependency except the orchestra-shared one has been removed.

Added:
    myfaces/orchestra/trunk/sandbox/
    myfaces/orchestra/trunk/sandbox/pom.xml
    myfaces/orchestra/trunk/sandbox/src/
    myfaces/orchestra/trunk/sandbox/src/main/
    myfaces/orchestra/trunk/sandbox/src/main/java/
    myfaces/orchestra/trunk/sandbox/src/main/java/org/
    myfaces/orchestra/trunk/sandbox/src/main/java/org/apache/
    myfaces/orchestra/trunk/sandbox/src/main/java/org/apache/myfaces/
    myfaces/orchestra/trunk/sandbox/src/main/java/org/apache/myfaces/orchestra/
    myfaces/orchestra/trunk/sandbox/src/main/java/org/apache/myfaces/orchestra/dynaForm/
    myfaces/orchestra/trunk/sandbox/src/main/java/org/apache/myfaces/orchestra/dynaForm/guiBuilder/
    myfaces/orchestra/trunk/sandbox/src/main/java/org/apache/myfaces/orchestra/dynaForm/guiBuilder/impl/
    myfaces/orchestra/trunk/sandbox/src/main/java/org/apache/myfaces/orchestra/dynaForm/guiBuilder/impl/myfaces/
    myfaces/orchestra/trunk/sandbox/src/main/java/org/apache/myfaces/orchestra/dynaForm/guiBuilder/impl/myfaces/MyFacesGuiBuilder.java
    myfaces/orchestra/trunk/sandbox/src/main/resources/
Removed:
    myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/guiBuilder/impl/myfaces/MyFacesGuiBuilder.java
Modified:
    myfaces/orchestra/trunk/core15/pom.xml
    myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/guiBuilder/impl/jsf/JsfGuiBuilderFactory.java
    myfaces/orchestra/trunk/examples/pom.xml
    myfaces/orchestra/trunk/pom.xml

Modified: myfaces/orchestra/trunk/core15/pom.xml
URL: http://svn.apache.org/viewvc/myfaces/orchestra/trunk/core15/pom.xml?rev=568245&r1=568244&r2=568245&view=diff
==============================================================================
--- myfaces/orchestra/trunk/core15/pom.xml (original)
+++ myfaces/orchestra/trunk/core15/pom.xml Tue Aug 21 12:44:37 2007
@@ -70,15 +70,12 @@
 			<scope>provided</scope>
 		</dependency>
 
-		<!-- The dynaform gui builder class requires tomahawk. -->
 		<dependency>
-			<groupId>org.apache.myfaces.tomahawk</groupId>
-			<artifactId>tomahawk-sandbox</artifactId>
-			<version>1.1.7-SNAPSHOT</version>
+			<groupId>org.apache.myfaces.core</groupId>
+			<artifactId>myfaces-api</artifactId>
 			<scope>provided</scope>
 		</dependency>
 
-
 		<dependency>
 			<groupId>javax.servlet</groupId>
 			<artifactId>jsp-api</artifactId>
@@ -86,6 +83,12 @@
 			<scope>provided</scope>
 		</dependency>
 
+		<dependency>
+			 <groupId>commons-codec</groupId>
+			 <artifactId>commons-codec</artifactId>
+			 <version>1.3</version>
+			 <scope>compile</scope>
+		 </dependency>
 
 		<dependency>
 			<groupId>org.springframework</groupId>

Modified: myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/guiBuilder/impl/jsf/JsfGuiBuilderFactory.java
URL: http://svn.apache.org/viewvc/myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/guiBuilder/impl/jsf/JsfGuiBuilderFactory.java?rev=568245&r1=568244&r2=568245&view=diff
==============================================================================
--- myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/guiBuilder/impl/jsf/JsfGuiBuilderFactory.java (original)
+++ myfaces/orchestra/trunk/core15/src/main/java/org/apache/myfaces/orchestra/dynaForm/guiBuilder/impl/jsf/JsfGuiBuilderFactory.java Tue Aug 21 12:44:37 2007
@@ -18,9 +18,10 @@
  */
 package org.apache.myfaces.orchestra.dynaForm.guiBuilder.impl.jsf;
 
+import org.apache.commons.logging.LogFactory;
 import org.apache.myfaces.orchestra.dynaForm.guiBuilder.impl.myfaces.MyFacesCheck;
-import org.apache.myfaces.orchestra.dynaForm.guiBuilder.impl.myfaces.MyFacesGuiBuilder;
 import org.apache.myfaces.orchestra.lib.OrchestraException;
+import org.apache.myfaces.shared_orchestra.util.ClassUtils;
 
 import javax.faces.context.FacesContext;
 import java.lang.reflect.Constructor;
@@ -92,12 +93,32 @@
 
 	protected static JsfGuiBuilder createGuiBuilderInternal()
 	{
-		JsfGuiBuilder guiBuilder;
+		JsfGuiBuilder guiBuilder = null;
 		if (MyFacesCheck.isMyFacesAvailable())
 		{
-			guiBuilder = new MyFacesGuiBuilder();
+			try
+			{
+				Class myfacesGuiBuilder = ClassUtils.classForName("org.apache.myfaces.orchestra.dynaForm.guiBuilder.impl.myfaces.MyFacesGuiBuilder");
+				guiBuilder = (JsfGuiBuilder) myfacesGuiBuilder.newInstance();
+			}
+			catch (ClassNotFoundException e)
+			{
+				LogFactory.getLog(JsfGuiBuilderFactory.class)
+					.warn("consider using the myfaces-orchestra-sandbox for better gui support", e);
+			}
+			catch (InstantiationException e)
+			{
+				LogFactory.getLog(JsfGuiBuilderFactory.class)
+					.warn("can't create the myfaces gui builder - reverting to plain JSF", e);
+			}
+			catch (IllegalAccessException e)
+			{
+				LogFactory.getLog(JsfGuiBuilderFactory.class)
+					.warn("can't create the myfaces gui builder - reverting to plain JSF", e);
+			}
 		}
-		else
+
+		if (guiBuilder == null)
 		{
 			guiBuilder = new JsfGuiBuilder();
 		}

Modified: myfaces/orchestra/trunk/examples/pom.xml
URL: http://svn.apache.org/viewvc/myfaces/orchestra/trunk/examples/pom.xml?rev=568245&r1=568244&r2=568245&view=diff
==============================================================================
--- myfaces/orchestra/trunk/examples/pom.xml (original)
+++ myfaces/orchestra/trunk/examples/pom.xml Tue Aug 21 12:44:37 2007
@@ -56,6 +56,11 @@
 			<artifactId>myfaces-orchestra-core15</artifactId>
 		</dependency>
 		<dependency>
+			<groupId>org.apache.myfaces.orchestra</groupId>
+			<artifactId>myfaces-orchestra-sandbox</artifactId>
+			<version>1.0-SNAPSHOT</version>
+		</dependency>
+		<dependency>
 			<groupId>org.apache.myfaces.core</groupId>
 			<artifactId>myfaces-api</artifactId>
 		</dependency>

Modified: myfaces/orchestra/trunk/pom.xml
URL: http://svn.apache.org/viewvc/myfaces/orchestra/trunk/pom.xml?rev=568245&r1=568244&r2=568245&view=diff
==============================================================================
--- myfaces/orchestra/trunk/pom.xml (original)
+++ myfaces/orchestra/trunk/pom.xml Tue Aug 21 12:44:37 2007
@@ -114,6 +114,7 @@
 	<modules>
 		<module>core</module>
 		<module>core15</module>
+		<module>sandbox</module>
 		<module>examples</module>
 	</modules>
 

Added: myfaces/orchestra/trunk/sandbox/pom.xml
URL: http://svn.apache.org/viewvc/myfaces/orchestra/trunk/sandbox/pom.xml?rev=568245&view=auto
==============================================================================
--- myfaces/orchestra/trunk/sandbox/pom.xml (added)
+++ myfaces/orchestra/trunk/sandbox/pom.xml Tue Aug 21 12:44:37 2007
@@ -0,0 +1,396 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  -->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+		 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+		 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+
+	<groupId>org.apache.myfaces.orchestra</groupId>
+	<artifactId>myfaces-orchestra-sandbox</artifactId>
+	<packaging>jar</packaging>
+	<name>MyFaces Orchestra Sandbox</name>
+
+	<parent>
+		<groupId>org.apache.myfaces.orchestra</groupId>
+		<artifactId>myfaces-orchestra-project</artifactId>
+		<version>1.0-SNAPSHOT</version>
+	</parent>
+
+	<scm>
+		<connection>scm:svn:http://svn.apache.org/repos/asf/myfaces/orchestra/trunk/sandbox</connection>
+		<developerConnection>scm:svn:https://svn.apache.org/repos/asf/myfaces/orchestra/trunk/sandbox</developerConnection>
+		<url>http://svn.apache.org/viewcvs.cgi/myfaces/orchestra/trunk/sandbox</url>
+	</scm>
+
+	<dependencies>
+
+		<!-- compile dependencies -->
+
+		<dependency>
+			<groupId>org.apache.myfaces.orchestra</groupId>
+			<artifactId>myfaces-orchestra-core</artifactId>
+			<scope>compile</scope>
+		</dependency>
+
+		<dependency>
+			<groupId>org.apache.myfaces.orchestra</groupId>
+			<artifactId>myfaces-orchestra-core15</artifactId>
+			<scope>compile</scope>
+		</dependency>
+
+		<dependency>
+			<groupId>bcel</groupId>
+			<artifactId>bcel</artifactId>
+			<version>5.1</version>
+			<scope>compile</scope>
+		</dependency>
+
+		<dependency>
+			<groupId>javax.persistence</groupId>
+			<artifactId>persistence-api</artifactId>
+			<version>1.0</version>
+			<scope>compile</scope>
+		</dependency>
+
+		<!-- provided dependencies -->
+
+		<dependency>
+			<groupId>org.apache.myfaces.core</groupId>
+			<artifactId>myfaces-api</artifactId>
+			<scope>provided</scope>
+		</dependency>
+
+		<!-- The dynaform gui builder class requires tomahawk. -->
+		<dependency>
+			<groupId>org.apache.myfaces.tomahawk</groupId>
+			<artifactId>tomahawk-sandbox</artifactId>
+			<version>1.1.7-SNAPSHOT</version>
+			<scope>provided</scope>
+		</dependency>
+
+
+		<dependency>
+			<groupId>javax.servlet</groupId>
+			<artifactId>jsp-api</artifactId>
+			<version>2.0</version>
+			<scope>provided</scope>
+		</dependency>
+
+
+		<dependency>
+			<groupId>org.springframework</groupId>
+			<artifactId>spring</artifactId>
+			<version>2.0.6</version>
+			<scope>compile</scope>
+		</dependency>
+
+		<!-- test dependencies -->
+		<dependency>
+			<groupId>org.springframework</groupId>
+			<artifactId>spring-mock</artifactId>
+			<version>2.0.6</version>
+			<scope>test</scope>
+		</dependency>
+
+		<dependency>
+			<groupId>cglib</groupId>
+			<artifactId>cglib</artifactId>
+			<version>2.1_3</version>
+			<scope>test</scope>
+		</dependency>
+
+		<dependency>
+			<groupId>javax.persistence</groupId>
+			<artifactId>toplink-essentials</artifactId>
+			<version>1.0</version>
+			<scope>test</scope>
+		</dependency>
+
+		<dependency>
+			<groupId>org.apache.derby</groupId>
+			<artifactId>derby</artifactId>
+			<version>10.2.2.0</version>
+			<scope>test</scope>
+		</dependency>
+
+	</dependencies>
+
+	<build>
+
+		<plugins>
+
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-surefire-plugin</artifactId>
+				<configuration>
+				        <!-- all test output files go here. ie derby.log, etc -->
+					<workingDirectory>${project.build.directory}</workingDirectory>
+				</configuration>
+			</plugin>
+
+
+			<plugin>
+				<artifactId>maven-compiler-plugin</artifactId>
+				<configuration>
+					<source>1.5</source>
+					<target>1.5</target>
+				</configuration>
+			</plugin>
+			<plugin>
+				<groupId>org.codehaus.mojo</groupId>
+				<artifactId>xslt-maven-plugin</artifactId>
+				<version>1.0</version>
+				<configuration>
+					<xslFile>src/main/tld/misc/resolve_entities.xsl</xslFile>
+					<srcIncludes>**/*.tld</srcIncludes>
+					<srcDir>src/main/tld</srcDir>
+					<destDir>target/classes/META-INF</destDir>
+				</configuration>
+				<executions>
+					<execution>
+						<goals>
+							<goal>transform</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+			<!--
+			   <plugin>
+				   <groupId>org.codehaus.mojo</groupId>
+				   <artifactId>rat-maven-plugin</artifactId>
+				   <executions>
+					   <execution>
+						   <phase>verify</phase>
+						   <goals>
+							   <goal>check</goal>
+						   </goals>
+					   </execution>
+				   </executions>
+			   </plugin>
+   -->
+		</plugins>
+
+	</build>
+
+	<reporting>
+
+		<plugins>
+
+			<plugin>
+				<groupId>org.codehaus.mojo</groupId>
+				<artifactId>changelog-maven-plugin</artifactId>
+				<version>2.0-beta-1</version>
+				<reportSets>
+					<reportSet>
+						<id>dual-report</id>
+						<configuration>
+							<type>range</type>
+							<range>30</range>
+						</configuration>
+						<reports>
+							<report>changelog</report>
+							<report>file-activity</report>
+							<report>dev-activity</report>
+						</reports>
+					</reportSet>
+				</reportSets>
+			</plugin>
+
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-javadoc-plugin</artifactId>
+				<version>2.0-beta-3</version>
+			</plugin>
+
+			<plugin>
+				<groupId>org.codehaus.mojo</groupId>
+				<artifactId>jxr-maven-plugin</artifactId>
+			</plugin>
+
+			<plugin>
+				<groupId>org.codehaus.mojo</groupId>
+				<artifactId>taglist-maven-plugin</artifactId>
+				<version>2.0</version>
+			</plugin>
+
+			<plugin>
+				<groupId>org.codehaus.mojo</groupId>
+				<artifactId>surefire-report-maven-plugin</artifactId>
+			</plugin>
+
+			<plugin>
+				<artifactId>maven-pmd-plugin</artifactId>
+				<version>2.0</version>
+				<configuration>
+					<rulesets>
+						<ruleset>/rulesets/basic.xml</ruleset>
+						<ruleset>/rulesets/unusedcode.xml</ruleset>
+					</rulesets>
+					<linkXref>true</linkXref>
+					<minimumTokens>100</minimumTokens>
+					<targetJdk>1.5</targetJdk>
+					<excludes>
+						<!-- exclude annotations due to pmd problems we have to figure out later -->
+						<exclude>**/annotations/*.java</exclude>
+					</excludes>
+				</configuration>
+			</plugin>
+
+			<plugin>
+				<groupId>org.codehaus.mojo</groupId>
+				<artifactId>rat-maven-plugin</artifactId>
+			</plugin>
+
+		</plugins>
+
+	</reporting>
+
+	<profiles>
+		<profile>
+			<id>generate-site</id>
+			<build>
+				<plugins>
+					<plugin>
+						<groupId>org.codehaus.mojo</groupId>
+						<artifactId>xslt-maven-plugin</artifactId>
+						<version>1.0</version>
+						<executions>
+							<execution>
+								<id>generate-tld-for-tlddoc</id>
+								<goals>
+									<goal>transform</goal>
+								</goals>
+								<configuration>
+									<xslFile>src/main/tld/misc/resolve_entities-tlddoc.xsl</xslFile>
+									<srcIncludes>**/*.tld</srcIncludes>
+									<srcDir>src/main/tld</srcDir>
+									<destDir>target/tlddoc-site</destDir>
+								</configuration>
+							</execution>
+							<execution>
+								<id>generate-tld-for-jar</id>
+								<goals>
+									<goal>transform</goal>
+								</goals>
+								<configuration>
+									<xslFile>src/main/tld/misc/resolve_entities.xsl</xslFile>
+									<srcIncludes>**/*.tld</srcIncludes>
+									<srcDir>src/main/tld</srcDir>
+									<destDir>target/classes/META-INF</destDir>
+								</configuration>
+							</execution>
+						</executions>
+					</plugin>
+				</plugins>
+
+			</build>
+			<reporting>
+				<plugins>
+					<plugin>
+						<groupId>net.sourceforge.maven-taglib</groupId>
+						<artifactId>maven-taglib-plugin</artifactId>
+						<configuration>
+							<taglib.src.dir>${basedir}/target/tlddoc-site</taglib.src.dir>
+							<tldDocDir>${basedir}/target/site/tlddoc</tldDocDir>
+						</configuration>
+					</plugin>
+				</plugins>
+			</reporting>
+		</profile>
+		<profile>
+			<id>generate-assembly</id>
+			<build>
+				<plugins>
+					<plugin>
+						<groupId>org.codehaus.mojo</groupId>
+						<artifactId>xslt-maven-plugin</artifactId>
+						<version>1.0</version>
+						<executions>
+							<execution>
+								<id>generate-tld-for-tlddoc</id>
+								<goals>
+									<goal>transform</goal>
+								</goals>
+								<configuration>
+									<xslFile>src/main/tld/misc/resolve_entities-tlddoc.xsl</xslFile>
+									<srcIncludes>**/*.tld</srcIncludes>
+									<srcDir>src/main/tld</srcDir>
+									<destDir>target/tlddoc-site</destDir>
+								</configuration>
+							</execution>
+							<execution>
+								<id>generate-tld-for-jar</id>
+								<goals>
+									<goal>transform</goal>
+								</goals>
+								<configuration>
+									<xslFile>src/main/tld/misc/resolve_entities.xsl</xslFile>
+									<srcIncludes>**/*.tld</srcIncludes>
+									<srcDir>src/main/tld</srcDir>
+									<destDir>target/classes/META-INF</destDir>
+								</configuration>
+							</execution>
+						</executions>
+					</plugin>
+					<plugin>
+						<groupId>org.apache.maven.plugins</groupId>
+						<artifactId>maven-javadoc-plugin</artifactId>
+						<executions>
+							<execution>
+								<id>attach-javadoc</id>
+								<goals>
+									<goal>jar</goal>
+								</goals>
+							</execution>
+						</executions>
+					</plugin>
+					<plugin>
+						<groupId>net.sourceforge.maven-taglib</groupId>
+						<artifactId>maven-taglib-plugin</artifactId>
+						<configuration>
+							<taglib.src.dir>${basedir}/target/tlddoc-site</taglib.src.dir>
+							<tldDocDir>${basedir}/target/tlddoc</tldDocDir>
+						</configuration>
+						<executions>
+							<execution>
+								<id>attach-javadoc</id>
+								<goals>
+									<goal>taglibdocjar</goal>
+								</goals>
+							</execution>
+						</executions>
+					</plugin>
+					<plugin>
+						<groupId>org.apache.maven.plugins</groupId>
+						<artifactId>maven-source-plugin</artifactId>
+						<executions>
+							<execution>
+								<id>attach-source</id>
+								<goals>
+									<goal>jar</goal>
+								</goals>
+							</execution>
+						</executions>
+					</plugin>
+				</plugins>
+			</build>
+		</profile>
+	</profiles>
+
+</project>

Added: myfaces/orchestra/trunk/sandbox/src/main/java/org/apache/myfaces/orchestra/dynaForm/guiBuilder/impl/myfaces/MyFacesGuiBuilder.java
URL: http://svn.apache.org/viewvc/myfaces/orchestra/trunk/sandbox/src/main/java/org/apache/myfaces/orchestra/dynaForm/guiBuilder/impl/myfaces/MyFacesGuiBuilder.java?rev=568245&view=auto
==============================================================================
--- myfaces/orchestra/trunk/sandbox/src/main/java/org/apache/myfaces/orchestra/dynaForm/guiBuilder/impl/myfaces/MyFacesGuiBuilder.java (added)
+++ myfaces/orchestra/trunk/sandbox/src/main/java/org/apache/myfaces/orchestra/dynaForm/guiBuilder/impl/myfaces/MyFacesGuiBuilder.java Tue Aug 21 12:44:37 2007
@@ -0,0 +1,155 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.orchestra.dynaForm.guiBuilder.impl.myfaces;
+
+import org.apache.myfaces.orchestra.dynaForm.guiBuilder.impl.jsf.JsfGuiBuilder;
+import org.apache.myfaces.orchestra.dynaForm.metadata.FieldInterface;
+import org.apache.myfaces.orchestra.dynaForm.lib.ObjectSerializationConverter;
+import org.apache.myfaces.custom.convertNumber.TypedNumberConverter;
+import org.apache.myfaces.custom.calendar.HtmlInputCalendar;
+import org.apache.myfaces.custom.suggestajax.inputsuggestajax.InputSuggestAjax;
+
+import javax.faces.component.UIComponent;
+import javax.faces.component.html.HtmlPanelGroup;
+import javax.faces.component.html.HtmlInputText;
+import javax.faces.convert.Converter;
+import javax.faces.context.FacesContext;
+import javax.faces.el.MethodBinding;
+import javax.persistence.TemporalType;
+import java.math.BigDecimal;
+
+/**
+ * use myfaces goodies
+ */
+public class MyFacesGuiBuilder extends JsfGuiBuilder
+{
+	public MyFacesGuiBuilder()
+	{
+		super();
+	}
+
+	/* TODO: SANDBOX COMPONENT - promote to tomahawk */
+	@Override
+	public Converter doCreateConverter(FieldInterface field)
+	{
+        Class type = field.getType();
+
+        if (Float.class.isAssignableFrom(type)
+            || Double.class.isAssignableFrom(type)
+            || float.class.isAssignableFrom(type)
+            || double.class.isAssignableFrom(type)
+            || BigDecimal.class.isAssignableFrom(type))
+		{
+			// use the super duper intelligent number converter
+			return getContext().getApplication().createConverter(TypedNumberConverter.CONVERTER_ID);
+		}
+
+		return super.doCreateConverter(field);
+	}
+
+	@Override
+	public HtmlInputText doCreateInputDateComponent(FieldInterface field)
+	{
+        if (!TemporalType.DATE.equals(field.getTemporalType()))
+        {
+            // we can select dates only - yet!
+            return super.doCreateInputDateComponent(field);
+        }
+
+        HtmlInputCalendar cmp = (HtmlInputCalendar) getContext()
+				.getApplication().createComponent(
+						HtmlInputCalendar.COMPONENT_TYPE);
+		cmp.setRenderAsPopup(true);
+
+		if (Boolean.FALSE.equals(field.getCanWrite()))
+		{
+			cmp.setReadonly(true);
+		}
+		if (Boolean.TRUE.equals(field.getDisabled()))
+		{
+			cmp.setDisabled(true);
+		}
+
+		return cmp;
+	}
+
+	@SuppressWarnings("unchecked")
+	@Override
+	public void createInputDate(FieldInterface field)
+	{
+		if (isDisplayOnly())
+		{
+			super.createInputDate(field);
+			return;
+		}
+
+		UIComponent cmp = doCreateInputDate(field);
+
+		// workaround to avoid wrap of date-component and its button ==>
+		HtmlPanelGroup panel = doCreatePanelGroupComponent();
+		panel.setId("pnl_" + cmp.getId());
+		panel.getChildren().add(cmp);
+		panel.setStyle("white-space:nowrap;");
+		// <==
+
+		fireNewComponent(field, panel);
+	}
+
+	/* TODO: SANDBOX COMPONENT - promote to tomahawk */
+	@Override
+	public UIComponent doCreateSearchFor(FieldInterface field)
+	{
+		HtmlPanelGroup panel = doCreatePanelGroupComponent();
+
+		InputSuggestAjax cmp = new InputSuggestAjax();
+		initInputDefaults(cmp, field);
+
+		String dataSource = field.getDataSource();
+		String dataSourceDescription = field.getDataSourceDescription();
+
+		MethodBinding mbSearch = FacesContext.getCurrentInstance().getApplication().createMethodBinding(
+			dataSource,
+			new Class[]
+				{
+					String.class
+				});
+		MethodBinding mbLabel = FacesContext.getCurrentInstance().getApplication().createMethodBinding(
+			dataSourceDescription,
+			new Class[]
+				{
+					field.getType()
+				});
+
+		cmp.setSuggestedItemsMethod(mbSearch);
+		cmp.setItemLabelMethod(mbLabel);
+		// set dojo-autocomplete to false to allow "in string search"
+		cmp.setAutoComplete(Boolean.FALSE);
+		// set html-autocomplete to false to avoid having the browser rendering its
+		// "autocomplete/lookup old values" stuff
+		cmp.setAutocomplete("off"); // NON-NLS
+
+		if (cmp.getConverter() == null)
+		{
+			cmp.setConverter(new ObjectSerializationConverter());
+		}
+
+		panel.getChildren().add(cmp);
+		return panel;
+	}
+}