You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@empire-db.apache.org by do...@apache.org on 2012/07/19 14:53:55 UTC
svn commit: r1363318 - in
/empire-db/trunk/empire-db-jsf2/src/main/java/org/apache/empire/jsf2:
components/SelectTag.java controls/SelectInputControl.java
controls/TextInputControl.java
Author: doebele
Date: Thu Jul 19 12:53:55 2012
New Revision: 1363318
URL: http://svn.apache.org/viewvc?rev=1363318&view=rev
Log:
EMPIREDB-141
Use SelectInputControl for SelectTag in jsf2 extensions
Modified:
empire-db/trunk/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/SelectTag.java
empire-db/trunk/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/controls/SelectInputControl.java
empire-db/trunk/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/controls/TextInputControl.java
Modified: empire-db/trunk/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/SelectTag.java
URL: http://svn.apache.org/viewvc/empire-db/trunk/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/SelectTag.java?rev=1363318&r1=1363317&r2=1363318&view=diff
==============================================================================
--- empire-db/trunk/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/SelectTag.java (original)
+++ empire-db/trunk/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/SelectTag.java Thu Jul 19 12:53:55 2012
@@ -34,6 +34,8 @@ import org.apache.empire.commons.Options
import org.apache.empire.commons.StringUtils;
import org.apache.empire.jsf2.app.FacesUtils;
import org.apache.empire.jsf2.app.TextResolver;
+import org.apache.empire.jsf2.controls.InputControlManager;
+import org.apache.empire.jsf2.controls.SelectInputControl;
import org.apache.empire.jsf2.utils.TagEncodingHelper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -148,8 +150,8 @@ public class SelectTag extends UIInput i
private UIInput createSelectOneMenu(TextResolver textResolver)
{
-
- HtmlSelectOneMenu input = new HtmlSelectOneMenu();
+ SelectInputControl control = (SelectInputControl)InputControlManager.getControl(SelectInputControl.NAME);
+ HtmlSelectOneMenu input = control.createMenuComponent(this);
// css style
String userStyle = StringUtils.toString(getAttributes().get("styleClass"));
String cssStyle = TagEncodingHelper.getTagStyleClass("eSelect", null, null, userStyle);
Modified: empire-db/trunk/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/controls/SelectInputControl.java
URL: http://svn.apache.org/viewvc/empire-db/trunk/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/controls/SelectInputControl.java?rev=1363318&r1=1363317&r2=1363318&view=diff
==============================================================================
--- empire-db/trunk/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/controls/SelectInputControl.java (original)
+++ empire-db/trunk/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/controls/SelectInputControl.java Thu Jul 19 12:53:55 2012
@@ -53,6 +53,18 @@ public class SelectInputControl extends
this(javax.faces.component.html.HtmlSelectOneMenu.class);
}
+ /* for SelectTag (when no column is available) */
+ public HtmlSelectOneMenu createMenuComponent(UIComponent parent)
+ {
+ try {
+ return inputComponentClass.newInstance();
+ } catch (InstantiationException e1) {
+ throw new InternalException(e1);
+ } catch (IllegalAccessException e2) {
+ throw new InternalException(e2);
+ }
+ }
+
@Override
protected void createInputComponents(UIComponent parent, InputInfo ii, FacesContext context, List<UIComponent> compList)
{
Modified: empire-db/trunk/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/controls/TextInputControl.java
URL: http://svn.apache.org/viewvc/empire-db/trunk/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/controls/TextInputControl.java?rev=1363318&r1=1363317&r2=1363318&view=diff
==============================================================================
--- empire-db/trunk/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/controls/TextInputControl.java (original)
+++ empire-db/trunk/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/controls/TextInputControl.java Thu Jul 19 12:53:55 2012
@@ -48,6 +48,9 @@ public class TextInputControl extends In
public static final String FORMAT_UNIT = "unit:";
public static final String FORMAT_UNIT_ATTRIBUTE = "format:unit";
+
+ public static final String DATE_FORMAT = "date-format:";
+ public static final String DATE_FORMAT_ATTRIBUTE = "format:date";
private Class<? extends javax.faces.component.html.HtmlInputText> inputComponentClass;
@@ -211,7 +214,7 @@ public class TextInputControl extends In
if (dataType== DataType.DATETIME && hasFormatOption(vi, "notime"))
dataType = DataType.DATE;
// Now format the date according to the user's locale
- DateFormat df = getDateFormat(dataType, vi.getLocale(), column);
+ DateFormat df = getDateFormat(dataType, vi, column);
return df.format(value);
}
/*
@@ -380,13 +383,24 @@ public class TextInputControl extends In
return nf;
}
- protected DateFormat getDateFormat(DataType dataType, Locale locale, Column column)
+ protected DateFormat getDateFormat(DataType dataType, ValueInfo vi, Column column)
{
+ int type = DateFormat.MEDIUM;
+ // Is unit supplied as a format option
+ String format = getFormatString(vi, DATE_FORMAT, DATE_FORMAT_ATTRIBUTE);
+ if (format!=null)
+ { // format has been provided
+ if (StringUtils.compareEqual(format, "short", true))
+ type=DateFormat.SHORT;
+ else if (StringUtils.compareEqual(format, "long", true))
+ type=DateFormat.LONG;
+ }
+ // return date formatter
DateFormat df;
if (dataType==DataType.DATE)
- df = DateFormat.getDateInstance(DateFormat.MEDIUM, locale);
+ df = DateFormat.getDateInstance(type, vi.getLocale());
else
- df = DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM, locale);
+ df = DateFormat.getDateTimeInstance(type, type, vi.getLocale());
return df;
}