package jpaoletti.jpm.struts.actions; import jpaoletti.jpm.core.Entity; import jpaoletti.jpm.core.EntityContainer; import jpaoletti.jpm.core.PMException; import jpaoletti.jpm.struts.PMStrutsContext; /** * An ajax action to load a weak list. * * @author jpaoletti */ public class WeakListAction extends ActionSupport { @Override protected synchronized void doExecute(PMStrutsContext ctx) throws PMException { final String entityId = (String) ctx.getParameter("entityId"); final String weakEntityId = (String) ctx.getParameter("weakid"); final String field = (String) ctx.getParameter("field"); final EntityContainer weakContainer = ctx.getEntityContainer(weakEntityId); final Entity weak = weakContainer.getEntity(); final EntityContainer entityContainer = ctx.getEntityContainer(entityId); final Object instance = ctx.getEntityContainer(entityId).getEntity().getDataAccess().refresh(ctx, entityContainer.getSelected().getInstance()); final Object list = ctx.getPresentationManager().get(instance, entityContainer.getEntity().getFieldById(field).getProperty()); ctx.put("weakContainer", weakContainer); ctx.put("weak", weak); ctx.put("list", list); ctx.put("addInstanceId", (String) ctx.getParameter("addInstanceId")); ctx.put("woperation", weak.getOperations().getOperation("list")); success(ctx, "/WEB-INF/jsp/weaklist.jsp", false); } }