Author: simoneg
Date: Thu Dec 17 13:12:42 2009
New Revision: 891689
URL: http://svn.apache.org/viewvc?rev=891689&view=rev
Log:
Added a style parameters for html pieces
Added:
labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/htmlpieces/MagHtml.java
labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/htmlpieces/NoPiece.java
Modified:
labs/magma/trunk/foundation-i18n/src/main/java/org/apache/magma/i18n/Formatters.java
labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/htmlpieces/AddHtmlPiecesOnPropertyInfo.aj
labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/htmlpieces/BaseOutputPiece.java
labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/htmlpieces/HtmlFormPiece.java
labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/htmlpieces/HtmlOutputPiece.java
labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/htmlpieces/HtmlPieces.java
labs/magma/trunk/website-beansview/src/main/java/org/apache/magma/website/htmlpieces/AbstractSelectionHtmlFormPiece.java
labs/magma/trunk/website-beansview/src/main/java/org/apache/magma/website/htmlpieces/BooleanHtmlFormPiece.java
labs/magma/trunk/website-beansview/src/main/java/org/apache/magma/website/htmlpieces/TextFieldHtmlFormPiece.java
labs/magma/trunk/website-file/src/main/java/org/apache/magma/website/htmlpieces/MagFileHtml.java
labs/magma/trunk/website-image/src/main/java/org/apache/magma/website/htmlpieces/MagImageHtml.java
labs/magma/trunk/website-maps-google/src/main/java/org/apache/magma/website/htmlpieces/MapBeanHtmlFormPiece.java
labs/magma/trunk/website-maps-google/src/main/java/org/apache/magma/website/htmlpieces/MapBeanHtmlOutputPiece.java
labs/magma/trunk/website-richtext/src/main/java/org/apache/magma/website/htmlpieces/RichTextHtmlOutputPiece.java
Modified:
labs/magma/trunk/foundation-i18n/src/main/java/org/apache/magma/i18n/Formatters.java
URL:
http://svn.apache.org/viewvc/labs/magma/trunk/foundation-i18n/src/main/java/org/apache/magma/i18n/Formatters.java?rev=891689&r1=891688&r2=891689&view=diff
==============================================================================
---
labs/magma/trunk/foundation-i18n/src/main/java/org/apache/magma/i18n/Formatters.java
(original)
+++
labs/magma/trunk/foundation-i18n/src/main/java/org/apache/magma/i18n/Formatters.java
Thu Dec 17 13:12:42 2009
@@ -44,6 +44,7 @@
ret = getFormatterFor(type);
} else {
try {
+ // TODO we should call the build method to
obtain a properly inited instance
ret = formclass.newInstance();
} catch (InstantiationException e) {
return null;
Modified:
labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/htmlpieces/AddHtmlPiecesOnPropertyInfo.aj
URL:
http://svn.apache.org/viewvc/labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/htmlpieces/AddHtmlPiecesOnPropertyInfo.aj?rev=891689&r1=891688&r2=891689&view=diff
==============================================================================
---
labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/htmlpieces/AddHtmlPiecesOnPropertyInfo.aj
(original)
+++
labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/htmlpieces/AddHtmlPiecesOnPropertyInfo.aj
Thu Dec 17 13:12:42 2009
@@ -4,6 +4,9 @@
import java.lang.reflect.Method;
import org.apache.magma.beans.PropertyInfo;
+import org.apache.magma.i18n.Format;
+import org.apache.magma.i18n.Formatter;
+import org.apache.magma.i18n.Formatters;
public aspect AddHtmlPiecesOnPropertyInfo {
@@ -32,9 +35,9 @@
Method readMethod = desc.getReadMethod();
if (readMethod == null) return;
-
- info.outputPiece = HtmlPieces.outputFor(info);
- info.formPiece = HtmlPieces.formFor(info);
+ MagHtml annotation = readMethod.getAnnotation(MagHtml.class);
+ info.outputPiece = HtmlPieces.outputFor(annotation, info);
+ info.formPiece = HtmlPieces.formFor(annotation, info);
}
Modified:
labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/htmlpieces/BaseOutputPiece.java
URL:
http://svn.apache.org/viewvc/labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/htmlpieces/BaseOutputPiece.java?rev=891689&r1=891688&r2=891689&view=diff
==============================================================================
---
labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/htmlpieces/BaseOutputPiece.java
(original)
+++
labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/htmlpieces/BaseOutputPiece.java
Thu Dec 17 13:12:42 2009
@@ -30,6 +30,8 @@
public class BaseOutputPiece implements HtmlOutputPiece<Object>,
PropertyAwareHtmlPiece {
+ public void setStyle(String style) {}
+
public boolean outputs(Class<?> clazz) {
return true;
}
Modified:
labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/htmlpieces/HtmlFormPiece.java
URL:
http://svn.apache.org/viewvc/labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/htmlpieces/HtmlFormPiece.java?rev=891689&r1=891688&r2=891689&view=diff
==============================================================================
---
labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/htmlpieces/HtmlFormPiece.java
(original)
+++
labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/htmlpieces/HtmlFormPiece.java
Thu Dec 17 13:12:42 2009
@@ -50,6 +50,7 @@
* @param <T> The type this class handles.
*/
public interface HtmlFormPiece<T> {
+
/**
* Checks whether this instance is able to produce
@@ -71,6 +72,16 @@
public HtmlFormPiece<T> createInputFor(Class<? extends T> clazz);
/**
+ * Sets a style for this html input.
+ *
+ * Depending on the implementation, the style can change
+ * the way the HTML is produced.
+ *
+ * @param style A string describing the style.
+ */
+ public void setInputStyle(String style);
+
+ /**
* Adds to the head scripts or css files.
* @param value The value we need to create input for
* @param id The id of the form field
Modified:
labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/htmlpieces/HtmlOutputPiece.java
URL:
http://svn.apache.org/viewvc/labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/htmlpieces/HtmlOutputPiece.java?rev=891689&r1=891688&r2=891689&view=diff
==============================================================================
---
labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/htmlpieces/HtmlOutputPiece.java
(original)
+++
labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/htmlpieces/HtmlOutputPiece.java
Thu Dec 17 13:12:42 2009
@@ -29,6 +29,16 @@
public interface HtmlOutputPiece<T> {
/**
+ * Sets a style for this html output.
+ *
+ * Depending on the implementation, the style can change
+ * the way the HTML is produced.
+ *
+ * @param style A string describing the style.
+ */
+ public void setStyle(String style);
+
+ /**
* Checks whether this instance is able to produce
* HTML output for the given type.
* @param clazz The type we are checking against
Modified:
labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/htmlpieces/HtmlPieces.java
URL:
http://svn.apache.org/viewvc/labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/htmlpieces/HtmlPieces.java?rev=891689&r1=891688&r2=891689&view=diff
==============================================================================
---
labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/htmlpieces/HtmlPieces.java
(original)
+++
labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/htmlpieces/HtmlPieces.java
Thu Dec 17 13:12:42 2009
@@ -18,25 +18,54 @@
import java.util.Iterator;
+import org.apache.magma.basics.MagmaException;
import org.apache.magma.basics.services.ServiceFinder;
import org.apache.magma.beans.PropertyInfo;
import org.apache.magma.conversion.Converter;
public class HtmlPieces {
- public static HtmlOutputPiece outputFor(PropertyInfo prop) {
- HtmlOutputPiece piece = outputFor(prop.getType());
+ public static HtmlOutputPiece outputFor(MagHtml ann, PropertyInfo prop)
{
+ HtmlOutputPiece piece = null;
+ if (ann != null && !ann.outputPiece().equals(NoPiece.class)) {
+ try {
+ piece = ann.outputPiece().newInstance();
+ } catch (Exception e) {
+ throw new MagmaException("Error instantiating a
new {0} for html output of {1}", ann.outputPiece(), prop);
+ }
+ piece = piece.createFor(prop.getType());
+ } else {
+ piece = outputFor(prop.getType());
+ }
+
if (piece instanceof PropertyAwareHtmlPiece) {
((PropertyAwareHtmlPiece)piece).setProperty(prop);
}
+ if (ann != null && !ann.outputStyle().equals("__NA__")) {
+ piece.setStyle(ann.outputStyle());
+ }
return piece;
}
- public static HtmlFormPiece formFor(PropertyInfo prop) {
- HtmlFormPiece piece = formFor(prop.getType());
+ public static HtmlFormPiece formFor(MagHtml ann, PropertyInfo prop) {
+ HtmlFormPiece piece = null;
+ if (ann != null && !ann.formPiece().equals(NoPiece.class)) {
+ try {
+ piece = ann.formPiece().newInstance();
+ } catch (Exception e) {
+ throw new MagmaException("Error instantiating a
new {0} for html input of {1}", ann.outputPiece(), prop);
+ }
+ piece = piece.createInputFor(prop.getType());
+ } else {
+ piece = formFor(prop.getType());
+ }
+
if (piece instanceof PropertyAwareHtmlPiece) {
((PropertyAwareHtmlPiece)piece).setProperty(prop);
}
+ if (ann != null && !ann.formStyle().equals("__NA__")) {
+ piece.setInputStyle(ann.formStyle());
+ }
return piece;
}
Added:
labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/htmlpieces/MagHtml.java
URL:
http://svn.apache.org/viewvc/labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/htmlpieces/MagHtml.java?rev=891689&view=auto
==============================================================================
---
labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/htmlpieces/MagHtml.java
(added)
+++
labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/htmlpieces/MagHtml.java
Thu Dec 17 13:12:42 2009
@@ -0,0 +1,18 @@
+package org.apache.magma.website.htmlpieces;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+...@retention(RetentionPolicy.RUNTIME)
+...@target({ElementType.METHOD, ElementType.FIELD})
+public @interface MagHtml {
+
+ public Class<? extends HtmlOutputPiece> outputPiece() default
NoPiece.class;
+ public Class<? extends HtmlFormPiece> formPiece() default NoPiece.class;
+
+ public String outputStyle() default "__NA__";
+ public String formStyle() default "__NA__";
+
+}
Added:
labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/htmlpieces/NoPiece.java
URL:
http://svn.apache.org/viewvc/labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/htmlpieces/NoPiece.java?rev=891689&view=auto
==============================================================================
---
labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/htmlpieces/NoPiece.java
(added)
+++
labs/magma/trunk/foundation-website/src/main/java/org/apache/magma/website/htmlpieces/NoPiece.java
Thu Dec 17 13:12:42 2009
@@ -0,0 +1,43 @@
+package org.apache.magma.website.htmlpieces;
+
+import org.apache.magma.website.Head;
+
+public class NoPiece implements HtmlOutputPiece<Object>, HtmlFormPiece<Object>
{
+
+ public HtmlOutputPiece<Object> createFor(Class<? extends Object> clazz)
{
+ return null;
+ }
+
+ public void head(Object value, Head head) {
+ }
+
+ public String output(Object value) {
+ return null;
+ }
+
+ public boolean outputs(Class<?> clazz) {
+ return false;
+ }
+
+ public void setStyle(String style) {
+ }
+
+ public String createFormInput(Object value, String id) {
+ return null;
+ }
+
+ public HtmlFormPiece<Object> createInputFor(Class<? extends Object>
clazz) {
+ return null;
+ }
+
+ public void formHead(Object value, String id, Head head) {
+ }
+
+ public boolean handles(Class<?> clazz) {
+ return false;
+ }
+
+ public void setInputStyle(String style) {
+ }
+
+}
Modified:
labs/magma/trunk/website-beansview/src/main/java/org/apache/magma/website/htmlpieces/AbstractSelectionHtmlFormPiece.java
URL:
http://svn.apache.org/viewvc/labs/magma/trunk/website-beansview/src/main/java/org/apache/magma/website/htmlpieces/AbstractSelectionHtmlFormPiece.java?rev=891689&r1=891688&r2=891689&view=diff
==============================================================================
---
labs/magma/trunk/website-beansview/src/main/java/org/apache/magma/website/htmlpieces/AbstractSelectionHtmlFormPiece.java
(original)
+++
labs/magma/trunk/website-beansview/src/main/java/org/apache/magma/website/htmlpieces/AbstractSelectionHtmlFormPiece.java
Thu Dec 17 13:12:42 2009
@@ -23,6 +23,8 @@
protected abstract List<?> findList();
+ public void setInputStyle(String style) {}
+
public String createFormInput(T value, String id) {
List<?> elements = findList();
if (elements != null && elements.size() > 0) {
Modified:
labs/magma/trunk/website-beansview/src/main/java/org/apache/magma/website/htmlpieces/BooleanHtmlFormPiece.java
URL:
http://svn.apache.org/viewvc/labs/magma/trunk/website-beansview/src/main/java/org/apache/magma/website/htmlpieces/BooleanHtmlFormPiece.java?rev=891689&r1=891688&r2=891689&view=diff
==============================================================================
---
labs/magma/trunk/website-beansview/src/main/java/org/apache/magma/website/htmlpieces/BooleanHtmlFormPiece.java
(original)
+++
labs/magma/trunk/website-beansview/src/main/java/org/apache/magma/website/htmlpieces/BooleanHtmlFormPiece.java
Thu Dec 17 13:12:42 2009
@@ -62,6 +62,8 @@
}
}
+ public void setInputStyle(String style) {}
+
public void formHead(Boolean value, String id, Head head) {
}
Modified:
labs/magma/trunk/website-beansview/src/main/java/org/apache/magma/website/htmlpieces/TextFieldHtmlFormPiece.java
URL:
http://svn.apache.org/viewvc/labs/magma/trunk/website-beansview/src/main/java/org/apache/magma/website/htmlpieces/TextFieldHtmlFormPiece.java?rev=891689&r1=891688&r2=891689&view=diff
==============================================================================
---
labs/magma/trunk/website-beansview/src/main/java/org/apache/magma/website/htmlpieces/TextFieldHtmlFormPiece.java
(original)
+++
labs/magma/trunk/website-beansview/src/main/java/org/apache/magma/website/htmlpieces/TextFieldHtmlFormPiece.java
Thu Dec 17 13:12:42 2009
@@ -20,6 +20,8 @@
protected static int MAX_FIELD_SIZE = 80;
+ public void setInputStyle(String style) {}
+
public String createFormInput(Object value, String id) {
PropertyInfo property = this.getProperty();
int maxSize = 50;
Modified:
labs/magma/trunk/website-file/src/main/java/org/apache/magma/website/htmlpieces/MagFileHtml.java
URL:
http://svn.apache.org/viewvc/labs/magma/trunk/website-file/src/main/java/org/apache/magma/website/htmlpieces/MagFileHtml.java?rev=891689&r1=891688&r2=891689&view=diff
==============================================================================
---
labs/magma/trunk/website-file/src/main/java/org/apache/magma/website/htmlpieces/MagFileHtml.java
(original)
+++
labs/magma/trunk/website-file/src/main/java/org/apache/magma/website/htmlpieces/MagFileHtml.java
Thu Dec 17 13:12:42 2009
@@ -20,9 +20,14 @@
}
}
+
public HtmlOutputPiece<MagFile> createFor(Class<? extends MagFile>
clazz) {
return this;
}
+
+ public void setStyle(String style) {}
+
+ public void setInputStyle(String style) {}
public void head(MagFile value, Head head) {
head.addCss("magma:/common/magfile.css");
Modified:
labs/magma/trunk/website-image/src/main/java/org/apache/magma/website/htmlpieces/MagImageHtml.java
URL:
http://svn.apache.org/viewvc/labs/magma/trunk/website-image/src/main/java/org/apache/magma/website/htmlpieces/MagImageHtml.java?rev=891689&r1=891688&r2=891689&view=diff
==============================================================================
---
labs/magma/trunk/website-image/src/main/java/org/apache/magma/website/htmlpieces/MagImageHtml.java
(original)
+++
labs/magma/trunk/website-image/src/main/java/org/apache/magma/website/htmlpieces/MagImageHtml.java
Thu Dec 17 13:12:42 2009
@@ -23,6 +23,10 @@
public HtmlOutputPiece<MagImage> createFor(Class<? extends MagImage>
clazz) {
return this;
}
+
+ public void setStyle(String style) {}
+
+ public void setInputStyle(String style) {}
public void head(MagImage value, Head head) {
}
Modified:
labs/magma/trunk/website-maps-google/src/main/java/org/apache/magma/website/htmlpieces/MapBeanHtmlFormPiece.java
URL:
http://svn.apache.org/viewvc/labs/magma/trunk/website-maps-google/src/main/java/org/apache/magma/website/htmlpieces/MapBeanHtmlFormPiece.java?rev=891689&r1=891688&r2=891689&view=diff
==============================================================================
---
labs/magma/trunk/website-maps-google/src/main/java/org/apache/magma/website/htmlpieces/MapBeanHtmlFormPiece.java
(original)
+++
labs/magma/trunk/website-maps-google/src/main/java/org/apache/magma/website/htmlpieces/MapBeanHtmlFormPiece.java
Thu Dec 17 13:12:42 2009
@@ -31,6 +31,8 @@
public HtmlFormPiece<MagMapBean> createInputFor(Class<? extends
MagMapBean> clazz) {
return new MapBeanHtmlFormPiece();
}
+
+ public void setInputStyle(String style) {}
public void formHead(MagMapBean value, String id, Head head) {
head.addJQuery();
Modified:
labs/magma/trunk/website-maps-google/src/main/java/org/apache/magma/website/htmlpieces/MapBeanHtmlOutputPiece.java
URL:
http://svn.apache.org/viewvc/labs/magma/trunk/website-maps-google/src/main/java/org/apache/magma/website/htmlpieces/MapBeanHtmlOutputPiece.java?rev=891689&r1=891688&r2=891689&view=diff
==============================================================================
---
labs/magma/trunk/website-maps-google/src/main/java/org/apache/magma/website/htmlpieces/MapBeanHtmlOutputPiece.java
(original)
+++
labs/magma/trunk/website-maps-google/src/main/java/org/apache/magma/website/htmlpieces/MapBeanHtmlOutputPiece.java
Thu Dec 17 13:12:42 2009
@@ -11,6 +11,8 @@
return this;
}
+ public void setStyle(String style) {}
+
public boolean outputs(Class<?> clazz) {
return MagMapBean.class.isAssignableFrom(clazz);
}
Modified:
labs/magma/trunk/website-richtext/src/main/java/org/apache/magma/website/htmlpieces/RichTextHtmlOutputPiece.java
URL:
http://svn.apache.org/viewvc/labs/magma/trunk/website-richtext/src/main/java/org/apache/magma/website/htmlpieces/RichTextHtmlOutputPiece.java?rev=891689&r1=891688&r2=891689&view=diff
==============================================================================
---
labs/magma/trunk/website-richtext/src/main/java/org/apache/magma/website/htmlpieces/RichTextHtmlOutputPiece.java
(original)
+++
labs/magma/trunk/website-richtext/src/main/java/org/apache/magma/website/htmlpieces/RichTextHtmlOutputPiece.java
Thu Dec 17 13:12:42 2009
@@ -10,6 +10,8 @@
return new RichTextHtmlOutputPiece();
}
+ public void setStyle(String style) {}
+
public boolean outputs(Class<?> clazz) {
return RichTextString.class.isAssignableFrom(clazz);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]