I am trying to add this color picker
([url]http://demo.vaadin.com/sampler/#ui/data-input/other/color-picker[/url])
to a component dialog.
I created a definition class and a factory class based on these instructions
here
([url]https://documentation.magnolia-cms.com/display/DOCS/Custom+fields#Customfields-Usingafieldinaform[/url]).
However when i start my local magnolia server I get this error:
2016-02-02 10:21:12,110 ERROR
gnolia.jcr.node2bean.impl.Node2BeanTransformerImpl: Can't convert property.
Class for type [class java.lang.Class] not found.
2016-02-02 10:21:12,111 ERROR
gnolia.jcr.node2bean.impl.Node2BeanTransformerImpl: Can't set property
[factoryClass] to value
[is.godo.magnolia.site.form.field.factory.ColorPickerFactory] in bean
[info.magnolia.ui.form.fieldtype.definition.ConfiguredFieldTypeDefinition] for
node /modules/ui-framework/fieldTypes/colorPickerField due to
info.magnolia.jcr.node2bean.Node2BeanException:
java.lang.ClassNotFoundException:
is.godo.magnolia.site.form.field.factory.ColorPickerFactory
2016-02-02 10:21:12,113 ERROR
gnolia.jcr.node2bean.impl.Node2BeanTransformerImpl: Can't set property
[factoryClass] to value
[is.godo.magnolia.site.form.field.factory.ColorPickerFactory] in bean
[info.magnolia.ui.form.fieldtype.definition.ConfiguredFieldTypeDefinition] for
node /modules/ui-framework/fieldTypes/colorPickerField due to
org.apache.commons.beanutils.ConversionException: Default conversion to Class
failed.
2016-02-02 10:21:12,114 ERROR
gnolia.jcr.node2bean.impl.Node2BeanTransformerImpl: Can't convert property.
Class for type [class java.lang.Class] not found.
2016-02-02 10:21:12,114 ERROR
gnolia.jcr.node2bean.impl.Node2BeanTransformerImpl: Can't set property
[definitionClass] to value
[is.godo.magnolia.site.form.field.definition.ColorPickerDefinition] in bean
[info.magnolia.ui.form.fieldtype.definition.ConfiguredFieldTypeDefinition] for
node /modules/ui-framework/fieldTypes/colorPickerField due to
info.magnolia.jcr.node2bean.Node2BeanException:
java.lang.ClassNotFoundException:
is.godo.magnolia.site.form.field.definition.ColorPickerDefinition
2016-02-02 10:21:12,115 ERROR
gnolia.jcr.node2bean.impl.Node2BeanTransformerImpl: Can't set property
[definitionClass] to value
[is.godo.magnolia.site.form.field.definition.ColorPickerDefinition] in bean
[info.magnolia.ui.form.fieldtype.definition.ConfiguredFieldTypeDefinition] for
node /modules/ui-framework/fieldTypes/colorPickerField due to
org.apache.commons.beanutils.ConversionException: Default conversion to Class
failed.
Here is the definition class:
[code]package is.godo.magnolia.site.form.field.definition;
import info.magnolia.ui.form.field.definition.ConfiguredFieldDefinition;
/**
* Created by stefane81 on 1/29/16.
*/
public class ColorPickerDefinition extends ConfiguredFieldDefinition{
private String colorPicker;
public String getColorPicker() {
return colorPicker;
}
public void setColorPicker(String colorPicker) {
this.colorPicker = colorPicker;
}
}
[/code]
Factory class:
[code]
package is.godo.magnolia.site.form.field.factory;
import com.vaadin.shared.ui.colorpicker.Color;
import com.vaadin.ui.AbstractColorPicker;
import com.vaadin.ui.ColorPickerArea;
import com.vaadin.ui.Notification;
import com.vaadin.ui.components.colorpicker.ColorChangeEvent;
import com.vaadin.ui.components.colorpicker.ColorChangeListener;
/**
* A class that defines default (button-like) implementation for a color picker
* component.
*
* @see ColorPickerArea
* @since 7.0.0
*/
public class ColorPickerFactory extends AbstractColorPicker {
protected AbstractColorPicker select;
/**
* Instantiates a new color picker.
*/
public ColorPickerFactory() {
super();
}
/**
* Instantiates a new color picker.
*
* @param popupCaption caption of the color select popup
*/
public ColorPickerFactory(String popupCaption) {
super(popupCaption);
}
/**
* Instantiates a new color picker.
*
* @param popupCaption caption of the color select popup
* @param initialColor the initial color
*/
public ColorPickerFactory(String popupCaption, Color initialColor) {
super(popupCaption, initialColor);
setDefaultCaptionEnabled(true);
}
protected AbstractColorPicker createFieldComponent() {
select = new ColorPicker();
select.setSwatchesVisibility(false);
select.setHistoryVisibility(false);
select.setTextfieldVisibility(false);
select.setHSVVisibility(false);
select.addColorChangeListener(new ColorChangeListener() {
@Override
public void colorChanged(final ColorChangeEvent event) {
Notification.show(
"Color changed: " + event.getColor().getCSS(),
Notification.Type.TRAY_NOTIFICATION);
}
});
return select;
}
@Override
protected void setDefaultStyles() {
setPrimaryStyleName(STYLENAME_BUTTON);
addStyleName(STYLENAME_DEFAULT);
}
@Override
public void beforeClientResponse(boolean initial) {
super.beforeClientResponse(initial);
if (isDefaultCaptionEnabled()
&& ((getState().caption == null || ""
.equals(getState().caption)))
&& "".equals(getState().width)) {
getState().width = "100px";
}
}
}[/code]
Can someone point me in right direction?
--
Context is everything:
http://forum.magnolia-cms.com/forum/thread.html?threadId=e40d8899-afb4-4096-92e1-dbe765885de1
----------------------------------------------------------------
For list details, see http://www.magnolia-cms.com/community/mailing-lists.html
Alternatively, use our forums: http://forum.magnolia-cms.com/
To unsubscribe, E-mail to: <[email protected]>
----------------------------------------------------------------