package org.jboss.tools.seam.pages.xml.model.handlers; import java.util.Properties; import org.jboss.tools.common.meta.action.impl.handlers.DefaultCreateHandler; import org.jboss.tools.common.model.XModelObject; import org.jboss.tools.common.model.util.XModelObjectLoaderUtil; import org.jboss.tools.seam.pages.xml.model.SeamPagesConstants; public class AddRuleHandler extends DefaultCreateHandler { public AddRuleHandler() {} protected XModelObject modifyCreatedObject(XModelObject o) { Properties p = extractProperties(data[0]); String kind = p.getProperty("kind"); String viewId = p.getProperty(SeamPagesConstants.ATTR_VIEW_ID); String entity = getChildEntity(kind); XModelObject c = XModelObjectLoaderUtil.createValidObject(o.getModel(), entity); c.setAttributeValue(SeamPagesConstants.ATTR_VIEW_ID, viewId); o.addChild(c); return o; } private String getChildEntity(String kind) { String entityKey = ("render".equals(kind)) ? "renderEntity" : "redirectEntity"; String entity = action.getProperty(entityKey); return entity; } }