Author: scabanovich
Date: 2008-05-28 08:35:07 -0400 (Wed, 28 May 2008)
New Revision: 8401
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/SeamPagesEntityRecognizer.java
Log:
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
12:15:58 UTC (rev 8400)
+++
trunk/seam/plugins/org.jboss.tools.seam.pages.xml/resources/meta/seam-pages.meta 2008-05-28
12:35:07 UTC (rev 8401)
@@ -143,26 +143,7 @@
<XActionItem HIDE="always" HandlerClassName="%SaveFile%"
ICON="action.save" displayName="Save" kind="action"
name="Save"/>
</XActionItem>
- <XActionItem ICON="action.empty" displayName="New"
group="1"
- kind="list" name="CreateActions">
- <XActionItem HandlerClassName="%Create%" ICON="action.empty"
- PROPERTIES="validator.add=true" WizardClassName="%Default%"
- displayName="Add Param..." kind="action"
name="AddParam">
- <EntityData EntityName="SeamPageParam12">
- <AttributeData AttributeName="name"/>
- <AttributeData AttributeName="value" Mandatory="no"/>
- </EntityData>
- </XActionItem>
- <XActionItem HandlerClassName="%Create%" ICON="action.empty"
- PROPERTIES="validator.add=true" WizardClassName="%Default%"
- displayName="Add In..." kind="action"
name="AddIn">
- <EntityData EntityName="SeamPageIn">
- <AttributeData AttributeName="name"/>
- <AttributeData AttributeName="scope" Mandatory="no"/>
- <AttributeData AttributeName="value"/>
- </EntityData>
- </XActionItem>
- </XActionItem>
+ <XActionItemReference entity="SeamPage12" name="CreateActions"
path="CreateActions"/>
<XActionItem ICON="action.copy" displayName="Copy"
kind="list" name="CopyActions">
<XActionItem BaseActionName="Copy" HandlerClassName="%Copy%"
ICON="action.copy" displayName="Copy" kind="action"
name="Copy"/>
@@ -195,14 +176,9 @@
<XEntityRenderer/>
<XModelAttributes/>
<XActionItem kind="list">
- <XActionItem displayName="New" group="1" kind="list"
name="CreateActions"/>
- <XActionItem ICON="action.empty" kind="list"
name="Properties">
- <XActionItem HandlerClassName="%Properties%"
ICON="action.empty"
- displayName="Properties..." kind="action"
name="Properties"/>
- </XActionItem>
- <XActionItem kind="list" name="VerifyActions">
- <XActionItem kind="list" name="StaticActions"/>
- </XActionItem>
+ <XActionItemReference entity="SeamPage12" name="CreateActions"
path="CreateActions"/>
+ <XActionItemReference entity="SeamPage12" name="Properties"
path="Properties"/>
+ <XActionItemReference entity="SeamPage12" name="VerifyActions"
path="VerifyActions"/>
</XActionItem>
<XDependencies/>
</XModelEntity>
@@ -306,17 +282,7 @@
<XActionItem HIDE="always" HandlerClassName="%SaveFile%"
ICON="action.save" displayName="Save" kind="action"
name="Save"/>
</XActionItem>
- <XActionItem ICON="action.empty" displayName="New"
group="1"
- kind="list" name="CreateActions">
- <XActionItem HandlerClassName="%Create%" ICON="action.empty"
- PROPERTIES="validator.add=true" WizardClassName="%Default%"
- displayName="Add Param..." kind="action"
name="AddParam">
- <EntityData EntityName="SeamPageParam20">
- <AttributeData AttributeName="name"/>
- <AttributeData AttributeName="value" Mandatory="no"/>
- </EntityData>
- </XActionItem>
- </XActionItem>
+ <XActionItemReference entity="SeamPage20" name="CreateActions"
path="CreateActions"/>
<XActionItem ICON="action.copy" displayName="Copy"
kind="list" name="CopyActions">
<XActionItem BaseActionName="Copy" HandlerClassName="%Copy%"
ICON="action.copy" displayName="Copy" kind="action"
name="Copy"/>
@@ -349,14 +315,9 @@
<XEntityRenderer/>
<XModelAttributes/>
<XActionItem kind="list">
- <XActionItem displayName="New" group="1" kind="list"
name="CreateActions"/>
- <XActionItem ICON="action.empty" kind="list"
name="Properties">
- <XActionItem HandlerClassName="%Properties%"
ICON="action.empty"
- displayName="Properties..." kind="action"
name="Properties"/>
- </XActionItem>
- <XActionItem kind="list" name="VerifyActions">
- <XActionItem kind="list" name="StaticActions"/>
- </XActionItem>
+ <XActionItemReference entity="SeamPage12" name="CreateActions"
path="CreateActions"/>
+ <XActionItemReference entity="SeamPage12" name="Properties"
path="Properties"/>
+ <XActionItemReference entity="SeamPage12" name="VerifyActions"
path="VerifyActions"/>
</XActionItem>
<XDependencies/>
</XModelEntity>
@@ -512,14 +473,9 @@
<XEntityRenderer/>
<XModelAttributes/>
<XActionItem kind="list">
- <XActionItem displayName="New" kind="list"
name="CreateActions"/>
- <XActionItem ICON="action.empty" kind="list"
name="Properties">
- <XActionItem HIDE="always" HandlerClassName="%Properties%"
- ICON="action.empty" displayName="Properties..."
kind="action" name="Properties"/>
- </XActionItem>
- <XActionItem kind="list" name="VerifyActions">
- <XActionItem kind="list" name="StaticActions"/>
- </XActionItem>
+ <XActionItemReference entity="FileSeamPages12"
name="CreateActions" path="CreateActions"/>
+ <XActionItemReference entity="FileSeamPages12"
name="Properties" path="Properties"/>
+ <XActionItemReference entity="FileSeamPages12"
name="VerifyActions" path="VerifyActions"/>
</XActionItem>
<XDependencies/>
</XModelEntity>
@@ -665,14 +621,9 @@
<XEntityRenderer/>
<XModelAttributes/>
<XActionItem kind="list">
- <XActionItem displayName="New" kind="list"
name="CreateActions"/>
- <XActionItem ICON="action.empty" kind="list"
name="Properties">
- <XActionItem HIDE="always" HandlerClassName="%Properties%"
- ICON="action.empty" displayName="Properties..."
kind="action" name="Properties"/>
- </XActionItem>
- <XActionItem kind="list" name="VerifyActions">
- <XActionItem kind="list" name="StaticActions"/>
- </XActionItem>
+ <XActionItemReference entity="FileSeamPages20"
name="CreateActions" path="CreateActions"/>
+ <XActionItemReference entity="FileSeamPages20"
name="Properties" path="Properties"/>
+ <XActionItemReference entity="FileSeamPages20"
name="VerifyActions" path="VerifyActions"/>
</XActionItem>
<XDependencies/>
</XModelEntity>
@@ -759,10 +710,10 @@
</XModelAttribute>
</XModelAttributes>
<XActionItem kind="list">
- <XActionItem kind="list" name="CreateActions">
+ <XActionItem displayName="New" group="1" kind="list"
name="CreateActions">
<XActionItem HandlerClassName="%Create%" ICON="action.empty"
PROPERTIES="validator.add=true" WizardClassName="%Default%"
- displayName="Add Param..." kind="action"
name="AddParam">
+ displayName="Param..." kind="action"
name="AddParam">
<EntityData EntityName="SeamPageParam12">
<AttributeData AttributeName="name"/>
<AttributeData AttributeName="value" Mandatory="no"/>
@@ -770,7 +721,7 @@
</XActionItem>
<XActionItem HandlerClassName="%Create%" ICON="action.empty"
PROPERTIES="validator.add=true" WizardClassName="%Default%"
- displayName="Add In..." kind="action"
name="AddIn">
+ displayName="In..." kind="action" name="AddIn">
<EntityData EntityName="SeamPageIn">
<AttributeData AttributeName="name"/>
<AttributeData AttributeName="scope" Mandatory="no"/>
@@ -779,7 +730,15 @@
</XActionItem>
<XActionItem HandlerClassName="%Create%" ICON="action.empty"
PROPERTIES="validator.add=true" WizardClassName="%Default%"
- displayName="Add Navigation..." kind="action"
name="AddNavigation">
+ displayName="Action..." kind="action"
name="AddAction">
+ <EntityData EntityName="SeamPageAction">
+ <AttributeData AttributeName="execute"/>
+ <AttributeData AttributeName="if" Mandatory="no"/>
+ </EntityData>
+ </XActionItem>
+ <XActionItem HandlerClassName="%Create%" ICON="action.empty"
+ PROPERTIES="validator.add=true" WizardClassName="%Default%"
+ displayName="Navigation..." kind="action"
name="AddNavigation">
<EntityData EntityName="SeamPageNavigation12">
<AttributeData AttributeName="from action"
Mandatory="no"/>
<AttributeData AttributeName="evaluate" Mandatory="no"/>
@@ -789,7 +748,7 @@
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..."
+ WizardClassName="%Default%" displayName="Navigation Rule..."
kind="action" name="AddRule">
<EntityData EntityName="AddSeamPageRule">
<AttributeData AttributeName="kind" Mandatory="no"/>
@@ -856,10 +815,10 @@
</XModelAttribute>
</XModelAttributes>
<XActionItem kind="list">
- <XActionItem kind="list" name="CreateActions">
+ <XActionItem displayName="New" group="1" kind="list"
name="CreateActions">
<XActionItem HandlerClassName="%Create%" ICON="action.empty"
PROPERTIES="validator.add=true" WizardClassName="%Default%"
- displayName="Add Param..." kind="action"
name="AddParam">
+ displayName="Param..." kind="action"
name="AddParam">
<EntityData EntityName="SeamPageParam20">
<AttributeData AttributeName="name"/>
<AttributeData AttributeName="value" Mandatory="no"/>
@@ -867,7 +826,7 @@
</XActionItem>
<XActionItem HandlerClassName="%Create%" ICON="action.empty"
PROPERTIES="validator.add=true" WizardClassName="%Default%"
- displayName="Add In..." kind="action"
name="AddIn">
+ displayName="In..." kind="action" name="AddIn">
<EntityData EntityName="SeamPageIn">
<AttributeData AttributeName="name"/>
<AttributeData AttributeName="scope" Mandatory="no"/>
@@ -876,7 +835,15 @@
</XActionItem>
<XActionItem HandlerClassName="%Create%" ICON="action.empty"
PROPERTIES="validator.add=true" WizardClassName="%Default%"
- displayName="Add Navigation..." kind="action"
name="AddNavigation">
+ displayName="Action..." kind="action"
name="AddAction">
+ <EntityData EntityName="SeamPageAction">
+ <AttributeData AttributeName="execute"/>
+ <AttributeData AttributeName="if" Mandatory="no"/>
+ </EntityData>
+ </XActionItem>
+ <XActionItem HandlerClassName="%Create%" ICON="action.empty"
+ PROPERTIES="validator.add=true" WizardClassName="%Default%"
+ displayName="Navigation..." kind="action"
name="AddNavigation">
<EntityData EntityName="SeamPageNavigation20">
<AttributeData AttributeName="from action"
Mandatory="no"/>
<AttributeData AttributeName="evaluate" Mandatory="no"/>
@@ -886,7 +853,7 @@
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..."
+ WizardClassName="%Default%" displayName="Navigation Rule..."
kind="action" name="AddRule">
<EntityData EntityName="AddSeamPageRule">
<AttributeData AttributeName="kind" Mandatory="no"/>
@@ -2476,7 +2443,7 @@
displayName="Add Message..." kind="action"
name="AddMessage">
<EntityData EntityName="SeamPageMessage">
<AttributeData AttributeName="message"/>
- <AttributeData AttributeName="severety" Mandatory="no"/>
+ <AttributeData AttributeName="severity" Mandatory="no"/>
</EntityData>
</XActionItem>
</XActionItem>
Modified:
trunk/seam/plugins/org.jboss.tools.seam.pages.xml/src/org/jboss/tools/seam/pages/xml/model/SeamPagesEntityRecognizer.java
===================================================================
---
trunk/seam/plugins/org.jboss.tools.seam.pages.xml/src/org/jboss/tools/seam/pages/xml/model/SeamPagesEntityRecognizer.java 2008-05-28
12:15:58 UTC (rev 8400)
+++
trunk/seam/plugins/org.jboss.tools.seam.pages.xml/src/org/jboss/tools/seam/pages/xml/model/SeamPagesEntityRecognizer.java 2008-05-28
12:35:07 UTC (rev 8401)
@@ -31,57 +31,40 @@
public String getEntityName(String ext, String body) {
if(body == null) return null;
- if(body.indexOf(PUBLIC_ID_12) >= 0) {
- if(body.indexOf("<page") > 0 &&
body.indexOf("<pages") < 0) return ENT_FILE_SEAM_PAGE_12;
- return ENT_FILE_SEAM_PAGES_12;
- }
- if(!isPagesSchema(body)) {
- return null;
- }
-
- int i = body.indexOf("xsi:schemaLocation"); //$NON-NLS-1$
- if(i < 0) return null;
- int j = body.indexOf("\"", i); //$NON-NLS-1$
- if(j < 0) return null;
- int k = body.indexOf("\"", j + 1); //$NON-NLS-1$
- if(k < 0) return null;
- String schemaLocation = body.substring(j + 1, k);
- boolean isSinglePage = isSinglePage(body);
-
- int i20 = schemaLocation.indexOf("2.0"); //$NON-NLS-1$
- if(i20 >= 0) {
- if(isSinglePage) return ENT_FILE_SEAM_PAGE_20;
- if(isMultiPage(body)) return ENT_FILE_SEAM_PAGES_20;
- }
-
- return null;
+ Parser p = new Parser(body);
+ if(!p.recognized) {
+ return null;
+ } else if(p.is12) {
+ return p.isSingle ? ENT_FILE_SEAM_PAGE_12 : ENT_FILE_SEAM_PAGES_12;
+ } else {
+ return p.isSingle ? ENT_FILE_SEAM_PAGE_20 : ENT_FILE_SEAM_PAGES_20;
+ }
}
-
- private boolean isPagesSchema(String body) {
- int i = body.indexOf("<pages"); //$NON-NLS-1$
- if(i < 0) return false;
- int j = body.indexOf(">", i); //$NON-NLS-1$
- if(j < 0) return false;
- String s = body.substring(i, j);
- return
s.indexOf("\"http://jboss.com/products/seam/pages\"")
> 0; //$NON-NLS-1$
- }
-
- private boolean isMultiPage(String body) {
- int i = body.indexOf("<pages"); //$NON-NLS-1$
- if(i < 0) return false;
- int j = body.indexOf(">", i); //$NON-NLS-1$
- if(j < 0) return false;
- String s = body.substring(i, j);
- return
s.indexOf("\"http://jboss.com/products/seam/pages\"")
> 0; //$NON-NLS-1$
- }
- private boolean isSinglePage(String body) {
- int i = body.indexOf("<page"); //$NON-NLS-1$
- int is = body.indexOf("<pages"); //$NON-NLS-1$
- if(i < 0 || is >= 0) return false;
- int j = body.indexOf(">", i); //$NON-NLS-1$
- if(j < 0) return false;
- String s = body.substring(i, j);
- return
s.indexOf("\"http://jboss.com/products/seam/pages\"")
> 0; //$NON-NLS-1$
+ class Parser {
+ boolean recognized = false;
+ boolean is12 = false;
+ boolean isSingle = false;
+
+ Parser(String body) {
+ int i = body.indexOf("<page"); //$NON-NLS-1$
+ if(i < 0) return;
+ int i2 = body.indexOf("<pages"); //$NON-NLS-1$
+ if(i2 < 0) {
+ isSingle = true;
+ }
+ if(body.indexOf(PUBLIC_ID_12) >= 0) {
+ is12 = true;
+ } else {
+ int j = body.indexOf(">", i); //$NON-NLS-1$
+ if(j < 0) return;
+ String s = body.substring(i, j);
+
if(s.indexOf("\"http://jboss.com/products/seam/pages\"")
< 0) { //$NON-NLS-1$
+ return;
+ }
+ }
+ recognized = true;
+ }
}
+
}