public class WidgetReplicatorTag extends TagSupport {
@Override
public int doEndTag() throws JspException {
ServletRequest req = this.pageContext.getRequest();
RequestContext reqCtx = (RequestContext) req.getAttribute(RequestContext.REQCTX);
try {
Widget currentShowlet = (Widget) reqCtx.getExtraParam(SystemConstants.EXTRAPAR_CURRENT_WIDGET);
String pageCode = currentShowlet.getConfig().getProperty("pageCodeParam");
IPageManager pageManager = (IPageManager) ApsWebApplicationUtils.getBean(SystemConstants.PAGE_MANAGER, this.pageContext);
IPage targetPage = pageManager.getPage(pageCode);
if (null != targetPage) {
String frameIdString = currentShowlet.getConfig().getProperty("frameIdParam");
int frameId = Integer.parseInt(frameIdString);
Widget[] showlets = targetPage.getWidgets();
if (showlets.length>=frameId) {
Widget targetShowlet = targetPage.getWidgets()[frameId];
if (null != targetShowlet) {
reqCtx.addExtraParam(SystemConstants.EXTRAPAR_CURRENT_WIDGET, targetShowlet);
WidgetType WidgetType = targetShowlet.getType();
if (WidgetType.isLogic()) {
WidgetType = WidgetType.getParentType();
}
String pluginCode = WidgetType.getPluginCode();