JBoss Tools SVN: r17987 - trunk/maven/plugins/org.jboss.tools.maven.seam/src/org/jboss/tools/maven/seam.
by jbosstools-commits@lists.jboss.org
Author: snjeza
Date: 2009-10-08 14:14:57 -0400 (Thu, 08 Oct 2009)
New Revision: 17987
Modified:
trunk/maven/plugins/org.jboss.tools.maven.seam/src/org/jboss/tools/maven/seam/MavenSeamActivator.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-4972 No ejb and ear project are created as new Maven-based Seam Web Project
Modified: trunk/maven/plugins/org.jboss.tools.maven.seam/src/org/jboss/tools/maven/seam/MavenSeamActivator.java
===================================================================
--- trunk/maven/plugins/org.jboss.tools.maven.seam/src/org/jboss/tools/maven/seam/MavenSeamActivator.java 2009-10-08 17:09:02 UTC (rev 17986)
+++ trunk/maven/plugins/org.jboss.tools.maven.seam/src/org/jboss/tools/maven/seam/MavenSeamActivator.java 2009-10-08 18:14:57 UTC (rev 17987)
@@ -642,13 +642,6 @@
modelManager.addDependency(pomFile,dependency);
dependency = new Dependency();
- dependency.setGroupId("org.mvel");
- dependency.setArtifactId("mvel14");
- dependency.setType("jar");
- dependency.setScope("compile");
- modelManager.addDependency(pomFile,dependency);
-
- dependency = new Dependency();
dependency.setGroupId("org.jbpm");
dependency.setArtifactId("jbpm-jpdl");
dependency.setType("jar");
15 years
JBoss Tools SVN: r17986 - in trunk/jst/plugins/org.jboss.tools.jst.web.kb: src/org/jboss/tools/jst/web/kb/internal and 3 other directories.
by jbosstools-commits@lists.jboss.org
Author: scabanovich
Date: 2009-10-08 13:09:02 -0400 (Thu, 08 Oct 2009)
New Revision: 17986
Added:
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/scanner/JSF2ResourcesScanner.java
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/taglib/composite/
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/taglib/composite/CompositeAttribute.java
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/taglib/composite/CompositeComponent.java
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/taglib/composite/CompositeTagLibrary.java
Modified:
trunk/jst/plugins/org.jboss.tools.jst.web.kb/META-INF/MANIFEST.MF
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/KbBuilder.java
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/KbProject.java
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/KbResourceVisitor.java
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/KbXMLStoreConstants.java
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/scanner/LibraryScanner.java
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/taglib/AbstractComponent.java
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/taglib/AbstractTagLib.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-4970
Modified: trunk/jst/plugins/org.jboss.tools.jst.web.kb/META-INF/MANIFEST.MF
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web.kb/META-INF/MANIFEST.MF 2009-10-08 16:55:41 UTC (rev 17985)
+++ trunk/jst/plugins/org.jboss.tools.jst.web.kb/META-INF/MANIFEST.MF 2009-10-08 17:09:02 UTC (rev 17986)
@@ -22,4 +22,5 @@
org.jboss.tools.jst.web.kb.internal,
org.jboss.tools.jst.web.kb.internal.scanner,
org.jboss.tools.jst.web.kb.internal.taglib,
- org.jboss.tools.jst.web.kb.taglib
+ org.jboss.tools.jst.web.kb.taglib,
+ org.jboss.tools.jst.web.kb.internal.taglib.composite
Modified: trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/KbBuilder.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/KbBuilder.java 2009-10-08 16:55:41 UTC (rev 17985)
+++ trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/KbBuilder.java 2009-10-08 17:09:02 UTC (rev 17986)
@@ -124,7 +124,7 @@
} finally {
sp.fireChanges();
}
-
+ getResourceVisitor().init();
return null;
}
Modified: trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/KbProject.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/KbProject.java 2009-10-08 16:55:41 UTC (rev 17985)
+++ trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/KbProject.java 2009-10-08 17:09:02 UTC (rev 17986)
@@ -42,7 +42,9 @@
import org.jboss.tools.jst.web.kb.internal.scanner.LoadedDeclarations;
import org.jboss.tools.jst.web.kb.internal.taglib.AbstractTagLib;
import org.jboss.tools.jst.web.kb.internal.taglib.FaceletTagLibrary;
+import org.jboss.tools.jst.web.kb.internal.taglib.FacesConfigTagLibrary;
import org.jboss.tools.jst.web.kb.internal.taglib.TLDLibrary;
+import org.jboss.tools.jst.web.kb.internal.taglib.composite.CompositeTagLibrary;
import org.jboss.tools.jst.web.kb.taglib.ICustomTagLibrary;
import org.jboss.tools.jst.web.kb.taglib.ITagLibrary;
import org.w3c.dom.Element;
@@ -402,6 +404,10 @@
tagLib = new TLDLibrary();
} else if(KbXMLStoreConstants.CLS_FACELET_LIBRARY.equals(cls)) {
tagLib = new FaceletTagLibrary();
+ } else if(KbXMLStoreConstants.CLS_FACESCONFIG_LIBRARY.equals(cls)) {
+ tagLib = new FacesConfigTagLibrary();
+ } else if(KbXMLStoreConstants.CLS_COMPOSITE_LIBRARY.equals(cls)) {
+ tagLib = new CompositeTagLibrary();
} else {
//consider other cases;
}
Modified: trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/KbResourceVisitor.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/KbResourceVisitor.java 2009-10-08 16:55:41 UTC (rev 17985)
+++ trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/KbResourceVisitor.java 2009-10-08 17:09:02 UTC (rev 17986)
@@ -8,6 +8,7 @@
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.resources.IResourceVisitor;
+import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IPath;
import org.eclipse.jdt.core.IClasspathEntry;
@@ -19,6 +20,7 @@
import org.jboss.tools.common.model.util.EclipseResourceUtil;
import org.jboss.tools.jst.web.kb.WebKbPlugin;
import org.jboss.tools.jst.web.kb.internal.scanner.IFileScanner;
+import org.jboss.tools.jst.web.kb.internal.scanner.JSF2ResourcesScanner;
import org.jboss.tools.jst.web.kb.internal.scanner.LoadedDeclarations;
import org.jboss.tools.jst.web.kb.internal.scanner.ScannerException;
import org.jboss.tools.jst.web.kb.internal.scanner.XMLScanner;
@@ -34,6 +36,9 @@
IPath[] outs = new IPath[0];
IPath[] srcs = new IPath[0];
IPath webinf = null;
+ IPath jsf2resources = null; //JSF 2
+ IResource jsf2resourcesFolder = null;
+ boolean jsf2resourcesProcessed = false;
public KbResourceVisitor(KbProject p) {
this.p = p;
@@ -48,6 +53,13 @@
IResource wir = (IResource)wio.getAdapter(IResource.class);
if(wir != null) {
webinf = wir.getFullPath();
+ jsf2resources = webinf.removeLastSegments(1).append("resources"); //$NON-NLS-1$
+ IResource rf = ResourcesPlugin.getWorkspace().getRoot().getFolder(jsf2resources);
+ if(rf == null || !rf.exists()) {
+ jsf2resources = null;
+ } else {
+ jsf2resourcesFolder = rf;
+ }
}
}
}
@@ -58,6 +70,10 @@
return this;
}
+ public void init() {
+ jsf2resourcesProcessed = false;
+ }
+
public boolean visit(IResource resource) {
if(resource instanceof IFile) {
IFile f = (IFile)resource;
@@ -99,6 +115,25 @@
return true;
}
}
+ if(jsf2resources != null) {
+ if (jsf2resources.isPrefixOf(path)) {
+ if (jsf2resourcesProcessed) return false;
+ jsf2resourcesProcessed = true;
+ JSF2ResourcesScanner scanner = new JSF2ResourcesScanner();
+ LoadedDeclarations c = null;
+ try {
+ c = scanner.parse((IFolder) jsf2resourcesFolder, p);
+ } catch (ScannerException e) {
+ WebKbPlugin.getDefault().logError(e);
+ }
+ if (c != null)
+ componentsLoaded(c, resource);
+ return false;
+ }
+ if(path.isPrefixOf(jsf2resources)) {
+ return true;
+ }
+ }
if(webinf != null) {
if(webinf.isPrefixOf(path) || path.isPrefixOf(webinf)
|| webinf.removeLastSegments(1).isPrefixOf(path) //Webroot
@@ -106,6 +141,7 @@
return true;
}
}
+
if(resource == resource.getProject()) {
return true;
}
@@ -115,7 +151,7 @@
return true;
}
- void componentsLoaded(LoadedDeclarations c, IFile resource) {
+ void componentsLoaded(LoadedDeclarations c, IResource resource) {
if(c == null || c.getLibraries().size() == 0) return;
p.registerComponents(c, resource.getFullPath());
}
Modified: trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/KbXMLStoreConstants.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/KbXMLStoreConstants.java 2009-10-08 16:55:41 UTC (rev 17985)
+++ trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/KbXMLStoreConstants.java 2009-10-08 17:09:02 UTC (rev 17986)
@@ -26,6 +26,7 @@
public String CLS_TLD_LIBRARY = "tld"; //$NON-NLS-1$
public String CLS_FACELET_LIBRARY = "facelet"; //$NON-NLS-1$
public String CLS_FACESCONFIG_LIBRARY = "faces-config"; //$NON-NLS-1$
+ public String CLS_COMPOSITE_LIBRARY = "composite"; //$NON-NLS-1$
public String ATTR_URI = "uri"; //$NON-NLS-1$
public String ATTR_SHORT_NAME = "short-name"; //$NON-NLS-1$
Added: trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/scanner/JSF2ResourcesScanner.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/scanner/JSF2ResourcesScanner.java (rev 0)
+++ trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/scanner/JSF2ResourcesScanner.java 2009-10-08 17:09:02 UTC (rev 17986)
@@ -0,0 +1,99 @@
+package org.jboss.tools.jst.web.kb.internal.scanner;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IFolder;
+import org.eclipse.core.runtime.IPath;
+import org.jboss.tools.common.model.XModel;
+import org.jboss.tools.common.model.XModelObject;
+import org.jboss.tools.common.model.XModelObjectConstants;
+import org.jboss.tools.common.model.project.ext.IValueInfo;
+import org.jboss.tools.common.model.project.ext.impl.ValueInfo;
+import org.jboss.tools.common.model.util.EclipseResourceUtil;
+import org.jboss.tools.jst.web.kb.IKbProject;
+import org.jboss.tools.jst.web.kb.internal.taglib.AbstractAttribute;
+import org.jboss.tools.jst.web.kb.internal.taglib.composite.CompositeAttribute;
+import org.jboss.tools.jst.web.kb.internal.taglib.composite.CompositeComponent;
+import org.jboss.tools.jst.web.kb.internal.taglib.composite.CompositeTagLibrary;
+import org.jboss.tools.jst.web.model.helpers.InnerModelHelper;
+import org.jboss.tools.jst.web.model.project.ext.store.XMLValueInfo;
+
+public class JSF2ResourcesScanner implements IFileScanner {
+ public static String ATTR_SHORT_DESCRIPTION = "shortDescription"; //$NON-NLS-1$
+ public static String URI_PREFIX = "http://java.sun.com/jsf/composite"; //$NON-NLS-1$
+
+ public JSF2ResourcesScanner() {}
+
+ public boolean isLikelyComponentSource(IFile f) {
+ //only to be invoked on IFolder named 'resources'
+ return false;
+ }
+
+ public boolean isRelevant(IFile resource) {
+ //only to be invoked on IFolder named 'resources'
+ return false;
+ }
+
+ public LoadedDeclarations parse(IFile f, IKbProject sp) throws ScannerException {
+ return null;
+ }
+
+ public LoadedDeclarations parse(IFolder f, IKbProject sp) throws ScannerException {
+ XModel model = InnerModelHelper.createXModel(f.getProject());
+ if(model == null) return null;
+ XModelObject o = EclipseResourceUtil.getObjectByResource(model, f);
+ return parse(o, f.getFullPath(), sp);
+ }
+
+ //XModelObject must represent folder named 'resources' under web root.
+ public LoadedDeclarations parse(XModelObject o, IPath source, IKbProject sp) {
+ if(o == null) return null;
+
+ LoadedDeclarations ds = new LoadedDeclarations();
+ processFolder(o, ds, source, URI_PREFIX);
+ return ds;
+ }
+
+ void processFolder(XModelObject o, LoadedDeclarations ds, IPath source, String uriPrefix) {
+ CompositeTagLibrary library = null;
+ XModelObject[] cs = o.getChildren();
+ for (XModelObject c: cs) {
+ if(c.getFileType() == XModelObject.FOLDER) {
+ String n = c.getAttributeValue(XModelObjectConstants.ATTR_NAME);
+ processFolder(c, ds, source, uriPrefix + "/" + n); //$NON-NLS-1$
+ }
+ String entity = c.getModelEntity().getName();
+ if("FileJSF2Component".equals(entity)) { //$NON-NLS-1$
+ if(library == null) {
+ library = new CompositeTagLibrary();
+ library.setId(o);
+ library.setURI(createValueInfo(uriPrefix));
+ ds.getLibraries().add(library);
+ }
+
+ CompositeComponent component = new CompositeComponent();
+ component.setId(c);
+ component.setName(createValueInfo(c.getAttributeValue(XModelObjectConstants.ATTR_NAME)));
+ library.addComponent(component);
+
+ XModelObject is = c.getChildByPath("Interface"); //$NON-NLS-1$
+ if(is == null) continue;
+ XModelObject[] as = is.getChildren();
+ for (XModelObject a: as) {
+ CompositeAttribute attr = new CompositeAttribute();
+ attr.setId(a);
+ attr.setName(new XMLValueInfo(a, XModelObjectConstants.ATTR_NAME));
+ attr.setDescription(new XMLValueInfo(a, ATTR_SHORT_DESCRIPTION));
+ attr.setRequired(new XMLValueInfo(a, AbstractAttribute.REQUIRED));
+
+ component.addAttribute(attr);
+ }
+ }
+ }
+ }
+
+ private IValueInfo createValueInfo(String value) {
+ ValueInfo v = new ValueInfo();
+ v.setValue(value);
+ return v;
+ }
+}
Property changes on: trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/scanner/JSF2ResourcesScanner.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/scanner/LibraryScanner.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/scanner/LibraryScanner.java 2009-10-08 16:55:41 UTC (rev 17985)
+++ trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/scanner/LibraryScanner.java 2009-10-08 17:09:02 UTC (rev 17986)
@@ -14,6 +14,7 @@
import org.eclipse.core.runtime.IPath;
import org.jboss.tools.common.model.XModel;
import org.jboss.tools.common.model.XModelObject;
+import org.jboss.tools.common.model.XModelObjectConstants;
import org.jboss.tools.common.model.filesystems.impl.FileSystemsImpl;
import org.jboss.tools.common.model.util.EclipseResourceUtil;
import org.jboss.tools.jst.web.kb.IKbProject;
@@ -81,9 +82,14 @@
LoadedDeclarations ds1 = s.parse(tld, path, sp);
if(ds1 != null) ds.add(ds1);
}
+ if(tld.getFileType() == XModelObject.FOLDER && tld.getAttributeValue(XModelObjectConstants.ATTR_NAME).equals("resources")) { //$NON-NLS-1$
+ JSF2ResourcesScanner s = new JSF2ResourcesScanner();
+ LoadedDeclarations ds1 = s.parse(tld, path, sp);
+ if(ds1 != null) ds.add(ds1);
+ }
}
}
-
+
return ds;
}
Modified: trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/taglib/AbstractComponent.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/taglib/AbstractComponent.java 2009-10-08 16:55:41 UTC (rev 17985)
+++ trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/taglib/AbstractComponent.java 2009-10-08 17:09:02 UTC (rev 17986)
@@ -27,6 +27,7 @@
import org.jboss.tools.jst.web.kb.KbQuery;
import org.jboss.tools.jst.web.kb.internal.KbObject;
import org.jboss.tools.jst.web.kb.internal.KbXMLStoreConstants;
+import org.jboss.tools.jst.web.kb.internal.taglib.composite.CompositeAttribute;
import org.jboss.tools.jst.web.kb.taglib.Facet;
import org.jboss.tools.jst.web.kb.taglib.IAttribute;
import org.jboss.tools.jst.web.kb.taglib.IComponent;
@@ -575,6 +576,8 @@
c = new TLDAttribute();
} else if(KbXMLStoreConstants.CLS_FACESCONFIG_LIBRARY.equals(cls)) {
c = new FacesConfigAttribute();
+ } else if(KbXMLStoreConstants.CLS_COMPOSITE_LIBRARY.equals(cls)) {
+ c = new CompositeAttribute();
} else {
//consider other cases;
}
Modified: trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/taglib/AbstractTagLib.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/taglib/AbstractTagLib.java 2009-10-08 16:55:41 UTC (rev 17985)
+++ trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/taglib/AbstractTagLib.java 2009-10-08 17:09:02 UTC (rev 17986)
@@ -32,6 +32,7 @@
import org.jboss.tools.jst.web.kb.KbQuery;
import org.jboss.tools.jst.web.kb.internal.KbObject;
import org.jboss.tools.jst.web.kb.internal.KbXMLStoreConstants;
+import org.jboss.tools.jst.web.kb.internal.taglib.composite.CompositeComponent;
import org.jboss.tools.jst.web.kb.taglib.IAttribute;
import org.jboss.tools.jst.web.kb.taglib.IComponent;
import org.jboss.tools.jst.web.kb.taglib.INameSpace;
@@ -532,6 +533,8 @@
c = new FaceletTag();
} else if(KbXMLStoreConstants.CLS_FACESCONFIG_LIBRARY.equals(cls)) {
c = new FacesConfigComponent();
+ } else if(KbXMLStoreConstants.CLS_COMPOSITE_LIBRARY.equals(cls)) {
+ c = new CompositeComponent();
} else {
//consider other cases;
}
Added: trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/taglib/composite/CompositeAttribute.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/taglib/composite/CompositeAttribute.java (rev 0)
+++ trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/taglib/composite/CompositeAttribute.java 2009-10-08 17:09:02 UTC (rev 17986)
@@ -0,0 +1,45 @@
+/*******************************************************************************
+ * Copyright (c) 2009 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:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.jst.web.kb.internal.taglib.composite;
+
+import java.util.Properties;
+
+import org.jboss.tools.common.model.XModelObject;
+import org.jboss.tools.common.model.project.ext.store.XMLStoreConstants;
+import org.jboss.tools.jst.web.kb.internal.KbXMLStoreConstants;
+import org.jboss.tools.jst.web.kb.internal.scanner.JSF2ResourcesScanner;
+import org.jboss.tools.jst.web.kb.internal.taglib.AbstractAttribute;
+import org.jboss.tools.jst.web.kb.internal.taglib.AbstractComponent;
+import org.jboss.tools.jst.web.model.project.ext.store.XMLValueInfo;
+import org.w3c.dom.Element;
+
+public class CompositeAttribute extends AbstractAttribute {
+
+ public CompositeAttribute clone() throws CloneNotSupportedException {
+ return (CompositeAttribute)super.clone();
+ }
+
+ public String getXMLClass() {
+ return KbXMLStoreConstants.CLS_COMPOSITE_LIBRARY;
+ }
+
+ @Override
+ protected void loadAttributesInfo(Element element, Properties context) {
+ if(context.get(XMLStoreConstants.KEY_MODEL_OBJECT) == getId() && getId() != null) {
+ XModelObject a = (XModelObject)getId();
+ attributesInfo.put(XMLStoreConstants.ATTR_NAME, new XMLValueInfo(a, XMLStoreConstants.ATTR_NAME));
+ attributesInfo.put(AbstractComponent.DESCRIPTION, new XMLValueInfo(a, JSF2ResourcesScanner.ATTR_SHORT_DESCRIPTION));
+ attributesInfo.put(REQUIRED, new XMLValueInfo(a, REQUIRED));
+ } else {
+ super.loadAttributesInfo(element, context);
+ }
+ }
+}
Property changes on: trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/taglib/composite/CompositeAttribute.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/taglib/composite/CompositeComponent.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/taglib/composite/CompositeComponent.java (rev 0)
+++ trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/taglib/composite/CompositeComponent.java 2009-10-08 17:09:02 UTC (rev 17986)
@@ -0,0 +1,35 @@
+/*******************************************************************************
+ * Copyright (c) 2009 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:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.jst.web.kb.internal.taglib.composite;
+
+import java.util.Properties;
+
+import org.jboss.tools.jst.web.kb.internal.KbXMLStoreConstants;
+import org.jboss.tools.jst.web.kb.internal.taglib.AbstractComponent;
+import org.w3c.dom.Element;
+
+public class CompositeComponent extends AbstractComponent {
+
+ public String getXMLClass() {
+ return KbXMLStoreConstants.CLS_COMPOSITE_LIBRARY;
+ }
+
+ @Override
+ protected void saveAttributesInfo(Element element, Properties context) {
+ super.saveAttributesInfo(element, context);
+ }
+
+ @Override
+ protected void loadAttributesInfo(Element element, Properties context) {
+ super.loadAttributesInfo(element, context);
+ }
+
+}
Property changes on: trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/taglib/composite/CompositeComponent.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/taglib/composite/CompositeTagLibrary.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/taglib/composite/CompositeTagLibrary.java (rev 0)
+++ trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/taglib/composite/CompositeTagLibrary.java 2009-10-08 17:09:02 UTC (rev 17986)
@@ -0,0 +1,18 @@
+package org.jboss.tools.jst.web.kb.internal.taglib.composite;
+
+import org.jboss.tools.jst.web.kb.internal.KbXMLStoreConstants;
+import org.jboss.tools.jst.web.kb.internal.taglib.AbstractTagLib;
+
+public class CompositeTagLibrary extends AbstractTagLib {
+
+ public CompositeTagLibrary() {}
+
+ public CompositeTagLibrary clone() throws CloneNotSupportedException {
+ return (CompositeTagLibrary)super.clone();
+ }
+
+ public String getXMLClass() {
+ return KbXMLStoreConstants.CLS_COMPOSITE_LIBRARY;
+ }
+
+}
Property changes on: trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/taglib/composite/CompositeTagLibrary.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
15 years
JBoss Tools SVN: r17985 - trunk/seam/plugins/org.jboss.tools.seam.text.ext/src/org/jboss/tools/seam/text/ext/hyperlink.
by jbosstools-commits@lists.jboss.org
Author: vrubezhny
Date: 2009-10-08 12:55:41 -0400 (Thu, 08 Oct 2009)
New Revision: 17985
Modified:
trunk/seam/plugins/org.jboss.tools.seam.text.ext/src/org/jboss/tools/seam/text/ext/hyperlink/SeamBeanHyperlinkPartitioner.java
Log:
JBIDE-5001: Unhandled event loop exception is occured when try to make OpenOn across " ', nested " inside <p style="margin-top: -0.5em;"> on template.xhtml in Seam 2.2 project
The issue is fixed
Modified: trunk/seam/plugins/org.jboss.tools.seam.text.ext/src/org/jboss/tools/seam/text/ext/hyperlink/SeamBeanHyperlinkPartitioner.java
===================================================================
--- trunk/seam/plugins/org.jboss.tools.seam.text.ext/src/org/jboss/tools/seam/text/ext/hyperlink/SeamBeanHyperlinkPartitioner.java 2009-10-08 16:39:24 UTC (rev 17984)
+++ trunk/seam/plugins/org.jboss.tools.seam.text.ext/src/org/jboss/tools/seam/text/ext/hyperlink/SeamBeanHyperlinkPartitioner.java 2009-10-08 16:55:41 UTC (rev 17985)
@@ -308,7 +308,7 @@
String prefix = propText;
ELExpression expr = engine.parseOperand(prefix);
- if (expr == null)
+ if (!(expr instanceof ELInvocationExpression))
return null; // No EL Operand found
expr.getModel().shift(r.getOffset() - expr.getFirstToken().getStart());
15 years
JBoss Tools SVN: r17984 - in trunk: common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver and 3 other directories.
by jbosstools-commits@lists.jboss.org
Author: dazarov
Date: 2009-10-08 12:39:24 -0400 (Thu, 08 Oct 2009)
New Revision: 17984
Modified:
trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/refactoring/RefactorSearcher.java
trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/ELResolutionImpl.java
trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/JavaMemberELSegmentImpl.java
trunk/common/plugins/org.jboss.tools.common.el.ui/src/org/jboss/tools/common/el/ui/refactoring/RenameMethodParticipant.java
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/refactoring/SeamRenameMethodParticipant.java
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/refactoring/SeamRenameProcessor.java
trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/search/SeamELReferencesQueryParticipant.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-4771, https://jira.jboss.org/jira/browse/JBIDE-4856
Modified: trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/refactoring/RefactorSearcher.java
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/refactoring/RefactorSearcher.java 2009-10-08 15:28:23 UTC (rev 17983)
+++ trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/refactoring/RefactorSearcher.java 2009-10-08 16:39:24 UTC (rev 17984)
@@ -56,7 +56,6 @@
import org.jboss.tools.common.el.core.resolver.ELResolverFactoryManager;
import org.jboss.tools.common.el.core.resolver.ELSegment;
import org.jboss.tools.common.el.core.resolver.ElVarSearcher;
-import org.jboss.tools.common.el.core.resolver.JavaMemberELSegment;
import org.jboss.tools.common.el.core.resolver.SimpleELContext;
import org.jboss.tools.common.el.core.resolver.Var;
import org.jboss.tools.common.model.util.EclipseResourceUtil;
@@ -282,7 +281,7 @@
for(ELInvocationExpression ie : instance.getExpression().getInvocations()){
ELInvocationExpression expression = findComponentReference(ie);
if(expression != null){
- checkMatch(file, expression, getOffset(expression), offset+getOffset(expression), getLength(expression));
+ checkMatch(file, expression, offset+getOffset(expression), getLength(expression));
}
}
}
@@ -353,49 +352,22 @@
offset += token.length();
}
}
-
protected ELInvocationExpression findComponentReference(ELInvocationExpression invocationExpression){
- ELInvocationExpression invExp = invocationExpression;
- while(invExp != null){
- if(invExp instanceof ELPropertyInvocation){
- if(((ELPropertyInvocation)invExp).getQualifiedName() != null && ((ELPropertyInvocation)invExp).getQualifiedName().equals(propertyName))
- return invExp;
- else
- invExp = invExp.getLeft();
-
- }else{
- invExp = invExp.getLeft();
- }
- }
- return null;
+ return invocationExpression;
}
protected abstract boolean isFileCorrect(IFile file);
protected abstract void match(IFile file, int offset, int length);
- private void checkMatch(IFile file, ELExpression operand, int localOffset, int offset, int length){
+ private void checkMatch(IFile file, ELExpression operand, int offset, int length){
if(javaElement != null && operand != null)
- resolve(file, operand, localOffset, offset, length);
+ resolve(file, operand, offset-getOffset((ELInvocationExpression)operand));
else
match(file, offset, length);
}
- public static String getPropertyName(String methodName){
- if(methodName.startsWith(GET) || methodName.startsWith(SET)){
- String name = methodName.substring(3);
- return name.substring(0, 1).toLowerCase()+name.substring(1);
- }
-
- if(methodName.startsWith(IS)){
- String name = methodName.substring(2);
- return name.substring(0, 1).toLowerCase()+name.substring(1);
- }
-
- return methodName;
- }
-
// TODO: move to util class
public boolean isGetter(IMethod method) {
String name = method.getElementName();
@@ -423,8 +395,7 @@
return false;
}
- private void resolve(IFile file, ELExpression operand, int localOffset,
- int offset, int length) {
+ private void resolve(IFile file, ELExpression operand, int offset) {
ELResolver[] resolvers = ELResolverFactoryManager.getInstance()
.getResolvers(file);
@@ -437,24 +408,28 @@
context.setResource(file);
context.setElResolvers(resolvers);
- List<Var> vars = ElVarSearcher.findAllVars(context, localOffset,
+ List<Var> vars = ElVarSearcher.findAllVars(context, offset,
resolver);
context.setVars(vars);
ELResolution resolution = resolver.resolve(context, operand);
- ELSegment segment = resolution.findSegmentByOffset(localOffset);
-
- if (segment != null && segment instanceof JavaMemberELSegment
- && segment.isResolved()) {
- JavaMemberELSegment javaSegment = (JavaMemberELSegment) segment;
- IJavaElement segmentJavaElement = javaSegment.getJavaElement();
- if (javaElement.equals(segmentJavaElement)){
- match(file, offset, length);
- return;
- }
+ List<ELSegment> segments = resolution.findSegmentsByJavaElement(javaElement);
+
+ for(ELSegment segment : segments){
+ match(file, offset+segment.getSourceReference().getStartPosition(), segment.getSourceReference().getLength());
}
+
+// if (segment != null && segment instanceof JavaMemberELSegment
+// && segment.isResolved()) {
+// JavaMemberELSegment javaSegment = (JavaMemberELSegment) segment;
+// IJavaElement segmentJavaElement = javaSegment.getJavaElement();
+// if (javaElement.equals(segmentJavaElement)){
+// match(file, offset, length);
+// return;
+// }
+// }
}
}
}
\ No newline at end of file
Modified: trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/ELResolutionImpl.java
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/ELResolutionImpl.java 2009-10-08 15:28:23 UTC (rev 17983)
+++ trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/ELResolutionImpl.java 2009-10-08 16:39:24 UTC (rev 17984)
@@ -38,7 +38,7 @@
public List<ELSegment> findSegmentsByJavaElement(IJavaElement element) {
ArrayList<ELSegment> list = new ArrayList<ELSegment>();
for(ELSegment segment : segments){
- if(segment instanceof JavaMemberELSegment && ((JavaMemberELSegment)segment).getJavaElement().equals(element))
+ if(segment instanceof JavaMemberELSegment && ((JavaMemberELSegment)segment).getJavaElement() != null && ((JavaMemberELSegment)segment).getJavaElement().equals(element))
list.add(segment);
}
return list;
Modified: trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/JavaMemberELSegmentImpl.java
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/JavaMemberELSegmentImpl.java 2009-10-08 15:28:23 UTC (rev 17983)
+++ trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/JavaMemberELSegmentImpl.java 2009-10-08 16:39:24 UTC (rev 17984)
@@ -31,6 +31,9 @@
* @see org.jboss.tools.common.el.core.resolver.JavaMemberElSegment#getJavaElement()
*/
public IJavaElement getJavaElement() {
+ if(element==null && memberInfo!=null) {
+ element = memberInfo.getJavaElement();
+ }
return element;
}
@@ -56,16 +59,6 @@
}
/**
- * @return the element
- */
- public IJavaElement getElement() {
- if(element==null && memberInfo!=null) {
- element = memberInfo.getJavaElement();
- }
- return element;
- }
-
- /**
* @param element the element to set
*/
public void setElement(IJavaElement element) {
Modified: trunk/common/plugins/org.jboss.tools.common.el.ui/src/org/jboss/tools/common/el/ui/refactoring/RenameMethodParticipant.java
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.el.ui/src/org/jboss/tools/common/el/ui/refactoring/RenameMethodParticipant.java 2009-10-08 15:28:23 UTC (rev 17983)
+++ trunk/common/plugins/org.jboss.tools.common.el.ui/src/org/jboss/tools/common/el/ui/refactoring/RenameMethodParticipant.java 2009-10-08 16:39:24 UTC (rev 17984)
@@ -90,9 +90,9 @@
rootChange = new CompositeChange("");
method = (IMethod)element;
- oldName = SeamRenameMethodSearcher.getPropertyName(method.getElementName());
+ oldName = method.getElementName();
- newName = SeamRenameMethodSearcher.getPropertyName(getArguments().getNewName());
+ newName = getArguments().getNewName();
searcher = new SeamRenameMethodSearcher((IFile)method.getResource(), oldName);
added = false;
return true;
@@ -160,20 +160,20 @@
return null;
}
- protected ELInvocationExpression findComponentReference(ELInvocationExpression invocationExpression){
- ELInvocationExpression invExp = invocationExpression;
- while(invExp != null){
- if(invExp instanceof ELMethodInvocation || invExp instanceof ELPropertyInvocation){
- if(invExp.getMemberName() != null && invExp.getMemberName().equals(propertyName))
- return invExp;
- else
- invExp = invExp.getLeft();
- }else{
- invExp = invExp.getLeft();
- }
- }
- return null;
- }
+// protected ELInvocationExpression findComponentReference(ELInvocationExpression invocationExpression){
+// ELInvocationExpression invExp = invocationExpression;
+// while(invExp != null){
+// if(invExp instanceof ELMethodInvocation || invExp instanceof ELPropertyInvocation){
+// if(invExp.getMemberName() != null && invExp.getMemberName().equals(propertyName))
+// return invExp;
+// else
+// invExp = invExp.getLeft();
+// }else{
+// invExp = invExp.getLeft();
+// }
+// }
+// return null;
+// }
@Override
protected void match(IFile file, int offset, int length) {
Modified: trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/refactoring/SeamRenameMethodParticipant.java
===================================================================
--- trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/refactoring/SeamRenameMethodParticipant.java 2009-10-08 15:28:23 UTC (rev 17983)
+++ trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/refactoring/SeamRenameMethodParticipant.java 2009-10-08 16:39:24 UTC (rev 17984)
@@ -91,9 +91,9 @@
rootChange = new CompositeChange("");
method = (IMethod)element;
- oldName = SeamRenameMethodSearcher.getPropertyName(method.getElementName());
+ oldName = method.getElementName();
- newName = SeamRenameMethodSearcher.getPropertyName(getArguments().getNewName());
+ newName = getArguments().getNewName();
searcher = new SeamRenameMethodSearcher((IFile)method.getResource(), oldName);
added = false;
return true;
@@ -167,20 +167,20 @@
return null;
}
- protected ELInvocationExpression findComponentReference(ELInvocationExpression invocationExpression){
- ELInvocationExpression invExp = invocationExpression;
- while(invExp != null){
- if(invExp instanceof ELMethodInvocation || invExp instanceof ELPropertyInvocation){
- if(invExp.getMemberName() != null && invExp.getMemberName().equals(propertyName))
- return invExp;
- else
- invExp = invExp.getLeft();
- }else{
- invExp = invExp.getLeft();
- }
- }
- return null;
- }
+// protected ELInvocationExpression findComponentReference(ELInvocationExpression invocationExpression){
+// ELInvocationExpression invExp = invocationExpression;
+// while(invExp != null){
+// if(invExp instanceof ELMethodInvocation || invExp instanceof ELPropertyInvocation){
+// if(invExp.getMemberName() != null && invExp.getMemberName().equals(propertyName))
+// return invExp;
+// else
+// invExp = invExp.getLeft();
+// }else{
+// invExp = invExp.getLeft();
+// }
+// }
+// return null;
+// }
@Override
protected void match(IFile file, int offset, int length) {
Modified: trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/refactoring/SeamRenameProcessor.java
===================================================================
--- trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/refactoring/SeamRenameProcessor.java 2009-10-08 15:28:23 UTC (rev 17983)
+++ trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/refactoring/SeamRenameProcessor.java 2009-10-08 16:39:24 UTC (rev 17984)
@@ -30,6 +30,8 @@
import org.eclipse.text.edits.MultiTextEdit;
import org.eclipse.text.edits.ReplaceEdit;
import org.eclipse.text.edits.TextEdit;
+import org.jboss.tools.common.el.core.model.ELInvocationExpression;
+import org.jboss.tools.common.el.core.model.ELPropertyInvocation;
import org.jboss.tools.common.el.core.refactoring.RefactorSearcher;
import org.jboss.tools.common.model.project.ext.ITextSourceReference;
import org.jboss.tools.common.util.FileUtil;
@@ -461,6 +463,22 @@
return projectsSet.getAllProjects();
}
+ protected ELInvocationExpression findComponentReference(ELInvocationExpression invocationExpression){
+ ELInvocationExpression invExp = invocationExpression;
+ while(invExp != null){
+ if(invExp instanceof ELPropertyInvocation){
+ if(((ELPropertyInvocation)invExp).getQualifiedName() != null && ((ELPropertyInvocation)invExp).getQualifiedName().equals(propertyName))
+ return invExp;
+ else
+ invExp = invExp.getLeft();
+
+ }else{
+ invExp = invExp.getLeft();
+ }
+ }
+ return null;
+ }
+
protected IContainer getViewFolder(IProject project){
if(project.equals(projectsSet.getWarProject()))
return projectsSet.getDefaultViewsFolder();
Modified: trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/search/SeamELReferencesQueryParticipant.java
===================================================================
--- trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/search/SeamELReferencesQueryParticipant.java 2009-10-08 15:28:23 UTC (rev 17983)
+++ trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/search/SeamELReferencesQueryParticipant.java 2009-10-08 16:39:24 UTC (rev 17984)
@@ -53,7 +53,7 @@
ElementQuerySpecification qs = (ElementQuerySpecification)querySpecification;
if(qs.getElement() instanceof IMethod){
IFile file = (IFile)qs.getElement().getResource();
- String name = ELSearcher.getPropertyName(qs.getElement().getElementName());
+ String name = qs.getElement().getElementName();
searcher = new ELSearcher(requestor, qs.getElement(), file, name);
searcher.setSearchScope(qs.getScope());
@@ -112,19 +112,19 @@
requestor.reportMatch(match);
}
- protected ELInvocationExpression findComponentReference(ELInvocationExpression invocationExpression){
- ELInvocationExpression invExp = invocationExpression;
- while(invExp != null){
- if(invExp instanceof ELMethodInvocation || invExp instanceof ELPropertyInvocation){
- if(invExp.getMemberName() != null && invExp.getMemberName().equals(propertyName))
- return invExp;
- else
- invExp = invExp.getLeft();
- }else{
- invExp = invExp.getLeft();
- }
- }
- return null;
- }
+// protected ELInvocationExpression findComponentReference(ELInvocationExpression invocationExpression){
+// ELInvocationExpression invExp = invocationExpression;
+// while(invExp != null){
+// if(invExp instanceof ELMethodInvocation || invExp instanceof ELPropertyInvocation){
+// if(invExp.getMemberName() != null && invExp.getMemberName().equals(propertyName))
+// return invExp;
+// else
+// invExp = invExp.getLeft();
+// }else{
+// invExp = invExp.getLeft();
+// }
+// }
+// return null;
+// }
}
}
15 years
JBoss Tools SVN: r17983 - in trunk/jsf/plugins/org.jboss.tools.jsf: META-INF and 5 other directories.
by jbosstools-commits@lists.jboss.org
Author: scabanovich
Date: 2009-10-08 11:28:23 -0400 (Thu, 08 Oct 2009)
New Revision: 17983
Added:
trunk/jsf/plugins/org.jboss.tools.jsf/resources/meta/jsf2-components.meta
trunk/jsf/plugins/org.jboss.tools.jsf/schemas/
trunk/jsf/plugins/org.jboss.tools.jsf/schemas/web-facesuicomponent_2_0.xsd
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/jsf2/
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/jsf2/model/
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/jsf2/model/CompositeComponentConstants.java
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/jsf2/model/CompositeComponentNamespaces.java
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/jsf2/model/FileCompositeComponentLoader.java
trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/jsf2/model/FileCompositeComponentRecognizer.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-4970
Modified: trunk/jsf/plugins/org.jboss.tools.jsf/META-INF/MANIFEST.MF
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf/META-INF/MANIFEST.MF 2009-10-08 15:26:52 UTC (rev 17982)
+++ trunk/jsf/plugins/org.jboss.tools.jsf/META-INF/MANIFEST.MF 2009-10-08 15:28:23 UTC (rev 17983)
@@ -26,7 +26,8 @@
org.jboss.tools.jsf.project.capabilities,
org.jboss.tools.jsf.web,
org.jboss.tools.jsf.web.helpers.context,
- org.jboss.tools.jsf.web.pattern
+ org.jboss.tools.jsf.web.pattern,
+ org.jboss.tools.jsf.jsf2.model
Require-Bundle: org.jboss.tools.jst.web;visibility:=reexport,
org.jboss.tools.jst.web.kb;visibility:=reexport,
org.jboss.tools.common.el.core,
Modified: trunk/jsf/plugins/org.jboss.tools.jsf/plugin.xml
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf/plugin.xml 2009-10-08 15:26:52 UTC (rev 17982)
+++ trunk/jsf/plugins/org.jboss.tools.jsf/plugin.xml 2009-10-08 15:28:23 UTC (rev 17983)
@@ -12,6 +12,7 @@
<meta path="meta/jsfwizards.meta">
</meta>
<meta path="meta/facelet-taglib.meta"/>
+ <meta path="meta/jsf2-components.meta"/>
</extension>
<extension point="org.jboss.tools.common.model.keys">
<keys path="help/keys-jsf.properties"/>
@@ -372,6 +373,10 @@
<xclass id="org.jboss.tools.jsf.facelet.model.AddTagHandler"
class="org.jboss.tools.jsf.facelet.model.AddTagHandler"/>
+ <xclass id="org.jboss.tools.jsf.jsf2.model.FileCompositeComponentLoader"
+ class="org.jboss.tools.jsf.jsf2.model.FileCompositeComponentLoader"/>
+ <xclass id="org.jboss.tools.jsf.jsf2.model.FileCompositeComponentRecognizer"
+ class="org.jboss.tools.jsf.jsf2.model.FileCompositeComponentRecognizer"/>
</extension>
<extension
point="org.eclipse.wst.common.project.facet.core.facets">
Added: trunk/jsf/plugins/org.jboss.tools.jsf/resources/meta/jsf2-components.meta
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf/resources/meta/jsf2-components.meta (rev 0)
+++ trunk/jsf/plugins/org.jboss.tools.jsf/resources/meta/jsf2-components.meta 2009-10-08 15:28:23 UTC (rev 17983)
@@ -0,0 +1,402 @@
+<?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="JSF2Component2.0" value="FileJSF2Component"/>
+ </MAPPING>
+ <MAPPING name="Handlers"/>
+ <MAPPING name="JSF2CompositeNamespaces">
+ <PAIR name="composite" value="http://java.sun.com/jsf/composite"/>
+ </MAPPING>
+ <MAPPING name="Recognizers">
+ <PAIR name="xhtml$4" value="org.jboss.tools.jsf.jsf2.model.FileCompositeComponentRecognizer"/>
+ </MAPPING>
+ </MAPPINGS>
+ <ICONS>
+ <GROUP name="action">
+ <GROUP name="new">
+ <GROUP name="jsf2"/>
+ </GROUP>
+ </GROUP>
+ <GROUP name="main">
+ <GROUP name="jsf2">
+ <ICON name="attribute" path="images/jsf/attribute.gif"/>
+ <ICON name="bean" path="images/struts/form_bean.gif"/>
+ <ICON name="component" path="images/struts/plug_in.gif"/>
+ <ICON name="components" path="images/struts/plug_in_folder.gif"/>
+ <ICON name="file" path="images/jsf/jsf-config.gif"/>
+ </GROUP>
+ </GROUP>
+ </ICONS>
+ <GlobalActions kind="list"/>
+ <XModelEntity
+ ImplementationLoadingClass="org.jboss.tools.jsf.jsf2.model.FileCompositeComponentLoader"
+ ImplementingClass="org.jboss.tools.common.model.filesystems.impl.SimpleFileImpl"
+ ObjectEditorClass="%XML%" XMLSUBPATH="html" name="FileJSF2Component">
+ <XChildrenEntities>
+ <XChildEntity name="JSF2ComponentInterface"/>
+ <XChildEntity name="JSF2ComponentImplementation"/>
+ </XChildrenEntities>
+ <XEntityRenderer>
+ <ICONS>
+ <ICON info="main.jsf2.file" type="main"/>
+ </ICONS>
+ </XEntityRenderer>
+ <XModelAttributes>
+ <XModelAttribute default="jsf2 component" loader="ElementType" name="element type">
+ <Editor name="Uneditable"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="category=general" name="name" xmlname="NAME"/>
+ <XModelAttribute default="xhtml" name="extension" xmlname="EXTENSION">
+ <Editor name="Uneditable"/>
+ </XModelAttribute>
+ <XModelAttribute TRIM="no" name="comment" visibility="false" xmlname="#comment">
+ <Editor name="Note"/>
+ </XModelAttribute>
+ <XModelAttribute loader="ElementType" name="_lateload" visibility="false">
+ <Editor name="Uneditable"/>
+ </XModelAttribute>
+ <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 PROPERTIES="save=always"
+ default="http://www.w3.org/1999/xhtml" name="xmlns" xmlname="xmlns"/>
+ <XModelAttribute name="xmlns:xsi" xmlname="xmlns:xsi"/>
+ <XModelAttribute name="xsi:schemaLocation" xmlname="xsi:schemaLocation"/>
+ <XModelAttribute name="namespaceMapping"/>
+ <XModelAttribute name="encoding">
+ <Constraint loader="ListString">
+ <value name="ISO-8859-1"/>
+ <value name="UTF-8"/>
+ </Constraint>
+ <Editor name="ListString"/>
+ </XModelAttribute>
+ <XModelAttribute default="-//W3C//DTD XHTML 1.0 Transitional//EN"
+ name="publicId" visibility="false"/>
+ <XModelAttribute
+ default="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
+ name="systemId" visibility="false"/>
+ </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 HandlerClassName="%Create%"
+ ICON="action.new.struts.webapp.res_ref"
+ PROPERTIES="validator.add=true" WizardClassName="%Default%"
+ displayName="Component..." kind="action" name="AddComponent">
+ <EntityData EntityName="SeamComponent20">
+ <AttributeData AttributeName="name"/>
+ <AttributeData AttributeName="class" Mandatory="no"/>
+ </EntityData>
+ </XActionItem>
+ <XActionItem HandlerClassName="%Create%"
+ ICON="action.new.struts.webapp.res_ref"
+ PROPERTIES="validator.add=true" WizardClassName="%Default%"
+ displayName="Factory..." kind="action" name="AddFactory">
+ <EntityData EntityName="SeamFactory20">
+ <AttributeData AttributeName="name"/>
+ <AttributeData AttributeName="value" Mandatory="no"/>
+ </EntityData>
+ </XActionItem>
+ <XActionItem HandlerClassName="%Create%" ICON="action.empty"
+ PROPERTIES="validator.add=true" WizardClassName="%Default%"
+ displayName="Event..." kind="action" name="AddEvent">
+ <EntityData EntityName="SeamEvent20">
+ <AttributeData AttributeName="type"/>
+ </EntityData>
+ </XActionItem>
+ <XActionItem HandlerClassName="%Create%" ICON="action.empty"
+ PROPERTIES="validator.add=true" WizardClassName="%Default%"
+ displayName="Import..." kind="action" name="AddImport">
+ <EntityData EntityName="SeamImport">
+ <AttributeData AttributeName="import"/>
+ </EntityData>
+ </XActionItem>
+ </XActionItem>
+ <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="FileJSF2Component_EditorActionList">
+ <XChildrenEntities/>
+ <XEntityRenderer/>
+ <XModelAttributes/>
+ <XActionItem kind="list">
+ <XActionItemReference entity="FileSeamComponents20"
+ name="CreateActions" path="CreateActions"/>
+ <XActionItemReference entity="FileSeamComponents20" name="Properties" path="Properties"/>
+ <XActionItem kind="list" name="VerifyActions">
+ <XActionItem kind="list" name="StaticActions"/>
+ </XActionItem>
+ </XActionItem>
+ <XDependencies/>
+ </XModelEntity>
+ <XModelEntity ImplementingClass="%Custom%"
+ XMLSUBPATH="composite:attribute" name="JSF2ComponentAttribute">
+ <XChildrenEntities/>
+ <XEntityRenderer>
+ <ICONS>
+ <ICON info="main.jsf2.attribute" type="main"/>
+ </ICONS>
+ </XEntityRenderer>
+ <XModelAttributes>
+ <XModelAttribute default="attribute" loader="ElementType" name="element type">
+ <Editor name="Uneditable"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="id=true;save=always;category=general"
+ name="name" xmlname="name"/>
+ <XModelAttribute PROPERTIES="category=general"
+ name="method-signature" xmlname="method-signature"/>
+ <XModelAttribute PROPERTIES="category=general" name="default" xmlname="default"/>
+ <XModelAttribute PROPERTIES="category=general" default="false"
+ name="required" xmlname="required">
+ <Constraint loader="List">
+ <value name="true"/>
+ <value name="false"/>
+ </Constraint>
+ <Editor name="List"/>
+ </XModelAttribute>
+ <XModelAttribute TRIM="no" name="comment" visibility="false" xmlname="#comment">
+ <Editor name="Note"/>
+ </XModelAttribute>
+ </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>
+ <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 ImplementingClass="%Custom%"
+ XMLSUBPATH="composite:implementation" name="JSF2ComponentImplementation">
+ <XChildrenEntities>
+ <XChildEntity name="AnyElement"/>
+ </XChildrenEntities>
+ <XEntityRenderer>
+ <ICONS>
+ <ICON info="main.jsf2.component" type="main"/>
+ </ICONS>
+ </XEntityRenderer>
+ <XModelAttributes>
+ <XModelAttribute default="implementation" loader="ElementType" name="element type">
+ <Editor name="Uneditable"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="id=true" default="Implementation" name="name"/>
+ <XModelAttribute TRIM="no" name="comment" visibility="false" xmlname="#comment">
+ <Editor name="Note"/>
+ </XModelAttribute>
+ </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>
+ <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 ImplementingClass="%Custom%"
+ XMLSUBPATH="composite:interface" name="JSF2ComponentInterface">
+ <XChildrenEntities>
+ <XChildEntity name="JSF2ComponentAttribute"/>
+ </XChildrenEntities>
+ <XEntityRenderer>
+ <ICONS>
+ <ICON info="main.jsf2.component" type="main"/>
+ </ICONS>
+ </XEntityRenderer>
+ <XModelAttributes>
+ <XModelAttribute default="action" loader="ElementType" name="element type">
+ <Editor name="Uneditable"/>
+ </XModelAttribute>
+ <XModelAttribute PROPERTIES="id=true" default="Interface" name="name"/>
+ <XModelAttribute TRIM="no" name="comment" visibility="false" xmlname="#comment">
+ <Editor name="Note"/>
+ </XModelAttribute>
+ </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>
+ <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>
+ <XEntityExtension name="FileFolder">
+ <XChildrenEntities>
+ <XChildEntity name="FileJSF2Component"/>
+ </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="Web" kind="list" name="Web">
+ <XActionItem HandlerClassName="%SpecialWizard%"
+ ICON="action.new.seam.faces-config"
+ PROPERTIES="entity=FileJSF2Component;extensions=.xml.;validator.addfile=true;support=org.jboss.tools.common.model.files.handlers.CreateFileSupport;extension=xhtml;entityVersion=JSF2Component"
+ displayName="JSF 2 Component File..." kind="action" name="CreateFileJSF2Component">
+ <EntityData EntityName="NewFileWizard">
+ <AttributeData AttributeName="folder"/>
+ <AttributeData AttributeName="separator" Mandatory="no"/>
+ <AttributeData AttributeName="name"/>
+ <AttributeData AttributeName="version"/>
+ </EntityData>
+ </XActionItem>
+ </XActionItem>
+ </XActionItem>
+ </XActionItem>
+ </XActionItem>
+ </XEntityExtension>
+ <XEntityExtension name="FileSystemFolder">
+ <XChildrenEntities>
+ <XChildEntity name="FileJSF2Component"/>
+ </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="Web" kind="list" name="Web">
+ <XActionItem HandlerClassName="%SpecialWizard%"
+ ICON="action.new.seam.faces-config"
+ PROPERTIES="entity=FileJSF2Component;extensions=.xml.;validator.addfile=true;support=org.jboss.tools.common.model.files.handlers.CreateFileSupport;extension=xhtml;entityVersion=JSF2Component"
+ displayName="JSF 2 Component File..." kind="action" name="CreateFileJSF2Component">
+ <EntityData EntityName="NewFileWizard">
+ <AttributeData AttributeName="folder"/>
+ <AttributeData AttributeName="separator" Mandatory="no"/>
+ <AttributeData AttributeName="name"/>
+ <AttributeData AttributeName="version"/>
+ </EntityData>
+ </XActionItem>
+ </XActionItem>
+ </XActionItem>
+ </XActionItem>
+ </XActionItem>
+ </XEntityExtension>
+ <XEntityExtension name="FileSystemJar">
+ <XChildrenEntities>
+ <XChildEntity name="FileJSF2Component"/>
+ </XChildrenEntities>
+ <XActionItem kind="list"/>
+ </XEntityExtension>
+ <XEntityExtension name="JarFolder">
+ <XChildrenEntities>
+ <XChildEntity name="FileJSF2Component"/>
+ </XChildrenEntities>
+ <XActionItem kind="list"/>
+ </XEntityExtension>
+</XModelEntityGroup>
Added: trunk/jsf/plugins/org.jboss.tools.jsf/schemas/web-facesuicomponent_2_0.xsd
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf/schemas/web-facesuicomponent_2_0.xsd (rev 0)
+++ trunk/jsf/plugins/org.jboss.tools.jsf/schemas/web-facesuicomponent_2_0.xsd 2009-10-08 15:28:23 UTC (rev 17983)
@@ -0,0 +1,253 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+
+<!--
+ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+
+ Copyright 1997-2007 Sun Microsystems, Inc. All rights reserved.
+
+ The contents of this file are subject to the terms of either the GNU
+ General Public License Version 2 only ("GPL") or the Common Development
+ and Distribution License("CDDL") (collectively, the "License"). You
+ may not use this file except in compliance with the License. You can obtain
+ a copy of the License at https://glassfish.dev.java.net/public/CDDL+GPL.html
+ or glassfish/bootstrap/legal/LICENSE.txt. See the License for the specific
+ language governing permissions and limitations under the License.
+
+ When distributing the software, include this License Header Notice in each
+ file and include the License file at glassfish/bootstrap/legal/LICENSE.txt.
+ Sun designates this particular file as subject to the "Classpath" exception
+ as provided by Sun in the GPL Version 2 section of the License file that
+ accompanied this code. If applicable, add the following below the License
+ Header, with the fields enclosed by brackets [] replaced by your own
+ identifying information: "Portions Copyrighted [year]
+ [name of copyright owner]"
+
+ Contributor(s):
+
+ If you wish your version of this file to be governed by only the CDDL or
+ only the GPL Version 2, indicate your decision by adding "[Contributor]
+ elects to include this software in this distribution under the [CDDL or GPL
+ Version 2] license." If you don't indicate a single choice of license, a
+ recipient has the option to distribute your version of this file under
+ either the CDDL, the GPL Version 2 or to extend the choice of license to
+ its licensees as provided above. However, if you add GPL Version 2 code
+ and therefore, elected the GPL Version 2 license, then the option applies
+ only if the new code is made subject to such option by the copyright
+ holder.
+-->
+
+
+<xsd:schema
+ targetNamespace="http://java.sun.com/xml/ns/javaee"
+ xmlns:javaee="http://java.sun.com/xml/ns/javaee"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace"
+ elementFormDefault="qualified"
+ attributeFormDefault="unqualified"
+ version="2.0">
+
+ <xsd:annotation>
+ <xsd:documentation>
+ $Id: web-facesuicomponent_2_0.xsd,v 1.1.8.2 2008/03/20 21:12:50 edburns Exp $
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Copyright 2007 Sun Microsystems, Inc.,
+ 901 San Antonio Road,
+ Palo Alto, California 94303, U.S.A.
+ All rights reserved.
+
+ Sun Microsystems, Inc. has intellectual property
+ rights relating to technology described in this document. In
+ particular, and without limitation, these intellectual
+ property rights may include one or more of the U.S. patents
+ listed at http://www.sun.com/patents and one or more
+ additional patents or pending patent applications in the
+ U.S. and other countries.
+
+ This document and the technology which it describes are
+ distributed under licenses restricting their use, copying,
+ distribution, and decompilation. No part of this document
+ may be reproduced in any form by any means without prior
+ written authorization of Sun and its licensors, if any.
+
+ Third-party software, including font technology, is
+ copyrighted and licensed from Sun suppliers.
+
+ Sun, Sun Microsystems, the Sun logo, Solaris, Java, Java EE,
+ JavaServer Pages, Enterprise JavaBeans and the Java Coffee
+ Cup logo are trademarks or registered trademarks of Sun
+ Microsystems, Inc. in the U.S. and other countries.
+
+ Federal Acquisitions: Commercial Software - Government Users
+ Subject to Standard License Terms and Conditions.
+
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:annotation>
+ <xsd:documentation>
+
+ <![CDATA[
+
+ The XML Schema for a JavaServer Faces UIComponent (Version 2.0).
+
+ The elements in this schema may be used in an XHTML page for
+ a composite component, by pulling in the composite namespace:
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:composite="http://java.sun.com/jsf/composite">
+
+ <composite:interface>
+ <composite:attribute name="foo" default="bar" />
+ </composite:/interface>
+ <!-- the rest omitted -->
+</html>
+
+ The elements in this schema may also be used in a facelet taglibrary
+ file in the same manner:
+
+<facelet-taglib xmlns="http://java.sun.com/xml/ns/javaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:composite="http://java.sun.com/jsf/composite"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facelettaglibary_2_0.xsd"
+ version="2.0">
+ <namespace>http://domain.com/test_schema</namespace>
+ <tag>
+ <tag-name>testSchema</tag-name>
+ <component>
+ <component-type>javax.faces.Input</component-type>
+ <renderer-type>javax.faces.Text</renderer-type>
+ <handler-class>com.sun.faces.facelets.tag.jsf.ComponentHandler</handler-class>
+ <component-extension>
+
+ <composite:attribute name="foo" default="bar" />
+
+ </component-extension>
+ </component>
+ </tag>
+</facelet-taglib>
+
+ The instance documents may indicate the published
+ version of the schema using xsi:schemaLocation attribute
+ for javaee namespace with the following location:
+
+ http://java.sun.com/xml/ns/javaee/web-facesuicomponent_2_0.xsd
+
+ ]]>
+
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:include schemaLocation="javaee_5.xsd"/>
+
+ <!-- **************************************************** -->
+
+ <xsd:element name = "attribute" type="javaee:uicomponent-attributeType">
+ </xsd:element>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="uicomponent-attributeType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "attribute" element declares an attribute of this
+ ui component.
+
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="attribute"
+ type="javaee:uicomponent-attributeType"/>
+ </xsd:choice>
+
+ <xsd:attribute name="name"
+ type="xsd:string"
+ use="required"/>
+
+ <xsd:attribute name="displayName"
+ type="xsd:string"
+ use="optional"/>
+
+ <xsd:attribute name="shortDescription"
+ type="xsd:string"
+ use="optional"/>
+
+ <xsd:attribute name="default"
+ type="xsd:string"
+ use="optional"/>
+
+ <xsd:attribute name="method-signature"
+ type="xsd:string"
+ use="optional">
+
+ <xsd:annotation>
+ <xsd:documentation>
+ <![CDATA[
+
+ Provides the signature of the Java method. The syntax of
+ the method-signature element is as follows (taken from
+ function-signature in web-jsptaglibrary_2_1.xsd):
+
+ MethodSignature ::= ReturnType S MethodName S?
+ '(' S? Parameters? S? ')'
+
+ ReturnType ::= Type
+
+ MethodName ::= Identifier
+
+ Parameters ::= Parameter
+ | ( Parameter S? ',' S? Parameters )
+
+ Parameter ::= Type
+
+ Where:
+
+ * Type is a basic type or a fully qualified
+ Java class name (including package name),
+ as per the 'Type' production in the Java
+ Language Specification, Second Edition,
+ Chapter 18.
+
+ * Identifier is a Java identifier, as per
+ the 'Identifier' production in the Java
+ Language Specification, Second
+ Edition, Chapter 18.
+
+ Example:
+
+ java.lang.String nickName( java.lang.String, int )
+
+ ]]>
+ </xsd:documentation>
+ </xsd:annotation>
+
+ </xsd:attribute>
+
+ <xsd:attribute name="applyTo"
+ type="xsd:string"
+ use="optional"/>
+
+ <xsd:attribute name="required"
+ type="xsd:boolean"
+ use="optional"/>
+
+ <xsd:attribute name="preferred"
+ type="xsd:boolean"
+ use="optional"/>
+
+ <xsd:attribute name="expert"
+ type="xsd:boolean"
+ use="optional"/>
+
+
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+</xsd:schema>
Property changes on: trunk/jsf/plugins/org.jboss.tools.jsf/schemas/web-facesuicomponent_2_0.xsd
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/jsf2/model/CompositeComponentConstants.java
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/jsf2/model/CompositeComponentConstants.java (rev 0)
+++ trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/jsf2/model/CompositeComponentConstants.java 2009-10-08 15:28:23 UTC (rev 17983)
@@ -0,0 +1,10 @@
+package org.jboss.tools.jsf.jsf2.model;
+
+public interface CompositeComponentConstants {
+ public String PUBLIC_ID = "-//W3C//DTD XHTML 1.0 Transitional//EN"; //$NON-NLS-1$
+ public String SYSTEM_ID = "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"; //$NON-NLS-1$
+ public String COMPOSITE_XMLNS = "http://java.sun.com/jsf/composite"; //$NON-NLS-1$
+
+ public String ENT_FILE_COMPONENT = "FileJSF2Component"; //$NON-NLS-1$
+
+}
Property changes on: trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/jsf2/model/CompositeComponentConstants.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/jsf2/model/CompositeComponentNamespaces.java
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/jsf2/model/CompositeComponentNamespaces.java (rev 0)
+++ trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/jsf2/model/CompositeComponentNamespaces.java 2009-10-08 15:28:23 UTC (rev 17983)
@@ -0,0 +1,122 @@
+/*******************************************************************************
+ * Copyright (c) 2007 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:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.jsf.jsf2.model;
+
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+import org.jboss.tools.common.meta.XMapping;
+import org.jboss.tools.common.meta.XModelMetaData;
+import org.jboss.tools.common.model.XModelObject;
+import org.jboss.tools.common.model.util.NamespaceMapping;
+import org.w3c.dom.Element;
+import org.w3c.dom.NamedNodeMap;
+import org.w3c.dom.Node;
+
+public class CompositeComponentNamespaces {
+ private static Map<String,CompositeComponentNamespaces> map = new HashMap<String, CompositeComponentNamespaces>();
+
+ public static CompositeComponentNamespaces getInstance(XModelMetaData meta, String version) {
+ CompositeComponentNamespaces instance = map.get(version);
+ if(instance == null) {
+ instance = new CompositeComponentNamespaces(meta, version);
+ }
+ return instance;
+ }
+
+ String versionSuffix = null;
+
+ private Map<String, String> uriToNamespace = new HashMap<String, String>();
+
+ private CompositeComponentNamespaces(XModelMetaData meta, String versionSuffix) {
+ XMapping m = meta.getMapping("JSF2CompositeNamespaces"); //$NON-NLS-1$
+ if(m == null) return;
+ this.versionSuffix = versionSuffix;
+ String[] keys = m.getKeys();
+ for (int i = 0; i < keys.length; i++) {
+ String v = m.getValue(keys[i]);
+ uriToNamespace.put(v, keys[i]);
+ }
+ }
+
+ static String XMLNS_PREFIX = "xmlns:"; //$NON-NLS-1$
+
+ public NamespaceMapping getNamespaceMapping(Element element) {
+ NamespaceMapping mapping = new NamespaceMapping();
+ NamedNodeMap as = element.getAttributes();
+ for (int i = 0; i < as.getLength(); i++) {
+ Node n = as.item(i);
+ String name = n.getNodeName();
+ if(name.startsWith(XMLNS_PREFIX)) {
+ String actualNamespace = name.substring(XMLNS_PREFIX.length());
+ String uri = n.getNodeValue();
+ String defaultNamespace = getDefaultNamespace(uri);
+ if(defaultNamespace == null) {
+ defaultNamespace = name.substring(XMLNS_PREFIX.length());
+ }
+ mapping.addNamespace(defaultNamespace, actualNamespace, uri);
+ }
+ }
+ return mapping;
+ }
+
+ public String getDefaultNamespace(String uri) {
+ return uriToNamespace.get(uri);
+ }
+
+ public void validateNamespaces(XModelObject object, Element element) {
+ NamespaceMapping namespaceMapping = NamespaceMapping.load(object);
+ if(namespaceMapping == null) namespaceMapping = new NamespaceMapping();
+// StringBuffer loc = new StringBuffer();
+// loc.append(object.getAttributeValue("xsi:schemaLocation")); //$NON-NLS-1$
+ XModelObject[] cs = object.getChildren();
+ Set<String> ns = new HashSet<String>();
+ for (int i = 0; i < cs.length; i++) {
+ String n = cs[i].getModelEntity().getXMLSubPath();
+ int k = n.indexOf(':');
+ if(k < 0) continue;
+ String defaultNamespace = n.substring(0, k);
+ if(ns.contains(defaultNamespace)) continue;
+ ns.add(defaultNamespace);
+ String uri = namespaceMapping.getURIForDefaultNamespace(defaultNamespace);
+ if(uri == null) continue;
+ String actualNamespace = namespaceMapping.getActualNamespace(defaultNamespace);
+ if(actualNamespace == null) actualNamespace = defaultNamespace;
+ element.setAttribute(XMLNS_PREFIX + actualNamespace, uri);
+// String schema = getSchema(defaultNamespace);
+// if(loc.indexOf(uri) < 0) {
+// loc.append(' ').append(uri).append(' ').append(schema);
+// }
+
+ }
+
+ XModelObject im = object.getChildByPath("Implementation");
+ if(im != null) {
+ XModelObject[] cs2 = im.getChildren();
+ for (int i = 0; i < cs2.length; i++) {
+ String n = cs2[i].getAttributeValue("tag");
+ int k = n.indexOf(':');
+ if(k < 0) continue;
+ String defaultNamespace = n.substring(0, k);
+ if(ns.contains(defaultNamespace)) continue;
+ ns.add(defaultNamespace);
+ String uri = namespaceMapping.getURIForDefaultNamespace(defaultNamespace);
+ if(uri == null) continue;
+ String actualNamespace = namespaceMapping.getActualNamespace(defaultNamespace);
+ if(actualNamespace == null) actualNamespace = defaultNamespace;
+ element.setAttribute(XMLNS_PREFIX + actualNamespace, uri);
+ }
+ }
+// object.setAttributeValue("xsi:schemaLocation", loc.toString()); //$NON-NLS-1$
+ }
+}
Property changes on: trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/jsf2/model/CompositeComponentNamespaces.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/jsf2/model/FileCompositeComponentLoader.java
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/jsf2/model/FileCompositeComponentLoader.java (rev 0)
+++ trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/jsf2/model/FileCompositeComponentLoader.java 2009-10-08 15:28:23 UTC (rev 17983)
@@ -0,0 +1,73 @@
+package org.jboss.tools.jsf.jsf2.model;
+
+import org.jboss.tools.common.meta.XAttribute;
+import org.jboss.tools.common.meta.XModelEntity;
+import org.jboss.tools.common.model.XModelObject;
+import org.jboss.tools.common.model.loaders.impl.SimpleWebFileLoader;
+import org.jboss.tools.common.model.util.NamespaceMapping;
+import org.jboss.tools.common.model.util.XModelObjectLoaderUtil;
+import org.w3c.dom.Element;
+
+public class FileCompositeComponentLoader extends SimpleWebFileLoader {
+
+ public FileCompositeComponentLoader() {}
+
+ protected XModelObjectLoaderUtil createUtil() {
+ return new FileCompositeComponentUtil();
+ }
+
+ protected boolean isCheckingDTD() {
+ return false;
+ }
+
+ protected boolean isCheckingSchema() {
+ return false;
+ }
+
+ protected String loadNamespace(Element element, XModelObject object) {
+ NamespaceMapping namespaceMapping = CompositeComponentNamespaces.getInstance(object.getModel().getMetaData(), "").getNamespaceMapping(element);
+ object.set(NamespaceMapping.ATTR_NAMESPACE_MAPPING, namespaceMapping.toString()); //$NON-NLS-1$
+ util.setNamespaceMapping(namespaceMapping);
+
+ return super.loadNamespace(element, object);
+ }
+
+ public String serializeObject(XModelObject object) {
+ String systemId = object.getAttributeValue("systemId"); //$NON-NLS-1$
+ String publicId = object.getAttributeValue("publicId"); //$NON-NLS-1$
+ String rootName = getRootName(object);
+ Element element = createRootElement(rootName, publicId, systemId);
+ CompositeComponentNamespaces.getInstance(object.getModel().getMetaData(), "").validateNamespaces(object, element);
+ NamespaceMapping namespaceMapping = NamespaceMapping.load(object);
+ util.setNamespaceMapping(namespaceMapping);
+ return serializeToElement(element, object);
+ }
+
+}
+
+class FileCompositeComponentUtil 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);
+ }
+
+
+ public boolean save(Element parent, XModelObject o) {
+ if(!needToSave(o)) return true;
+ return super.save(parent, o);
+ }
+
+ protected boolean needToSave(XModelObject o) {
+ String s = o.getModelEntity().getProperty("saveDefault"); //$NON-NLS-1$
+ if(!"false".equals(s)) return true; //$NON-NLS-1$
+// if(hasSetAttributes(o)) return true;
+ if(o.getChildren().length > 0) return true;
+ return false;
+ }
+
+}
\ No newline at end of file
Property changes on: trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/jsf2/model/FileCompositeComponentLoader.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/jsf2/model/FileCompositeComponentRecognizer.java
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/jsf2/model/FileCompositeComponentRecognizer.java (rev 0)
+++ trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/jsf2/model/FileCompositeComponentRecognizer.java 2009-10-08 15:28:23 UTC (rev 17983)
@@ -0,0 +1,26 @@
+package org.jboss.tools.jsf.jsf2.model;
+
+import org.jboss.tools.common.model.loaders.EntityRecognizer;
+
+public class FileCompositeComponentRecognizer implements EntityRecognizer, CompositeComponentConstants {
+
+ public FileCompositeComponentRecognizer() {}
+
+ public String getEntityName(String ext, String body) {
+ if(body == null) return null;
+ if(isComponents(body)) {
+ return ENT_FILE_COMPONENT;
+ }
+ return null;
+ }
+
+ private boolean isComponents(String body) {
+ int i = body.indexOf("<html"); //$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(COMPOSITE_XMLNS) > 0;
+ }
+
+}
Property changes on: trunk/jsf/plugins/org.jboss.tools.jsf/src/org/jboss/tools/jsf/jsf2/model/FileCompositeComponentRecognizer.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
15 years
JBoss Tools SVN: r17982 - in trunk/common/plugins/org.jboss.tools.common.model/src/org/jboss/tools/common/model: loaders/impl and 1 other directory.
by jbosstools-commits@lists.jboss.org
Author: scabanovich
Date: 2009-10-08 11:26:52 -0400 (Thu, 08 Oct 2009)
New Revision: 17982
Modified:
trunk/common/plugins/org.jboss.tools.common.model/src/org/jboss/tools/common/model/filesystems/impl/FolderImpl.java
trunk/common/plugins/org.jboss.tools.common.model/src/org/jboss/tools/common/model/filesystems/impl/JarFolderImpl.java
trunk/common/plugins/org.jboss.tools.common.model/src/org/jboss/tools/common/model/loaders/impl/SimpleWebFileLoader.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-4970
Modified: trunk/common/plugins/org.jboss.tools.common.model/src/org/jboss/tools/common/model/filesystems/impl/FolderImpl.java
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.model/src/org/jboss/tools/common/model/filesystems/impl/FolderImpl.java 2009-10-08 15:25:01 UTC (rev 17981)
+++ trunk/common/plugins/org.jboss.tools.common.model/src/org/jboss/tools/common/model/filesystems/impl/FolderImpl.java 2009-10-08 15:26:52 UTC (rev 17982)
@@ -210,7 +210,7 @@
boolean isText = XModelObjectLoaderUtil.isTextFile(f, 100);
if(f.length() > 100000 || !isText) entity = XModelObjectConstants.ENT_FILE_ANY_LONG;
else if(isText) entity = "FileTXT"; //$NON-NLS-1$
- } else if(entity == null) {
+ } else /*if(entity == null)*/ {
body = getBodySource(f).get();
entity = getModel().getEntityRecognizer().getEntityName(ext, body);
}
Modified: trunk/common/plugins/org.jboss.tools.common.model/src/org/jboss/tools/common/model/filesystems/impl/JarFolderImpl.java
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.model/src/org/jboss/tools/common/model/filesystems/impl/JarFolderImpl.java 2009-10-08 15:25:01 UTC (rev 17981)
+++ trunk/common/plugins/org.jboss.tools.common.model/src/org/jboss/tools/common/model/filesystems/impl/JarFolderImpl.java 2009-10-08 15:26:52 UTC (rev 17982)
@@ -88,7 +88,7 @@
if("FileAny".equals(entity)) { //$NON-NLS-1$
if(jar.getSize(cpath) > 100000) entity = XModelObjectConstants.ENT_FILE_ANY_LONG;
else if(jar.isTextEntry(cpath, 100)) entity = "FileTXT"; //$NON-NLS-1$
- } else if(entity == null) {
+ } else /*if(entity == null)*/ {
body = jar.getContent(cpath);
entity = getModel().getEntityRecognizer().getEntityName(ext, body);
}
Modified: trunk/common/plugins/org.jboss.tools.common.model/src/org/jboss/tools/common/model/loaders/impl/SimpleWebFileLoader.java
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.model/src/org/jboss/tools/common/model/loaders/impl/SimpleWebFileLoader.java 2009-10-08 15:25:01 UTC (rev 17981)
+++ trunk/common/plugins/org.jboss.tools.common.model/src/org/jboss/tools/common/model/loaders/impl/SimpleWebFileLoader.java 2009-10-08 15:26:52 UTC (rev 17982)
@@ -47,7 +47,7 @@
}
public void load(XModelObject object) {
- String body = XModelObjectLoaderUtil.getTempBody(object);
+ String body = XModelObjectLoaderUtil.getTempBody(object);
Document doc = loadDocument(object, body);
if(doc == null) {
XModelObjectLoaderUtil.addRequiredChildren(object);
@@ -82,7 +82,7 @@
int resolution = EntityXMLRegistration.getInstance().resolve(object.getModelEntity());
if(EntityXMLRegistration.isSystemId(body)) resolution = EntityXMLRegistration.UNRESOLVED;
String[] errors =
- XMLUtil.getXMLErrors(new StringReader(body), resolution == EntityXMLRegistration.DTD, resolution == EntityXMLRegistration.SCHEMA);
+ XMLUtil.getXMLErrors(new StringReader(body), resolution == EntityXMLRegistration.DTD && isCheckingDTD(), resolution == EntityXMLRegistration.SCHEMA);
if(errors != null && errors.length > 0) {
object.setAttributeValue(XModelObjectConstants.ATTR_NAME_IS_INCORRECT, XModelObjectConstants.YES);
object.set("correctBody", ""); //$NON-NLS-1$ //$NON-NLS-2$
15 years
JBoss Tools SVN: r17981 - trunk/jbpm/releng/org.jboss.tools.jbpm4.releng/maps.
by jbosstools-commits@lists.jboss.org
Author: nickboldt
Date: 2009-10-08 11:25:01 -0400 (Thu, 08 Oct 2009)
New Revision: 17981
Modified:
trunk/jbpm/releng/org.jboss.tools.jbpm4.releng/maps/jbpm4.map
Log:
synch athena w/ uberbuilder for jbpm4
Modified: trunk/jbpm/releng/org.jboss.tools.jbpm4.releng/maps/jbpm4.map
===================================================================
--- trunk/jbpm/releng/org.jboss.tools.jbpm4.releng/maps/jbpm4.map 2009-10-08 14:46:02 UTC (rev 17980)
+++ trunk/jbpm/releng/org.jboss.tools.jbpm4.releng/maps/jbpm4.map 2009-10-08 15:25:01 UTC (rev 17981)
@@ -2,6 +2,7 @@
!*** See common.map for features, plugins, and tests common to both jbpm3 and jbpm4.
!*** features
+feature@org.jboss.tools.jbpm4.feature=SVN,,http://anonsvn.jboss.org/repos,,jbosstools/trunk/jbpm/features/org.jboss.tools.jbpm4.feature
feature@org.jboss.tools.jbpm4.sdk.feature=SVN,,http://anonsvn.jboss.org/repos,,jbosstools/trunk/jbpm/features/org.jboss.tools.jbpm4.sdk.feature
feature@org.jboss.tools.flow.jpdl4.feature=SVN,,http://anonsvn.jboss.org/repos,,jbosstools/trunk/jbpm/features/org.jboss.tools.flow.jpdl4.feature
feature@org.jboss.tools.flow.common.feature=SVN,,http://anonsvn.jboss.org/repos,,jbosstools/trunk/flow/features/org.jboss.tools.flow.common.feature
15 years
JBoss Tools SVN: r17979 - workspace/mareshkau.
by jbosstools-commits@lists.jboss.org
Author: mareshkau
Date: 2009-10-08 10:30:01 -0400 (Thu, 08 Oct 2009)
New Revision: 17979
Modified:
workspace/mareshkau/xulrunner1.9.diff
Log:
Fix for https://jira.jboss.org/jira/browse/JBIDE-4998
Modified: workspace/mareshkau/xulrunner1.9.diff
===================================================================
--- workspace/mareshkau/xulrunner1.9.diff 2009-10-08 14:26:28 UTC (rev 17978)
+++ workspace/mareshkau/xulrunner1.9.diff 2009-10-08 14:30:01 UTC (rev 17979)
@@ -1,6 +1,6 @@
Index: trunk/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/browser/XulRunnerBrowser.java
===================================================================
---- trunk/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/browser/XulRunnerBrowser.java (revision 17955)
+--- trunk/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/browser/XulRunnerBrowser.java (revision 17977)
+++ trunk/vpe/plugins/org.jboss.tools.vpe.xulrunner/src/org/jboss/tools/vpe/xulrunner/browser/XulRunnerBrowser.java (working copy)
@@ -50,8 +50,8 @@
@@ -24,7 +24,7 @@
Index: trunk/vpe/plugins/org.jboss.tools.vpe.html/src/org/jboss/tools/vpe/html/template/HtmlTextTemplate.java
===================================================================
---- trunk/vpe/plugins/org.jboss.tools.vpe.html/src/org/jboss/tools/vpe/html/template/HtmlTextTemplate.java (revision 17955)
+--- trunk/vpe/plugins/org.jboss.tools.vpe.html/src/org/jboss/tools/vpe/html/template/HtmlTextTemplate.java (revision 17977)
+++ trunk/vpe/plugins/org.jboss.tools.vpe.html/src/org/jboss/tools/vpe/html/template/HtmlTextTemplate.java (working copy)
@@ -19,14 +19,12 @@
import org.jboss.tools.vpe.editor.mapping.VpeElementData;
@@ -52,9 +52,9 @@
Index: trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/VpeVisualDomBuilder.java
===================================================================
---- trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/VpeVisualDomBuilder.java (revision 17955)
+--- trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/VpeVisualDomBuilder.java (revision 17977)
+++ trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/VpeVisualDomBuilder.java (working copy)
-@@ -2013,6 +2013,8 @@
+@@ -2031,6 +2031,8 @@
styleClasses = ATTR_DRAG_AVAILABLE_CLASS + " " //$NON-NLS-1$
+ styleClasses;
}
@@ -63,7 +63,7 @@
} else {
// change cursor style to normal
if (styleClasses != null) {
-@@ -2025,7 +2027,7 @@
+@@ -2043,7 +2045,7 @@
}
}
@@ -72,11 +72,23 @@
// TODO add drag and drop support
return dragArea.contains(mousePoint)
&& mousePoint.x < (dragArea.x + DRAG_AREA_WIDTH)
+Index: trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/mozilla/MozillaDomEventListener.java
+===================================================================
+--- trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/mozilla/MozillaDomEventListener.java (revision 17977)
++++ trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/mozilla/MozillaDomEventListener.java (working copy)
+@@ -166,6 +166,7 @@
+ } else if(DRAGOVEREVENT.equals(eventType)) {
+ getEditorDomEventListener().dragOver(domEvent);
+ }
++
+ getEditorDomEventListener().onRefresh();
+ }
+ }
Index: trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/mozilla/MozillaEditor.java
===================================================================
---- trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/mozilla/MozillaEditor.java (revision 17955)
+--- trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/mozilla/MozillaEditor.java (revision 17977)
+++ trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/mozilla/MozillaEditor.java (working copy)
-@@ -923,7 +923,7 @@
+@@ -1040,7 +1040,7 @@
nsIEditingSession iEditingSession = (nsIEditingSession) getXulRunnerEditor().
getComponentManager().createInstanceByContractID(XPCOM.NS_EDITINGSESSION_CONTRACTID, null, nsIEditingSession.NS_IEDITINGSESSION_IID);
//make window editable
@@ -87,7 +99,7 @@
//getting some editor to disable some actions
Index: trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/util/VisualDomUtil.java
===================================================================
---- trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/util/VisualDomUtil.java (revision 17955)
+--- trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/util/VisualDomUtil.java (revision 17977)
+++ trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/util/VisualDomUtil.java (working copy)
@@ -10,18 +10,14 @@
******************************************************************************/
@@ -179,7 +191,7 @@
int[] yArray = new int[1]; // Top corner of the node
Index: trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/VpeController.java
===================================================================
---- trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/VpeController.java (revision 17955)
+--- trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/VpeController.java (revision 17977)
+++ trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/VpeController.java (working copy)
@@ -18,6 +18,7 @@
import org.eclipse.core.runtime.IPath;
@@ -206,7 +218,7 @@
private CSSReferenceList cssReferenceListListener;
private TaglibReferenceList taglibReferenceListListener;
-@@ -1096,8 +1098,17 @@
+@@ -1096,8 +1098,16 @@
// }
// selection will be set only if press left button
@@ -216,8 +228,7 @@
+ //drag gesture isn't generated in XR 1.9 for Linux Platforms, so we start it's manually
+ //mareshkau
+ nsIDOMElement selectedElement = getXulRunnerEditor().getLastSelectedElement();
-+ if (Platform.OS_LINUX.equals(Platform.getOS()) &&
-+ VpeVisualDomBuilder.inDragArea(XulRunnerVpeUtils.getElementBounds(selectedElement), VisualDomUtil
++ if (VpeVisualDomBuilder.inDragArea(XulRunnerVpeUtils.getElementBounds(selectedElement), VisualDomUtil
+ .getMousePoint(mouseEvent))) {
+ dragGesture(mouseEvent);
+ }
@@ -225,7 +236,7 @@
} finally {
switcher.stopActiveEditor();
}
-@@ -1313,6 +1324,7 @@
+@@ -1313,6 +1323,7 @@
boolean canDragFlag = canInnerDrag(mouseEvent);
// start drag sessionvpe-element
if (canDragFlag) {
15 years
JBoss Tools SVN: r17978 - in trunk: common/plugins/org.jboss.tools.common.el.ui/src/org/jboss/tools/common/el/ui/refactoring and 2 other directories.
by jbosstools-commits@lists.jboss.org
Author: dazarov
Date: 2009-10-08 10:26:28 -0400 (Thu, 08 Oct 2009)
New Revision: 17978
Modified:
trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/refactoring/RefactorSearcher.java
trunk/common/plugins/org.jboss.tools.common.el.ui/src/org/jboss/tools/common/el/ui/refactoring/RenameMethodParticipant.java
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/refactoring/SeamRenameMethodParticipant.java
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/refactoring/SeamRenameProcessor.java
trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/search/ELSearchQuery.java
trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/search/SeamELReferencesQueryParticipant.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-4771, https://jira.jboss.org/jira/browse/JBIDE-4856
Modified: trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/refactoring/RefactorSearcher.java
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/refactoring/RefactorSearcher.java 2009-10-08 13:23:21 UTC (rev 17977)
+++ trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/refactoring/RefactorSearcher.java 2009-10-08 14:26:28 UTC (rev 17978)
@@ -273,6 +273,8 @@
// looking for component references in EL
private void scanString(IFile file, String string, int offset) {
int startEl = string.indexOf("#{"); //$NON-NLS-1$
+ if(startEl<0)
+ startEl = string.indexOf("${"); //$NON-NLS-1$
if(startEl>-1) {
ELParser parser = ELParserUtil.getJbossFactory().createParser();
ELModel model = parser.parse(string);
@@ -280,7 +282,6 @@
for(ELInvocationExpression ie : instance.getExpression().getInvocations()){
ELInvocationExpression expression = findComponentReference(ie);
if(expression != null){
- //ELInvocationExpression left = expression.getLeft();
checkMatch(file, expression, getOffset(expression), offset+getOffset(expression), getLength(expression));
}
}
@@ -344,7 +345,7 @@
key = false;
if(key && token.startsWith(propertyName)){
- match(file, offset, token.length(), true);
+ match(file, offset, token.length());
}
}
@@ -372,13 +373,13 @@
protected abstract boolean isFileCorrect(IFile file);
- protected abstract void match(IFile file, int offset, int length, boolean resolved);
+ protected abstract void match(IFile file, int offset, int length);
- private void checkMatch(IFile file, ELExpression operand, int leftOffset, int offset, int length){
+ private void checkMatch(IFile file, ELExpression operand, int localOffset, int offset, int length){
if(javaElement != null && operand != null)
- resolve(file, operand, leftOffset, offset, length);
+ resolve(file, operand, localOffset, offset, length);
else
- match(file, offset, length, true);
+ match(file, offset, length);
}
public static String getPropertyName(String methodName){
@@ -450,11 +451,10 @@
JavaMemberELSegment javaSegment = (JavaMemberELSegment) segment;
IJavaElement segmentJavaElement = javaSegment.getJavaElement();
if (javaElement.equals(segmentJavaElement)){
- match(file, offset, length, true);
+ match(file, offset, length);
return;
}
}
}
- match(file, offset, length, false);
}
}
\ No newline at end of file
Modified: trunk/common/plugins/org.jboss.tools.common.el.ui/src/org/jboss/tools/common/el/ui/refactoring/RenameMethodParticipant.java
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.el.ui/src/org/jboss/tools/common/el/ui/refactoring/RenameMethodParticipant.java 2009-10-08 13:23:21 UTC (rev 17977)
+++ trunk/common/plugins/org.jboss.tools.common.el.ui/src/org/jboss/tools/common/el/ui/refactoring/RenameMethodParticipant.java 2009-10-08 14:26:28 UTC (rev 17978)
@@ -45,7 +45,6 @@
private CompositeChange rootChange;
private TextFileChange lastChange;
private ArrayList<String> keys = new ArrayList<String>();
- private boolean resolved = true;
private static boolean added = false;
@@ -67,8 +66,7 @@
searcher.findELReferences();
// TODO: find good phrase and externalize it
- if(!resolved)
- status.addWarning("Some changes were not resolved.");
+ //status.addWarning("Some cases may not be found.");
return status;
}
@@ -178,10 +176,8 @@
}
@Override
- protected void match(IFile file, int offset, int length, boolean resolved) {
+ protected void match(IFile file, int offset, int length) {
change(file, offset, length, newName);
- if(!resolved)
- RenameMethodParticipant.this.resolved = false;
}
}
Modified: trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/refactoring/SeamRenameMethodParticipant.java
===================================================================
--- trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/refactoring/SeamRenameMethodParticipant.java 2009-10-08 13:23:21 UTC (rev 17977)
+++ trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/refactoring/SeamRenameMethodParticipant.java 2009-10-08 14:26:28 UTC (rev 17978)
@@ -46,7 +46,6 @@
private CompositeChange rootChange;
private TextFileChange lastChange;
private ArrayList<String> keys = new ArrayList<String>();
- private boolean resolved = true;
private static boolean added = false;
@@ -68,8 +67,7 @@
searcher.findELReferences();
// TODO: find good phrase and externalize it
- if(!resolved)
- status.addWarning("Some changes were not resolved.");
+ //status.addWarning("Some changes were not resolved.");
return status;
}
@@ -185,10 +183,8 @@
}
@Override
- protected void match(IFile file, int offset, int length, boolean resolved) {
+ protected void match(IFile file, int offset, int length) {
change(file, offset, length, newName);
- if(!resolved)
- SeamRenameMethodParticipant.this.resolved = false;
}
}
Modified: trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/refactoring/SeamRenameProcessor.java
===================================================================
--- trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/refactoring/SeamRenameProcessor.java 2009-10-08 13:23:21 UTC (rev 17977)
+++ trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/refactoring/SeamRenameProcessor.java 2009-10-08 14:26:28 UTC (rev 17978)
@@ -453,7 +453,7 @@
}
@Override
- protected void match(IFile file, int offset, int length, boolean resolved) {
+ protected void match(IFile file, int offset, int length) {
change(file, offset, length, newName);
}
Modified: trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/search/ELSearchQuery.java
===================================================================
--- trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/search/ELSearchQuery.java 2009-10-08 13:23:21 UTC (rev 17977)
+++ trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/search/ELSearchQuery.java 2009-10-08 14:26:28 UTC (rev 17978)
@@ -101,7 +101,7 @@
}
@Override
- protected void match(IFile file, int offset, int length, boolean resolved) {
+ protected void match(IFile file, int offset, int length) {
Match match = new Match(file, offset, length);
result.addMatch(match);
}
Modified: trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/search/SeamELReferencesQueryParticipant.java
===================================================================
--- trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/search/SeamELReferencesQueryParticipant.java 2009-10-08 13:23:21 UTC (rev 17977)
+++ trunk/seam/plugins/org.jboss.tools.seam.ui/src/org/jboss/tools/seam/ui/search/SeamELReferencesQueryParticipant.java 2009-10-08 14:26:28 UTC (rev 17978)
@@ -25,15 +25,8 @@
import org.eclipse.jdt.ui.search.ISearchRequestor;
import org.eclipse.jdt.ui.search.QuerySpecification;
import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.search.internal.ui.util.FileLabelProvider;
-import org.eclipse.search.ui.text.AbstractTextSearchViewPage;
import org.eclipse.search.ui.text.Match;
-import org.eclipse.search2.internal.ui.SearchView;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.internal.Workbench;
import org.jboss.tools.common.el.core.model.ELInvocationExpression;
import org.jboss.tools.common.el.core.model.ELMethodInvocation;
import org.jboss.tools.common.el.core.model.ELPropertyInvocation;
@@ -42,7 +35,6 @@
public class SeamELReferencesQueryParticipant implements IQueryParticipant, IMatchPresentation{
private ELSearcher searcher;
- private ELLabelProvider labelProvider;
JavaSearchResultPage searchPage = null;
public int estimateTicks(QuerySpecification specification) {
@@ -72,84 +64,13 @@
}
public ILabelProvider createLabelProvider() {
- if(labelProvider == null){
- if(searchPage == null){
- IWorkbenchWindow[] windows = Workbench.getInstance().getWorkbenchWindows();
- for(IWorkbenchWindow window : windows){
- IWorkbenchPage[] pages = window.getPages();
- for(IWorkbenchPage page : pages){
- SearchView view = (SearchView)page.findView("org.eclipse.search.ui.views.SearchView");
- if(view.getActivePage() instanceof JavaSearchResultPage){
- searchPage = (JavaSearchResultPage)view.getActivePage();
- }
- }
- }
- }
- labelProvider = new ELLabelProvider(searchPage);
- }
-
- return labelProvider;
+ return null;
}
public void showMatch(Match match, int currentOffset,
int currentLength, boolean activate) throws PartInitException {
- if(searchPage != null && match.getElement() instanceof FileWrapper){
- FileWrapper wrapper = (FileWrapper)match.getElement();
- Match nMatch = new Match(wrapper.getFile(), match.getOffset(), match.getLength());
- searchPage.showMatch(nMatch, match.getOffset(), match.getLength(), activate);
- }
}
- class FileWrapper{
- IFile file;
- boolean resolved;
- public FileWrapper(IFile file, boolean resolved) {
- this.file = file;
- this.resolved = resolved;
- }
-
- public IFile getFile(){
- return file;
- }
-
- public boolean isResolved(){
- return resolved;
- }
-
- }
-
- class ELLabelProvider extends SeamSearchViewLabelProvider{
-
-
- public ELLabelProvider(AbstractTextSearchViewPage page) {
- super(page, FileLabelProvider.SHOW_PATH_LABEL);
- }
-
- @Override
- public String getText(Object element) {
- if(element instanceof FileWrapper){
- FileWrapper wrapper = (FileWrapper)element;
- IFile file = wrapper.getFile();
- String text = super.getText(file);
- if(!wrapper.isResolved())
- // TODO: find good phrase and externalize it
- text += " (not resolved)";
- return text;
- }
- return super.getText(element);
- }
-
- @Override
- public Image getImage(Object element) {
- if(element instanceof FileWrapper){
- FileWrapper wrapper = (FileWrapper)element;
- IFile file = wrapper.getFile();
- return super.getImage(file);
- }
- return super.getImage(element);
- }
- }
-
class ELSearcher extends RefactorSearcher{
ISearchRequestor requestor;
SeamProjectsSet projectsSet;
@@ -186,14 +107,9 @@
}
@Override
- protected void match(IFile file, int offset, int length, boolean resolved) {
- if(resolved){
- Match match = new Match(file, offset, length);
- requestor.reportMatch(match);
- }else{
- Match match = new Match(new FileWrapper(file, resolved), offset, length);
- requestor.reportMatch(match);
- }
+ protected void match(IFile file, int offset, int length) {
+ Match match = new Match(file, offset, length);
+ requestor.reportMatch(match);
}
protected ELInvocationExpression findComponentReference(ELInvocationExpression invocationExpression){
15 years