[jbosstools-commits] JBoss Tools SVN: r17815 - in trunk/jst/plugins/org.jboss.tools.jst.web/src/org/jboss/tools/jst/web/tld: model and 2 other directories.

jbosstools-commits at lists.jboss.org jbosstools-commits at lists.jboss.org
Wed Sep 30 08:46:08 EDT 2009


Author: scabanovich
Date: 2009-09-30 08:46:07 -0400 (Wed, 30 Sep 2009)
New Revision: 17815

Removed:
   trunk/jst/plugins/org.jboss.tools.jst.web/src/org/jboss/tools/jst/web/tld/TLDUtil.java
Modified:
   trunk/jst/plugins/org.jboss.tools.jst.web/src/org/jboss/tools/jst/web/tld/model/TLDUtil.java
   trunk/jst/plugins/org.jboss.tools.jst.web/src/org/jboss/tools/jst/web/tld/model/handlers/ImportTLDToPaletteSupport.java
   trunk/jst/plugins/org.jboss.tools.jst.web/src/org/jboss/tools/jst/web/tld/model/handlers/PaletteAdopt.java
   trunk/jst/plugins/org.jboss.tools.jst.web/src/org/jboss/tools/jst/web/tld/model/helpers/TLDToPaletteHelper.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-4934

Deleted: trunk/jst/plugins/org.jboss.tools.jst.web/src/org/jboss/tools/jst/web/tld/TLDUtil.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web/src/org/jboss/tools/jst/web/tld/TLDUtil.java	2009-09-30 12:36:20 UTC (rev 17814)
+++ trunk/jst/plugins/org.jboss.tools.jst.web/src/org/jboss/tools/jst/web/tld/TLDUtil.java	2009-09-30 12:46:07 UTC (rev 17815)
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * 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.jst.web.tld;
-
-import org.jboss.tools.common.model.*;
-
-public class TLDUtil {
-    static String FILE_ENTITIES = ".FileTLD_PRO.FileTLD_1_2.FileTLD_2_0.FileTLD_2_1."; //$NON-NLS-1$
-    static String TAG_ENTITIES = ".TLDTag.TLDTag12.TLDTag21."; //$NON-NLS-1$
-    static String ATTR_ENTITIES = ".TLDAttribute.TLDAttribute12."; //$NON-NLS-1$
-
-    public static boolean isTaglib(XModelObject o) {
-        return isOfEntity(o, FILE_ENTITIES);
-    }
-
-    public static boolean isTag(XModelObject o) {
-        return isOfEntity(o, TAG_ENTITIES);
-    }
-
-    public static boolean isAttribute(XModelObject o) {
-        return isOfEntity(o, ATTR_ENTITIES);
-    }
-
-    private static boolean isOfEntity(XModelObject o, String entities) {
-        return entities.indexOf("." + o.getModelEntity().getName() + ".") >= 0;  //$NON-NLS-1$//$NON-NLS-2$
-    }
-
-    public static String getTagDescription(XModelObject o) {
-        String attr = (o.getModelEntity().getAttribute("info") != null) ? "info" : "description"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-        String s = o.getAttributeValue(attr);
-        s = (s == null) ? "" : s.trim(); //$NON-NLS-1$
-        StringBuffer sb = new StringBuffer();
-        for (int i = 0; i < s.length(); i++) {
-            char c = s.charAt(i);
-            if(c == '<') sb.append("&lt;"); //$NON-NLS-1$
-            else if(c == '>') sb.append("&gt;"); //$NON-NLS-1$
-            else sb.append(c);
-        }
-        return sb.toString();
-    }
-    
-}
-

