/** {@inheritDoc} */ @Override public ActionForward execute( @SuppressWarnings("unused") ComponentContext context, @SuppressWarnings("unused") ActionMapping mapping, @SuppressWarnings("unused") ActionForm form, HttpServletRequest request, @SuppressWarnings("unused") HttpServletResponse response) throws Exception { HttpSession session = request.getSession(); Profile profile = SessionMethods.getProfile(session); PathQuery query = SessionMethods.getQuery(session); DisplayConstraintFactory factory = getFactory(session); if (session.getAttribute("newConstraintPath") != null) { // ADDING A NEW CONSTRAINT DisplayPath displayPath = (DisplayPath) session.getAttribute("newConstraintPath"); DisplayConstraint displayConstraint = factory.get(displayPath.getPath(), profile, query); request.setAttribute("dec", displayConstraint); session.removeAttribute("newConstraintPath"); saveToken(request); } else if (session.getAttribute("editingConstraint") != null) { // EDITING AN EXISTING CONSTRAINT PathConstraint con = (PathConstraint) session.getAttribute("editingConstraint"); DisplayConstraint displayConstraint; if (query instanceof TemplateQuery) { TemplateQuery template = (TemplateQuery) query; displayConstraint = factory.get(con, profile, template); } else { displayConstraint = factory.get(con, profile, query); } request.setAttribute("dec", displayConstraint); session.removeAttribute("editingConstraint"); if (session.getAttribute("editingTemplateConstraint") != null) { SessionMethods.moveToRequest("editingTemplateConstraint", request); } saveToken(request); } else if (session.getAttribute("joinStylePath") != null) { // ONLY EDITING JOIN STYLE String joinStylePathStr = (String) session.getAttribute("joinStylePath"); Path joinStylePath = query.makePath(joinStylePathStr); DisplayConstraint displayConstraint = factory.get(joinStylePath, profile, query); session.removeAttribute("joinStylePath"); if (query.getOuterMap().containsKey(joinStylePathStr)) { request.setAttribute("joinType", "outer"); } else { request.setAttribute("joinType", "inner"); } request.setAttribute("dec", displayConstraint); request.setAttribute("joinStyleOnly", "true"); saveToken(request); } return null; }