@@ -199,7 +200,7 @@
-
+
diff --git a/source/java/org/alfresco/web/bean/generator/MultilingualTextAreaGenerator.java b/source/java/org/alfresco/web/bean/generator/MultilingualTextAreaGenerator.java
new file mode 100644
index 0000000000..25a78da231
--- /dev/null
+++ b/source/java/org/alfresco/web/bean/generator/MultilingualTextAreaGenerator.java
@@ -0,0 +1,61 @@
+/*
+ * Copyright (C) 2005-2007 Alfresco Software Limited.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+ * As a special exception to the terms and conditions of version 2.0 of
+ * the GPL, you may redistribute this Program in connection with Free/Libre
+ * and Open Source Software ("FLOSS") applications as described in Alfresco's
+ * FLOSS exception. You should have recieved a copy of the text describing
+ * the FLOSS exception, and it is also available here:
+ * http://www.alfresco.com/legal/licensing"
+ */
+package org.alfresco.web.bean.generator;
+
+import javax.faces.component.UIComponent;
+import javax.faces.component.UIInput;
+import javax.faces.component.UIOutput;
+import javax.faces.component.UISelectOne;
+import javax.faces.context.FacesContext;
+
+import org.alfresco.web.ui.repo.RepoConstants;
+import org.alfresco.web.ui.repo.component.property.PropertySheetItem;
+import org.alfresco.web.ui.repo.component.property.UIPropertySheet;
+
+/**
+ * Generates a multilingual text area component.
+ *
+ * @author gavinc
+ */
+public class MultilingualTextAreaGenerator extends TextAreaGenerator
+{
+ @Override
+ public UIComponent generateAndAdd(FacesContext context, UIPropertySheet propertySheet,
+ PropertySheetItem item)
+ {
+ UIComponent component = super.generateAndAdd(context, propertySheet, item);
+
+ if ((component instanceof UIInput) && (component instanceof UISelectOne) == false)
+ {
+ component.setRendererType(RepoConstants.ALFRESCO_FACES_MLTEXTAREA_RENDERER);
+ }
+ else if ((component instanceof UIOutput))
+ {
+ component.setRendererType(RepoConstants.ALFRESCO_FACES_MLTEXT_RENDERER);
+ }
+
+ return component;
+ }
+}
diff --git a/source/java/org/alfresco/web/bean/generator/MultilingualTextFieldGenerator.java b/source/java/org/alfresco/web/bean/generator/MultilingualTextFieldGenerator.java
new file mode 100644
index 0000000000..d9f0082424
--- /dev/null
+++ b/source/java/org/alfresco/web/bean/generator/MultilingualTextFieldGenerator.java
@@ -0,0 +1,55 @@
+/*
+ * Copyright (C) 2005-2007 Alfresco Software Limited.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+ * As a special exception to the terms and conditions of version 2.0 of
+ * the GPL, you may redistribute this Program in connection with Free/Libre
+ * and Open Source Software ("FLOSS") applications as described in Alfresco's
+ * FLOSS exception. You should have recieved a copy of the text describing
+ * the FLOSS exception, and it is also available here:
+ * http://www.alfresco.com/legal/licensing"
+ */
+package org.alfresco.web.bean.generator;
+
+import javax.faces.component.UIComponent;
+import javax.faces.component.UISelectOne;
+import javax.faces.context.FacesContext;
+
+import org.alfresco.web.ui.repo.RepoConstants;
+import org.alfresco.web.ui.repo.component.property.PropertySheetItem;
+import org.alfresco.web.ui.repo.component.property.UIPropertySheet;
+
+/**
+ * Generates a multilingual text field component.
+ *
+ * @author gavinc
+ */
+public class MultilingualTextFieldGenerator extends TextFieldGenerator
+{
+ @Override
+ public UIComponent generateAndAdd(FacesContext context, UIPropertySheet propertySheet,
+ PropertySheetItem item)
+ {
+ UIComponent component = super.generateAndAdd(context, propertySheet, item);
+
+ if ((component instanceof UISelectOne) == false)
+ {
+ component.setRendererType(RepoConstants.ALFRESCO_FACES_MLTEXT_RENDERER);
+ }
+
+ return component;
+ }
+}
diff --git a/source/java/org/alfresco/web/ui/repo/RepoConstants.java b/source/java/org/alfresco/web/ui/repo/RepoConstants.java
index 4a5feb71ed..a655f5ec9a 100644
--- a/source/java/org/alfresco/web/ui/repo/RepoConstants.java
+++ b/source/java/org/alfresco/web/ui/repo/RepoConstants.java
@@ -49,9 +49,12 @@ public final class RepoConstants
public static final String ALFRESCO_FACES_XMLDATE_CONVERTER = "org.alfresco.faces.XMLDateConverter";
public static final String ALFRESCO_FACES_MULTIVALUE_CONVERTER = "org.alfresco.faces.MultiValueConverter";
public static final String ALFRESCO_FACES_BOOLEAN_CONVERTER = "org.alfresco.faces.BooleanLabelConverter";
+ public static final String ALFRESCO_FACES_MLTEXT_RENDERER = "org.alfresco.faces.MultilingualText";
+ public static final String ALFRESCO_FACES_MLTEXTAREA_RENDERER = "org.alfresco.faces.MultilingualTextArea";
public static final String GENERATOR_LABEL = "LabelGenerator";
public static final String GENERATOR_TEXT_FIELD = "TextFieldGenerator";
+ public static final String GENERATOR_MLTEXT_FIELD = "MultilingualTextFieldGenerator";
public static final String GENERATOR_TEXT_AREA = "TextAreaGenerator";
public static final String GENERATOR_CHECKBOX = "CheckboxGenerator";
public static final String GENERATOR_DATE_PICKER = "DatePickerGenerator";
diff --git a/source/java/org/alfresco/web/ui/repo/component/property/UIProperty.java b/source/java/org/alfresco/web/ui/repo/component/property/UIProperty.java
index cc1bbe69fd..ac9259ec19 100644
--- a/source/java/org/alfresco/web/ui/repo/component/property/UIProperty.java
+++ b/source/java/org/alfresco/web/ui/repo/component/property/UIProperty.java
@@ -154,6 +154,10 @@ public class UIProperty extends PropertySheetItem
{
componentGeneratorName = RepoConstants.GENERATOR_TEXT_FIELD;
}
+ else if (typeName.equals(DataTypeDefinition.MLTEXT))
+ {
+ componentGeneratorName = RepoConstants.GENERATOR_MLTEXT_FIELD;
+ }
else if (typeName.equals(DataTypeDefinition.BOOLEAN))
{
componentGeneratorName = RepoConstants.GENERATOR_CHECKBOX;
diff --git a/source/java/org/alfresco/web/ui/repo/renderer/MultilingualTextAreaRenderer.java b/source/java/org/alfresco/web/ui/repo/renderer/MultilingualTextAreaRenderer.java
new file mode 100644
index 0000000000..b059ae9b1b
--- /dev/null
+++ b/source/java/org/alfresco/web/ui/repo/renderer/MultilingualTextAreaRenderer.java
@@ -0,0 +1,56 @@
+/*
+ * Copyright (C) 2005-2007 Alfresco Software Limited.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+ * As a special exception to the terms and conditions of version 2.0 of
+ * the GPL, you may redistribute this Program in connection with Free/Libre
+ * and Open Source Software ("FLOSS") applications as described in Alfresco's
+ * FLOSS exception. You should have recieved a copy of the text describing
+ * the FLOSS exception, and it is also available here:
+ * http://www.alfresco.com/legal/licensing"
+ */
+package org.alfresco.web.ui.repo.renderer;
+
+import java.io.IOException;
+
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+import javax.faces.context.ResponseWriter;
+
+import org.apache.myfaces.renderkit.html.HtmlTextareaRenderer;
+
+/**
+ * Renders a multilingual text area.
+ *
+ * Renders the default output followed by an icon
+ * to represent multilingual properties.
+ *
+ *
+ * @author gavinc
+ */
+public class MultilingualTextAreaRenderer extends HtmlTextareaRenderer
+{
+ @Override
+ public void encodeEnd(FacesContext facesContext, UIComponent component) throws IOException
+ {
+ super.encodeEnd(facesContext, component);
+
+ ResponseWriter out = facesContext.getResponseWriter();
+ out.write("
");
+ }
+}
diff --git a/source/java/org/alfresco/web/ui/repo/renderer/MultilingualTextRenderer.java b/source/java/org/alfresco/web/ui/repo/renderer/MultilingualTextRenderer.java
new file mode 100644
index 0000000000..cfd9df4e2c
--- /dev/null
+++ b/source/java/org/alfresco/web/ui/repo/renderer/MultilingualTextRenderer.java
@@ -0,0 +1,56 @@
+/*
+ * Copyright (C) 2005-2007 Alfresco Software Limited.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+ * As a special exception to the terms and conditions of version 2.0 of
+ * the GPL, you may redistribute this Program in connection with Free/Libre
+ * and Open Source Software ("FLOSS") applications as described in Alfresco's
+ * FLOSS exception. You should have recieved a copy of the text describing
+ * the FLOSS exception, and it is also available here:
+ * http://www.alfresco.com/legal/licensing"
+ */
+package org.alfresco.web.ui.repo.renderer;
+
+import java.io.IOException;
+
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+import javax.faces.context.ResponseWriter;
+
+import org.apache.myfaces.renderkit.html.HtmlTextRenderer;
+
+/**
+ * Renders a multilingual text field.
+ *
+ * Renders the default output followed by an icon
+ * to represent multilingual properties.
+ *
+ *
+ * @author gavinc
+ */
+public class MultilingualTextRenderer extends HtmlTextRenderer
+{
+ @Override
+ public void encodeEnd(FacesContext facesContext, UIComponent component) throws IOException
+ {
+ super.encodeEnd(facesContext, component);
+
+ ResponseWriter out = facesContext.getResponseWriter();
+ out.write("
");
+ }
+}
diff --git a/source/web/WEB-INF/faces-config-beans.xml b/source/web/WEB-INF/faces-config-beans.xml
index b7d4e0e39e..578f67ecc7 100644
--- a/source/web/WEB-INF/faces-config-beans.xml
+++ b/source/web/WEB-INF/faces-config-beans.xml
@@ -3479,6 +3479,21 @@
-->
+
+
+ Bean that generates a mutlilingual text field component
+
+ MultilingualTextFieldGenerator
+ org.alfresco.web.bean.generator.MultilingualTextFieldGenerator
+ request
+
+
+
Bean that generates a link component
@@ -3506,6 +3521,25 @@
-->
+
+
+
+ Bean that generates a multilingual text area component
+
+ MultilingualTextAreaGenerator
+ org.alfresco.web.bean.generator.MultilingualTextAreaGenerator
+ request
+
+
diff --git a/source/web/WEB-INF/faces-config-repo.xml b/source/web/WEB-INF/faces-config-repo.xml
index 7ec143260e..958c8105c0 100644
--- a/source/web/WEB-INF/faces-config-repo.xml
+++ b/source/web/WEB-INF/faces-config-repo.xml
@@ -285,6 +285,24 @@
org.alfresco.faces.Tree
org.alfresco.faces.Yahoo
org.alfresco.web.ui.repo.renderer.YahooTreeRenderer
+
+
+
+ javax.faces.Input
+ org.alfresco.faces.MultilingualText
+ org.alfresco.web.ui.repo.renderer.MultilingualTextRenderer
+
+
+
+ javax.faces.Input
+ org.alfresco.faces.MultilingualTextArea
+ org.alfresco.web.ui.repo.renderer.MultilingualTextAreaRenderer
+
+
+
+ javax.faces.Output
+ org.alfresco.faces.MultilingualText
+ org.alfresco.web.ui.repo.renderer.MultilingualTextRenderer
diff --git a/source/web/images/icons/multilingual_marker.gif b/source/web/images/icons/multilingual_marker.gif
new file mode 100644
index 0000000000..ceab3d3363
Binary files /dev/null and b/source/web/images/icons/multilingual_marker.gif differ