Modified: trunk/jst/plugins/org.jboss.tools.jst.web/src/org/jboss/tools/jst/web/tld/model/TLDUtil.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web/src/org/jboss/tools/jst/web/tld/model/TLDUtil.java	2009-09-30 12:36:20 UTC (rev 17814)
+++ trunk/jst/plugins/org.jboss.tools.jst.web/src/org/jboss/tools/jst/web/tld/model/TLDUtil.java	2009-09-30 12:46:07 UTC (rev 17815)
@@ -15,8 +15,11 @@
 public class TLDUtil {
     static String FILE_ENTITIES = ".FileTLD_PRO.FileTLD_1_2.FileTLD_2_0.FileTLD_2_1."; //$NON-NLS-1$
     static String TAG_ENTITIES = ".TLDTag.TLDTag12.TLDTag20.TLDTag21."; //$NON-NLS-1$
-    static String ATTR_ENTITIES = ".TLDAttribute.TLDAttribute12."; //$NON-NLS-1$
+    static String ATTR_ENTITIES = ".TLDAttribute.TLDAttribute12.TLDAttribute20.TLDAttribute2F."; //$NON-NLS-1$
 
+    static String FACELET_TAGLIB_ENTITIES = ".FileFaceletTaglib."; //$NON-NLS-1$
+    static String FACELET_TAG_ENTITIES = ".FaceletTaglibTag."; //$NON-NLS-1$
+
     public static boolean isTaglib(XModelObject o) {
         return isOfEntity(o, FILE_ENTITIES);
     }
@@ -46,6 +49,13 @@
         }
         return sb.toString();
     }
-    
+
+    public static boolean isFaceletTaglib(XModelObject o) {
+        return isOfEntity(o, FACELET_TAGLIB_ENTITIES);
+    }
+    public static boolean isFaceletTag(XModelObject o) {
+        return isOfEntity(o, FACELET_TAG_ENTITIES);
+    }
+
 }
 

Modified: trunk/jst/plugins/org.jboss.tools.jst.web/src/org/jboss/tools/jst/web/tld/model/handlers/ImportTLDToPaletteSupport.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web/src/org/jboss/tools/jst/web/tld/model/handlers/ImportTLDToPaletteSupport.java	2009-09-30 12:36:20 UTC (rev 17814)
+++ trunk/jst/plugins/org.jboss.tools.jst.web/src/org/jboss/tools/jst/web/tld/model/handlers/ImportTLDToPaletteSupport.java	2009-09-30 12:46:07 UTC (rev 17815)
@@ -30,6 +30,7 @@
 import org.jboss.tools.jst.web.messages.xpl.WebUIMessages;
 import org.jboss.tools.jst.web.model.tree.AllTldsTree;
 import org.jboss.tools.jst.web.tld.URIConstants;
