Author: scabanovich
Date: 2009-04-28 09:37:56 -0400 (Tue, 28 Apr 2009)
New Revision: 14946
Added:
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/facelet/model/AddTagHandler.java
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/facelet/model/FaceletTaglibObjectImpl.java
Modified:
trunk/jsf/plugins/org.jboss.tools.jsf/plugin.xml
trunk/jsf/plugins/org.jboss.tools.jsf/resources/help/keys-jsf.properties
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/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
Log:
https://jira.jboss.org/jira/browse/JBIDE-4213
Modified: trunk/jsf/plugins/org.jboss.tools.jsf/plugin.xml
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf/plugin.xml 2009-04-28 13:26:20 UTC (rev 14945)
+++ trunk/jsf/plugins/org.jboss.tools.jsf/plugin.xml 2009-04-28 13:37:56 UTC (rev 14946)
@@ -365,6 +365,10 @@
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"/>
+ <xclass id="org.jboss.tools.jsf.facelet.model.FaceletTaglibObjectImpl"
+ class="org.jboss.tools.jsf.facelet.model.FaceletTaglibObjectImpl"/>
+ <xclass id="org.jboss.tools.jsf.facelet.model.AddTagHandler"
+ class="org.jboss.tools.jsf.facelet.model.AddTagHandler"/>
</extension>
<extension
Modified: trunk/jsf/plugins/org.jboss.tools.jsf/resources/help/keys-jsf.properties
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf/resources/help/keys-jsf.properties 2009-04-28
13:26:20 UTC (rev 14945)
+++ trunk/jsf/plugins/org.jboss.tools.jsf/resources/help/keys-jsf.properties 2009-04-28
13:37:56 UTC (rev 14946)
@@ -630,3 +630,34 @@
JSFValidatorExtension_CreateTag.Title=Tag
JSFConfigExtensions_Properties.Title=Extensions
+
+FileFaceletTaglib_Properties.Title=File Facelet Taglib
+
+FileFaceletTaglib_AddTag.WindowTitle=Add Tag
+FileFaceletTaglib_AddTag.Title=Facelet Tag
+
+FileFaceletTaglib_AddFunction.WindowTitle=Add Function
+FileFaceletTaglib_AddFunction.Title=Facelet Function
+
+FaceletTaglibTag_AddHandler.WindowTitle=New Handler
+FaceletTaglibTag_AddHandler.Title=Facelet Tag Handler
+
+FaceletTaglibTag_AddComponent.WindowTitle=New Component
+FaceletTaglibTag_AddComponent.Title=Facelet Component
+
+FaceletTaglibTag_AddConverter.WindowTitle=New Converter
+FaceletTaglibTag_AddConverter.Title=Facelet Converter
+
+FaceletTaglibTag_AddValidator.WindowTitle=New Validator
+FaceletTaglibTag_AddValidator.Title=Facelet Validator
+
+FaceletTaglibTag_AddSource.WindowTitle=New Source
+FaceletTaglibTag_AddSource.Title=Facelet Tag Source
+
+FaceletTaglibTag_Properties.Title=Facelet Tag
+
+FaceletTaglibHandler_Properties.Title=Facelet Tag Handler
+FaceletTaglibComponent_Properties.Title=Facelet Component
+FaceletTaglibConverter_Properties.Title=Facelet Converter
+FaceletTaglibValidator_Properties.Title=Facelet Validator
+FaceletTaglibSource_Properties.Title=Facelet Tag Source
Modified: trunk/jsf/plugins/org.jboss.tools.jsf/resources/meta/facelet-taglib.meta
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf/resources/meta/facelet-taglib.meta 2009-04-28
13:26:20 UTC (rev 14945)
+++ trunk/jsf/plugins/org.jboss.tools.jsf/resources/meta/facelet-taglib.meta 2009-04-28
13:37:56 UTC (rev 14946)
@@ -10,6 +10,9 @@
<MAPPING name="FilteredTreeConstraints"/>
<MAPPING name="FilteredTrees"/>
<MAPPING name="Handlers"/>
+ <MAPPING name="Implementations">
+ <PAIR name="FT_TagDecl"
value="org.jboss.tools.jsf.facelet.model.FaceletTaglibObjectImpl"/>
+ </MAPPING>
<MAPPING name="Recognizers">
<PAIR name="xml$41"
value="org.jboss.tools.jsf.facelet.model.FaceletTaglibEntityRecognizer"/>
</MAPPING>
@@ -34,7 +37,7 @@
</GROUP>
</ICONS>
<GlobalActions kind="list"/>
- <XModelEntity ImplementingClass="%Custom%"
+ <XModelEntity ImplementingClass="%FT_TagDecl%"
PROPERTIES="formFactory=%Default%;formLayout=org.jboss.tools.jsf.ui.editor.form.FaceletTaglibXMLFormLayoutData"
XMLSUBPATH="component" name="FaceletTaglibComponent">
<XChildrenEntities/>
@@ -87,7 +90,7 @@
</XActionItem>
<XDependencies/>
</XModelEntity>
- <XModelEntity ImplementingClass="%Custom%"
+ <XModelEntity ImplementingClass="%FT_TagDecl%"
PROPERTIES="formFactory=%Default%;formLayout=org.jboss.tools.jsf.ui.editor.form.FaceletTaglibXMLFormLayoutData"
XMLSUBPATH="converter" name="FaceletTaglibConverter">
<XChildrenEntities/>
@@ -188,7 +191,7 @@
</XActionItem>
<XDependencies/>
</XModelEntity>
- <XModelEntity ImplementingClass="%Custom%"
+ <XModelEntity ImplementingClass="%FT_TagDecl%"
PROPERTIES="formFactory=%Default%;formLayout=org.jboss.tools.jsf.ui.editor.form.FaceletTaglibXMLFormLayoutData"
XMLSUBPATH="handler-class" name="FaceletTaglibHandler">
<XChildrenEntities/>
@@ -238,7 +241,7 @@
</XActionItem>
<XDependencies/>
</XModelEntity>
- <XModelEntity ImplementingClass="%Custom%"
+ <XModelEntity ImplementingClass="%FT_TagDecl%"
PROPERTIES="formFactory=%Default%;formLayout=org.jboss.tools.jsf.ui.editor.form.FaceletTaglibXMLFormLayoutData"
XMLSUBPATH="source" name="FaceletTaglibSource">
<XChildrenEntities/>
@@ -248,7 +251,7 @@
</ICONS>
</XEntityRenderer>
<XModelAttributes>
- <XModelAttribute default="handler" loader="ElementType"
name="element type">
+ <XModelAttribute default="source" loader="ElementType"
name="element type">
<Editor name="Uneditable"/>
</XModelAttribute>
<XModelAttribute PROPERTIES="id=true" default="declaration"
@@ -316,6 +319,13 @@
kind="list" name="CreateActions">
<XActionItem HandlerClassName="%DefaultReplaceUnique%"
ICON="empty"
PROPERTIES="significanceMessageClass=%Replace%;child=declaration"
+ WizardClassName="%Default%" displayName="Handler..."
kind="action" name="AddHandler">
+ <EntityData EntityName="FaceletTaglibHandler">
+ <AttributeData AttributeName="handler-class"/>
+ </EntityData>
+ </XActionItem>
+ <XActionItem HandlerClassName="%DefaultReplaceUnique%"
ICON="empty"
+ PROPERTIES="significanceMessageClass=%Replace%;child=declaration"
WizardClassName="%Default%" displayName="Component..."
kind="action" name="AddComponent">
<EntityData EntityName="FaceletTaglibComponent">
@@ -333,6 +343,22 @@
<AttributeData AttributeName="handler-class"
Mandatory="no"/>
</EntityData>
</XActionItem>
+ <XActionItem HandlerClassName="%DefaultReplaceUnique%"
ICON="empty"
+ PROPERTIES="significanceMessageClass=%Replace%;child=declaration"
+ WizardClassName="%Default%" displayName="Validator..."
+ kind="action" name="AddValidator">
+ <EntityData EntityName="FaceletTaglibValidator">
+ <AttributeData AttributeName="validator-id"/>
+ <AttributeData AttributeName="handler-class"
Mandatory="no"/>
+ </EntityData>
+ </XActionItem>
+ <XActionItem HandlerClassName="%DefaultReplaceUnique%"
ICON="empty"
+ PROPERTIES="significanceMessageClass=%Replace%;child=declaration"
+ WizardClassName="%Default%" displayName="Source..."
kind="action" name="AddSource">
+ <EntityData EntityName="FaceletTaglibSource">
+ <AttributeData AttributeName="source"/>
+ </EntityData>
+ </XActionItem>
</XActionItem>
<XActionItem ICON="action.copy" displayName="Copy"
kind="list" name="CopyActions">
<XActionItem BaseActionName="Cut" HandlerClassName="%Cut%"
@@ -355,7 +381,7 @@
</XActionItem>
<XDependencies/>
</XModelEntity>
- <XModelEntity ImplementingClass="%Custom%"
+ <XModelEntity ImplementingClass="%FT_TagDecl%"
PROPERTIES="formFactory=%Default%;formLayout=org.jboss.tools.jsf.ui.editor.form.FaceletTaglibXMLFormLayoutData"
XMLSUBPATH="validator" name="FaceletTaglibValidator">
<XChildrenEntities/>
@@ -503,7 +529,25 @@
ICON="action.save" displayName="Save" kind="action"
name="Save"/>
</XActionItem>
<XActionItem ICON="action.empty" displayName="New"
group="1"
- kind="list" name="CreateActions"/>
+ kind="list" name="CreateActions">
+ <XActionItem
+ HandlerClassName="org.jboss.tools.jsf.facelet.model.AddTagHandler"
+ ICON="action.empty" PROPERTIES="validator.add=true"
+ WizardClassName="%Default%" displayName="Tag..."
kind="action" name="AddTag">
+ <EntityData EntityName="FaceletTaglibTag">
+ <AttributeData AttributeName="tag-name"/>
+ </EntityData>
+ </XActionItem>
+ <XActionItem HandlerClassName="%CreateInCollapsed%"
+ ICON="action.empty" PROPERTIES="validator.add=true"
+ WizardClassName="%Default%" displayName="Function..."
kind="action" name="AddFunction">
+ <EntityData EntityName="FaceletTaglibFunction">
+ <AttributeData AttributeName="function-name"/>
+ <AttributeData AttributeName="function-class"/>
+ <AttributeData AttributeName="function-signature"/>
+ </EntityData>
+ </XActionItem>
+ </XActionItem>
<XActionItem HIDE="disabled"
HandlerClassName="org.jboss.tools.jst.web.tld.model.handlers.ExpandTLDHandler"
ICON="action.empty" displayName="Set Expanded"
kind="action" name="SetExpanded"/>
@@ -539,7 +583,7 @@
<XEntityRenderer/>
<XModelAttributes/>
<XActionItem kind="list">
- <XActionItemReference entity="FileFaceletTaglib"
name="CreateActions" path="CreateActions"/>
+ <XActionItemReference entity="FileFaceletTaglib"
name="CreateActions"/>
<XActionItem ICON="action.empty" kind="list"
name="Properties">
<XActionItem HandlerClassName="%Properties%"
ICON="action.empty"
displayName="Properties..." kind="action"
name="Properties"/>
Added:
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/facelet/model/AddTagHandler.java
===================================================================
---
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/facelet/model/AddTagHandler.java
(rev 0)
+++
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/facelet/model/AddTagHandler.java 2009-04-28
13:37:56 UTC (rev 14946)
@@ -0,0 +1,26 @@
+/*******************************************************************************
+ * Copyright (c) 2007 Exadel, Inc. and Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at
http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Exadel, Inc. and Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.jsf.facelet.model;
+
+import org.jboss.tools.common.model.XModelObject;
+import org.jboss.tools.jst.web.tld.model.handlers.CreateInCollapsedHandler;
+
+/**
+ * @author Viacheslav Kabanovich
+ */
+public class AddTagHandler extends CreateInCollapsedHandler {
+
+ protected XModelObject modifyCreatedObject(XModelObject o) {
+ XModelObject c = o.getModel().createModelObject("FaceletTaglibHandler",
null);
+ o.addChild(c);
+ return o;
+ }
+}
Modified:
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 2009-04-28
13:26:20 UTC (rev 14945)
+++
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/facelet/model/FaceletTaglibConstants.java 2009-04-28
13:37:56 UTC (rev 14946)
@@ -1,5 +1,18 @@
+/*******************************************************************************
+ * Copyright (c) 2007 Exadel, Inc. and Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at
http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Exadel, Inc. and Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
package org.jboss.tools.jsf.facelet.model;
+/**
+ * @author Viacheslav Kabanovich
+ */
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";
Modified:
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 2009-04-28
13:26:20 UTC (rev 14945)
+++
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/facelet/model/FaceletTaglibEntityRecognizer.java 2009-04-28
13:37:56 UTC (rev 14946)
@@ -1,3 +1,13 @@
+/*******************************************************************************
+ * Copyright (c) 2007 Exadel, Inc. and Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at
http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Exadel, Inc. and Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
package org.jboss.tools.jsf.facelet.model;
import org.jboss.tools.common.model.loaders.EntityRecognizer;
@@ -2,2 +12,5 @@
+/**
+ * @author Viacheslav Kabanovich
+ */
public class FaceletTaglibEntityRecognizer implements EntityRecognizer,
FaceletTaglibConstants {
Modified:
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 2009-04-28
13:26:20 UTC (rev 14945)
+++
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/facelet/model/FaceletTaglibLoader.java 2009-04-28
13:37:56 UTC (rev 14946)
@@ -1,3 +1,13 @@
+/*******************************************************************************
+ * Copyright (c) 2007 Exadel, Inc. and Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at
http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Exadel, Inc. and Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
package org.jboss.tools.jsf.facelet.model;
import org.jboss.tools.common.meta.XAttribute;
@@ -5,6 +15,9 @@
import org.jboss.tools.common.model.loaders.impl.SimpleWebFileLoader;
import org.jboss.tools.common.model.util.XModelObjectLoaderUtil;
+/**
+ * @author Viacheslav Kabanovich
+ */
public class FaceletTaglibLoader extends SimpleWebFileLoader {
public FaceletTaglibLoader() {}
Added:
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/facelet/model/FaceletTaglibObjectImpl.java
===================================================================
---
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/facelet/model/FaceletTaglibObjectImpl.java
(rev 0)
+++
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/facelet/model/FaceletTaglibObjectImpl.java 2009-04-28
13:37:56 UTC (rev 14946)
@@ -0,0 +1,26 @@
+/*******************************************************************************
+ * Copyright (c) 2007 Exadel, Inc. and Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at
http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Exadel, Inc. and Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.jsf.facelet.model;
+
+import org.jboss.tools.common.model.impl.CustomizedObjectImpl;
+
+/**
+ * @author Viacheslav Kabanovich
+ */
+public class FaceletTaglibObjectImpl extends CustomizedObjectImpl {
+ private static final long serialVersionUID = 1L;
+
+ public String getPresentationString() {
+ String element = getAttributeValue("element type");
+ return element != null ? element : super.getPresentationString();
+ }
+
+}