Author: scabanovich
Date: 2009-04-24 12:25:45 -0400 (Fri, 24 Apr 2009)
New Revision: 14910
Added:
trunk/jsf/plugins/org.jboss.tools.jsf/dtds/facelet-taglib_1_0.dtd
trunk/jsf/plugins/org.jboss.tools.jsf/resources/meta/facelet-taglib.meta
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/facelet/
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/facelet/model/
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/facelet/model/FaceletTaglibConstants.java
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/facelet/model/FaceletTaglibEntityRecognizer.java
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/facelet/model/FaceletTaglibLoader.java
Modified:
trunk/jsf/plugins/org.jboss.tools.jsf/META-INF/MANIFEST.MF
trunk/jsf/plugins/org.jboss.tools.jsf/plugin.xml
Log:
https://jira.jboss.org/jira/browse/JBIDE-4213
Support for facelet-taglib xml added to XModel
Modified: trunk/jsf/plugins/org.jboss.tools.jsf/META-INF/MANIFEST.MF
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf/META-INF/MANIFEST.MF 2009-04-24 16:12:05 UTC
(rev 14909)
+++ trunk/jsf/plugins/org.jboss.tools.jsf/META-INF/MANIFEST.MF 2009-04-24 16:25:45 UTC
(rev 14910)
@@ -8,6 +8,7 @@
Bundle-Localization: plugin
Provide-Package: org.jboss.tools.jsf,
org.jboss.tools.jsf.messages,
+ org.jboss.tools.jsf.facelet.model,
org.jboss.tools.jsf.model,
org.jboss.tools.jsf.model.handlers,
org.jboss.tools.jsf.model.handlers.bean,
Added: trunk/jsf/plugins/org.jboss.tools.jsf/dtds/facelet-taglib_1_0.dtd
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf/dtds/facelet-taglib_1_0.dtd
(rev 0)
+++ trunk/jsf/plugins/org.jboss.tools.jsf/dtds/facelet-taglib_1_0.dtd 2009-04-24 16:25:45
UTC (rev 14910)
@@ -0,0 +1,36 @@
+<!--
+ Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+ Licensed under the Common Development and Distribution License,
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+
http://www.sun.com/cddl/
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied. See the License for the specific language governing
+ permissions and limitations under the License.
+
+ $Id: facelet-taglib_1_0.dtd,v 1.3 2005/08/15 04:53:43 adamwiner Exp $
+-->
+
+<!ELEMENT facelet-taglib (library-class|(namespace,(tag|function)+))>
+<!ATTLIST facelet-taglib xmlns CDATA #FIXED
"http://java.sun.com/JSF/Facelet">
+<!ELEMENT namespace (#PCDATA)>
+<!ELEMENT library-class (#PCDATA)>
+<!ELEMENT tag (tag-name,(handler-class|component|converter|validator|source))>
+<!ELEMENT tag-name (#PCDATA)>
+<!ELEMENT handler-class (#PCDATA)>
+<!ELEMENT component (component-type,renderer-type?,handler-class?)>
+<!ELEMENT component-type (#PCDATA)>
+<!ELEMENT renderer-type (#PCDATA)>
+<!ELEMENT converter (converter-id, handler-class?)>
+<!ELEMENT converter-id (#PCDATA)>
+<!ELEMENT validator (validator-id, handler-class?)>
+<!ELEMENT validator-id (#PCDATA)>
+<!ELEMENT source (#PCDATA)>
+<!ELEMENT function (function-name,function-class,function-signature)>
+<!ELEMENT function-name (#PCDATA)>
+<!ELEMENT function-class (#PCDATA)>
+<!ELEMENT function-signature (#PCDATA)>
Modified: trunk/jsf/plugins/org.jboss.tools.jsf/plugin.xml
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf/plugin.xml 2009-04-24 16:12:05 UTC (rev 14909)
+++ trunk/jsf/plugins/org.jboss.tools.jsf/plugin.xml 2009-04-24 16:25:45 UTC (rev 14910)
@@ -11,6 +11,7 @@
</meta>
<meta path="meta/jsfwizards.meta">
</meta>
+ <meta path="meta/facelet-taglib.meta"/>
</extension>
<extension point="org.jboss.tools.common.model.keys">
<keys path="help/keys-jsf.properties"/>
@@ -358,6 +359,13 @@
<xclass id="org.jboss.tools.jsf.web.JSFTemplate"
class="org.jboss.tools.jsf.web.JSFTemplate"/>
+
+
+ <xclass
id="org.jboss.tools.jsf.facelet.model.FaceletTaglibEntityRecognizer"
+ class="org.jboss.tools.jsf.facelet.model.FaceletTaglibEntityRecognizer"/>
+ <xclass id="org.jboss.tools.jsf.facelet.model.FaceletTaglibLoader"
+ class="org.jboss.tools.jsf.facelet.model.FaceletTaglibLoader"/>
+
</extension>
<extension
point="org.eclipse.wst.common.project.facet.core.facets">
Added: trunk/jsf/plugins/org.jboss.tools.jsf/resources/meta/facelet-taglib.meta
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf/resources/meta/facelet-taglib.meta
(rev 0)
+++ trunk/jsf/plugins/org.jboss.tools.jsf/resources/meta/facelet-taglib.meta 2009-04-24
16:25:45 UTC (rev 14910)
@@ -0,0 +1,596 @@
+<?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="JSF"
VERSION="1.0"/>
+ <MAPPINGS>
+ <MAPPING name="FileVersions">
+ <PAIR name="FaceletTaglib1.0" value="FileFaceletTaglib"/>
+ </MAPPING>
+ <MAPPING name="FilteredTreeConstraints"/>
+ <MAPPING name="FilteredTrees"/>
+ <MAPPING name="Handlers"/>
+ <MAPPING name="Recognizers">
+ <PAIR name="xml$41"
value="org.jboss.tools.jsf.facelet.model.FaceletTaglibEntityRecognizer"/>
+ </MAPPING>
+ </MAPPINGS>
+ <ICONS>
+ <GROUP name="action">
+ <GROUP name="new">
+ <GROUP name="facelet">
+ <ICON name="facelet-taglib"
path="images/jsf/new-jsf-config.gif"/>
+ </GROUP>
+ </GROUP>
+ </GROUP>
+ <GROUP name="main">
+ <GROUP name="facelet">
+ <ICON name="component" path="images/struts/plug_in.gif"/>
+ <ICON name="converter" path="images/jsf/convertor.gif"/>
+ <ICON name="data-source"
path="images/struts/data_source.gif"/>
+ <ICON name="tag"
path="images/struts/pro/taglibs_tag.gif"/>
+ <ICON name="taglib"
path="images/struts/pro/taglibs_file.gif"/>
+ <ICON name="validator"
path="images/struts/pro/validator.gif"/>
+ </GROUP>
+ </GROUP>
+ </ICONS>
+ <GlobalActions kind="list"/>
+ <XModelEntity ImplementingClass="%Custom%"
+
PROPERTIES="formFactory=%Default%;formLayout=org.jboss.tools.jsf.ui.editor.form.FaceletTaglibXMLFormLayoutData"
+ XMLSUBPATH="component" name="FaceletTaglibComponent">
+ <XChildrenEntities/>
+ <XEntityRenderer>
+ <ICONS>
+ <ICON info="main.facelet.component" type="main"/>
+ </ICONS>
+ </XEntityRenderer>
+ <XModelAttributes>
+ <XModelAttribute default="component" loader="ElementType"
name="element type">
+ <Editor name="Uneditable"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="id=true" default="declaration"
+ name="name" visibility="false">
+ <Editor name="Uneditable"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="save=always;category=general"
+ name="component-type" xmlname="component-type.#text"/>
+ <XModelAttribute PROPERTIES="category=general"
name="renderer-type" xmlname="renderer-type.#text"/>
+ <XModelAttribute PROPERTIES="save=always;category=general"
+ name="handler-class" xmlname="handler-class.#text">
+ <Editor name="AccessibleJava"/>
+ </XModelAttribute>
+ <XModelAttribute TRIM="no" name="comment"
xmlname="#comment">
+ <Editor name="Note"/>
+ </XModelAttribute>
+ </XModelAttributes>
+ <XActionItem kind="list">
+ <XActionItem HandlerClassName="%OpenJavaSource%"
ICON="action.empty"
+ PROPERTIES="attribute=handler-class" displayName="Open Handler"
+ kind="action" name="OpenSource"/>
+ <XActionItem ICON="action.copy" displayName="Copy"
kind="list" name="CopyActions">
+ <XActionItem BaseActionName="Cut" HandlerClassName="%Cut%"
+ ICON="action.cut" displayName="Cut" kind="action"
name="Cut"/>
+ <XActionItem BaseActionName="Copy" HandlerClassName="%Copy%"
+ ICON="action.copy" displayName="Copy" kind="action"
name="Copy"/>
+ </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 displayName="move" kind="list"
name="MoveActions">
+ <XActionItem HIDE="always" HandlerClassName="%Move%"
+ ICON="action.move" displayName="Move" kind="action"
name="Move"/>
+ </XActionItem>
+ <XActionItem ICON="action.empty" kind="list"
name="Properties">
+ <XActionItem HandlerClassName="%Properties%"
ICON="action.empty"
+ displayName="Properties..." kind="action"
name="Properties"/>
+ </XActionItem>
+ </XActionItem>
+ <XDependencies/>
+ </XModelEntity>
+ <XModelEntity ImplementingClass="%Custom%"
+
PROPERTIES="formFactory=%Default%;formLayout=org.jboss.tools.jsf.ui.editor.form.FaceletTaglibXMLFormLayoutData"
+ XMLSUBPATH="converter" name="FaceletTaglibConverter">
+ <XChildrenEntities/>
+ <XEntityRenderer>
+ <ICONS>
+ <ICON info="main.facelet.converter" type="main"/>
+ </ICONS>
+ </XEntityRenderer>
+ <XModelAttributes>
+ <XModelAttribute default="converter" loader="ElementType"
name="element type">
+ <Editor name="Uneditable"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="id=true" default="declaration"
+ name="name" visibility="false">
+ <Editor name="Uneditable"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="save=always;category=general"
+ name="converter-id" xmlname="converter-id.#text"/>
+ <XModelAttribute PROPERTIES="category=general"
name="handler-class" xmlname="handler-class.#text">
+ <Editor name="AccessibleJava"/>
+ </XModelAttribute>
+ <XModelAttribute TRIM="no" name="comment"
xmlname="#comment">
+ <Editor name="Note"/>
+ </XModelAttribute>
+ </XModelAttributes>
+ <XActionItem kind="list">
+ <XActionItem HandlerClassName="%OpenJavaSource%"
ICON="action.empty"
+ PROPERTIES="attribute=handler-class" displayName="Open Handler"
+ kind="action" name="OpenSource"/>
+ <XActionItem ICON="action.copy" displayName="Copy"
kind="list" name="CopyActions">
+ <XActionItem BaseActionName="Cut" HandlerClassName="%Cut%"
+ ICON="action.cut" displayName="Cut" kind="action"
name="Cut"/>
+ <XActionItem BaseActionName="Copy" HandlerClassName="%Copy%"
+ ICON="action.copy" displayName="Copy" kind="action"
name="Copy"/>
+ </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 displayName="move" kind="list"
name="MoveActions">
+ <XActionItem HIDE="always" HandlerClassName="%Move%"
+ ICON="action.move" displayName="Move" kind="action"
name="Move"/>
+ </XActionItem>
+ <XActionItem ICON="action.empty" kind="list"
name="Properties">
+ <XActionItem HandlerClassName="%Properties%"
ICON="action.empty"
+ displayName="Properties..." kind="action"
name="Properties"/>
+ </XActionItem>
+ </XActionItem>
+ <XDependencies/>
+ </XModelEntity>
+ <XModelEntity ImplementingClass="%Custom%"
+
PROPERTIES="formFactory=%Default%;formLayout=org.jboss.tools.jsf.ui.editor.form.FaceletTaglibXMLFormLayoutData"
+ XMLSUBPATH="function" name="FaceletTaglibFunction">
+ <XChildrenEntities/>
+ <XEntityRenderer>
+ <ICONS>
+ <ICON info="main.facelet.component" type="main"/>
+ </ICONS>
+ </XEntityRenderer>
+ <XModelAttributes>
+ <XModelAttribute default="function" loader="ElementType"
name="element type">
+ <Editor name="Uneditable"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="save=always;category=general;id=true"
+ name="function-name" xmlname="function-name.#text"/>
+ <XModelAttribute PROPERTIES="save=always;category=general"
+ name="function-class" xmlname="function-class.#text">
+ <Editor name="AccessibleJava"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="save=always;category=general"
+ name="function-signature"
xmlname="function-signature.#text"/>
+ <XModelAttribute TRIM="no" name="comment"
xmlname="#comment">
+ <Editor name="Note"/>
+ </XModelAttribute>
+ </XModelAttributes>
+ <XActionItem kind="list">
+ <XActionItem HandlerClassName="%OpenJavaSource%"
ICON="action.empty"
+ PROPERTIES="attribute=handler-class" displayName="Open Handler"
+ kind="action" name="OpenSource"/>
+ <XActionItem ICON="action.copy" displayName="Copy"
kind="list" name="CopyActions">
+ <XActionItem BaseActionName="Cut" HandlerClassName="%Cut%"
+ ICON="action.cut" displayName="Cut" kind="action"
name="Cut"/>
+ <XActionItem BaseActionName="Copy" HandlerClassName="%Copy%"
+ ICON="action.copy" displayName="Copy" kind="action"
name="Copy"/>
+ </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 displayName="move" kind="list"
name="MoveActions">
+ <XActionItem HIDE="always" HandlerClassName="%Move%"
+ ICON="action.move" displayName="Move" kind="action"
name="Move"/>
+ </XActionItem>
+ <XActionItem ICON="action.empty" kind="list"
name="Properties">
+ <XActionItem HandlerClassName="%Properties%"
ICON="action.empty"
+ displayName="Properties..." kind="action"
name="Properties"/>
+ </XActionItem>
+ </XActionItem>
+ <XDependencies/>
+ </XModelEntity>
+ <XModelEntity ImplementingClass="%Custom%"
+
PROPERTIES="formFactory=%Default%;formLayout=org.jboss.tools.jsf.ui.editor.form.FaceletTaglibXMLFormLayoutData"
+ XMLSUBPATH="handler-class" name="FaceletTaglibHandler">
+ <XChildrenEntities/>
+ <XEntityRenderer>
+ <ICONS>
+ <ICON info="main.jsf.bean" type="main"/>
+ </ICONS>
+ </XEntityRenderer>
+ <XModelAttributes>
+ <XModelAttribute default="handler" loader="ElementType"
name="element type">
+ <Editor name="Uneditable"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="id=true" default="declaration"
+ name="name" visibility="false">
+ <Editor name="Uneditable"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="save=always;category=general"
+ name="handler-class" xmlname="#text">
+ <Editor name="AccessibleJava"/>
+ </XModelAttribute>
+ <XModelAttribute TRIM="no" name="comment"
xmlname="#comment">
+ <Editor name="Note"/>
+ </XModelAttribute>
+ </XModelAttributes>
+ <XActionItem kind="list">
+ <XActionItem HandlerClassName="%OpenJavaSource%"
ICON="action.empty"
+ PROPERTIES="attribute=handler-class" displayName="Open Handler"
+ kind="action" name="OpenSource"/>
+ <XActionItem ICON="action.copy" displayName="Copy"
kind="list" name="CopyActions">
+ <XActionItem BaseActionName="Cut" HandlerClassName="%Cut%"
+ ICON="action.cut" displayName="Cut" kind="action"
name="Cut"/>
+ <XActionItem BaseActionName="Copy" HandlerClassName="%Copy%"
+ ICON="action.copy" displayName="Copy" kind="action"
name="Copy"/>
+ </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 displayName="move" kind="list"
name="MoveActions">
+ <XActionItem HIDE="always" HandlerClassName="%Move%"
+ ICON="action.move" displayName="Move" kind="action"
name="Move"/>
+ </XActionItem>
+ <XActionItem ICON="action.empty" kind="list"
name="Properties">
+ <XActionItem HandlerClassName="%Properties%"
ICON="action.empty"
+ displayName="Properties..." kind="action"
name="Properties"/>
+ </XActionItem>
+ </XActionItem>
+ <XDependencies/>
+ </XModelEntity>
+ <XModelEntity ImplementingClass="%Custom%"
+
PROPERTIES="formFactory=%Default%;formLayout=org.jboss.tools.jsf.ui.editor.form.FaceletTaglibXMLFormLayoutData"
+ XMLSUBPATH="source" name="FaceletTaglibSource">
+ <XChildrenEntities/>
+ <XEntityRenderer>
+ <ICONS>
+ <ICON info="main.jsf.data-source" type="main"/>
+ </ICONS>
+ </XEntityRenderer>
+ <XModelAttributes>
+ <XModelAttribute default="handler" loader="ElementType"
name="element type">
+ <Editor name="Uneditable"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="id=true" default="declaration"
+ name="name" visibility="false">
+ <Editor name="Uneditable"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="save=always;category=general"
+ name="source" xmlname="#text">
+ <Editor name="Note2"/>
+ </XModelAttribute>
+ <XModelAttribute TRIM="no" name="comment"
xmlname="#comment">
+ <Editor name="Note"/>
+ </XModelAttribute>
+ </XModelAttributes>
+ <XActionItem kind="list">
+ <XActionItem HandlerClassName="%OpenJavaSource%"
ICON="action.empty"
+ PROPERTIES="attribute=handler-class" displayName="Open Handler"
+ kind="action" name="OpenSource"/>
+ <XActionItem ICON="action.copy" displayName="Copy"
kind="list" name="CopyActions">
+ <XActionItem BaseActionName="Cut" HandlerClassName="%Cut%"
+ ICON="action.cut" displayName="Cut" kind="action"
name="Cut"/>
+ <XActionItem BaseActionName="Copy" HandlerClassName="%Copy%"
+ ICON="action.copy" displayName="Copy" kind="action"
name="Copy"/>
+ </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 displayName="move" kind="list"
name="MoveActions">
+ <XActionItem HIDE="always" HandlerClassName="%Move%"
+ ICON="action.move" displayName="Move" kind="action"
name="Move"/>
+ </XActionItem>
+ <XActionItem ICON="action.empty" kind="list"
name="Properties">
+ <XActionItem HandlerClassName="%Properties%"
ICON="action.empty"
+ displayName="Properties..." kind="action"
name="Properties"/>
+ </XActionItem>
+ </XActionItem>
+ <XDependencies/>
+ </XModelEntity>
+ <XModelEntity ImplementingClass="%Custom%"
+
PROPERTIES="formFactory=%Default%;formLayout=org.jboss.tools.jsf.ui.editor.form.FaceletTaglibXMLFormLayoutData"
+ XMLSUBPATH="tag" name="FaceletTaglibTag">
+ <XChildrenEntities>
+ <XChildEntity maxCount="1" name="FaceletTaglibHandler"/>
+ <XChildEntity maxCount="1" name="FaceletTaglibComponent"/>
+ <XChildEntity maxCount="1" name="FaceletTaglibConverter"/>
+ <XChildEntity maxCount="1" name="FaceletTaglibValidator"/>
+ <XChildEntity maxCount="1" name="FaceletTaglibSource"/>
+ </XChildrenEntities>
+ <XEntityRenderer>
+ <ICONS>
+ <ICON info="main.facelet.tag" type="main"/>
+ </ICONS>
+ </XEntityRenderer>
+ <XModelAttributes>
+ <XModelAttribute default="tag" loader="ElementType"
name="element type">
+ <Editor name="Uneditable"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="save=always;id=true;category=general"
+ name="tag-name" xmlname="tag-name.#text"/>
+ <XModelAttribute TRIM="no" name="comment"
xmlname="#comment">
+ <Editor name="Note"/>
+ </XModelAttribute>
+ </XModelAttributes>
+ <XActionItem kind="list">
+ <XActionItem HandlerClassName="%OpenJavaSource%"
ICON="action.empty"
+ PROPERTIES="attribute=handler-class" displayName="Open Handler"
+ kind="action" name="OpenSource"/>
+ <XActionItem ICON="action.copy" displayName="Copy"
kind="list" name="CopyActions">
+ <XActionItem BaseActionName="Cut" HandlerClassName="%Cut%"
+ ICON="action.cut" displayName="Cut" kind="action"
name="Cut"/>
+ <XActionItem BaseActionName="Copy" HandlerClassName="%Copy%"
+ ICON="action.copy" displayName="Copy" kind="action"
name="Copy"/>
+ </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 displayName="move" kind="list"
name="MoveActions">
+ <XActionItem HIDE="always" HandlerClassName="%Move%"
+ ICON="action.move" displayName="Move" kind="action"
name="Move"/>
+ </XActionItem>
+ <XActionItem ICON="action.empty" kind="list"
name="Properties">
+ <XActionItem HandlerClassName="%Properties%"
ICON="action.empty"
+ displayName="Properties..." kind="action"
name="Properties"/>
+ </XActionItem>
+ </XActionItem>
+ <XDependencies/>
+ </XModelEntity>
+ <XModelEntity ImplementingClass="%Custom%"
+
PROPERTIES="formFactory=%Default%;formLayout=org.jboss.tools.jsf.ui.editor.form.FaceletTaglibXMLFormLayoutData"
+ XMLSUBPATH="validator" name="FaceletTaglibValidator">
+ <XChildrenEntities/>
+ <XEntityRenderer>
+ <ICONS>
+ <ICON info="main.facelet.converter" type="main"/>
+ </ICONS>
+ </XEntityRenderer>
+ <XModelAttributes>
+ <XModelAttribute default="validator" loader="ElementType"
name="element type">
+ <Editor name="Uneditable"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="id=true" default="declaration"
+ name="name" visibility="false">
+ <Editor name="Uneditable"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="save=always;category=general"
+ name="validator-id" xmlname="validator-id.#text"/>
+ <XModelAttribute PROPERTIES="category=general"
name="handler-class" xmlname="handler-class.#text">
+ <Editor name="AccessibleJava"/>
+ </XModelAttribute>
+ <XModelAttribute TRIM="no" name="comment"
xmlname="#comment">
+ <Editor name="Note"/>
+ </XModelAttribute>
+ </XModelAttributes>
+ <XActionItem kind="list">
+ <XActionItem HandlerClassName="%OpenJavaSource%"
ICON="action.empty"
+ PROPERTIES="attribute=handler-class" displayName="Open Handler"
+ kind="action" name="OpenSource"/>
+ <XActionItem ICON="action.copy" displayName="Copy"
kind="list" name="CopyActions">
+ <XActionItem BaseActionName="Cut" HandlerClassName="%Cut%"
+ ICON="action.cut" displayName="Cut" kind="action"
name="Cut"/>
+ <XActionItem BaseActionName="Copy" HandlerClassName="%Copy%"
+ ICON="action.copy" displayName="Copy" kind="action"
name="Copy"/>
+ </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 displayName="move" kind="list"
name="MoveActions">
+ <XActionItem HIDE="always" HandlerClassName="%Move%"
+ ICON="action.move" displayName="Move" kind="action"
name="Move"/>
+ </XActionItem>
+ <XActionItem ICON="action.empty" kind="list"
name="Properties">
+ <XActionItem HandlerClassName="%Properties%"
ICON="action.empty"
+ displayName="Properties..." kind="action"
name="Properties"/>
+ </XActionItem>
+ </XActionItem>
+ <XDependencies/>
+ </XModelEntity>
+ <XModelEntity
+ AdoptManagerClass="org.jboss.tools.jsf.model.handlers.FacesConfigAdopt"
+
ImplementationLoadingClass="org.jboss.tools.jsf.facelet.model.FaceletTaglibLoader"
+
ImplementingClass="org.jboss.tools.common.model.filesystems.impl.SimpleFileImpl"
+ ObjectEditorClass="%XML%"
+
PROPERTIES="formFactory=%Default%;formLayout=org.jboss.tools.jsf.ui.editor.form.FaceletTaglibXMLFormLayoutData"
+ XMLSUBPATH="facelet-taglib" name="FileFaceletTaglib">
+ <XChildrenEntities>
+ <XChildEntity name="FaceletTaglibTag"/>
+ <XChildEntity name="FaceletTaglibFunction"/>
+ </XChildrenEntities>
+ <XEntityRenderer>
+ <ICONS>
+ <ICON info="main.facelet.taglib" type="main"/>
+ </ICONS>
+ </XEntityRenderer>
+ <XModelAttributes>
+ <XModelAttribute default="facelet-taglib" loader="ElementType"
name="element type">
+ <Editor name="Uneditable"/>
+ </XModelAttribute>
+ <XModelAttribute default="faces-config" name="name"
xmlname="NAME"/>
+ <XModelAttribute default="xml" name="extension"
xmlname="EXTENSION">
+ <Editor name="Uneditable"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="save=always;category=general"
+ name="library-class" xmlname="library-class.#text">
+ <Editor name="AccessibleJava"/>
+ </XModelAttribute>
+ <XModelAttribute TRIM="no" name="comment"
xmlname="#comment">
+ <Editor name="Note"/>
+ </XModelAttribute>
+ <XModelAttribute loader="ElementType" name="_lateload"
visibility="false">
+ <Editor name="Uneditable"/>
+ </XModelAttribute>
+ <XModelAttribute
+ default="-//Sun Microsystems, Inc.//DTD Facelet Taglib 1.0//EN"
+ name="publicId" visibility="false"/>
+ <XModelAttribute default="facelet-taglib_1_0.dtd"
name="systemId" visibility="false"/>
+ <XModelAttribute default="no" name="isIncorrect"
visibility="false">
+ <Constraint loader="List">
+ <value name="yes"/>
+ <value name="no"/>
+ </Constraint>
+ <Editor name="Uneditable"/>
+ </XModelAttribute>
+ <XModelAttribute name="incorrectBody" visibility="false"/>
+ <XModelAttribute name="encoding">
+ <Constraint loader="ListString">
+ <value name="ISO-8859-1"/>
+ <value name="UTF-8"/>
+ </Constraint>
+ <Editor name="ListString"/>
+ </XModelAttribute>
+ </XModelAttributes>
+ <XActionItem kind="list">
+ <XActionItem BaseActionName="Open" HandlerClassName="%Open%"
+ ICON="action.empty" displayName="Open" kind="action"
name="Open"/>
+ <XActionItem displayName="Open With" group="1"
kind="list" name="OpenWith">
+ <XActionItem HIDE="always"
+
HandlerClassName="org.jboss.tools.common.meta.action.impl.handlers.OpenWithExternalHandler"
+ ICON="action.empty" PROPERTIES="extension=struts-config"
+ displayName="Open with External Program" kind="action"
name="OpenWithSelected"/>
+ <XActionItem HIDE="always"
+
HandlerClassName="org.jboss.tools.common.meta.action.impl.handlers.OpenWithChoiceHandler"
+ ICON="action.empty" PROPERTIES="extension=struts-config"
+ displayName="Choose Program..." kind="action"
name="OpenWithChoice">
+ <EntityData EntityName="OpenWithHelper">
+ <AttributeData AttributeName="name"/>
+ <AttributeData AttributeName="default"/>
+ </EntityData>
+ </XActionItem>
+ </XActionItem>
+ <XActionItem kind="list" name="EditActions">
+ <XActionItem HIDE="always"
+
HandlerClassName="org.jboss.tools.jsf.model.handlers.RenameFacesConfigHandler"
+ ICON="action.empty" PROPERTIES="validator.edit=true"
+ WizardClassName="%Default%" displayName="Rename..."
kind="action" name="Rename">
+ <EntityData EntityName="FacesConfig">
+ <AttributeData AttributeName="name"/>
+ </EntityData>
+ </XActionItem>
+ <XActionItem
+
HandlerClassName="org.jboss.tools.common.model.filesystems.impl.handlers.RenameEclipseFileHandler"
+ ICON="action.empty" displayName="Rename..."
kind="action" name="RenameEclipse"/>
+ </XActionItem>
+ <XActionItem kind="list" name="SaveActions">
+ <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 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="org.jboss.tools.jsf.model.handlers.DeleteFacesConfigHandler"
+ 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 kind="list" name="DiscardActions">
+ <XActionItem HIDE="always"
+
HandlerClassName="org.jboss.tools.jsf.model.handlers.DiscardConfigHandler"
+ ICON="action.delete"
+
PROPERTIES="significanceMessageClass=org.jboss.tools.common.model.filesystems.impl.DiscardFileSignificanceMessage"
+ displayName="Discard Changes" kind="action"
name="Discard"/>
+ </XActionItem>
+ </XActionItem>
+ <XDependencies/>
+ </XModelEntity>
+ <XModelEntity name="FileFaceletTaglib_EditorActionList">
+ <XChildrenEntities/>
+ <XEntityRenderer/>
+ <XModelAttributes/>
+ <XActionItem kind="list">
+ <XActionItemReference entity="FileFaceletTaglib"
name="CreateActions" path="CreateActions"/>
+ <XActionItem ICON="action.empty" kind="list"
name="Properties">
+ <XActionItem HandlerClassName="%Properties%"
ICON="action.empty"
+ displayName="Properties..." kind="action"
name="Properties"/>
+ </XActionItem>
+ </XActionItem>
+ <XDependencies/>
+ </XModelEntity>
+ <XEntityExtension name="FileFolder">
+ <XChildrenEntities>
+ <XChildEntity name="FileFaceletTaglib"/>
+ </XChildrenEntities>
+ <XActionItem kind="list">
+ <XActionItem ICON="action.empty" displayName="New"
group="1"
+ kind="list" name="CreateActions">
+ <XActionItem ICON="action.newattribute" displayName="File"
group="1"
+ kind="list" name="CreateFiles">
+ <XActionItem displayName="JSF" kind="list"
name="JSF">
+ <XActionItem HandlerClassName="%SpecialWizard%"
+ ICON="action.new.facelet.facelet-taglib"
+
PROPERTIES="entity=FileFaceletTaglib;extensions=.xml.;validator.addfile=true;support=org.jboss.tools.common.model.files.handlers.CreateFileSupport;extension=xml;entityVersion=FaceletTaglib"
+ displayName="Facelet Taglib" kind="action"
name="CreateFaceletTaglib">
+ <EntityData EntityName="NewFileWizard">
+ <AttributeData AttributeName="folder"/>
+ <AttributeData AttributeName="separator"
Mandatory="no"/>
+ <AttributeData AttributeName="name"/>
+ <AttributeData AttributeName="version"
Mandatory="no"/>
+ </EntityData>
+ </XActionItem>
+ <XActionItem HandlerClassName="%WizardInvoker%"
+ ICON="action.new.facelet.facelet-taglib"
+
PROPERTIES="plugin=org.jboss.tools.jsf.ui;wizard=org.jboss.tools.jsf.ui.wizard.newfile.NewFacesConfigFileWizard"
+ displayName="Facelet Taglib" kind="action"
name="CreateFaceletTaglibV"/>
+ </XActionItem>
+ </XActionItem>
+ </XActionItem>
+ </XActionItem>
+ </XEntityExtension>
+ <XEntityExtension name="FileSystemFolder">
+ <XChildrenEntities>
+ <XChildEntity name="FileFaceletTaglib"/>
+ </XChildrenEntities>
+ <XActionItem kind="list">
+ <XActionItem ICON="action.empty" displayName="New"
group="1"
+ kind="list" name="CreateActions">
+ <XActionItem ICON="action.newattribute" displayName="File"
group="1"
+ kind="list" name="CreateFiles">
+ <XActionItem displayName="JSF" kind="list"
name="JSF">
+ <XActionItem HandlerClassName="%SpecialWizard%"
+ ICON="action.new.facelet.facelet-taglib"
+
PROPERTIES="entity=FileFaceletTaglib;extensions=.xml.;validator.addfile=true;support=org.jboss.tools.common.model.files.handlers.CreateFileSupport;extension=xml;entityVersion=FileFaceletTaglib"
+ displayName="Facelet Taglib" kind="action"
name="CreateFaceletTaglib">
+ <EntityData EntityName="CreateFacesConfigHelper">
+ <AttributeData AttributeName="folder"/>
+ <AttributeData AttributeName="separator"
Mandatory="no"/>
+ <AttributeData AttributeName="name"/>
+ <AttributeData AttributeName="version"
Mandatory="no"/>
+ <AttributeData AttributeName="register in web.xml"
Mandatory="no"/>
+ </EntityData>
+ </XActionItem>
+ <XActionItem HandlerClassName="%WizardInvoker%"
+ ICON="action.new.facelet.facelet-taglib"
+
PROPERTIES="plugin=org.jboss.tools.jsf.ui;wizard=org.jboss.tools.jsf.ui.wizard.newfile.NewFacesConfigFileWizard"
+ displayName="Facelet Taglib" kind="action"
name="CreateFaceletTaglibV"/>
+ </XActionItem>
+ </XActionItem>
+ </XActionItem>
+ </XActionItem>
+ </XEntityExtension>
+ <XEntityExtension name="FileSystemJar">
+ <XChildrenEntities>
+ <XChildEntity name="FileFaceletTaglib"/>
+ </XChildrenEntities>
+ <XActionItem kind="list"/>
+ </XEntityExtension>
+ <XEntityExtension name="JarFolder">
+ <XChildrenEntities>
+ <XChildEntity name="FileFaceletTaglib"/>
+ </XChildrenEntities>
+ <XActionItem kind="list"/>
+ </XEntityExtension>
+</XModelEntityGroup>
Added:
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/facelet/model/FaceletTaglibConstants.java
===================================================================
---
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/facelet/model/FaceletTaglibConstants.java
(rev 0)
+++
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/facelet/model/FaceletTaglibConstants.java 2009-04-24
16:25:45 UTC (rev 14910)
@@ -0,0 +1,9 @@
+package org.jboss.tools.jsf.facelet.model;
+
+public interface FaceletTaglibConstants {
+ public static final String DOC_QUALIFIEDNAME = "facelet-taglib";
+ public static final String DOC_PUBLICID = "-//Sun Microsystems, Inc.//DTD Facelet
Taglib 1.0//EN";
+
+ public static final String ENT_FACELET_TAGLIB = "FileFaceletTaglib";
+
+}
Added:
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/facelet/model/FaceletTaglibEntityRecognizer.java
===================================================================
---
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/facelet/model/FaceletTaglibEntityRecognizer.java
(rev 0)
+++
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/facelet/model/FaceletTaglibEntityRecognizer.java 2009-04-24
16:25:45 UTC (rev 14910)
@@ -0,0 +1,13 @@
+package org.jboss.tools.jsf.facelet.model;
+
+import org.jboss.tools.common.model.loaders.EntityRecognizer;
+
+public class FaceletTaglibEntityRecognizer implements EntityRecognizer,
FaceletTaglibConstants {
+
+ public String getEntityName(String ext, String body) {
+ if (body == null) return null;
+ if (body.indexOf(DOC_PUBLICID) > 0) return ENT_FACELET_TAGLIB;
+ return null;
+ }
+
+}
Added:
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/facelet/model/FaceletTaglibLoader.java
===================================================================
---
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/facelet/model/FaceletTaglibLoader.java
(rev 0)
+++
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/facelet/model/FaceletTaglibLoader.java 2009-04-24
16:25:45 UTC (rev 14910)
@@ -0,0 +1,32 @@
+package org.jboss.tools.jsf.facelet.model;
+
+import org.jboss.tools.common.meta.XAttribute;
+import org.jboss.tools.common.meta.XModelEntity;
+import org.jboss.tools.common.model.loaders.impl.SimpleWebFileLoader;
+import org.jboss.tools.common.model.util.XModelObjectLoaderUtil;
+
+public class FaceletTaglibLoader extends SimpleWebFileLoader {
+
+ public FaceletTaglibLoader() {}
+
+ protected boolean isCheckingDTD() {
+ return false;
+ }
+
+ protected XModelObjectLoaderUtil createUtil() {
+ return new FaceletTaglibLoaderUtil();
+ }
+}
+
+class FaceletTaglibLoaderUtil extends XModelObjectLoaderUtil {
+
+ protected boolean isSaveable(XModelEntity entity, String n, String v, String dv) {
+ if(v == null) return false;
+ if(v.length() == 0 || v.equals(dv)) {
+ XAttribute attr = entity.getAttribute(n);
+ return (attr != null &&
"always".equals(attr.getProperty("save"))); //$NON-NLS-1$
//$NON-NLS-2$
+ }
+ return super.isSaveable(entity, n, v, dv);
+ }
+
+}
\ No newline at end of file