Author: scabanovich
Date: 2008-07-04 07:20:09 -0400 (Fri, 04 Jul 2008)
New Revision: 9072
Modified:
trunk/seam/plugins/org.jboss.tools.seam.pages.xml/resources/meta/seam-pages.meta
trunk/seam/plugins/org.jboss.tools.seam.pages.xml/src/org/jboss/tools/seam/pages/xml/model/handlers/DiagramAdopt.java
trunk/seam/plugins/org.jboss.tools.seam.pages.xml/src/org/jboss/tools/seam/pages/xml/model/handlers/PageAdopt.java
trunk/seam/plugins/org.jboss.tools.seam.pages.xml/src/org/jboss/tools/seam/pages/xml/model/helpers/SeamPagesDiagramHelper.java
trunk/seam/plugins/org.jboss.tools.seam.pages.xml/src/org/jboss/tools/seam/pages/xml/model/helpers/SeamPagesPageRefUpdateManager.java
Log:
JBIDE-1189
Modified:
trunk/seam/plugins/org.jboss.tools.seam.pages.xml/resources/meta/seam-pages.meta
===================================================================
---
trunk/seam/plugins/org.jboss.tools.seam.pages.xml/resources/meta/seam-pages.meta 2008-07-04
11:19:52 UTC (rev 9071)
+++
trunk/seam/plugins/org.jboss.tools.seam.pages.xml/resources/meta/seam-pages.meta 2008-07-04
11:20:09 UTC (rev 9072)
@@ -2819,7 +2819,7 @@
<XActionItem ICON="action.empty" displayName="New"
kind="list" name="CreateActions">
<XActionItem HandlerClassName="%SpecialWizard%"
ICON="action.empty"
PROPERTIES="support=org.jboss.tools.seam.pages.xml.model.handlers.AddViewSupport"
- displayName="New Page..." kind="action"
name="AddPage">
+ displayName="New Page (wizard)..." kind="action"
name="AddPageWizard">
<EntityData EntityName="SeamPagesAddViewWizard">
<AttributeData AttributeName="view id" Mandatory="no"/>
<AttributeData AttributeName="create file"
Mandatory="no"/>
@@ -2827,10 +2827,18 @@
</EntityData>
</XActionItem>
<XActionItem
+
HandlerClassName="org.jboss.tools.seam.ui.pages.editor.commands.AddPageOnDiagramHandler"
+ ICON="action.empty"
+ displayName="New Page (diagram)..." kind="action"
name="AddPage"/>
+ <XActionItem
HandlerClassName="org.jboss.tools.jsf.model.handlers.JSFProcessRegirectHandler"
ICON="action.empty"
PROPERTIES="actionpath=CreateActions/AddException"
- displayName="New Exception..." kind="action"
name="AddException"/>
+ displayName="New Exception (wizard)..." kind="action"
name="AddExceptionWizard"/>
+ <XActionItem
+
HandlerClassName="org.jboss.tools.seam.ui.pages.editor.commands.AddExceptionOnDiagramHandler"
+ ICON="action.empty"
+ displayName="New Exception (diagram)..." kind="action"
name="AddException"/>
</XActionItem>
<XActionItem HIDE="always"
HandlerClassName="org.jboss.tools.jsf.model.handlers.CreateCommentHandler"
@@ -2941,6 +2949,11 @@
<AttributeData AttributeName="comment"/>
</EntityData>
</XActionItem>
+ <XActionItem
+
HandlerClassName="org.jboss.tools.jsf.model.handlers.JSFItemRegirectHandler"
+ ICON="action.new.jsf.case"
+ PROPERTIES="actionpath=CreateActions/AddParam"
+ WizardClassName="%Default%" displayName="Param..."
kind="action" name="CreateParam"/>
</XActionItem>
<XActionItem HIDE="disabled"
HandlerClassName="org.jboss.tools.seam.pages.xml.model.handlers.OpenPageHandler"
Modified:
trunk/seam/plugins/org.jboss.tools.seam.pages.xml/src/org/jboss/tools/seam/pages/xml/model/handlers/DiagramAdopt.java
===================================================================
---
trunk/seam/plugins/org.jboss.tools.seam.pages.xml/src/org/jboss/tools/seam/pages/xml/model/handlers/DiagramAdopt.java 2008-07-04
11:19:52 UTC (rev 9071)
+++
trunk/seam/plugins/org.jboss.tools.seam.pages.xml/src/org/jboss/tools/seam/pages/xml/model/handlers/DiagramAdopt.java 2008-07-04
11:20:09 UTC (rev 9072)
@@ -110,7 +110,7 @@
p.put("sample", object);
String type = object.getAttributeValue(ATTR_TYPE);
if(TYPE_PAGE.equals(type)) {
- XActionInvoker.invoke("CreateActions.AddPage", target, p);
+ XActionInvoker.invoke("CreateActions.AddPageWizard", target, p);
} else {
//TODO
}
Modified:
trunk/seam/plugins/org.jboss.tools.seam.pages.xml/src/org/jboss/tools/seam/pages/xml/model/handlers/PageAdopt.java
===================================================================
---
trunk/seam/plugins/org.jboss.tools.seam.pages.xml/src/org/jboss/tools/seam/pages/xml/model/handlers/PageAdopt.java 2008-07-04
11:19:52 UTC (rev 9071)
+++
trunk/seam/plugins/org.jboss.tools.seam.pages.xml/src/org/jboss/tools/seam/pages/xml/model/handlers/PageAdopt.java 2008-07-04
11:20:09 UTC (rev 9072)
@@ -105,9 +105,16 @@
protected void adoptSeamPage(XModelObject source, XModelObject target, Properties p)
throws XModelException {
String path = target.getAttributeValue(ATTR_PATH);
- String n = path;
- if(n.lastIndexOf('.') > 0) n = n.substring(0, n.lastIndexOf('.'));
- if(n.lastIndexOf('/') >= 0) n = n.substring(n.lastIndexOf('/') +
1);
+ if(source != null &&
source.getModelEntity().getName().startsWith(ENT_EXCEPTION)) {
+ XModelObject redirect = source.getChildByPath("target");
+ if(redirect != null) {
+ redirect.getModel().editObjectAttribute(redirect, ATTR_VIEW_ID, path);
+ return;
+ }
+ }
+// String n = path;
+// if(n.lastIndexOf('.') > 0) n = n.substring(0,
n.lastIndexOf('.'));
+// if(n.lastIndexOf('/') >= 0) n = n.substring(n.lastIndexOf('/') +
1);
String suffix = DiagramAdopt.getPageSuffix(source.getModelEntity().getName());
XModelObject cs = source.getModel().createModelObject(ENT_NAVIGATION_RULE + suffix,
null);
XModelObject redirect =
source.getModel().createModelObject("SeamPageRedirect" + suffix, null);
Modified:
trunk/seam/plugins/org.jboss.tools.seam.pages.xml/src/org/jboss/tools/seam/pages/xml/model/helpers/SeamPagesDiagramHelper.java
===================================================================
---
trunk/seam/plugins/org.jboss.tools.seam.pages.xml/src/org/jboss/tools/seam/pages/xml/model/helpers/SeamPagesDiagramHelper.java 2008-07-04
11:19:52 UTC (rev 9071)
+++
trunk/seam/plugins/org.jboss.tools.seam.pages.xml/src/org/jboss/tools/seam/pages/xml/model/helpers/SeamPagesDiagramHelper.java 2008-07-04
11:20:09 UTC (rev 9072)
@@ -87,11 +87,11 @@
String entity = ns[j].getModelEntity().getName();
if(!entity.startsWith(ENT_NAVIGATION)) continue;
if(entity.startsWith(ENT_NAVIGATION_RULE)) {
- addTarget(ns[j]);
+ addTarget(ns[j], true);
} else {
XModelObject[] rs = ns[j].getChildren();
for (int k = 0; k < rs.length; k++) {
- addTarget(rs[k]);
+ addTarget(rs[k], true);
}
}
}
@@ -103,7 +103,7 @@
XModelObject g = findOrCreateItem(code, code, TYPE_EXCEPTION);
((ReferenceObjectImpl)g).setReference(sourceExceptions[i]);
exceptionItems.put(code, g);
- addTarget(sourceExceptions[i]);
+ addTarget(sourceExceptions[i], false);
}
Iterator<String> it = pageItems.keySet().iterator();
@@ -118,11 +118,12 @@
updatePages();
}
- private void addTarget(XModelObject rule) {
+ private void addTarget(XModelObject rule, boolean addEmpty) {
XModelObject target = rule.getChildByPath("target");
if(target == null) return;
String tvi = target.getAttributeValue(ATTR_VIEW_ID);
if(tvi == null) return;
+ if(!addEmpty && tvi.length() == 0) return;
targets.put(toNavigationRulePathPart(tvi), getTemplate());
}
@@ -254,7 +255,13 @@
item.setAttributeValue(ATTR_ID, exc.getPathPart());
item.setAttributeValue(ATTR_PATH, exc.getAttributeValue("class"));
XModelObject t = getTargetChild(exc);
- XModelObject[] cs = t == null ? new XModelObject[0] : new XModelObject[]{t};
+ XModelObject[] cs = t == null ? new XModelObject[0] : new XModelObject[]{t};
+ if(cs.length == 1) {
+ String path = t.getAttributeValue(ATTR_VIEW_ID);
+ if(path == null || path.length() == 0) {
+ cs = new XModelObject[0];
+ }
+ }
updateOutputs(item, cs);
}
Modified:
trunk/seam/plugins/org.jboss.tools.seam.pages.xml/src/org/jboss/tools/seam/pages/xml/model/helpers/SeamPagesPageRefUpdateManager.java
===================================================================
---
trunk/seam/plugins/org.jboss.tools.seam.pages.xml/src/org/jboss/tools/seam/pages/xml/model/helpers/SeamPagesPageRefUpdateManager.java 2008-07-04
11:19:52 UTC (rev 9071)
+++
trunk/seam/plugins/org.jboss.tools.seam.pages.xml/src/org/jboss/tools/seam/pages/xml/model/helpers/SeamPagesPageRefUpdateManager.java 2008-07-04
11:20:09 UTC (rev 9072)
@@ -20,7 +20,7 @@
public class SeamPagesPageRefUpdateManager implements XModelTreeListener, Runnable,
SeamPagesConstants {
public static SeamPagesPageRefUpdateManager getInstance(XModel model) {
- SeamPagesPageRefUpdateManager instance =
(SeamPagesPageRefUpdateManager)model.getManager("JSFPageUpdateManager");
+ SeamPagesPageRefUpdateManager instance =
(SeamPagesPageRefUpdateManager)model.getManager("SeamPagesPageRefUpdateManager");
if(instance == null) {
instance = new SeamPagesPageRefUpdateManager();
instance.model = model;