Author: scabanovich
Date: 2008-05-28 06:49:45 -0400 (Wed, 28 May 2008)
New Revision: 8396
Added:
trunk/seam/plugins/org.jboss.tools.seam.pages.xml/resources/meta/seam-pages-wizards.meta
trunk/seam/plugins/org.jboss.tools.seam.pages.xml/src/org/jboss/tools/seam/pages/xml/model/handlers/
trunk/seam/plugins/org.jboss.tools.seam.pages.xml/src/org/jboss/tools/seam/pages/xml/model/handlers/AddExceptionHandler.java
trunk/seam/plugins/org.jboss.tools.seam.pages.xml/src/org/jboss/tools/seam/pages/xml/model/handlers/AddRuleHandler.java
Modified:
trunk/seam/plugins/org.jboss.tools.seam.pages.xml/plugin.xml
trunk/seam/plugins/org.jboss.tools.seam.pages.xml/resources/meta/seam-pages.meta
Log:
Modified: trunk/seam/plugins/org.jboss.tools.seam.pages.xml/plugin.xml
===================================================================
--- trunk/seam/plugins/org.jboss.tools.seam.pages.xml/plugin.xml 2008-05-28 10:20:17 UTC
(rev 8395)
+++ trunk/seam/plugins/org.jboss.tools.seam.pages.xml/plugin.xml 2008-05-28 10:49:45 UTC
(rev 8396)
@@ -4,6 +4,7 @@
<extension point="org.jboss.tools.common.model.meta">
<meta path="meta/seam-pages.meta"/>
+ <meta path="meta/seam-pages-wizards.meta"/>
</extension>
<extension point="org.jboss.tools.common.model.keys">
@@ -50,6 +51,11 @@
class="org.jboss.tools.seam.pages.xml.model.impl.SeamPagesProcessImpl"/>
<xclass
id="org.jboss.tools.seam.pages.xml.model.impl.ReferenceObjectImpl"
class="org.jboss.tools.seam.pages.xml.model.impl.ReferenceObjectImpl"/>
+
+ <xclass id="org.jboss.tools.seam.pages.xml.model.handlers.AddRuleHandler"
+ class="org.jboss.tools.seam.pages.xml.model.handlers.AddRuleHandler"/>
+ <xclass
id="org.jboss.tools.seam.pages.xml.model.handlers.AddExceptionHandler"
+ class="org.jboss.tools.seam.pages.xml.model.handlers.AddExceptionHandler"/>
</extension>
<extension point="org.eclipse.wst.xml.core.catalogContributions">
Added:
trunk/seam/plugins/org.jboss.tools.seam.pages.xml/resources/meta/seam-pages-wizards.meta
===================================================================
---
trunk/seam/plugins/org.jboss.tools.seam.pages.xml/resources/meta/seam-pages-wizards.meta
(rev 0)
+++
trunk/seam/plugins/org.jboss.tools.seam.pages.xml/resources/meta/seam-pages-wizards.meta 2008-05-28
10:49:45 UTC (rev 8396)
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE XModelEntityGroup PUBLIC "-//Red Hat, Inc.//DTD Meta 1.0//EN"
+ "meta.dtd">
+<XModelEntityGroup>
+ <VERSION DEPENDS="Model:1.0" MODULE="Struts Editor"
VERSION="1.0"/>
+ <MAPPINGS/>
+ <ICONS/>
+ <GlobalActions kind="list"/>
+ <XModelEntity name="AddSeamPageException">
+ <XChildrenEntities/>
+ <XEntityRenderer>
+ <ICONS>
+ <ICON info="main.seam-pages.exception" type="main"/>
+ </ICONS>
+ </XEntityRenderer>
+ <XModelAttributes>
+ <XModelAttribute default="exception" loader="ElementType"
name="element type">
+ <Editor name="Uneditable"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="category=general" name="class"
xmlname="class">
+ <Constraint loader="QClassName"/>
+ <Editor name="AccessibleJava"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="category=general" name="view id"
xmlname="view-id">
+ <Constraint loader="Tree">
+ <value name="JSFPageTree"/>
+ <value name="extensions=jsp,html,htm,xhtml,xml"/>
+ <value name="linkAction=OpenPage"/>
+ </Constraint>
+ <Editor name="TreeChooser"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="category=general" name="error
code" xmlname="error-code"/>
+ </XModelAttributes>
+ <XActionItem kind="list">
+ <XActionItem kind="list" name="CreateActions"/>
+ <XActionItem ICON="action.empty" displayName="Create"
kind="list" name="EditActions"/>
+ <XActionItem ICON="action.copy" displayName="Copy"
kind="list" name="CopyActions">
+ <XActionItem BaseActionName="Copy" HandlerClassName="%Copy%"
+ ICON="action.copy" displayName="Copy" kind="action"
name="Copy"/>
+ <XActionItem BaseActionName="Cut" HandlerClassName="%Cut%"
+ ICON="action.cut" displayName="Cut" kind="action"
name="Cut"/>
+ <XActionItem BaseActionName="Paste"
HandlerClassName="%Paste%"
+ ICON="action.paste" displayName="Paste" kind="action"
name="Paste"/>
+ </XActionItem>
+ <XActionItem ICON="action.delete" displayName="Delete"
kind="list" name="DeleteActions">
+ <XActionItem BaseActionName="Delete"
HandlerClassName="%Delete%"
+ ICON="action.delete" displayName="Delete"
kind="action" name="Delete"/>
+ </XActionItem>
+ <XActionItem ICON="action.empty" kind="list"
name="Properties">
+ <XActionItem HandlerClassName="%Properties%"
ICON="action.empty"
+ displayName="Properties..." kind="action"
name="Properties"/>
+ </XActionItem>
+ <XActionItem displayName="move" kind="list"
name="MoveActions">
+ <XActionItem HIDE="always" HandlerClassName="%Move%"
+ ICON="action.move" displayName="Move" kind="action"
name="Move"/>
+ </XActionItem>
+ </XActionItem>
+ <XDependencies/>
+ </XModelEntity>
+ <XModelEntity name="AddSeamPageRule">
+ <XChildrenEntities/>
+ <XEntityRenderer>
+ <ICONS>
+ <ICON info="main.seam-pages.rule" type="main"/>
+ </ICONS>
+ </XEntityRenderer>
+ <XModelAttributes>
+ <XModelAttribute default="rule" loader="ElementType"
name="element type">
+ <Editor name="Uneditable"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="id=true;category=general"
+ name="if outcome" xmlname="if-outcome"/>
+ <XModelAttribute PROPERTIES="category=general" name="if"
xmlname="if"/>
+ <XModelAttribute default="redirect" name="kind">
+ <Constraint loader="List">
+ <value name="render"/>
+ <value name="redirect"/>
+ </Constraint>
+ <Editor name="RadioArray"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="category=general" name="view id"
xmlname="view-id">
+ <Constraint loader="Tree">
+ <value name="JSFPageTree"/>
+ <value name="extensions=jsp,html,htm,xhtml,xml"/>
+ </Constraint>
+ <Editor name="TreeChooser"/>
+ </XModelAttribute>
+ </XModelAttributes>
+ <XActionItem kind="list"/>
+ <XDependencies/>
+ </XModelEntity>
+</XModelEntityGroup>
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-05-28
10:20:17 UTC (rev 8395)
+++
trunk/seam/plugins/org.jboss.tools.seam.pages.xml/resources/meta/seam-pages.meta 2008-05-28
10:49:45 UTC (rev 8396)
@@ -33,6 +33,7 @@
<ICON name="data-source"
path="images/struts/data_source.gif"/>
<ICON name="exception"
path="images/struts/exception.gif"/>
<ICON name="file" path="images/jsf/jsf-config.gif"/>
+ <ICON name="message" path="images/webxml/message.gif"/>
<ICON name="navigation"
path="images/struts/action_mappings.gif"/>
<ICON name="page" path="images/struts/plug_in.gif"/>
<ICON name="pages"
path="images/struts/plug_in_folder.gif"/>
@@ -776,6 +777,25 @@
<AttributeData AttributeName="value"/>
</EntityData>
</XActionItem>
+ <XActionItem HandlerClassName="%Create%" ICON="action.empty"
+ PROPERTIES="validator.add=true" WizardClassName="%Default%"
+ displayName="Add Navigation..." kind="action"
name="AddNavigation">
+ <EntityData EntityName="SeamPageNavigation12">
+ <AttributeData AttributeName="from action"
Mandatory="no"/>
+ <AttributeData AttributeName="evaluate" Mandatory="no"/>
+ </EntityData>
+ </XActionItem>
+ <XActionItem
+
HandlerClassName="org.jboss.tools.seam.pages.xml.model.handlers.AddRuleHandler"
+ ICON="action.empty"
+
PROPERTIES="validator.add=true;entity=SeamPageNavigationRule12;renderEntity=SeamPageRender;redirectEntity=SeamPageRedirect12"
+ WizardClassName="%Default%" displayName="Add Navigation
Rule..."
+ kind="action" name="AddRule">
+ <EntityData EntityName="AddSeamPageRule">
+ <AttributeData AttributeName="kind" Mandatory="no"/>
+ <AttributeData AttributeName="view id"/>
+ </EntityData>
+ </XActionItem>
</XActionItem>
<XActionItem ICON="action.empty" displayName="Create"
kind="list" name="EditActions"/>
<XActionItem ICON="action.copy" displayName="Copy"
kind="list" name="CopyActions">
@@ -825,7 +845,7 @@
</ICONS>
</XEntityRenderer>
<XModelAttributes>
- <XModelAttribute default="component" loader="ElementType"
name="element type">
+ <XModelAttribute default="page" loader="ElementType"
name="element type">
<Editor name="Uneditable"/>
</XModelAttribute>
<XModelAttributeReference
@@ -854,6 +874,25 @@
<AttributeData AttributeName="value"/>
</EntityData>
</XActionItem>
+ <XActionItem HandlerClassName="%Create%" ICON="action.empty"
+ PROPERTIES="validator.add=true" WizardClassName="%Default%"
+ displayName="Add Navigation..." kind="action"
name="AddNavigation">
+ <EntityData EntityName="SeamPageNavigation20">
+ <AttributeData AttributeName="from action"
Mandatory="no"/>
+ <AttributeData AttributeName="evaluate" Mandatory="no"/>
+ </EntityData>
+ </XActionItem>
+ <XActionItem
+
HandlerClassName="org.jboss.tools.seam.pages.xml.model.handlers.AddRuleHandler"
+ ICON="action.empty"
+
PROPERTIES="validator.add=true;entity=SeamPageNavigationRule20;renderEntity=SeamPageRender;redirectEntity=SeamPageRedirect20"
+ WizardClassName="%Default%" displayName="Add Navigation
Rule..."
+ kind="action" name="AddRule">
+ <EntityData EntityName="AddSeamPageRule">
+ <AttributeData AttributeName="kind" Mandatory="no"/>
+ <AttributeData AttributeName="view id"/>
+ </EntityData>
+ </XActionItem>
</XActionItem>
<XActionItem ICON="action.empty" displayName="Create"
kind="list" name="EditActions"/>
<XActionItem ICON="action.copy" displayName="Copy"
kind="list" name="CopyActions">
@@ -1262,7 +1301,7 @@
</XModelAttribute>
<XModelAttribute PROPERTIES="id=true;category=general"
name="class" xmlname="class">
<Constraint loader="QClassName"/>
- <Editor name="AccessibleJava2"/>
+ <Editor name="AccessibleJava"/>
</XModelAttribute>
<XModelAttribute TRIM="no" name="comment"
visibility="false" xmlname="#comment">
<Editor name="Note"/>
@@ -1313,7 +1352,7 @@
</XModelAttribute>
<XModelAttribute PROPERTIES="id=true;category=general"
name="class" xmlname="class">
<Constraint loader="QClassName"/>
- <Editor name="AccessibleJava2"/>
+ <Editor name="AccessibleJava"/>
</XModelAttribute>
<XModelAttribute TRIM="no" name="comment"
visibility="false" xmlname="#comment">
<Editor name="Note"/>
@@ -1418,12 +1457,15 @@
<XActionItem kind="list">
<XActionItem ICON="action.empty" displayName="New"
group="1"
kind="list" name="CreateActions">
- <XActionItem HandlerClassName="%Create%"
+ <XActionItem
+
HandlerClassName="org.jboss.tools.seam.pages.xml.model.handlers.AddExceptionHandler"
ICON="action.new.struts.webapp.res_ref"
- PROPERTIES="validator.add=true" WizardClassName="%Default%"
- displayName="Exception..." kind="action"
name="AddException">
- <EntityData EntityName="SeamPageException12">
+
PROPERTIES="validator.add=true;entity=SeamPageException12;childEntity=SeamPageRedirect12"
+ WizardClassName="%Default%"
+ displayName="Exception With Redirect..." kind="action"
name="AddException">
+ <EntityData EntityName="AddSeamPageException">
<AttributeData AttributeName="class"/>
+ <AttributeData AttributeName="view id"/>
</EntityData>
</XActionItem>
</XActionItem>
@@ -1468,12 +1510,15 @@
<XActionItem kind="list">
<XActionItem ICON="action.empty" displayName="New"
group="1"
kind="list" name="CreateActions">
- <XActionItem HandlerClassName="%Create%"
+ <XActionItem
+
HandlerClassName="org.jboss.tools.seam.pages.xml.model.handlers.AddExceptionHandler"
ICON="action.new.struts.webapp.res_ref"
- PROPERTIES="validator.add=true" WizardClassName="%Default%"
- displayName="Exception..." kind="action"
name="AddException">
- <EntityData EntityName="SeamPageException20">
+
PROPERTIES="validator.add=true;entity=SeamPageException20;childEntity=SeamPageRedirect20"
+ WizardClassName="%Default%"
+ displayName="Exception With Redirect..." kind="action"
name="AddException">
+ <EntityData EntityName="AddSeamPageException">
<AttributeData AttributeName="class"/>
+ <AttributeData AttributeName="view id"/>
</EntityData>
</XActionItem>
</XActionItem>
@@ -1726,11 +1771,11 @@
<XChildrenEntities/>
<XEntityRenderer>
<ICONS>
- <ICON info="main.seam.component" type="main"/>
+ <ICON info="main.seam-pages.message" type="main"/>
</ICONS>
</XEntityRenderer>
<XModelAttributes>
- <XModelAttribute default="conversation" loader="ElementType"
name="element type">
+ <XModelAttribute default="message" loader="ElementType"
name="element type">
<Editor name="Uneditable"/>
</XModelAttribute>
<XModelAttribute PROPERTIES="id=true;category=general"
name="message" xmlname="#text"/>
@@ -1802,10 +1847,14 @@
</XModelAttributes>
<XActionItem kind="list">
<XActionItem kind="list" name="CreateActions">
- <XActionItem HandlerClassName="%Create%" ICON="action.empty"
- PROPERTIES="validator.add=true" WizardClassName="%Default%"
- displayName="Add Rule..." kind="action"
name="AddRule">
- <EntityData EntityName="SeamPageRule12">
+ <XActionItem
+
HandlerClassName="org.jboss.tools.seam.pages.xml.model.handlers.AddRuleHandler"
+ ICON="action.empty"
+
PROPERTIES="validator.add=true;entity=SeamPageRule12;renderEntity=SeamPageRender;redirectEntity=SeamPageRedirect12"
+ WizardClassName="%Default%" displayName="Add Rule..."
kind="action" name="AddRule">
+ <EntityData EntityName="AddSeamPageRule">
+ <AttributeData AttributeName="kind" Mandatory="no"/>
+ <AttributeData AttributeName="view id"/>
<AttributeData AttributeName="if outcome"
Mandatory="no"/>
<AttributeData AttributeName="if" Mandatory="no"/>
</EntityData>
@@ -1861,10 +1910,14 @@
</XModelAttributes>
<XActionItem kind="list">
<XActionItem kind="list" name="CreateActions">
- <XActionItem HandlerClassName="%Create%" ICON="action.empty"
- PROPERTIES="validator.add=true" WizardClassName="%Default%"
- displayName="Add Rule..." kind="action"
name="AddRule">
- <EntityData EntityName="SeamPageRule20">
+ <XActionItem
+
HandlerClassName="org.jboss.tools.seam.pages.xml.model.handlers.AddRuleHandler"
+ ICON="action.empty"
+
PROPERTIES="validator.add=true;entity=SeamPageRule20;renderEntity=SeamPageRender;redirectEntity=SeamPageRedirect20"
+ WizardClassName="%Default%" displayName="Add Rule..."
kind="action" name="AddRule">
+ <EntityData EntityName="AddSeamPageRule">
+ <AttributeData AttributeName="kind" Mandatory="no"/>
+ <AttributeData AttributeName="view id"/>
<AttributeData AttributeName="if outcome"
Mandatory="no"/>
<AttributeData AttributeName="if" Mandatory="no"/>
</EntityData>
Added:
trunk/seam/plugins/org.jboss.tools.seam.pages.xml/src/org/jboss/tools/seam/pages/xml/model/handlers/AddExceptionHandler.java
===================================================================
---
trunk/seam/plugins/org.jboss.tools.seam.pages.xml/src/org/jboss/tools/seam/pages/xml/model/handlers/AddExceptionHandler.java
(rev 0)
+++
trunk/seam/plugins/org.jboss.tools.seam.pages.xml/src/org/jboss/tools/seam/pages/xml/model/handlers/AddExceptionHandler.java 2008-05-28
10:49:45 UTC (rev 8396)
@@ -0,0 +1,21 @@
+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;
+
+public class AddExceptionHandler extends DefaultCreateHandler {
+
+ public AddExceptionHandler() {}
+
+ protected XModelObject modifyCreatedObject(XModelObject o) {
+ Properties p = extractProperties(data[0]);
+ String childEntity = action.getProperty("childEntity");
+ XModelObject c = XModelObjectLoaderUtil.createValidObject(o.getModel(), childEntity,
p);
+ o.addChild(c);
+ return o;
+ }
+
+}
Added:
trunk/seam/plugins/org.jboss.tools.seam.pages.xml/src/org/jboss/tools/seam/pages/xml/model/handlers/AddRuleHandler.java
===================================================================
---
trunk/seam/plugins/org.jboss.tools.seam.pages.xml/src/org/jboss/tools/seam/pages/xml/model/handlers/AddRuleHandler.java
(rev 0)
+++
trunk/seam/plugins/org.jboss.tools.seam.pages.xml/src/org/jboss/tools/seam/pages/xml/model/handlers/AddRuleHandler.java 2008-05-28
10:49:45 UTC (rev 8396)
@@ -0,0 +1,31 @@
+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;
+ }
+
+}