Hi,
I am basically just trying to get the v8 sample widget extension to work and am having a bit of trouble. First, I created a simple v7 widget:
MySampleWidget.java
import com.vignette.as.ui.cm.ctm.shared.widgets.VCMTextWidget;
public class MySampleWidget extends VCMTextWidget
{
}
Then, I just basically took the sample v8 widget classes:
SampleWidget.java
public class SampleWidget extends VUIAbstractWidget implements Serializable {
private static Category log = Category.getInstance(SampleWidget.class);
/** Number of rows. */
private int rows;
/** Number of columns. */
private int cols;
/** Maximum number of characters you can enter. */
private int maxLength;
/** Wrap options for the field */
private String wrap;
/*
Other public getters and setters
*/
}
SampleWidgetMap.java
public class SampleWidgetMap extends VUIAbstractWidgetMap {
/**
* Attribute names found in existing widget.
*/
/**
* Number of rows.
*/
private static final String ROWS = "rows";
/**
* Number of columns.
*/
private static final String COLS = "cols";
/**
* Size in characters (password).
*/
private static final String SIZE = "size";
/**
* Maximum number of characters you can enter.
*/
private static final String MAX_LENGTH = "maxlength";
/**
* Wrapping options for the field
*/
static final private String WRAP = "wrap";
}
Then, I have sample-widget-maps.xml:
sample-widget-maps.xml
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"
default-lazy-init="false">
<bean name="MySampleWidget" class="vignette.customer.widget.SampleWidgetMap">
<property name="widgetClass" value="vignette.customer.widget.SampleWidget"/>
</bean>
</beans>
sample-widget-renders.xml
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"
default-lazy-init="false">
<bean id="vignette.customer.widget.SampleWidget" class="vignette.customer.widget.SampleWidgetRenderer" scope="prototype">
<property name="template" value="vcm-widget-text"/>
<property name="templateResolver">
<bean class="com.vignette.ui.vcm.widget.renderer.WidgetTemplateResolver"/>
</property>
</bean>
</beans>
The xml files are in the vignette.customer package.
I am able to deploy the widget jar and war. When I pull up the widget in the CTD, I see my custom jsp getting rendered. In the v8 editor, I don't receive the error about contacting the administrator, but it basically shows the simple Text widget. But, I see no indication in any of the logs that my custom widget was used over a basic Text widget. I wasn't entirely clear on how the system knows about render.jsp, but I have those in there from the sample too. Here are the messages from the ui log:
2011-03-23 08:55:26,769 | DEBUG | core.response.TemplateResponse | Creating output for template: vcm-widget-text [[ACTIVE] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'] []
2011-03-23 08:55:26,769 | DEBUG | vui.core.theme.BasicTheme | Getting template: vcm-widget-text [[ACTIVE] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'] []
2011-03-23 08:55:26,769 | DEBUG | pt.manager.ScriptEngineManager | Eval for template: /content/theme/corporate/template/widget/text.jsp [[ACTIVE] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'] []
2011-03-23 08:55:26,769 | DEBUG | pt.manager.ScriptEngineManager | Finding engine factory for key: jsp [[ACTIVE] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'] []
2011-03-23 08:55:26,769 | DEBUG | pt.manager.ScriptEngineManager | Trying factory cache [[ACTIVE] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'] []
2011-03-23 08:55:26,769 | DEBUG | pt.manager.ScriptEngineManager | Found factory in cache [[ACTIVE] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'] []
2011-03-23 08:55:26,769 | DEBUG | ui.web.script.engine.JSPEngine | Creating JSP output by dispatching to: /content/theme/corporate/template/widget/text.jsp [[ACTIVE] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'] []
Please point out what I'm doing wrong.
Thanks!
Eric