+import org.jboss.tools.jst.web.tld.model.TLDUtil;
 import org.jboss.tools.jst.web.tld.model.helpers.TLDToPaletteHelper;
 
 public class ImportTLDToPaletteSupport extends SpecialWizardSupport {
@@ -133,7 +134,9 @@
     	String name = selectedFile.getAttributeValue("display-name"); //$NON-NLS-1$
     	if(name == null || name.length() == 0) name = selectedFile.getAttributeValue("shortname"); //$NON-NLS-1$
     	setAttributeValue(0, NAME, name);
-    	String pref = TLDToPaletteHelper.getTldName(selectedFile);
+    	String pref = TLDUtil.isTaglib(selectedFile) ? TLDToPaletteHelper.getTldName(selectedFile)
+    			: TLDUtil.isFaceletTaglib(selectedFile) ? TLDToPaletteHelper.getFaceletTldName(selectedFile)
+    			: ""; //$NON-NLS-1$
     	setAttributeValue(0, URIConstants.DEFAULT_PREFIX, pref);
     	String uri = selectedFile.getAttributeValue("uri"); //$NON-NLS-1$
     	setAttributeValue(0, URIConstants.LIBRARY_URI, uri);

Modified: trunk/jst/plugins/org.jboss.tools.jst.web/src/org/jboss/tools/jst/web/tld/model/handlers/PaletteAdopt.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web/src/org/jboss/tools/jst/web/tld/model/handlers/PaletteAdopt.java	2009-09-30 12:36:20 UTC (rev 17814)
+++ trunk/jst/plugins/org.jboss.tools.jst.web/src/org/jboss/tools/jst/web/tld/model/handlers/PaletteAdopt.java	2009-09-30 12:46:07 UTC (rev 17815)
@@ -26,33 +26,43 @@
     public PaletteAdopt() {}
 
     public boolean isAdoptable(XModelObject target, XModelObject object) {
-        return isAdoptableTag(target, object) || isAdoptableTaglib(target, object);
+        return isAdoptableTag(target, object) 
+        	|| isAdoptableTaglib(target, object)
+        	|| isAdoptableFaceletTaglib(target, object);
     }
 
     public void adopt(XModelObject target, XModelObject object, java.util.Properties p) throws XModelException {
         if(isAdoptableTag(target, object)) adoptTag(target, object);
         else if(isAdoptableTaglib(target, object)) adoptTaglib(target, object);
+        else if(isAdoptableFaceletTaglib(target, object)) adoptFaceletTaglib(target, object);
     }
 
     protected boolean isAdoptableTag(XModelObject target, XModelObject object) {
         if(!TLDUtil.isTag(object)) return false;
-        String te = target.getModelEntity().getName();
-        if(!te.startsWith("SharablePageTab") &&  //$NON-NLS-1$
-           !te.startsWith("SharableGroup") && //$NON-NLS-1$
-		   !te.startsWith("SharableMacro")) return false; //$NON-NLS-1$
+        if(!isPaletteObject(target, true)) return false;
         return true;
     }
 
+    private boolean isPaletteObject(XModelObject target, boolean excludeRoot) {
+    	String te = target.getModelEntity().getName();
+    	if(te.startsWith("SharablePageTab")) return true; //$NON-NLS-1$
+    	if(te.startsWith("SharableGroup")) return true; //$NON-NLS-1$
+    	if(te.startsWith("SharableMacro")) return true; //$NON-NLS-1$
+    	if(!excludeRoot && te.startsWith("SharablePalette")) return true; //$NON-NLS-1$
+    	return false;
+    }
     protected boolean isAdoptableTaglib(XModelObject target, XModelObject object) {
         if(!TLDUtil.isTaglib(object)) return false;
-        String te = target.getModelEntity().getName();
-        if(!te.startsWith("SharablePageTab") && //$NON-NLS-1$
-           !te.startsWith("SharableGroup") && //$NON-NLS-1$
-           !te.equals("SharablePalette") && //$NON-NLS-1$
-           !te.startsWith("SharableMacro")) return false; //$NON-NLS-1$
+        if(!isPaletteObject(target, false)) return false;
         return true;
     }
-    
+
+    protected boolean isAdoptableFaceletTaglib(XModelObject target, XModelObject object) {
+    	if(!TLDUtil.isFaceletTaglib(object)) return false;
+        if(!isPaletteObject(target, false)) return false;
+        return true;
+    }
+
     public void adoptTag(XModelObject target, XModelObject object) throws XModelException {
     	if(target.getModelEntity().getName().startsWith("SharableMacro")) target = target.getParent(); //$NON-NLS-1$
         add(target, object, helper.createMacroByTag(object, target.getModel()));
@@ -83,6 +93,10 @@
 		XActionInvoker.invoke("ImportTLDToPaletteWizard", "CreateActions.ImportTLD", paletteRoot, p); //$NON-NLS-1$ //$NON-NLS-2$
     }
 
+    public void adoptFaceletTaglib(XModelObject target, XModelObject object) {
+    	adoptTaglib(target, object);
+    }
+
     static void add(XModelObject target, XModelObject object, XModelObject created) throws XModelException {
         if(created == null) return;
         XModelObject old = target.getChildByPath(created.getPathPart());

Modified: trunk/jst/plugins/org.jboss.tools.jst.web/src/org/jboss/tools/jst/web/tld/model/helpers/TLDToPaletteHelper.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web/src/org/jboss/tools/jst/web/tld/model/helpers/TLDToPaletteHelper.java	2009-09-30 12:36:20 UTC (rev 17814)
+++ trunk/jst/plugins/org.jboss.tools.jst.web/src/org/jboss/tools/jst/web/tld/model/helpers/TLDToPaletteHelper.java	2009-09-30 12:46:07 UTC (rev 17815)
@@ -105,6 +105,43 @@
         return sb.toString();
     }
 
+    public XModelObject createMacroByFaceletTag(XModelObject tag, XModel model) {
+        Properties p = new Properties();
+        String parentname = getFaceletTldName(tag.getParent());
+        String prefix = (parentname.length() == 0) ? "" : parentname + ":"; //$NON-NLS-1$ //$NON-NLS-2$
+        String shortname = tag.getAttributeValue("tag-name"); //$NON-NLS-1$
+        String name = prefix + shortname;
+        String tagname = shortname; ///name;
+		p.setProperty("name", shortname); //$NON-NLS-1$
+        boolean empty = false; //we know nothing
+        if(!empty) p.setProperty(END_TEXT, "</" + tagname + ">"); //$NON-NLS-1$ //$NON-NLS-2$
+        p.setProperty(START_TEXT, getStartText(tag, empty, tagname));
+        p.setProperty(DESCRIPTION, getTagDescription(tag, empty, name));
+        if(!empty) p.setProperty(REFORMAT, "yes"); //$NON-NLS-1$
+        return model.createModelObject("SharableMacroHTML", p); //$NON-NLS-1$
+    }
+
+    public static String getFaceletTldName(XModelObject tld) {
+    	if(tld == null) return ""; //$NON-NLS-1$
+        String n = tld.getAttributeValue(XModelObjectConstants.ATTR_NAME);
+        String suff = ".taglib"; //$NON-NLS-1$
+        if(n.endsWith(suff)) {
+        	String p = n.substring(0, n.length() - suff.length()).toLowerCase();
+        	if(!"jsp".equals(p)) { //$NON-NLS-1$
+        		return p;
+        	}
+        }
+        String u = tld.getAttributeValue("uri"); //$NON-NLS-1$
+        if(u != null) {
+            int q = u.lastIndexOf('/');
+            if(q >= 0) u = u.substring(q + 1);
+            n = u;
+        }
+        int s = n.lastIndexOf(' ');
+        if(s >= 0) n = n.substring(s + 1);
+        return n.toLowerCase();
+    }
+
     private boolean isRequired(XModelObject attr) {
         String required = attr.getAttributeValue("required"); //$NON-NLS-1$
         return (XModelObjectConstants.TRUE.equals(required) || XModelObjectConstants.TRUE.equals(required));
@@ -126,12 +163,13 @@
         p.setProperty(URIConstants.LIBRARY_URI, "" + tld.getAttributeValue("uri")); //$NON-NLS-1$ //$NON-NLS-2$
         XModelObject tab = model.createModelObject(entity, p);
         XModelObject[] tags = tld.getChildren();
-        for (int i = 0; i < tags.length; i++)
-          if(TLDUtil.isTag(tags[i])) tab.addChild(createMacroByTag(tags[i], model));
+        for (int i = 0; i < tags.length; i++) {
+        	if(TLDUtil.isTag(tags[i])) tab.addChild(createMacroByTag(tags[i], model));
+        	if(TLDUtil.isFaceletTag(tags[i])) tab.addChild(createMacroByFaceletTag(tags[i], model));
+        }
         return tab;
     }
 
-
     private String capitalize(String s) {
         return (s.length() == 0) ? s : Character.toUpperCase(s.charAt(0)) + s.substring(1);
     }



More information about the jbosstools-commits mailing list