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;
+ }
+}